@sailfish-ai/sf-veritas 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,16 @@
1
- var Ae = Object.defineProperty;
2
- var fe = (o, e, t) => e in o ? Ae(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var A = (o, e, t) => fe(o, typeof e != "symbol" ? e + "" : e, t);
4
- import { B as F, g as d, n as W, C as N, s as ye, a as Ze, D as Ge, b as le, p as de, v as Ie, d as $, e as ue, f as Se, m as R, c as _, h as Be, i as X, j as We, k as Ce, t as E, F as ve } from "./workerPoolSpanCapture-BOnYC4s3.js";
5
- import { r as Ct } from "./workerPoolSpanCapture-BOnYC4s3.js";
1
+ var Ze = Object.defineProperty;
2
+ var Se = (n, e, t) => e in n ? Ze(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var A = (n, e, t) => Se(n, typeof e != "symbol" ? e + "" : e, t);
4
+ import { B as F, g as d, n as v, C as N, f as Ge, D as Be, a as ue, p as pe, v as Ce, b as T, d as me, e as ve, m as R, c as _, h as We, i as X, j as Ne, k as he, t as $, F as Fe } from "./workerPoolSpanCapture-D0-0Z0Jw.js";
5
+ import { l as bt, r as At, s as ft } from "./workerPoolSpanCapture-D0-0Z0Jw.js";
6
6
  import * as L from "fs";
7
- import { readFileSync as pe, appendFileSync as Ne } from "fs";
8
- import { s as me } from "./funcSpanTransformer-sqmZLAcs.js";
9
- import { t as mt } from "./funcSpanTransformer-sqmZLAcs.js";
10
- import { Worker as Fe, threadId as J } from "worker_threads";
11
- import { createRequire as we } from "node:module";
12
- import * as G from "path";
13
- import { glob as Ve } from "glob";
7
+ import { readFileSync as be, appendFileSync as we } from "fs";
8
+ import { s as Ae } from "./funcSpanTransformer-BLhIRZqX.js";
9
+ import { t as Zt } from "./funcSpanTransformer-BLhIRZqX.js";
10
+ import { Worker as Ve, threadId as J } from "worker_threads";
11
+ import { createRequire as He } from "node:module";
12
+ import * as S from "path";
13
+ import { glob as Ye } from "glob";
14
14
  class Y extends F {
15
15
  constructor() {
16
16
  super(), this.setOperationName("IdentifyServiceDetails");
@@ -48,17 +48,17 @@ class Y extends F {
48
48
  )
49
49
  }
50
50
  `, t = this.getVariables({ serviceIdentifier: d().serviceIdentifier, serviceVersion: d().serviceVersion, library: d().packageLibraryType, version: d().version, serviceAdditionalMetadata: d().serviceAdditionalMetadata, gitSha: d().gitSha || "" });
51
- W(this.endpoint, this.operationName, e, t);
51
+ v(this.endpoint, this.operationName, e, t);
52
52
  }
53
53
  }
54
- function He(o) {
54
+ function Re(n) {
55
55
  try {
56
- return JSON.stringify(o), !0;
56
+ return JSON.stringify(n), !0;
57
57
  } catch {
58
58
  return !1;
59
59
  }
60
60
  }
61
- class Ye extends F {
61
+ class Xe extends F {
62
62
  constructor() {
63
63
  super();
64
64
  A(this, "serviceIdentifier", new Y());
@@ -67,22 +67,22 @@ class Ye extends F {
67
67
  async sendAppIdentifier() {
68
68
  this.serviceIdentifier.doSend({});
69
69
  }
70
- async doSend(t, s, n, i) {
71
- this.sendAppIdentifier(), this.send(t, s, n, i);
70
+ async doSend(t, s, o, i) {
71
+ this.sendAppIdentifier(), this.send(t, s, o, i);
72
72
  }
73
- async send(t, s, n, i) {
73
+ async send(t, s, o, i) {
74
74
  if (!s && !i) throw new Error('Must pass in either traits or traits_json to "add_or_update_traits"');
75
75
  let g = [];
76
76
  if (!i) {
77
77
  const c = (function(a) {
78
78
  const l = {}, I = [];
79
- if (a) for (const [p, C] of Object.entries(a)) He(C) ? l[p] = C : I.push(p);
79
+ if (a) for (const [p, C] of Object.entries(a)) Re(C) ? l[p] = C : I.push(p);
80
80
  return { traitsJson: JSON.stringify(l), excludedFields: I };
81
81
  })(s);
82
82
  i = c.traitsJson, g = c.excludedFields;
83
83
  }
84
- const r = this.getVariables({ userId: t, traitsJson: i, excludedFields: g, override: n, library: d().packageLibraryType, version: d().version });
85
- W(this.endpoint, this.operationName, this.getQuery(), r);
84
+ const r = this.getVariables({ userId: t, traitsJson: i, excludedFields: g, override: o, library: d().packageLibraryType, version: d().version });
85
+ v(this.endpoint, this.operationName, this.getQuery(), r);
86
86
  }
87
87
  getQuery() {
88
88
  return `
@@ -92,20 +92,20 @@ class Ye extends F {
92
92
  `;
93
93
  }
94
94
  }
95
- class he {
95
+ class fe {
96
96
  constructor(e) {
97
97
  A(this, "metadataTransmitter");
98
- this.apiKey = e, this.metadataTransmitter = new Ye();
98
+ this.apiKey = e, this.metadataTransmitter = new Xe();
99
99
  }
100
- identify(e, t, s, n = !1) {
101
- t || s ? this.addOrUpdateMetadata(e, t, s, n) : this.addOrUpdateMetadata(e, {}, void 0, n);
100
+ identify(e, t, s, o = !1) {
101
+ t || s ? this.addOrUpdateMetadata(e, t, s, o) : this.addOrUpdateMetadata(e, {}, void 0, o);
102
102
  }
103
- addOrUpdateMetadata(e, t = {}, s, n = !1) {
103
+ addOrUpdateMetadata(e, t = {}, s, o = !1) {
104
104
  if (!t && !s) throw new Error('Must pass in either traits or traitsJson to "addOrUpdateMetadata"');
105
- d().sfDebug && console.log(" [[DEBUG - addOrUpdateMetadata]] Starting operation"), d().sfDebug && console.log(" addOrUpdateMetadata...SENDING DATA...", e, t, s), this.metadataTransmitter.doSend(e, t, n, s);
105
+ d().sfDebug && console.log(" [[DEBUG - addOrUpdateMetadata]] Starting operation"), d().sfDebug && console.log(" addOrUpdateMetadata...SENDING DATA...", e, t, s), this.metadataTransmitter.doSend(e, t, o, s);
106
106
  }
107
107
  }
108
- class Q extends F {
108
+ class ee extends F {
109
109
  constructor() {
110
110
  super();
111
111
  A(this, "serviceIdentifier", new Y());
@@ -118,8 +118,8 @@ class Q extends F {
118
118
  }
119
119
  async send(t) {
120
120
  try {
121
- const s = Array.isArray(t) ? t : [t, "default"], n = this.getVariables({ contents: s[0], level: s[1] });
122
- W(this.endpoint, this.operationName, this.getQuery(), n);
121
+ const s = Array.isArray(t) ? t : [t, "default"], o = this.getVariables({ contents: s[0], level: s[1] });
122
+ v(this.endpoint, this.operationName, this.getQuery(), o);
123
123
  } catch (s) {
124
124
  d().sfDebug && console.error("🚨 Error in send():", s);
125
125
  }
@@ -148,9 +148,9 @@ class Q extends F {
148
148
  `;
149
149
  }
150
150
  }
151
- const S = {};
151
+ const G = {};
152
152
  class V {
153
- constructor({ file: e, line: t, function: s, code: n, locals: i = {}, offender: g = !1, column: r }) {
153
+ constructor({ file: e, line: t, function: s, code: o, locals: i = {}, offender: g = !1, column: r }) {
154
154
  A(this, "file");
155
155
  A(this, "line");
156
156
  A(this, "function");
@@ -158,7 +158,7 @@ class V {
158
158
  A(this, "locals");
159
159
  A(this, "offender");
160
160
  A(this, "column");
161
- this.file = e, this.line = t, this.function = s, this.code = n, this.locals = i, this.offender = g, this.column = r;
161
+ this.file = e, this.line = t, this.function = s, this.code = o, this.locals = i, this.offender = g, this.column = r;
162
162
  }
163
163
  toDict() {
164
164
  const e = { file: this.file, line: this.line, function: this.function, code: this.code, locals: Object.fromEntries(Object.entries(this.locals).map(([t, s]) => [t, String(s)])) };
@@ -168,33 +168,33 @@ class V {
168
168
  return JSON.stringify(this.toDict());
169
169
  }
170
170
  }
171
- class k {
171
+ class z {
172
172
  static encode(e) {
173
- return e instanceof V ? e.toDict() : Array.isArray(e) ? e.map((t) => k.encode(t)) : typeof e == "object" && e !== null ? JSON.stringify(e) : e;
173
+ return e instanceof V ? e.toDict() : Array.isArray(e) ? e.map((t) => z.encode(t)) : typeof e == "object" && e !== null ? JSON.stringify(e) : e;
174
174
  }
175
175
  static stringify(e) {
176
- return JSON.stringify(k.encode(e), (t, s) => s instanceof V ? s.toDict() : s);
176
+ return JSON.stringify(z.encode(e), (t, s) => s instanceof V ? s.toDict() : s);
177
177
  }
178
178
  }
179
179
  let B, w = 0;
180
- function Re(o) {
180
+ function Je(n) {
181
181
  d().sfDebug && console.log("Initializing Exception Interceptor...");
182
182
  try {
183
183
  const r = (function() {
184
184
  if (B !== void 0) return B;
185
- const c = process.env || {}, a = ne(c.SF_IS_LOCAL);
185
+ const c = process.env || {}, a = se(c.SF_IS_LOCAL);
186
186
  if (a !== void 0) return B = a;
187
187
  const l = (c.SF_ENV || c.NODE_ENV || "").toLowerCase();
188
188
  if (["local", "dev", "development"].includes(l)) return B = !0;
189
189
  if (["KUBERNETES_SERVICE_HOST", "AWS_EXECUTION_ENV", "ECS_CONTAINER_METADATA_URI", "ECS_CONTAINER_METADATA_URI_V4", "GAE_ENV", "K_SERVICE", "GOOGLE_CLOUD_PROJECT", "WEBSITE_INSTANCE_ID", "VERCEL", "NETLIFY", "DYNO", "RENDER", "FLY_APP_NAME", "RAILWAY_STATIC_URL", "CF_PAGES", "CLOUDFLARE"].some((p) => !!c[p])) return B = !1;
190
- const I = (S.hostname?.() || c.HOSTNAME || "").toLowerCase();
190
+ const I = (G.hostname?.() || c.HOSTNAME || "").toLowerCase();
191
191
  return I === "localhost" || I.endsWith(".local") || I.includes("local") ? B = !0 : B = !1;
192
192
  })();
193
- o?.setSupplementalFields?.({ isFromLocalService: r }), (async function(c) {
194
- if (te) return;
195
- te = !0;
193
+ n?.setSupplementalFields?.({ isFromLocalService: r }), (async function(c) {
194
+ if (oe) return;
195
+ oe = !0;
196
196
  const a = process.env || {};
197
- if (ne(a.SF_IS_LOCAL) === void 0)
197
+ if (se(a.SF_IS_LOCAL) === void 0)
198
198
  try {
199
199
  await (async function(l) {
200
200
  const I = D("http://169.254.169.254/latest/meta-data/", {}, l), p = D("http://metadata.google.internal/computeMetadata/v1/instance/", { "Metadata-Flavor": "Google" }, l), C = D("http://169.254.169.254/metadata/instance?api-version=2021-02-01", { Metadata: "true" }, l);
@@ -202,11 +202,11 @@ function Re(o) {
202
202
  })(150) && B && (B = !1, c?.setSupplementalFields?.({ isFromLocalService: !1 }));
203
203
  } catch {
204
204
  }
205
- })(o).catch(() => {
205
+ })(n).catch(() => {
206
206
  });
207
207
  } catch {
208
208
  }
209
- const e = new Fe(new URL("data:application/javascript;base64,aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB1bmRlZmluZWQ7CgovKioKICogUHJvY2Vzc2VzIGNhbGwgZnJhbWVzIGZyb20gYW4gZXhjZXB0aW9uIGFuZCBwb3N0cyB0aGVtIHZpYSB0aGUgV29ya2Vy4oCZcyBwYXJlbnRQb3J0LgogKgogKiBAcGFyYW0gc2Vzc2lvbiAtIFRoZSBEZXZUb29scyBzZXNzaW9uIG9yIHNpbWlsYXIgb2JqZWN0IHlvdSB1c2UgdG8gcXVlcnkgZm9yIHNjcmlwdCBzb3VyY2VzLgogKiBAcGFyYW0gY2FsbEZyYW1lcyAtIEFuIGFycmF5IG9mIGNhbGwgZnJhbWUgb2JqZWN0cy4KICogQHBhcmFtIGRlc2NyaXB0aW9uTGluZXMgLSBBbiBhcnJheSBvZiBsaW5lcyBmcm9tIHRoZSBlcnJvcuKAmXMgZGVzY3JpcHRpb24sIGVhY2ggdHlwaWNhbGx5IGJlZ2lubmluZyB3aXRoICJhdCAiLgogKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0KICovCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKSB7CiAgLyoqCiAgICogTGltaXQgdGhlIGNhbGwgZnJhbWVzIHRvIHRoZSBtYXhpbXVtIGRlcHRoIHNwZWNpZmllZCBieSBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscy4KICAgKiBUaGlzIGFzc3VtZXMgdGhhdCBnbG9iYWwuc3RhY2tEZXB0aExvY2FscyBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLgogICAqLwogIGNvbnN0IGxpbWl0ZWRDYWxsRnJhbWVzID0gY2FsbEZyYW1lcy5zbGljZSgwLCBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscyk7CgogIGNvbnN0IGZyYW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKAogICAgbGltaXRlZENhbGxGcmFtZXMubWFwKGFzeW5jIChmcmFtZSwgaW5kZXgpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgLy8gRmluZCB0aGUgbG9jYWwgc2NvcGUsIGlmIGFueQogICAgICAgIGNvbnN0IGxvY2FsU2NvcGUgPSBzY29wZUNoYWluLmZpbmQoKHNjb3BlKSA9PiBzY29wZS50eXBlID09PSAibG9jYWwiKTsKCiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIC8vIFVzZSBlaXRoZXIgdGhlIFVSTCBvciB0aGUgZGVzY3JpcHRpb24gbGluZSBmb3IgZmlsZSByZWZlcmVuY2UKICAgICAgICBsZXQgZmlsZSA9ICIiOwogICAgICAgIGlmICh1cmwgJiYgdXJsLnRyaW0oKSAhPT0gIiIpIHsKICAgICAgICAgIGZpbGUgPSB1cmw7CiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbkxpbmVzW2luZGV4XSkgewogICAgICAgICAgZmlsZSA9IGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdLnRyaW0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZmlsZSA9ICI8dW5rbm93bj4iOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGxvY2F0aW9uIGFuZCBzY3JpcHRJZCwgZmV0Y2ggdGhlIGNvZGUgbGluZQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0U291cmNlIH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgIkRlYnVnZ2VyLmdldFNjcmlwdFNvdXJjZSIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2NyaXB0SWQsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgY29uc3Qgc291cmNlTGluZXMgPSBzY3JpcHRTb3VyY2Uuc3BsaXQoIlxuIik7CiAgICAgICAgICAgIGNvZGUgPSBzb3VyY2VMaW5lc1tsb2NhdGlvbi5saW5lTnVtYmVyXSB8fCAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgc291cmNlOiIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZldGNoIGxvY2FsIHZhcmlhYmxlcyBpZiB0aGVyZSdzIGFuIG9iamVjdElkCiAgICAgICAgY29uc3QgbG9jYWxzID0gbG9jYWxTY29wZT8ub2JqZWN0Py5vYmplY3RJZAogICAgICAgICAgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKQogICAgICAgICAgOiB7fTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUgfHwgIjxhbm9ueW1vdXM+IiwKICAgICAgICAgIGxvY2FscywKICAgICAgICAgIGZpbGUsCiAgICAgICAgICBsaW5lOiBsb2NhdGlvbj8ubGluZU51bWJlciB8fCAwLAogICAgICAgICAgY29kZSwKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IiwKICAgICAgICB9OwogICAgICB9CiAgICB9KSwKICApOwogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KCi8qKgogKiBIYW5kbGVzIHRoZSAicGF1c2VkIiBzdGF0ZSBvZiB0aGUgZGVidWdnZXIgYW5kIHByb2Nlc3NlcyBleGNlcHRpb25zIG9yIHByb21pc2UgcmVqZWN0aW9ucy4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge29iamVjdH0gcGFyYW1zIC0gUGFyYW1ldGVycyBmcm9tIHRoZSAicGF1c2VkIiBldmVudC4KICovCmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBwYXJhbXMpIHsKICBjb25zdCB7IHJlYXNvbiwgZGF0YSwgY2FsbEZyYW1lcyB9ID0gcGFyYW1zOwoKICBpZiAocmVhc29uICE9PSAiZXhjZXB0aW9uIiAmJiByZWFzb24gIT09ICJwcm9taXNlUmVqZWN0aW9uIikgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRGVmaW5lIHJlZ2V4IHBhdHRlcm5zIHRvIGlkZW50aWZ5IG5vbi1hcHBsaWNhdGlvbiBzb3VyY2UgZXJyb3JzLgogIGNvbnN0IG5vbkFwcFBhdHRlcm5zID0gWwogICAgL25vZGU6aW50ZXJuYWwvLAogICAgL2ludGVybmFsXC8vLAogICAgL25vZGVfbW9kdWxlcy8sCiAgICAvbm9kZTpmcy8sCiAgXTsKCiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKCiAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEuZGVzY3JpcHRpb24gPT09ICJzdHJpbmciKSB7CiAgICAvLyBTcGxpdCB0aGUgZGVzY3JpcHRpb24gaW50byBsaW5lcyBhbmQgZmlsdGVyIHRvIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggImF0ICIKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uCiAgICAgIC5zcGxpdCgiXG4iKQogICAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnRyaW0oKS5zdGFydHNXaXRoKCJhdCAiKSk7CgogICAgLy8gVXNlIHRoZSBmaXJzdCBjYWxsIGZyYW1lIGxpbmUgZnJvbSB0aGUgZGVzY3JpcHRpb24gZm9yIGZpbHRlcmluZy4KICAgIGZpcnN0RnJhbWVMaW5lID0gZGVzY3JpcHRpb25MaW5lc1swXSB8fCAiIjsKICAgIGlmICghZmlyc3RGcmFtZUxpbmUpIHsKICAgICAgLy8gSWYsIGZvciBzb21lIHJlYXNvbiwgdGhlcmUncyBubyBmcmFtZSwgYmFpbCBvdXQKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSAibm9uLWFwcCIgZXJyb3IKICAgIGNvbnN0IGVycm9yRnJvbU5vbkFwcCA9IG5vbkFwcFBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+CiAgICAgIHBhdHRlcm4udGVzdChmaXJzdEZyYW1lTGluZS50cmltKCkpLAogICAgKTsKCiAgICAvLyBDb252ZXJ0IGBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uYCB0byBhbiBhcnJheSBmb3Igc2FmZXR5CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uLAogICAgKQogICAgICA/IGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24KICAgICAgOiBbXTsKICAgIGlmIChlcnJvckZyb21Ob25BcHApIHsKICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGZyb20gYSBub24tYXBwIHNvdXJjZSwgd2UgaGF2ZSBhIGZldyBzY2VuYXJpb3M6CiAgICAgIGlmIChub2RlTW9kdWxlc0xpc3QuaW5jbHVkZXMoIl9fYWxsX18iKSkgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGluY2x1ZGVzIF9fYWxsX18sIGNhcHR1cmUgbG9jYWwgdmFyaWFibGVzIGZyb20gKmFsbCogbm9kZV9tb2R1bGVzCiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGlzIGZyb20gbm9uLWFwcCBzb3VyY2UsIGJ1dCBjYXB0dXJpbmcgZHVlIHRvIF9fYWxsX18gcnVsZS4iLAogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gQ29udGludWUgKGRvIE5PVCByZXR1cm4pLi4uCiAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgZnJhbWUgcmVmZXJlbmNlcyBvbmUgb2YgdGhlIG1vZHVsZXMgd2UgYWxsb3cgY2FwdHVyaW5nIGZyb20KICAgICAgICBjb25zdCBpc0Zyb21BbGxvd2VkTm9kZU1vZHVsZSA9IG5vZGVNb2R1bGVzTGlzdC5zb21lKChtb2R1bGVOYW1lKSA9PgogICAgICAgICAgZmlyc3RGcmFtZUxpbmUuaW5jbHVkZXMoYCR7bW9kdWxlTmFtZX1gKSwKICAgICAgICApOwoKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICAvLyBOb3QgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlID0+IHJldHVybiBlYXJseQogICAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAgICJbV29ya2VyXSBFcnJvciBhcHBlYXJzIHRvIGJlIHRyaWdnZXJlZCBmcm9tIG5vbi1hcHBsaWNhdGlvbiBzb3VyY2VzOyBpZ25vcmluZy4iLAogICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBPdGhlcndpc2UsIGl0J3MgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlLCBzbyBjb250aW51ZQogICAgICB9IGVsc2UgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvciBhbmQgaWdub3JlIG5vbi1hcHBsaWNhdGlvbiBlcnJvcnMKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgYXBwZWFycyB0byBiZSB0cmlnZ2VyZWQgZnJvbSBub24tYXBwbGljYXRpb24gc291cmNlczsgaWdub3JpbmcuIiwKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQsIHRoZSBlcnJvciBpcyBlaXRoZXIgZnJvbSBhcHAgY29kZSwgb3IgZnJvbSBhIG5vZGUgbW9kdWxlIGFsbG93ZWQgYnkgdGhlIGxpc3QKICAgIC8vID0+IFByb2NlZWQgd2l0aCBjYXB0dXJpbmcgbG9jYWwgdmFyaWFibGVzLCBldGMuCiAgICBhd2FpdCBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKTsKICB9IGVsc2UgewogICAgLy8gSWYgdGhlcmUgaXMgbm8gZGF0YS5kZXNjcmlwdGlvbiBvciBpdCdzIG5vdCBhIHN0cmluZywganVzdCByZXR1cm4KICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBJbml0aWFsaXplcyB0aGUgZGVidWdnZXIgYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciBleGNlcHRpb25zIGFuZCBwcm9taXNlIHJlamVjdGlvbnMuCiAqLwphc3luYyBmdW5jdGlvbiBzdGFydERlYnVnZ2VyKCkgewogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogIm1lc3NhZ2UiLCByZWFkeVRvR2V0UGFyYW1ldGVyczogdHJ1ZSB9KTsKCiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwoKICBwYXJlbnRQb3J0Py5vbigibWVzc2FnZSIsIChtZXNzYWdlKSA9PiB7CiAgICB0cnkgewogICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gInByb2Nlc3NFeGNlcHRpb24iKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgbWVzc2FnZT8uc2ZEZWJ1ZyAhPT0gdW5kZWZpbmVkICYmCiAgICAgICAgbWVzc2FnZT8uc3RhY2tEZXB0aExvY2FscyAhPT0gdW5kZWZpbmVkCiAgICAgICkgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5sb2coIlVwZGF0aW5nIGdsb2JhbCBkZWJ1ZyB2YXJpYWJsZXMuLi4iKTsKICAgICAgICB9CgogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPQogICAgICAgICAgbWVzc2FnZS5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT247CgogICAgICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSgpOwogICAgICB9CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgaW4gbWVzc2FnZSBoYW5kbGluZzoiLCBlcnJvcik7CiAgICAgIH0KICAgIH0KICB9KTsKCiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CgogIHRyeSB7CiAgICBjb25zdCBzZXNzaW9uID0gbmV3IFNlc3Npb24oKTsKICAgIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnJlc3VtZWQiLCAoKSA9PiB7CiAgICAgIGlzUGF1c2VkID0gZmFsc2U7CiAgICB9KTsKCiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIC8vIEFmdGVyIHRoZSBwYXVzZSB3b3JrIGlzIGNvbXBsZXRlLCByZXN1bWUgZXhlY3V0aW9uIQogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhc3luYyAoXykgPT4gewogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgKTsKICAgIH0pOwoKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIik7CgogICAgY29uc3QgY2FwdHVyZUFsbCA9IHdvcmtlckRhdGEuY2FwdHVyZUFsbEV4Y2VwdGlvbnMgIT09IGZhbHNlOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIsIHsKICAgICAgc3RhdGU6IGNhcHR1cmVBbGwgPyAiYWxsIiA6ICJ1bmNhdWdodCIsCiAgICB9KTsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIGVycm9yICIsIGVycm9yKTsKICAgIH0KICB9CgogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsT2JqZWN0KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwoKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQKICAgIC5tYXAoKHYpID0+IFt2Lm5hbWUsIHYudmFsdWU/LnZhbHVlXSkKICAgIC5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsXSkgPT4gewogICAgICBvYmpba2V5XSA9IHZhbDsKICAgICAgcmV0dXJuIG9iajsKICAgIH0sIHt9KTsKfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsQXJyYXkoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZDogb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKQogICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEubmFtZSwgMTApIC0gcGFyc2VJbnQoYi5uYW1lLCAxMCkpCiAgICAubWFwKCh2KSA9PiB2LnZhbHVlPy52YWx1ZSk7Cn0KCmZ1bmN0aW9uIHVucm9sbE90aGVyKHByb3AsIHZhcnMpIHsKICBpZiAoIXByb3AudmFsdWUpIHsKICAgIHJldHVybjsKICB9CgogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhcnNbcHJvcC5uYW1lXSA9IHByb3AudmFsdWUudmFsdWU7CiAgICByZXR1cm47CiAgfQoKICBpZiAoImRlc2NyaXB0aW9uIiBpbiBwcm9wLnZhbHVlICYmIHByb3AudmFsdWUudHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gYDwke3Byb3AudmFsdWUuZGVzY3JpcHRpb259PmA7CiAgICByZXR1cm47CiAgfQoKICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBGZXRjaGVzIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBnaXZlbiBvYmplY3QgSUQuCiAqIEBwYXJhbSB7U2Vzc2lvbn0gc2Vzc2lvbiAtIFRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpbnN0YW5jZS4KICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdElkIC0gVGhlIG9iamVjdCBJRCByZXByZXNlbnRpbmcgdGhlIGxvY2FsIHNjb3BlLgogKiBAcmV0dXJucyB7b2JqZWN0fSBBIGtleS12YWx1ZSBtYXAgb2YgbG9jYWwgdmFyaWFibGUgbmFtZXMgYW5kIHRoZWlyIHZhbHVlcy4KICovCmFzeW5jIGZ1bmN0aW9uIGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgb2JqZWN0SWQpIHsKICBpZiAoIW9iamVjdElkKSByZXR1cm4ge307CgogIHRyeSB7CiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICAgIG9iamVjdElkLAogICAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogICAgfSk7CgogICAgY29uc3QgcHJvcGVydGllcyA9IHJlc3VsdDsKICAgIGlmIChwcm9wZXJ0aWVzKSB7CiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykgewogICAgICAgIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWUuY2xhc3NOYW1lID09PSAiQXJyYXkiKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxBcnJheShzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYKICAgICAgICAgIHByb3A/LnZhbHVlPy5jbGFzc05hbWUgPT09ICJPYmplY3QiCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgaWQsIHByb3AubmFtZSwgdmFyaWFibGVzKTsKICAgICAgICB9IGVsc2UgaWYgKHByb3A/LnZhbHVlKSB7CiAgICAgICAgICB1bnJvbGxPdGhlcihwcm9wLCB2YXJpYWJsZXMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFyaWFibGVzOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBsb2NhbCB2YXJpYWJsZXM6IiwgZXJyKTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9Cn0KCnN0YXJ0RGVidWdnZXIoKS5jYXRjaCgoZXJyb3IpID0+IHsKICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlcjoiLCBlcnJvcik7CiAgfQp9KTsKCi8vIEtlZXAgdGhlIHdvcmtlciBhbGl2ZQpzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwMDApOwo="), { workerData: { captureAllExceptions: !0 } });
209
+ const e = new Ve(new URL("data:application/javascript;base64,aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB1bmRlZmluZWQ7CgovKioKICogUHJvY2Vzc2VzIGNhbGwgZnJhbWVzIGZyb20gYW4gZXhjZXB0aW9uIGFuZCBwb3N0cyB0aGVtIHZpYSB0aGUgV29ya2Vy4oCZcyBwYXJlbnRQb3J0LgogKgogKiBAcGFyYW0gc2Vzc2lvbiAtIFRoZSBEZXZUb29scyBzZXNzaW9uIG9yIHNpbWlsYXIgb2JqZWN0IHlvdSB1c2UgdG8gcXVlcnkgZm9yIHNjcmlwdCBzb3VyY2VzLgogKiBAcGFyYW0gY2FsbEZyYW1lcyAtIEFuIGFycmF5IG9mIGNhbGwgZnJhbWUgb2JqZWN0cy4KICogQHBhcmFtIGRlc2NyaXB0aW9uTGluZXMgLSBBbiBhcnJheSBvZiBsaW5lcyBmcm9tIHRoZSBlcnJvcuKAmXMgZGVzY3JpcHRpb24sIGVhY2ggdHlwaWNhbGx5IGJlZ2lubmluZyB3aXRoICJhdCAiLgogKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0KICovCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKSB7CiAgLyoqCiAgICogTGltaXQgdGhlIGNhbGwgZnJhbWVzIHRvIHRoZSBtYXhpbXVtIGRlcHRoIHNwZWNpZmllZCBieSBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscy4KICAgKiBUaGlzIGFzc3VtZXMgdGhhdCBnbG9iYWwuc3RhY2tEZXB0aExvY2FscyBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLgogICAqLwogIGNvbnN0IGxpbWl0ZWRDYWxsRnJhbWVzID0gY2FsbEZyYW1lcy5zbGljZSgwLCBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscyk7CgogIGNvbnN0IGZyYW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKAogICAgbGltaXRlZENhbGxGcmFtZXMubWFwKGFzeW5jIChmcmFtZSwgaW5kZXgpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgLy8gRmluZCB0aGUgbG9jYWwgc2NvcGUsIGlmIGFueQogICAgICAgIGNvbnN0IGxvY2FsU2NvcGUgPSBzY29wZUNoYWluLmZpbmQoKHNjb3BlKSA9PiBzY29wZS50eXBlID09PSAibG9jYWwiKTsKCiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIC8vIFVzZSBlaXRoZXIgdGhlIFVSTCBvciB0aGUgZGVzY3JpcHRpb24gbGluZSBmb3IgZmlsZSByZWZlcmVuY2UKICAgICAgICBsZXQgZmlsZSA9ICIiOwogICAgICAgIGlmICh1cmwgJiYgdXJsLnRyaW0oKSAhPT0gIiIpIHsKICAgICAgICAgIGZpbGUgPSB1cmw7CiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbkxpbmVzW2luZGV4XSkgewogICAgICAgICAgZmlsZSA9IGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdLnRyaW0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZmlsZSA9ICI8dW5rbm93bj4iOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGxvY2F0aW9uIGFuZCBzY3JpcHRJZCwgZmV0Y2ggdGhlIGNvZGUgbGluZQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0U291cmNlIH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgIkRlYnVnZ2VyLmdldFNjcmlwdFNvdXJjZSIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2NyaXB0SWQsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgY29uc3Qgc291cmNlTGluZXMgPSBzY3JpcHRTb3VyY2Uuc3BsaXQoIlxuIik7CiAgICAgICAgICAgIGNvZGUgPSBzb3VyY2VMaW5lc1tsb2NhdGlvbi5saW5lTnVtYmVyXSB8fCAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgc291cmNlOiIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZldGNoIGxvY2FsIHZhcmlhYmxlcyBpZiB0aGVyZSdzIGFuIG9iamVjdElkCiAgICAgICAgY29uc3QgbG9jYWxzID0gbG9jYWxTY29wZT8ub2JqZWN0Py5vYmplY3RJZAogICAgICAgICAgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKQogICAgICAgICAgOiB7fTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUgfHwgIjxhbm9ueW1vdXM+IiwKICAgICAgICAgIGxvY2FscywKICAgICAgICAgIGZpbGUsCiAgICAgICAgICBsaW5lOiBsb2NhdGlvbj8ubGluZU51bWJlciB8fCAwLAogICAgICAgICAgY29kZSwKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IiwKICAgICAgICB9OwogICAgICB9CiAgICB9KSwKICApOwogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KCi8qKgogKiBIYW5kbGVzIHRoZSAicGF1c2VkIiBzdGF0ZSBvZiB0aGUgZGVidWdnZXIgYW5kIHByb2Nlc3NlcyBleGNlcHRpb25zIG9yIHByb21pc2UgcmVqZWN0aW9ucy4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge29iamVjdH0gcGFyYW1zIC0gUGFyYW1ldGVycyBmcm9tIHRoZSAicGF1c2VkIiBldmVudC4KICovCmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBwYXJhbXMpIHsKICBjb25zdCB7IHJlYXNvbiwgZGF0YSwgY2FsbEZyYW1lcyB9ID0gcGFyYW1zOwoKICBpZiAocmVhc29uICE9PSAiZXhjZXB0aW9uIiAmJiByZWFzb24gIT09ICJwcm9taXNlUmVqZWN0aW9uIikgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRGVmaW5lIHJlZ2V4IHBhdHRlcm5zIHRvIGlkZW50aWZ5IG5vbi1hcHBsaWNhdGlvbiBzb3VyY2UgZXJyb3JzLgogIGNvbnN0IG5vbkFwcFBhdHRlcm5zID0gWwogICAgL25vZGU6aW50ZXJuYWwvLAogICAgL2ludGVybmFsXC8vLAogICAgL25vZGVfbW9kdWxlcy8sCiAgICAvbm9kZTpmcy8sCiAgXTsKCiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKCiAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEuZGVzY3JpcHRpb24gPT09ICJzdHJpbmciKSB7CiAgICAvLyBTcGxpdCB0aGUgZGVzY3JpcHRpb24gaW50byBsaW5lcyBhbmQgZmlsdGVyIHRvIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggImF0ICIKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uCiAgICAgIC5zcGxpdCgiXG4iKQogICAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnRyaW0oKS5zdGFydHNXaXRoKCJhdCAiKSk7CgogICAgLy8gVXNlIHRoZSBmaXJzdCBjYWxsIGZyYW1lIGxpbmUgZnJvbSB0aGUgZGVzY3JpcHRpb24gZm9yIGZpbHRlcmluZy4KICAgIGZpcnN0RnJhbWVMaW5lID0gZGVzY3JpcHRpb25MaW5lc1swXSB8fCAiIjsKICAgIGlmICghZmlyc3RGcmFtZUxpbmUpIHsKICAgICAgLy8gSWYsIGZvciBzb21lIHJlYXNvbiwgdGhlcmUncyBubyBmcmFtZSwgYmFpbCBvdXQKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSAibm9uLWFwcCIgZXJyb3IKICAgIGNvbnN0IGVycm9yRnJvbU5vbkFwcCA9IG5vbkFwcFBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+CiAgICAgIHBhdHRlcm4udGVzdChmaXJzdEZyYW1lTGluZS50cmltKCkpLAogICAgKTsKCiAgICAvLyBDb252ZXJ0IGBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uYCB0byBhbiBhcnJheSBmb3Igc2FmZXR5CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uLAogICAgKQogICAgICA/IGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24KICAgICAgOiBbXTsKICAgIGlmIChlcnJvckZyb21Ob25BcHApIHsKICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGZyb20gYSBub24tYXBwIHNvdXJjZSwgd2UgaGF2ZSBhIGZldyBzY2VuYXJpb3M6CiAgICAgIGlmIChub2RlTW9kdWxlc0xpc3QuaW5jbHVkZXMoIl9fYWxsX18iKSkgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGluY2x1ZGVzIF9fYWxsX18sIGNhcHR1cmUgbG9jYWwgdmFyaWFibGVzIGZyb20gKmFsbCogbm9kZV9tb2R1bGVzCiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGlzIGZyb20gbm9uLWFwcCBzb3VyY2UsIGJ1dCBjYXB0dXJpbmcgZHVlIHRvIF9fYWxsX18gcnVsZS4iLAogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gQ29udGludWUgKGRvIE5PVCByZXR1cm4pLi4uCiAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgZnJhbWUgcmVmZXJlbmNlcyBvbmUgb2YgdGhlIG1vZHVsZXMgd2UgYWxsb3cgY2FwdHVyaW5nIGZyb20KICAgICAgICBjb25zdCBpc0Zyb21BbGxvd2VkTm9kZU1vZHVsZSA9IG5vZGVNb2R1bGVzTGlzdC5zb21lKChtb2R1bGVOYW1lKSA9PgogICAgICAgICAgZmlyc3RGcmFtZUxpbmUuaW5jbHVkZXMoYCR7bW9kdWxlTmFtZX1gKSwKICAgICAgICApOwoKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICAvLyBOb3QgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlID0+IHJldHVybiBlYXJseQogICAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAgICJbV29ya2VyXSBFcnJvciBhcHBlYXJzIHRvIGJlIHRyaWdnZXJlZCBmcm9tIG5vbi1hcHBsaWNhdGlvbiBzb3VyY2VzOyBpZ25vcmluZy4iLAogICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBPdGhlcndpc2UsIGl0J3MgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlLCBzbyBjb250aW51ZQogICAgICB9IGVsc2UgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvciBhbmQgaWdub3JlIG5vbi1hcHBsaWNhdGlvbiBlcnJvcnMKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgYXBwZWFycyB0byBiZSB0cmlnZ2VyZWQgZnJvbSBub24tYXBwbGljYXRpb24gc291cmNlczsgaWdub3JpbmcuIiwKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQsIHRoZSBlcnJvciBpcyBlaXRoZXIgZnJvbSBhcHAgY29kZSwgb3IgZnJvbSBhIG5vZGUgbW9kdWxlIGFsbG93ZWQgYnkgdGhlIGxpc3QKICAgIC8vID0+IFByb2NlZWQgd2l0aCBjYXB0dXJpbmcgbG9jYWwgdmFyaWFibGVzLCBldGMuCiAgICBhd2FpdCBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKTsKICB9IGVsc2UgewogICAgLy8gSWYgdGhlcmUgaXMgbm8gZGF0YS5kZXNjcmlwdGlvbiBvciBpdCdzIG5vdCBhIHN0cmluZywganVzdCByZXR1cm4KICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBJbml0aWFsaXplcyB0aGUgZGVidWdnZXIgYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciBleGNlcHRpb25zIGFuZCBwcm9taXNlIHJlamVjdGlvbnMuCiAqLwphc3luYyBmdW5jdGlvbiBzdGFydERlYnVnZ2VyKCkgewogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogIm1lc3NhZ2UiLCByZWFkeVRvR2V0UGFyYW1ldGVyczogdHJ1ZSB9KTsKCiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwoKICBwYXJlbnRQb3J0Py5vbigibWVzc2FnZSIsIChtZXNzYWdlKSA9PiB7CiAgICB0cnkgewogICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gInByb2Nlc3NFeGNlcHRpb24iKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgbWVzc2FnZT8uc2ZEZWJ1ZyAhPT0gdW5kZWZpbmVkICYmCiAgICAgICAgbWVzc2FnZT8uc3RhY2tEZXB0aExvY2FscyAhPT0gdW5kZWZpbmVkCiAgICAgICkgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5sb2coIlVwZGF0aW5nIGdsb2JhbCBkZWJ1ZyB2YXJpYWJsZXMuLi4iKTsKICAgICAgICB9CgogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPQogICAgICAgICAgbWVzc2FnZS5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT247CgogICAgICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSgpOwogICAgICB9CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgaW4gbWVzc2FnZSBoYW5kbGluZzoiLCBlcnJvcik7CiAgICAgIH0KICAgIH0KICB9KTsKCiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CgogIHRyeSB7CiAgICBjb25zdCBzZXNzaW9uID0gbmV3IFNlc3Npb24oKTsKICAgIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnJlc3VtZWQiLCAoKSA9PiB7CiAgICAgIGlzUGF1c2VkID0gZmFsc2U7CiAgICB9KTsKCiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIC8vIEFmdGVyIHRoZSBwYXVzZSB3b3JrIGlzIGNvbXBsZXRlLCByZXN1bWUgZXhlY3V0aW9uIQogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhc3luYyAoXykgPT4gewogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgKTsKICAgIH0pOwoKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIik7CgogICAgY29uc3QgY2FwdHVyZUFsbCA9IHdvcmtlckRhdGEuY2FwdHVyZUFsbEV4Y2VwdGlvbnMgIT09IGZhbHNlOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIsIHsKICAgICAgc3RhdGU6IGNhcHR1cmVBbGwgPyAiYWxsIiA6ICJ1bmNhdWdodCIsCiAgICB9KTsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIGVycm9yICIsIGVycm9yKTsKICAgIH0KICB9CgogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsT2JqZWN0KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwoKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQKICAgIC5tYXAoKHYpID0+IFt2Lm5hbWUsIHYudmFsdWU/LnZhbHVlXSkKICAgIC5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsXSkgPT4gewogICAgICBvYmpba2V5XSA9IHZhbDsKICAgICAgcmV0dXJuIG9iajsKICAgIH0sIHt9KTsKfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsQXJyYXkoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZDogb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKQogICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEubmFtZSwgMTApIC0gcGFyc2VJbnQoYi5uYW1lLCAxMCkpCiAgICAubWFwKCh2KSA9PiB2LnZhbHVlPy52YWx1ZSk7Cn0KCmZ1bmN0aW9uIHVucm9sbE90aGVyKHByb3AsIHZhcnMpIHsKICBpZiAoIXByb3AudmFsdWUpIHsKICAgIHJldHVybjsKICB9CgogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhcnNbcHJvcC5uYW1lXSA9IHByb3AudmFsdWUudmFsdWU7CiAgICByZXR1cm47CiAgfQoKICBpZiAoImRlc2NyaXB0aW9uIiBpbiBwcm9wLnZhbHVlICYmIHByb3AudmFsdWUudHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gYDwke3Byb3AudmFsdWUuZGVzY3JpcHRpb259PmA7CiAgICByZXR1cm47CiAgfQoKICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBGZXRjaGVzIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBnaXZlbiBvYmplY3QgSUQuCiAqIEBwYXJhbSB7U2Vzc2lvbn0gc2Vzc2lvbiAtIFRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpbnN0YW5jZS4KICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdElkIC0gVGhlIG9iamVjdCBJRCByZXByZXNlbnRpbmcgdGhlIGxvY2FsIHNjb3BlLgogKiBAcmV0dXJucyB7b2JqZWN0fSBBIGtleS12YWx1ZSBtYXAgb2YgbG9jYWwgdmFyaWFibGUgbmFtZXMgYW5kIHRoZWlyIHZhbHVlcy4KICovCmFzeW5jIGZ1bmN0aW9uIGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgb2JqZWN0SWQpIHsKICBpZiAoIW9iamVjdElkKSByZXR1cm4ge307CgogIHRyeSB7CiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICAgIG9iamVjdElkLAogICAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogICAgfSk7CgogICAgY29uc3QgcHJvcGVydGllcyA9IHJlc3VsdDsKICAgIGlmIChwcm9wZXJ0aWVzKSB7CiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykgewogICAgICAgIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWUuY2xhc3NOYW1lID09PSAiQXJyYXkiKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxBcnJheShzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYKICAgICAgICAgIHByb3A/LnZhbHVlPy5jbGFzc05hbWUgPT09ICJPYmplY3QiCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgaWQsIHByb3AubmFtZSwgdmFyaWFibGVzKTsKICAgICAgICB9IGVsc2UgaWYgKHByb3A/LnZhbHVlKSB7CiAgICAgICAgICB1bnJvbGxPdGhlcihwcm9wLCB2YXJpYWJsZXMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFyaWFibGVzOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBsb2NhbCB2YXJpYWJsZXM6IiwgZXJyKTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9Cn0KCnN0YXJ0RGVidWdnZXIoKS5jYXRjaCgoZXJyb3IpID0+IHsKICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlcjoiLCBlcnJvcik7CiAgfQp9KTsKCi8vIEtlZXAgdGhlIHdvcmtlciBhbGl2ZQpzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwMDApOwo="), { workerData: { captureAllExceptions: !0 } });
210
210
  let t = null;
211
211
  const s = /* @__PURE__ */ new WeakMap();
212
212
  e.on("message", (r) => {
@@ -227,11 +227,11 @@ function Re(o) {
227
227
  const m = [];
228
228
  let h = -1, Z = -1;
229
229
  for (let b = 0; b < C.length; b++) {
230
- const y = Je(C[b].file);
230
+ const y = _e(C[b].file);
231
231
  if (Z = b, y !== "<unknown>") {
232
232
  for (let f = 0; f < u.length; f++) {
233
- const v = u[f];
234
- if (be(v, y) || typeof v.file == "string" && v.file.includes(y)) {
233
+ const W = u[f];
234
+ if (ye(W, y) || typeof W.file == "string" && W.file.includes(y)) {
235
235
  h = f, w = 0, d().sfDebug && console.log(`✅ Matched Frame Found: ${y} @ Debugger Frame ${f}`);
236
236
  break;
237
237
  }
@@ -251,18 +251,18 @@ function Re(o) {
251
251
  t = null;
252
252
  const C = d().stackDepthCodeTraceDepth, u = C === -1 ? p : p.slice(0, C + 1), m = Math.min(u.length, I.length);
253
253
  for (let y = 0; y < m; y++) (async () => {
254
- const f = Xe(u[y].file, I[y].line, I[y].column);
254
+ const f = Ke(u[y].file, I[y].line, I[y].column);
255
255
  f && (f.content != null && (u[y].code = f.content), f.file != null && (u[y].file = f.file));
256
256
  })();
257
- o.setOperationName("CollectExceptions");
257
+ n.setOperationName("CollectExceptions");
258
258
  const h = a.message ? `${a.name}: ${a.message}` : a.name;
259
259
  d().sfDebug && console.log("error message is : ", h);
260
260
  const Z = N.getInstance(), b = s.get(a);
261
261
  b ? (Z.setTraceIdFor(b, b), Z.runWithSession(b, () => {
262
- Z.setTraceId(b), o.doSend(h, u);
263
- })) : o.doSend(h, u), l ? N.getInstance().runWithSession(l, () => {
264
- o.doSend(h, u);
265
- }) : o.doSend(h, u);
262
+ Z.setTraceId(b), n.doSend(h, u);
263
+ })) : n.doSend(h, u), l ? N.getInstance().runWithSession(l, () => {
264
+ n.doSend(h, u);
265
+ }) : n.doSend(h, u);
266
266
  }
267
267
  }
268
268
  }), e.on("error", (r) => {
@@ -270,16 +270,16 @@ function Re(o) {
270
270
  }), e.on("exit", (r) => {
271
271
  console.error(`[Worker] Exited with code ${r}`);
272
272
  }), e.unref();
273
- const n = Error, i = /* @__PURE__ */ new Set();
273
+ const o = Error, i = /* @__PURE__ */ new Set();
274
274
  function g(...r) {
275
- const c = Reflect.construct(n, r);
275
+ const c = Reflect.construct(o, r);
276
276
  Reflect.setPrototypeOf(c, g.prototype);
277
277
  try {
278
278
  const l = N.getInstance().getTraceId();
279
279
  s.set(c, l);
280
280
  } catch {
281
281
  }
282
- n.captureStackTrace && n.captureStackTrace(c, g);
282
+ o.captureStackTrace && o.captureStackTrace(c, g);
283
283
  const a = `${c.message}:${c.stack?.split(`
284
284
  `)[1]?.trim()}`;
285
285
  if (!i.has(a)) {
@@ -289,26 +289,26 @@ function Re(o) {
289
289
  }
290
290
  return c;
291
291
  }
292
- g.prototype = Object.create(n.prototype, { constructor: { value: g, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(g, n), globalThis.Error = g;
292
+ g.prototype = Object.create(o.prototype, { constructor: { value: g, enumerable: !1, writable: !0, configurable: !0 } }), Object.setPrototypeOf(g, o), globalThis.Error = g;
293
293
  }
294
- function ee(o) {
295
- return o = (o = (o = o.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
294
+ function ne(n) {
295
+ return n = (n = (n = n.replace(/^webpack:\/\/[^\/]+\/\.?\//, "")).replace(/^.*\/pages\//, "pages/")).replace(/\.(js|ts)$/, "");
296
296
  }
297
- function Xe(o, e, t) {
297
+ function Ke(n, e, t) {
298
298
  const s = (function(i) {
299
299
  i.startsWith("at ") && (i = i.slice(3).trim());
300
300
  const g = i.match(/^(.*?)(:\d+)+(\.map)?$/);
301
301
  return g ? g[1] : i;
302
- })(o);
302
+ })(n);
303
303
  if (!s || s === "<unknown>") return null;
304
- const n = s + ".map";
304
+ const o = s + ".map";
305
305
  try {
306
- const i = pe(n, "utf-8");
306
+ const i = be(o, "utf-8");
307
307
  if (i) {
308
308
  const g = JSON.parse(i);
309
- let r = new me.SourceMapConsumer(g).originalPositionFor({ line: e, column: t });
309
+ let r = new Ae.SourceMapConsumer(g).originalPositionFor({ line: e, column: t });
310
310
  if (s && r.source) {
311
- const c = ee(s), a = g.sources.findIndex((l) => ee(l) === c);
311
+ const c = ne(s), a = g.sources.findIndex((l) => ne(l) === c);
312
312
  if (a === -1) d().sfDebug && console.log(`Source file "${s}" not found in the source map.`);
313
313
  else {
314
314
  const l = g.sourcesContent[a], I = g.names.join(",");
@@ -322,29 +322,29 @@ function Xe(o, e, t) {
322
322
  return { content: g.sourcesContent[0], name: g.names[0], file: g.file };
323
323
  }
324
324
  } catch (i) {
325
- d().sfDebug && console.log(`Cant read/parse "${n}: Error - ".`, i);
325
+ d().sfDebug && console.log(`Cant read/parse "${o}: Error - ".`, i);
326
326
  }
327
327
  return null;
328
328
  }
329
- function Je(o) {
330
- return o?.split("/").pop() || "<unknown>";
329
+ function _e(n) {
330
+ return n?.split("/").pop() || "<unknown>";
331
331
  }
332
- function be(o, e) {
333
- if (!o || typeof o != "object") return !1;
334
- for (const t of Object.values(o))
335
- if (typeof t == "string" && t.includes(e) || typeof t == "object" && be(t, e)) return !0;
332
+ function ye(n, e) {
333
+ if (!n || typeof n != "object") return !1;
334
+ for (const t of Object.values(n))
335
+ if (typeof t == "string" && t.includes(e) || typeof t == "object" && ye(t, e)) return !0;
336
336
  return !1;
337
337
  }
338
- let te = !1;
339
- function ne(o) {
340
- if (!o) return;
341
- const e = o.toLowerCase().trim();
338
+ let oe = !1;
339
+ function se(n) {
340
+ if (!n) return;
341
+ const e = n.toLowerCase().trim();
342
342
  return !!["1", "true", "yes", "on"].includes(e) || !["0", "false", "no", "off"].includes(e) && void 0;
343
343
  }
344
- function D(o, e, t) {
344
+ function D(n, e, t) {
345
345
  return new Promise((s) => {
346
346
  try {
347
- const n = new URL(o), i = (n.protocol, S).request({ method: "GET", hostname: n.hostname, port: n.port || (n.protocol === "https:" ? 443 : 80), path: n.pathname + (n.search || ""), headers: e }, (g) => {
347
+ const o = new URL(n), i = (o.protocol, G).request({ method: "GET", hostname: o.hostname, port: o.port || (o.protocol === "https:" ? 443 : 80), path: o.pathname + (o.search || ""), headers: e }, (g) => {
348
348
  g.resume(), g.statusCode && g.statusCode >= 200 && g.statusCode < 400 ? s("ok") : s("http_error");
349
349
  });
350
350
  i.on("error", () => s("error")), i.setTimeout(t, () => {
@@ -355,7 +355,7 @@ function D(o, e, t) {
355
355
  }
356
356
  });
357
357
  }
358
- class Ke extends F {
358
+ class ke extends F {
359
359
  constructor() {
360
360
  super();
361
361
  A(this, "serviceIdentifier", new Y());
@@ -377,8 +377,8 @@ class Ke extends F {
377
377
  }
378
378
  async send(t, s) {
379
379
  d().sfDebug && console.log(" SENDING EXCEPTION...");
380
- const n = JSON.stringify(k.encode(s)), i = this.normalizedSupplementalForGraphQL(), g = this.getVariables({ exceptionMessage: t, traceJson: n, reentrancyGuardPreactive: !1, library: d().packageLibraryType, version: d().version, ...i });
381
- W(this.endpoint, this.operationName, this.getQuery(), g);
380
+ const o = JSON.stringify(z.encode(s)), i = this.normalizedSupplementalForGraphQL(), g = this.getVariables({ exceptionMessage: t, traceJson: o, reentrancyGuardPreactive: !1, library: d().packageLibraryType, version: d().version, ...i });
381
+ v(this.endpoint, this.operationName, this.getQuery(), g);
382
382
  }
383
383
  getQuery() {
384
384
  return `
@@ -412,44 +412,51 @@ class Ke extends F {
412
412
  `;
413
413
  }
414
414
  }
415
- const oe = "getting request source code";
416
- var z = ((o) => (o.UNKNOWN = "unknown", o.ANONYMOUS = "anonymous", o.NOT_CAPTURED = "not captured", o))(z || {});
417
- const x = "http:", P = "https:", _e = we(import.meta.url);
418
- let se = !1;
419
- function ze() {
420
- const o = d().sfDebug;
421
- if (se) return void (o && console.log("[patchNodeHttpInbound] Already installed, skipping."));
415
+ const ie = "getting request source code";
416
+ var k = ((n) => (n.UNKNOWN = "unknown", n.ANONYMOUS = "anonymous", n.NOT_CAPTURED = "not captured", n))(k || {});
417
+ const P = "http:", x = "https:", ze = He(import.meta.url);
418
+ let re = !1;
419
+ function Ue() {
420
+ const n = d().sfDebug;
421
+ if (re) return void (n && console.log("[patchNodeHttpInbound] Already installed, skipping."));
422
422
  let e;
423
- se = !0;
423
+ re = !0;
424
424
  try {
425
- e = _e("node:http"), o && console.log("[patchNodeHttpInbound] node:http required successfully.");
426
- } catch (n) {
427
- return void console.error("Failed to require node:http:", n);
425
+ e = ze("node:http"), n && console.log("[patchNodeHttpInbound] node:http required successfully.");
426
+ } catch (o) {
427
+ return void console.error("Failed to require node:http:", o);
428
428
  }
429
- if (!e?.Server?.prototype) return void (o && console.log("[patchNodeHttpInbound] http.Server.prototype not found."));
429
+ if (!e?.Server?.prototype) return void (n && console.log("[patchNodeHttpInbound] http.Server.prototype not found."));
430
430
  const t = e.Server.prototype, s = t.emit;
431
- s && !t.__sf_inbound_patched__ ? (Object.defineProperty(t, "__sf_inbound_patched__", { value: !0, enumerable: !1, configurable: !1, writable: !1 }), o && console.log("[patchNodeHttpInbound] Patching http.Server.prototype.emit."), t.emit = function(n, ...i) {
432
- if (n !== "request") return o && console.log(`[patchNodeHttpInbound] Passing through event: ${n}`), s.call(this, n, ...i);
433
- const g = i[0], r = i[1], c = (function(C) {
434
- const u = {};
435
- if (!C) return u;
436
- for (const [m, h] of Object.entries(C)) h != null && (Array.isArray(h) ? u[m.toLowerCase()] = h.join(", ") : u[m.toLowerCase()] = String(h));
437
- return u;
431
+ s && !t.__sf_inbound_patched__ ? (Object.defineProperty(t, "__sf_inbound_patched__", { value: !0, enumerable: !1, configurable: !1, writable: !1 }), n && console.log("[patchNodeHttpInbound] Patching http.Server.prototype.emit."), t.emit = function(o, ...i) {
432
+ if (o !== "request") return n && console.log(`[patchNodeHttpInbound] Passing through event: ${o}`), s.call(this, o, ...i);
433
+ const g = i[0], r = i[1], c = (function(u) {
434
+ const m = {};
435
+ if (!u) return m;
436
+ for (const [h, Z] of Object.entries(u)) Z != null && (Array.isArray(Z) ? m[h.toLowerCase()] = Z.join(", ") : m[h.toLowerCase()] = String(Z));
437
+ return m;
438
438
  })(g?.headers), a = c["x-sf3-rid"], l = c["x-sf3-functionspancaptureoverride"];
439
- o && (console.log("[patchNodeHttpInbound] Intercepted request event."), console.log("[patchNodeHttpInbound] Inbound headers:", c), console.log("[patchNodeHttpInbound] Trace header:", a), console.log("[patchNodeHttpInbound] FuncSpan override header:", l));
439
+ n && (console.log("[patchNodeHttpInbound] Intercepted request event."), console.log("[patchNodeHttpInbound] Inbound headers:", c), console.log("[patchNodeHttpInbound] Trace header:", a), console.log("[patchNodeHttpInbound] FuncSpan override header:", l));
440
440
  const I = N.getInstance();
441
441
  I.setTraceId(a);
442
442
  const p = I.getTraceId();
443
- return o && console.log("[patchNodeHttpInbound] Context traceId set:", p), I.runWith({ inboundHeaders: c, ...a ? { traceId: a } : {} }, () => {
444
- a && I.setTraceId(a), l && (ye(l), o && console.log("[patchNodeHttpInbound] FuncSpan override set:", l)), o && console.log("[patchNodeHttpInbound] Running request handler in context.");
445
- const C = () => {
446
- o && console.log("[patchNodeHttpInbound] Response finished/closed for traceId:", I.getTraceId()), l && (Ze(), o && console.log("[patchNodeHttpInbound] FuncSpan override cleared"));
443
+ n && console.log("[patchNodeHttpInbound] Context traceId set:", p);
444
+ const C = () => I.runWith({ inboundHeaders: c, ...a ? { traceId: a } : {} }, () => {
445
+ a && I.setTraceId(a), n && console.log("[patchNodeHttpInbound] Running request handler in context.");
446
+ const u = () => {
447
+ n && console.log("[patchNodeHttpInbound] Response finished/closed for traceId:", I.getTraceId());
447
448
  };
448
- return r.on("finish", C), r.on("close", C), s.call(this, n, g, r);
449
+ return r.on("finish", u), r.on("close", u), s.call(this, o, g, r);
449
450
  });
450
- }) : o && console.log("[patchNodeHttpInbound] Already patched, skipping.");
451
+ if (!l) return C();
452
+ try {
453
+ return Ge.run(l, () => C());
454
+ } catch {
455
+ return C();
456
+ }
457
+ }) : n && console.log("[patchNodeHttpInbound] Already patched, skipping.");
451
458
  }
452
- class ke extends Q {
459
+ class Ee extends ee {
453
460
  constructor() {
454
461
  super(), this.setOperationName("DomainsToNotPassHeaderTo");
455
462
  }
@@ -470,10 +477,10 @@ class ke extends Q {
470
477
  )
471
478
  }
472
479
  `, s = { apiKey: this.apiKey, serviceUuid: this.serviceUUID, domains: e };
473
- W(this.endpoint, this.operationName, t, s);
480
+ v(this.endpoint, this.operationName, t, s);
474
481
  }
475
482
  }
476
- class Ue extends F {
483
+ class Te extends F {
477
484
  constructor() {
478
485
  super();
479
486
  A(this, "serviceIdentifier", new Y());
@@ -486,8 +493,8 @@ class Ue extends F {
486
493
  this.sendAppIdentifier(), this.send(t);
487
494
  }
488
495
  async send(t) {
489
- const { name: s, column: n, line: i, entrypoint: g, retryWithoutTraceId: r } = t, c = this.getVariables({ name: s, column: n, line: i, entrypoint: g, retryWithoutTraceId: r });
490
- W(this.endpoint, this.operationName, this.getQuery(), c);
496
+ const { name: s, column: o, line: i, entrypoint: g, retryWithoutTraceId: r } = t, c = this.getVariables({ name: s, column: o, line: i, entrypoint: g, retryWithoutTraceId: r });
497
+ v(this.endpoint, this.operationName, this.getQuery(), c);
491
498
  }
492
499
  getQuery() {
493
500
  return `
@@ -517,7 +524,7 @@ class Ue extends F {
517
524
  `;
518
525
  }
519
526
  }
520
- class Te extends F {
527
+ class $e extends F {
521
528
  constructor() {
522
529
  super();
523
530
  A(this, "serviceIdentifier", new Y());
@@ -541,11 +548,11 @@ class Te extends F {
541
548
  }
542
549
  async send(t) {
543
550
  const s = { data: { ...t } };
544
- await W(this.endpoint, this.operationName, this.getQuery(), s);
551
+ await v(this.endpoint, this.operationName, this.getQuery(), s);
545
552
  }
546
553
  }
547
554
  const O = [400, 403];
548
- class $e {
555
+ class Le {
549
556
  constructor(e = []) {
550
557
  A(this, "HEADER_TRACING", "X-Sf3-Rid");
551
558
  A(this, "HEADER_LOG_GUARD", "reentrancy_guard_logging_preactive");
@@ -567,32 +574,32 @@ class $e {
567
574
  }
568
575
  }
569
576
  if (!s) return {};
570
- const n = s.split("/").filter(Boolean);
571
- return n.length < 3 ? {} : { sessionId: n[0], pageVisitId: n[1], requestId: n[n.length - 1] };
577
+ const o = s.split("/").filter(Boolean);
578
+ return o.length < 3 ? {} : { sessionId: o[0], pageVisitId: o[1], requestId: o[o.length - 1] };
572
579
  }
573
580
  parseStackFrame(e) {
574
581
  const t = /\((.*):(\d+):(\d+)\)$/.exec(e.trim());
575
582
  if (!t) return null;
576
- const [, s, n, i] = t;
577
- return { filePath: s, line: parseInt(n, 10), column: parseInt(i, 10) };
583
+ const [, s, o, i] = t;
584
+ return { filePath: s, line: parseInt(o, 10), column: parseInt(i, 10) };
578
585
  }
579
586
  async getOriginalPosition(e, t, s) {
580
- let n = { source: e, line: t, column: s, name: null };
587
+ let o = { source: e, line: t, column: s, name: null };
581
588
  const i = e + ".map";
582
589
  try {
583
- const g = JSON.parse(pe(i, "utf-8"));
584
- let r = (await new me.SourceMapConsumer(g)).originalPositionFor({ line: t, column: s });
585
- r.source && (n = r);
590
+ const g = JSON.parse(be(i, "utf-8"));
591
+ let r = (await new Ae.SourceMapConsumer(g)).originalPositionFor({ line: t, column: s });
592
+ r.source && (o = r);
586
593
  } catch (g) {
587
594
  d().sfDebug && console.error(`Could not read/parse map file at ${i}:`, g);
588
595
  }
589
- return { originalPos: n };
596
+ return { originalPos: o };
590
597
  }
591
598
  captureFirstUserLines(e, t = 10, s = !1) {
592
- const n = d().sfDebug ? 10 : t, i = Error.stackTraceLimit;
593
- Error.stackTraceLimit = Math.max(i, n);
594
- const g = new Error(oe);
595
- oe in Error && Error.captureStackTrace(g, this.captureFirstUserLines);
599
+ const o = d().sfDebug ? 10 : t, i = Error.stackTraceLimit;
600
+ Error.stackTraceLimit = Math.max(i, o);
601
+ const g = new Error(ie);
602
+ ie in Error && Error.captureStackTrace(g, this.captureFirstUserLines);
596
603
  const r = g.stack || "";
597
604
  Error.stackTraceLimit = i;
598
605
  const c = r.split(`
@@ -605,7 +612,7 @@ class $e {
605
612
  const { originalPos: p } = await this.getOriginalPosition(I.filePath, I.line, I.column);
606
613
  if (p) {
607
614
  d().sfDebug && console.log("[RequestInterceptor] First user code line:", p);
608
- const C = { line: p.line?.toString() || z.UNKNOWN, column: p.column?.toString() || z.NOT_CAPTURED, name: p.name || z.NOT_CAPTURED, entrypoint: p.source, retryWithoutTraceId: s };
615
+ const C = { line: p.line?.toString() || k.UNKNOWN, column: p.column?.toString() || k.NOT_CAPTURED, name: p.name || k.NOT_CAPTURED, entrypoint: p.source, retryWithoutTraceId: s };
609
616
  e.doSend(C);
610
617
  }
611
618
  })() : d().sfDebug && console.error("Could not parse stack line:", l);
@@ -615,30 +622,30 @@ class $e {
615
622
  e.set(this.HEADER_LOG_GUARD, "true"), e.set(this.HEADER_PRINT_GUARD, "true"), e.set(this.HEADER_EXCEPTION_GUARD, "true");
616
623
  }
617
624
  shouldPropagateHeaders(e) {
618
- return !Ge.some((t) => new RegExp(`^${t.replace(/\*/g, ".*")}$`).test(e));
625
+ return !Be.some((t) => new RegExp(`^${t.replace(/\*/g, ".*")}$`).test(e));
619
626
  }
620
627
  addTracingHeaders(e, t) {
621
- const s = new URL(t).hostname, n = this.shouldPropagateHeaders(s);
622
- return n ? this.addTracingHeader(e, t) : d().sfDebug && console.error(`[RequestInterceptor] Excluded domain: ${s}`), n;
628
+ const s = new URL(t).hostname, o = this.shouldPropagateHeaders(s);
629
+ return o ? this.addTracingHeader(e, t) : d().sfDebug && console.error(`[RequestInterceptor] Excluded domain: ${s}`), o;
623
630
  }
624
631
  addTracingHeader(e, t) {
625
- const s = le();
632
+ const s = ue();
626
633
  if (s) {
627
- const r = de(s);
634
+ const r = pe(s);
628
635
  if (r && r.sample_rate === 0) return void (d().sfDebug && console.log(`[RequestInterceptor] Function span tracking disabled (sample_rate=0), skipping tracing header for ${t}`));
629
636
  }
630
- const n = this.contextManager.getOrSetSfTraceId(), i = this.contextManager.getOrSetPageVisitUUID(), g = Ie();
631
- e.set(this.HEADER_TRACING, `${n}/${i}/${g}`), d().sfDebug && console.log(`[RequestInterceptor] Added tracing header for ${t}`);
637
+ const o = this.contextManager.getOrSetSfTraceId(), i = this.contextManager.getOrSetPageVisitUUID(), g = Ce();
638
+ e.set(this.HEADER_TRACING, `${o}/${i}/${g}`), d().sfDebug && console.log(`[RequestInterceptor] Added tracing header for ${t}`);
632
639
  }
633
640
  patchFetch(e, t) {
634
641
  const s = globalThis.fetch;
635
- typeof s == "function" ? globalThis.fetch = async (n, i) => {
642
+ typeof s == "function" ? globalThis.fetch = async (o, i) => {
636
643
  const g = new Headers(i?.headers);
637
- if (g.get(this.HEADER_LOG_GUARD) === "true" || g.get(this.HEADER_PRINT_GUARD) === "true" || g.get(this.HEADER_EXCEPTION_GUARD) === "true") return s(n, i);
644
+ if (g.get(this.HEADER_LOG_GUARD) === "true" || g.get(this.HEADER_PRINT_GUARD) === "true" || g.get(this.HEADER_EXCEPTION_GUARD) === "true") return s(o, i);
638
645
  this.captureFirstUserLines(e);
639
646
  const r = Date.now();
640
647
  let c;
641
- typeof n == "string" || n instanceof URL ? c = n.toString() : n instanceof Request ? (c = n.url, n.headers.forEach((u, m) => {
648
+ typeof o == "string" || o instanceof URL ? c = o.toString() : o instanceof Request ? (c = o.url, o.headers.forEach((u, m) => {
642
649
  g.set(m, u);
643
650
  })) : d().sfDebug && console.error("[Sailfish RequestInterceptor] Invalid fetch input."), d().sfDebug && console.log("[RequestInterceptor] Fetching request to:", c);
644
651
  const a = new URL(c).hostname, l = new Headers(g), I = this.addTracingHeaders(g, c), p = { ...i, headers: g };
@@ -649,7 +656,7 @@ class $e {
649
656
  const m = Date.now();
650
657
  d().sfDebug && console.log(`[RequestInterceptor] Fetch completed: ${c}, Status: ${C.status}, Duration: ${m - r}ms`);
651
658
  const { sessionId: h, pageVisitId: Z, requestId: b } = this.extractIdsFromTraceHeader(g);
652
- return t.doSend({ apiKey: d().apiKey, requestId: b, pageVisitId: Z, recordingSessionId: h, serviceUuid: d().serviceUUID, timestampStart: r.toString(), timestampEnd: m.toString(), responseCode: C.status, success: !0, error: null, url: c, method: p.method || "GET", retryWithoutTraceId: u, parentSpanId: $() }), C;
659
+ return t.doSend({ apiKey: d().apiKey, requestId: b, pageVisitId: Z, recordingSessionId: h, serviceUuid: d().serviceUUID, timestampStart: r.toString(), timestampEnd: m.toString(), responseCode: C.status, success: !0, error: null, url: c, method: p.method || "GET", retryWithoutTraceId: u, parentSpanId: T() }), C;
653
660
  } catch (u) {
654
661
  const m = Date.now();
655
662
  d().sfDebug && console.error(`[RequestInterceptor] Fetch failed: ${c}, Error: ${u}, Duration: ${m - r}ms`);
@@ -657,15 +664,15 @@ class $e {
657
664
  } : d().sfDebug && console.error("[RequestInterceptor] Fetch not available.");
658
665
  }
659
666
  patchHttp(e, t) {
660
- if (d().sfDebug && console.log("[RequestInterceptor] Initializing HTTP/HTTPS request patch..."), !S || typeof S.request != "function") return void (d().sfDebug && console.log("[RequestInterceptor] HTTP/HTTPS not available."));
661
- const s = S.request.bind(S), n = S.request.bind(S);
662
- S.request = function(i, g) {
667
+ if (d().sfDebug && console.log("[RequestInterceptor] Initializing HTTP/HTTPS request patch..."), !G || typeof G.request != "function") return void (d().sfDebug && console.log("[RequestInterceptor] HTTP/HTTPS not available."));
668
+ const s = G.request.bind(G), o = G.request.bind(G);
669
+ G.request = function(i, g) {
663
670
  let r;
664
671
  try {
665
672
  if (typeof i == "string") {
666
673
  const a = new URL(i);
667
- r = { protocol: a.protocol || x, hostname: a.hostname, path: a.pathname + a.search, headers: {} };
668
- } else i instanceof URL ? r = { protocol: i.protocol || x, hostname: i.hostname, path: i.pathname + i.search, headers: {} } : (r = { ...i }, r.protocol || (r.protocol = x));
674
+ r = { protocol: a.protocol || P, hostname: a.hostname, path: a.pathname + a.search, headers: {} };
675
+ } else i instanceof URL ? r = { protocol: i.protocol || P, hostname: i.hostname, path: i.pathname + i.search, headers: {} } : (r = { ...i }, r.protocol || (r.protocol = P));
669
676
  if (r.headers) {
670
677
  const a = `${r.protocol}//${r.hostname}`;
671
678
  this.addTracingHeaders(r.headers, a), this.captureFirstUserLines(e);
@@ -682,15 +689,15 @@ class $e {
682
689
  delete u.headers[this.HEADER_TRACING], s(u, g), c = !0, this.captureFirstUserLines(e, 10, c);
683
690
  }
684
691
  const { sessionId: I, pageVisitId: p, requestId: C } = this.extractIdsFromTraceHeader(r.headers);
685
- t.doSend({ apiKey: d().apiKey, requestId: C, pageVisitId: p, recordingSessionId: I, serviceUuid: d().serviceUUID, timestampStart: Date.now().toString(), timestampEnd: Date.now().toString(), responseCode: a.statusCode || 0, success: !!a.statusCode && a.statusCode < 400, error: null, url: l, method: r.method || "GET", retryWithoutTraceId: c, parentSpanId: $() }), g?.(a);
692
+ t.doSend({ apiKey: d().apiKey, requestId: C, pageVisitId: p, recordingSessionId: I, serviceUuid: d().serviceUUID, timestampStart: Date.now().toString(), timestampEnd: Date.now().toString(), responseCode: a.statusCode || 0, success: !!a.statusCode && a.statusCode < 400, error: null, url: l, method: r.method || "GET", retryWithoutTraceId: c, parentSpanId: T() }), g?.(a);
686
693
  });
687
- }, S.request = function(i, g) {
694
+ }, G.request = function(i, g) {
688
695
  let r;
689
696
  try {
690
697
  if (typeof i == "string") {
691
698
  const a = new URL(i);
692
- r = { protocol: a.protocol || P, hostname: a.hostname, path: a.pathname + a.search, headers: {} };
693
- } else i instanceof URL ? r = { protocol: i.protocol || P, hostname: i.hostname, path: i.pathname + i.search, headers: {} } : (r = { ...i }, r.protocol || (r.protocol = P));
699
+ r = { protocol: a.protocol || x, hostname: a.hostname, path: a.pathname + a.search, headers: {} };
700
+ } else i instanceof URL ? r = { protocol: i.protocol || x, hostname: i.hostname, path: i.pathname + i.search, headers: {} } : (r = { ...i }, r.protocol || (r.protocol = x));
694
701
  if (r.headers) {
695
702
  const a = `${r.protocol}//${r.hostname}`;
696
703
  this.addTracingHeaders(r.headers, a);
@@ -699,14 +706,14 @@ class $e {
699
706
  throw d().sfDebug && console.error("[RequestInterceptor] Error while processing HTTPS request options:", a), a;
700
707
  }
701
708
  let c = !1;
702
- return n(r, (a) => {
709
+ return o(r, (a) => {
703
710
  const l = `${r.protocol}//${r.hostname}`;
704
711
  if (r.headers && this.shouldPropagateHeaders(new URL(l).hostname) && O.includes(a.statusCode || 0)) {
705
712
  const u = { ...r, headers: { ...r.headers } };
706
- delete u.headers[this.HEADER_TRACING], n(u, g), c = !0, this.captureFirstUserLines(e, 10, c);
713
+ delete u.headers[this.HEADER_TRACING], o(u, g), c = !0, this.captureFirstUserLines(e, 10, c);
707
714
  }
708
715
  const { sessionId: I, pageVisitId: p, requestId: C } = this.extractIdsFromTraceHeader(r.headers);
709
- t.doSend({ apiKey: d().apiKey, requestId: C, pageVisitId: p, recordingSessionId: I, serviceUuid: d().serviceUUID, timestampStart: Date.now().toString(), timestampEnd: Date.now().toString(), responseCode: a.statusCode || 0, success: !!a.statusCode && a.statusCode < 400, error: null, url: l, method: r.method || "GET", retryWithoutTraceId: c, parentSpanId: $() }), g?.(a);
716
+ t.doSend({ apiKey: d().apiKey, requestId: C, pageVisitId: p, recordingSessionId: I, serviceUuid: d().serviceUUID, timestampStart: Date.now().toString(), timestampEnd: Date.now().toString(), responseCode: a.statusCode || 0, success: !!a.statusCode && a.statusCode < 400, error: null, url: l, method: r.method || "GET", retryWithoutTraceId: c, parentSpanId: T() }), g?.(a);
710
717
  });
711
718
  }, d().sfDebug && console.log("✅ HTTP and HTTPS request methods patched globally.");
712
719
  }
@@ -721,7 +728,7 @@ class $e {
721
728
  return [...this.contextManager.getExcludedDomains()];
722
729
  }
723
730
  }
724
- class Ee extends Q {
731
+ class De extends ee {
725
732
  constructor() {
726
733
  super(), this.setOperationName("UpdateServiceDetails");
727
734
  }
@@ -750,10 +757,10 @@ class Ee extends Q {
750
757
  )
751
758
  }
752
759
  `, t = this.getVariables({ serviceIdentifier: d().serviceIdentifier, serviceVersion: d().serviceVersion, serviceAdditionalMetadata: d().serviceAdditionalMetadata, gitSha: d().gitSha || "" });
753
- W(this.endpoint, this.operationName, e, t);
760
+ v(this.endpoint, this.operationName, e, t);
754
761
  }
755
762
  }
756
- class Le {
763
+ class Pe {
757
764
  constructor(e = [process.cwd()], t = !1) {
758
765
  A(this, "rootPaths");
759
766
  A(this, "fileConfigs", /* @__PURE__ */ new Map());
@@ -772,20 +779,20 @@ class Le {
772
779
  await this._resolveInheritance(), this.debug && console.log(`[FuncSpan ConfigLoader] Loaded ${this.fileConfigs.size} file configs, ${this.functionConfigs.size} function configs`);
773
780
  }
774
781
  getConfig(e, t) {
775
- const s = this.hasSailfishFiles ? ue() : Se(), n = this._getDirectoryConfig(e), i = G.normalize(e), g = this.fileConfigs.get(i) || {};
782
+ const s = this.hasSailfishFiles ? me() : ve(), o = this._getDirectoryConfig(e), i = S.normalize(e), g = this.fileConfigs.get(i) || {};
776
783
  let r = {};
777
784
  if (t) {
778
785
  const c = this.functionConfigs.get(i);
779
786
  c && (r = c.get(t) || {});
780
787
  }
781
- return R(s, n, g, r);
788
+ return R(s, o, g, r);
782
789
  }
783
790
  async _walkDirectory(e, t) {
784
791
  try {
785
792
  const s = L.readdirSync(e, { withFileTypes: !0 });
786
- for (const n of s) {
787
- const i = G.join(e, n.name);
788
- n.isFile() && n.name === ".sailfish" ? t.push(i) : n.name === "node_modules" || n.isDirectory() && n.name.startsWith(".") && n.name !== ".sailfish" || n.isDirectory() && await this._walkDirectory(i, t);
793
+ for (const o of s) {
794
+ const i = S.join(e, o.name);
795
+ o.isFile() && o.name === ".sailfish" ? t.push(i) : o.name === "node_modules" || o.isDirectory() && o.name.startsWith(".") && o.name !== ".sailfish" || o.isDirectory() && await this._walkDirectory(i, t);
789
796
  }
790
797
  } catch (s) {
791
798
  this.debug && console.error(`[FuncSpan ConfigLoader] Error walking directory ${e}:`, s);
@@ -793,43 +800,43 @@ class Le {
793
800
  }
794
801
  async _loadConfigFile(e) {
795
802
  try {
796
- const t = L.readFileSync(e, "utf-8"), s = G.dirname(e);
797
- let n = null;
803
+ const t = L.readFileSync(e, "utf-8"), s = S.dirname(e);
804
+ let o = null;
798
805
  try {
799
- n = JSON.parse(t);
806
+ o = JSON.parse(t);
800
807
  } catch {
801
808
  try {
802
- n = require("js-yaml").load(t);
809
+ o = require("js-yaml").load(t);
803
810
  } catch (i) {
804
811
  return void (this.debug && console.error(`[FuncSpan ConfigLoader] Failed to parse ${e} as JSON or YAML:`, i));
805
812
  }
806
813
  }
807
- if (!n) return;
808
- n.default && this.directoryConfigs.set(s, n.default), n.files && await this._expandFileGlobs(s, n.files, n.default || {}), n.functions && this._storeFunctionConfigs(s, n.functions, n.default || {}), this.debug && (console.log(`[FuncSpan ConfigLoader] Loaded config from ${e}`), console.log(`[FuncSpan ConfigLoader] Directory: ${s}`), console.log(`[FuncSpan ConfigLoader] Has default: ${!!n.default}`), console.log(`[FuncSpan ConfigLoader] File patterns: ${Object.keys(n.files || {}).length}`), console.log(`[FuncSpan ConfigLoader] Functions: ${Object.keys(n.functions || {}).length}`));
814
+ if (!o) return;
815
+ o.default && this.directoryConfigs.set(s, o.default), o.files && await this._expandFileGlobs(s, o.files, o.default || {}), o.functions && this._storeFunctionConfigs(s, o.functions, o.default || {}), this.debug && (console.log(`[FuncSpan ConfigLoader] Loaded config from ${e}`), console.log(`[FuncSpan ConfigLoader] Directory: ${s}`), console.log(`[FuncSpan ConfigLoader] Has default: ${!!o.default}`), console.log(`[FuncSpan ConfigLoader] File patterns: ${Object.keys(o.files || {}).length}`), console.log(`[FuncSpan ConfigLoader] Functions: ${Object.keys(o.functions || {}).length}`));
809
816
  } catch (t) {
810
817
  this.debug && console.error(`[FuncSpan ConfigLoader] Error loading ${e}:`, t);
811
818
  }
812
819
  }
813
820
  async _expandFileGlobs(e, t, s) {
814
- for (const [n, i] of Object.entries(t)) try {
815
- const g = G.join(e, n), r = await Ve(g, { absolute: !0, nodir: !0, ignore: ["**/node_modules/**", "**/.git/**"] });
816
- this.debug && console.log(`[FuncSpan ConfigLoader] Pattern '${n}' matched ${r.length} files`);
821
+ for (const [o, i] of Object.entries(t)) try {
822
+ const g = S.join(e, o), r = await Ye(g, { absolute: !0, nodir: !0, ignore: ["**/node_modules/**", "**/.git/**"] });
823
+ this.debug && console.log(`[FuncSpan ConfigLoader] Pattern '${o}' matched ${r.length} files`);
817
824
  for (const c of r) {
818
- const a = G.normalize(c), l = R(s, i);
825
+ const a = S.normalize(c), l = R(s, i);
819
826
  this.fileConfigs.set(a, l), this.debug && r.length <= 5 && console.log(`[FuncSpan ConfigLoader] - ${c}`);
820
827
  }
821
828
  } catch (g) {
822
- this.debug && console.error(`[FuncSpan ConfigLoader] Error expanding glob '${n}':`, g);
829
+ this.debug && console.error(`[FuncSpan ConfigLoader] Error expanding glob '${o}':`, g);
823
830
  }
824
831
  }
825
832
  _storeFunctionConfigs(e, t, s) {
826
- for (const [n, i] of Object.entries(t)) {
827
- const g = n.split("::");
833
+ for (const [o, i] of Object.entries(t)) {
834
+ const g = o.split("::");
828
835
  if (g.length !== 2) {
829
- this.debug && console.warn(`[FuncSpan ConfigLoader] Invalid function pattern '${n}' (expected format: 'file.ts::functionName')`);
836
+ this.debug && console.warn(`[FuncSpan ConfigLoader] Invalid function pattern '${o}' (expected format: 'file.ts::functionName')`);
830
837
  continue;
831
838
  }
832
- const [r, c] = g, a = G.normalize(G.join(e, r));
839
+ const [r, c] = g, a = S.normalize(S.join(e, r));
833
840
  this.functionConfigs.has(a) || this.functionConfigs.set(a, /* @__PURE__ */ new Map());
834
841
  const l = this.functionConfigs.get(a), I = R(s, i);
835
842
  l.set(c, I), this.debug && console.log(`[FuncSpan ConfigLoader] Function config: ${a}::${c}`);
@@ -838,245 +845,281 @@ class Le {
838
845
  async _resolveInheritance() {
839
846
  }
840
847
  _getDirectoryConfig(e) {
841
- let t = G.dirname(G.normalize(e));
848
+ let t = S.dirname(S.normalize(e));
842
849
  const s = [];
843
- for (; t && t !== G.dirname(t); ) {
844
- const n = this.directoryConfigs.get(t);
845
- n && s.unshift(n), t = G.dirname(t);
850
+ for (; t && t !== S.dirname(t); ) {
851
+ const o = this.directoryConfigs.get(t);
852
+ o && s.unshift(o), t = S.dirname(t);
846
853
  }
847
- return s.reduce((n, i) => R(n, i), {});
854
+ return s.reduce((o, i) => R(o, i), {});
848
855
  }
849
856
  }
850
857
  let H = null;
851
- async function De(o, e) {
852
- H = new Le(o, e), await H.loadAllConfigs();
858
+ async function xe(n, e) {
859
+ H = new Pe(n, e), await H.loadAllConfigs();
853
860
  }
854
- function xe(o, e) {
855
- return H ? H.getConfig(o, e) : (process.env.SF_DEBUG === "true" && console.log("[FuncSpan ConfigLoader] Config loader not initialized, using env config for worker process"), ue());
861
+ function Oe(n, e) {
862
+ return H ? H.getConfig(n, e) : (process.env.SF_DEBUG === "true" && console.log("[FuncSpan ConfigLoader] Config loader not initialized, using env config for worker process"), me());
856
863
  }
857
- function Pe() {
864
+ function je() {
858
865
  return H !== null;
859
866
  }
860
- const Oe = ["readFile", "writeFile", "appendFile", "readdir", "stat", "lstat", "fstat", "access", "open", "close", "read", "write", "chmod", "mkdir", "rmdir", "unlink", "rename"], ie = ["lookup", "resolve", "resolve4", "resolve6", "resolveAny", "resolveMx", "resolveNs", "resolveTxt", "reverse"], je = ["pbkdf2", "randomBytes", "scrypt", "generateKeyPair"], Me = ["gzip", "gunzip", "deflate", "inflate", "deflateRaw", "inflateRaw", "brotliCompress", "brotliDecompress"];
861
- let re = !1, ae = !1;
862
- function Qe() {
863
- if (!ae) try {
864
- const o = require("node:dns");
865
- if (o.__sf_worker_pool_patched__) return;
866
- Object.defineProperty(o, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
867
- for (const e of ie) if (typeof o[e] == "function") {
868
- const t = o[e];
869
- o[e] = function(...s) {
870
- const n = s[0];
871
- return typeof n == "string" && (n === "localhost" || n === "127.0.0.1") ? t.apply(this, s) : typeof s[s.length - 1] == "function" ? _("dns", e, t, s, this) : t.apply(this, s);
872
- }, Object.defineProperty(o[e], "name", { value: e, writable: !1 });
867
+ const Me = ["readFile", "writeFile", "appendFile", "readdir", "stat", "lstat", "fstat", "access", "open", "close", "read", "write", "chmod", "mkdir", "rmdir", "unlink", "rename"], ae = ["lookup", "resolve", "resolve4", "resolve6", "resolveAny", "resolveMx", "resolveNs", "resolveTxt", "reverse"], Qe = ["pbkdf2", "randomBytes", "scrypt", "generateKeyPair"], qe = ["gzip", "gunzip", "deflate", "inflate", "deflateRaw", "inflateRaw", "brotliCompress", "brotliDecompress"];
868
+ let ce = !1;
869
+ function et(n) {
870
+ if (typeof n != "string") return !1;
871
+ const e = process.env.SF_FUNCSPAN_JSONL_FILE;
872
+ if (e && n.includes(e)) return !0;
873
+ const t = process.env.SF_WORKER_POOL_JSONL_FILE;
874
+ return !(!t || !n.includes(t));
875
+ }
876
+ let ge = !1;
877
+ function le(n) {
878
+ if (typeof n != "string") return !1;
879
+ if (n === "localhost" || n === "127.0.0.1" || n === "::1") return !0;
880
+ try {
881
+ const e = process.env.API_GRAPHQL_ENDPOINT;
882
+ if (e && n === new URL(e).hostname)
883
+ return !0;
884
+ } catch {
885
+ }
886
+ return !1;
887
+ }
888
+ function tt() {
889
+ if (!ge) try {
890
+ let n;
891
+ if (typeof require > "u") return void (process.env.SF_DEBUG === "true" && console.log("[WorkerPool] Skipping dns patching in pure ESM environment (require unavailable)"));
892
+ try {
893
+ n = require("node:dns");
894
+ } catch (e) {
895
+ return void (process.env.SF_DEBUG === "true" && console.log("[WorkerPool] Failed to require dns module:", e));
896
+ }
897
+ if (n.__sf_worker_pool_patched__) return;
898
+ Object.defineProperty(n, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
899
+ for (const e of ae) if (typeof n[e] == "function") {
900
+ const t = n[e];
901
+ n[e] = function(...s) {
902
+ return le(s[0]) ? t.apply(this, s) : typeof s[s.length - 1] == "function" ? _("dns", e, t, s, this) : t.apply(this, s);
903
+ }, Object.defineProperty(n[e], "name", { value: e, writable: !1 });
873
904
  }
874
905
  (function(e) {
875
906
  if (!e.promises) return void (process.env.SF_DEBUG === "true" && console.log("[WorkerPool] dns.promises not available, skipping"));
876
907
  if (!e.promises.__sf_worker_pool_patched__) {
877
908
  Object.defineProperty(e.promises, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
878
- for (const t of ie) if (typeof e.promises[t] == "function") {
909
+ for (const t of ae) if (typeof e.promises[t] == "function") {
879
910
  const s = e.promises[t];
880
- e.promises[t] = function(...n) {
881
- const i = n[0];
882
- return typeof i != "string" || i !== "localhost" && i !== "127.0.0.1" ? Be("dns", t, s, n, this) : s.apply(this, n);
911
+ e.promises[t] = function(...o) {
912
+ return le(o[0]) ? s.apply(this, o) : We("dns", t, s, o, this);
883
913
  }, Object.defineProperty(e.promises[t], "name", { value: t, writable: !1 });
884
914
  }
885
915
  process.env.SF_DEBUG === "true" && console.log("[WorkerPool] dns.promises module patched successfully");
886
916
  }
887
- })(o), ae = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] dns module patched successfully");
888
- } catch (o) {
889
- console.error("[WorkerPool] Error patching dns module:", o);
917
+ })(n), ge = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] dns module patched successfully");
918
+ } catch (n) {
919
+ console.error("[WorkerPool] Error patching dns module:", n);
890
920
  }
891
921
  }
892
- let ce = !1, ge = !1, M = !1;
893
- function qe() {
894
- if (M) return;
895
- const o = process.env.SF_DEBUG === "true";
896
- o && console.log("[WorkerPool] Initializing worker pool patching..."), X("fs") && (o && console.log("[WorkerPool] Patching fs module..."), (function() {
897
- if (!re) try {
922
+ let de = !1, Ie = !1, Q = !1;
923
+ function nt() {
924
+ if (Q) return;
925
+ const n = process.env.SF_DEBUG === "true";
926
+ n && console.log("[WorkerPool] Initializing worker pool patching..."), X("fs") && (n && console.log("[WorkerPool] Patching fs module..."), (function() {
927
+ if (!ce) try {
898
928
  const e = require("node:fs");
899
929
  if (e.__sf_worker_pool_patched__) return;
900
930
  Object.defineProperty(e, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
901
- for (const t of Oe) if (typeof e[t] == "function") {
931
+ for (const t of Me) if (typeof e[t] == "function") {
902
932
  const s = e[t];
903
- e[t] = function(...n) {
904
- return typeof n[n.length - 1] == "function" ? _("fs", t, s, n, this) : s.apply(this, n);
933
+ e[t] = function(...o) {
934
+ return et(o[0]) ? s.apply(this, o) : typeof o[o.length - 1] == "function" ? _("fs", t, s, o, this) : s.apply(this, o);
905
935
  }, Object.defineProperty(e[t], "name", { value: t, writable: !1 });
906
936
  }
907
- re = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] fs module patched successfully");
937
+ ce = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] fs module patched successfully");
908
938
  } catch (e) {
909
939
  console.error("[WorkerPool] Error patching fs module:", e);
910
940
  }
911
- })()), X("dns") && (o && console.log("[WorkerPool] Patching dns module..."), Qe()), X("crypto") && (o && console.log("[WorkerPool] Patching crypto module..."), (function() {
912
- if (!ce) try {
941
+ })()), X("dns") && (n && console.log("[WorkerPool] Patching dns module..."), tt()), X("crypto") && (n && console.log("[WorkerPool] Patching crypto module..."), (function() {
942
+ if (!de) try {
913
943
  const e = require("node:crypto");
914
944
  if (e.__sf_worker_pool_patched__) return;
915
945
  Object.defineProperty(e, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
916
- for (const t of je) if (typeof e[t] == "function") {
946
+ for (const t of Qe) if (typeof e[t] == "function") {
917
947
  const s = e[t];
918
- e[t] = function(...n) {
919
- return typeof n[n.length - 1] == "function" ? _("crypto", t, s, n, this) : s.apply(this, n);
948
+ e[t] = function(...o) {
949
+ return typeof o[o.length - 1] == "function" ? _("crypto", t, s, o, this) : s.apply(this, o);
920
950
  }, Object.defineProperty(e[t], "name", { value: t, writable: !1 });
921
951
  }
922
- ce = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] crypto module patched successfully");
952
+ de = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] crypto module patched successfully");
923
953
  } catch (e) {
924
954
  console.error("[WorkerPool] Error patching crypto module:", e);
925
955
  }
926
- })()), X("zlib") && (o && console.log("[WorkerPool] Patching zlib module..."), (function() {
927
- if (!ge) try {
956
+ })()), X("zlib") && (n && console.log("[WorkerPool] Patching zlib module..."), (function() {
957
+ if (!Ie) try {
928
958
  const e = require("node:zlib");
929
959
  if (e.__sf_worker_pool_patched__) return;
930
960
  Object.defineProperty(e, "__sf_worker_pool_patched__", { value: !0, enumerable: !1, writable: !1, configurable: !1 });
931
- for (const t of Me) if (typeof e[t] == "function") {
961
+ for (const t of qe) if (typeof e[t] == "function") {
932
962
  const s = e[t];
933
- e[t] = function(...n) {
934
- return typeof n[n.length - 1] == "function" ? _("zlib", t, s, n, this) : s.apply(this, n);
963
+ e[t] = function(...o) {
964
+ return typeof o[o.length - 1] == "function" ? _("zlib", t, s, o, this) : s.apply(this, o);
935
965
  }, Object.defineProperty(e[t], "name", { value: t, writable: !1 });
936
966
  }
937
- ge = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] zlib module patched successfully");
967
+ Ie = !0, process.env.SF_DEBUG === "true" && console.log("[WorkerPool] zlib module patched successfully");
938
968
  } catch (e) {
939
969
  console.error("[WorkerPool] Error patching zlib module:", e);
940
970
  }
941
- })()), M = !0, o && console.log("[WorkerPool] Worker pool patching initialized");
971
+ })()), Q = !0, n && console.log("[WorkerPool] Worker pool patching initialized");
942
972
  }
943
- function et() {
944
- return M;
973
+ function ot() {
974
+ return Q;
945
975
  }
946
- function ct(o) {
947
- if (!o || !o.apiKey) {
948
- const n = `The required API Key is not provided: ${JSON.stringify(o)}`;
949
- console.error(n);
950
- }
951
- const { config: e } = We(o);
952
- if (e.sfDebug && console.log("Updated configuration after applying options:", e), !e.apiKey || !e.apiGraphqlEndpoint) {
953
- const n = `The required config is not provided: ${JSON.stringify(e)}`;
954
- throw console.error(n), new Error(n);
955
- }
956
- Pe() || De(void 0, e.sfDebug).catch((n) => {
957
- e.sfDebug && console.error("[FuncSpan] Failed to initialize config loader:", n);
958
- }), et() || (qe(), e.sfDebug && console.log("[setupInterceptors] Worker pool patching initialized (DNS tracking enabled)"));
959
- const t = new Q();
960
- t.setServiceUUID(e.serviceUUID), (function(n) {
961
- function i(I, p) {
962
- n.setOperationName("CollectLogs"), n.doSend([p, I]);
976
+ let q = !1, j = !1;
977
+ function dt(n) {
978
+ if (j) console.warn("[setupInterceptors] ⚠️ Recursive call detected and blocked!");
979
+ else if (!q) {
980
+ j = !0;
981
+ try {
982
+ if (!n || !n.apiKey) {
983
+ const o = `The required API Key is not provided: ${JSON.stringify(n)}`;
984
+ console.error(o);
985
+ }
986
+ const { config: e } = Ne(n);
987
+ if (e.sfDebug && console.log("Updated configuration after applying options:", e), !e.apiKey || !e.apiGraphqlEndpoint) {
988
+ const o = `The required config is not provided: ${JSON.stringify(e)}`;
989
+ throw console.error(o), new Error(o);
990
+ }
991
+ je() || xe(void 0, e.sfDebug).catch((o) => {
992
+ e.sfDebug && console.error("[FuncSpan] Failed to initialize config loader:", o);
993
+ }), process.env.SF_WORKER_POOL_DISABLED === "true" ? e.sfDebug && console.log("[setupInterceptors] Worker pool patching DISABLED (SF_WORKER_POOL_DISABLED=true)") : ot() || (nt(), e.sfDebug && console.log("[setupInterceptors] Worker pool patching initialized (DNS tracking enabled)"));
994
+ const t = new ee();
995
+ t.setServiceUUID(e.serviceUUID), (function(o) {
996
+ function i(I, p) {
997
+ o.setOperationName("CollectLogs"), o.doSend([p, I]);
998
+ }
999
+ const g = console.log.bind(console), r = console.error.bind(console), c = console.warn.bind(console), a = console.info.bind(console), l = console.debug.bind(console);
1000
+ console.log = (...I) => {
1001
+ i("INFO", I.join(" ")), g(...I);
1002
+ }, console.error = (...I) => {
1003
+ i("ERROR", I.join(" ")), r(...I);
1004
+ }, console.warn = (...I) => {
1005
+ i("WARN", I.join(" ")), c(...I);
1006
+ }, console.info = (...I) => {
1007
+ i("INFO", I.join(" ")), a(...I);
1008
+ }, d().logLevel === "DEBUG" && (console.debug = (...I) => {
1009
+ i("DEBUG", I.join(" ")), l(...I);
1010
+ });
1011
+ })(t), (function(o = []) {
1012
+ const i = new Le(o);
1013
+ new Ee().doSend(i.getExcludedDomains());
1014
+ const g = new Te(), r = new $e();
1015
+ i.patchFetch(g, r), i.patchHttp(g, r);
1016
+ })(e.domainsToNotPropagateHeadersTo);
1017
+ const s = new ke();
1018
+ s.setServiceUUID(e.serviceUUID), Je(s), Ue(), new De().send(), q = !0, e.sfDebug && console.log("[setupInterceptors] ✅ Initialization complete");
1019
+ } finally {
1020
+ j = !1;
963
1021
  }
964
- const g = console.log.bind(console), r = console.error.bind(console), c = console.warn.bind(console), a = console.info.bind(console), l = console.debug.bind(console);
965
- console.log = (...I) => {
966
- i("INFO", I.join(" ")), g(...I);
967
- }, console.error = (...I) => {
968
- i("ERROR", I.join(" ")), r(...I);
969
- }, console.warn = (...I) => {
970
- i("WARN", I.join(" ")), c(...I);
971
- }, console.info = (...I) => {
972
- i("INFO", I.join(" ")), a(...I);
973
- }, d().logLevel === "DEBUG" && (console.debug = (...I) => {
974
- i("DEBUG", I.join(" ")), l(...I);
975
- });
976
- })(t), (function(n = []) {
977
- const i = new $e(n);
978
- new ke().doSend(i.getExcludedDomains());
979
- const g = new Ue(), r = new Te();
980
- i.patchFetch(g, r), i.patchHttp(g, r);
981
- })(e.domainsToNotPropagateHeadersTo);
982
- const s = new Ke();
983
- s.setServiceUUID(e.serviceUUID), Re(s), ze(), new Ee().send();
1022
+ }
1023
+ }
1024
+ function It() {
1025
+ return q;
984
1026
  }
985
- function gt(o, e, t, s = !1) {
986
- const n = d();
987
- new he(n.apiKey).identify(o, e, t, s);
1027
+ function ut(n, e, t, s = !1) {
1028
+ const o = d();
1029
+ new fe(o.apiKey).identify(n, e, t, s);
988
1030
  }
989
- function lt(o, e = {}, t, s = !1) {
990
- const n = d();
991
- new he(n.apiKey).addOrUpdateMetadata(o, e, t, s);
1031
+ function pt(n, e = {}, t, s = !1) {
1032
+ const o = d();
1033
+ new fe(o.apiKey).addOrUpdateMetadata(n, e, t, s);
992
1034
  }
993
- let j = null;
994
- function dt(o, e, t, s) {
995
- const n = function(...i) {
996
- const g = Ce(), r = g?.sfDebug || !1;
1035
+ let M = null;
1036
+ function Ct(n, e, t, s) {
1037
+ const o = function(...i) {
1038
+ const g = he(), r = g?.sfDebug || !1;
997
1039
  r && console.log(`[FuncSpan] captureFunctionSpan wrapper called for ${t}::${e}`);
998
1040
  const c = (function(m, h) {
999
- const Z = le();
1041
+ const Z = ue();
1000
1042
  if (Z) {
1001
- const b = de(Z);
1043
+ const b = pe(Z);
1002
1044
  if (b) return process.env.SF_DEBUG === "true" && console.log(`[FuncSpan] Using HTTP header override for ${m}::${h}`), b;
1003
1045
  }
1004
1046
  try {
1005
- return xe(m, h);
1047
+ return Oe(m, h);
1006
1048
  } catch {
1007
1049
  return { sample_rate: process.env.SF_FUNCSPAN_SAMPLE_RATE ? parseFloat(process.env.SF_FUNCSPAN_SAMPLE_RATE) : 1, capture_arguments: !0, capture_return_value: !0, arg_limit_mb: 1, return_limit_mb: 1, enable_sampling: !1, autocapture_all_child_functions: !1, capture_sf_veritas: !1, parse_json_strings: !1 };
1008
1050
  }
1009
1051
  })(t, e);
1010
- if (r && console.log(`[FuncSpan] Config for ${t}::${e}:`, c), c.enable_sampling && c.sample_rate < 1 && Math.random() > c.sample_rate) return r && console.log(`[FuncSpan] Skipping ${e} due to sampling`), o.apply(this, i);
1011
- if (c.sample_rate === 0) return r && console.log(`[FuncSpan] Skipping ${e} - sample_rate is 0.0`), o.apply(this, i);
1052
+ if (r && console.log(`[FuncSpan] Config for ${t}::${e}:`, c), c.enable_sampling && c.sample_rate < 1 && Math.random() > c.sample_rate) return r && console.log(`[FuncSpan] Skipping ${e} due to sampling`), n.apply(this, i);
1053
+ if (c.sample_rate === 0) return r && console.log(`[FuncSpan] Skipping ${e} - sample_rate is 0.0`), n.apply(this, i);
1012
1054
  r && console.log(`[FuncSpan] Capturing function span for ${e}`);
1013
- const a = N.getInstance(), l = a.getCurrentFunctionSpanId(), I = Ie();
1055
+ const a = N.getInstance(), l = a.getCurrentFunctionSpanId(), I = Ce();
1014
1056
  a.setCurrentFunctionSpanId(I);
1015
1057
  const p = process.hrtime.bigint(), C = Date.now();
1016
1058
  let u = null;
1017
1059
  c.capture_arguments && (u = {}, s.paramNames.forEach((m, h) => {
1018
1060
  h < i.length && (u[m] = i[h]);
1019
- }), u && c.arg_limit_mb > 0 && (u = E(u, c.arg_limit_mb)));
1061
+ }), u && c.arg_limit_mb > 0 && (u = $(u, c.arg_limit_mb)));
1020
1062
  try {
1021
- const m = o.apply(this, i);
1063
+ const m = n.apply(this, i);
1022
1064
  if (m && typeof m.then == "function") return l ? a.setCurrentFunctionSpanId(l) : a.clearCurrentFunctionSpanId(), m.then((f) => {
1023
- const v = process.hrtime.bigint(), U = Date.now(), T = Number(v - p);
1024
- let q = null;
1025
- return c.capture_return_value && c.return_limit_mb > 0 && (q = E(f, c.return_limit_mb)), K({ functionName: e, filePath: t, metadata: s, args: u, result: q, error: null, duration: U - C, durationNs: T, startTimeNs: p.toString(), async: !0, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), f;
1065
+ const W = process.hrtime.bigint(), U = Date.now(), E = Number(W - p);
1066
+ let te = null;
1067
+ return c.capture_return_value && c.return_limit_mb > 0 && (te = $(f, c.return_limit_mb)), K({ functionName: e, filePath: t, metadata: s, args: u, result: te, error: null, duration: U - C, durationNs: E, startTimeNs: p.toString(), async: !0, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), f;
1026
1068
  }, (f) => {
1027
- const v = process.hrtime.bigint(), U = Date.now(), T = Number(v - p);
1028
- throw K({ functionName: e, filePath: t, metadata: s, args: u, result: null, error: f?.message || String(f), duration: U - C, durationNs: T, startTimeNs: p.toString(), async: !0, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), f;
1069
+ const W = process.hrtime.bigint(), U = Date.now(), E = Number(W - p);
1070
+ throw K({ functionName: e, filePath: t, metadata: s, args: u, result: null, error: f?.message || String(f), duration: U - C, durationNs: E, startTimeNs: p.toString(), async: !0, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), f;
1029
1071
  });
1030
1072
  const h = process.hrtime.bigint(), Z = Date.now(), b = Number(h - p);
1031
1073
  let y = null;
1032
- return c.capture_return_value && c.return_limit_mb > 0 && (y = E(m, c.return_limit_mb)), K({ functionName: e, filePath: t, metadata: s, args: u, result: y, error: null, duration: Z - C, durationNs: b, startTimeNs: p.toString(), async: !1, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), l ? a.setCurrentFunctionSpanId(l) : a.clearCurrentFunctionSpanId(), m;
1074
+ return c.capture_return_value && c.return_limit_mb > 0 && (y = $(m, c.return_limit_mb)), K({ functionName: e, filePath: t, metadata: s, args: u, result: y, error: null, duration: Z - C, durationNs: b, startTimeNs: p.toString(), async: !1, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), l ? a.setCurrentFunctionSpanId(l) : a.clearCurrentFunctionSpanId(), m;
1033
1075
  } catch (m) {
1034
1076
  const h = process.hrtime.bigint(), Z = Date.now(), b = Number(h - p);
1035
1077
  throw K({ functionName: e, filePath: t, metadata: s, args: u, result: null, error: m?.message || String(m), duration: Z - C, durationNs: b, startTimeNs: p.toString(), async: !1, spanId: I, parentSpanId: l, pid: process.pid, threadId: J }), l ? a.setCurrentFunctionSpanId(l) : a.clearCurrentFunctionSpanId(), m;
1036
1078
  }
1037
1079
  };
1038
- Object.defineProperty(n, "name", { value: e, writable: !1 });
1039
- for (const i in o) o.hasOwnProperty(i) && (n[i] = o[i]);
1040
- return n;
1080
+ Object.defineProperty(o, "name", { value: e, writable: !1 });
1081
+ for (const i in n) n.hasOwnProperty(i) && (o[i] = n[i]);
1082
+ return o;
1041
1083
  }
1042
- function K(o) {
1043
- const e = Ce(), t = e?.sfDebug || !1;
1044
- t && console.log("[FuncSpan] captureSpanData called for:", { function: o.functionName, file: o.filePath, duration: `${o.duration}ms`, async: o.async, error: o.error, spanId: o.spanId });
1045
- const s = { functionName: o.functionName, filePath: o.filePath, metadata: o.metadata, args: o.args, result: o.result, error: o.error, duration: o.duration, durationNs: o.durationNs, async: o.async, spanId: o.spanId, parentSpanId: o.parentSpanId };
1084
+ function K(n) {
1085
+ const e = he(), t = e?.sfDebug || !1;
1086
+ t && console.log("[FuncSpan] captureSpanData called for:", { function: n.functionName, file: n.filePath, duration: `${n.duration}ms`, async: n.async, error: n.error, spanId: n.spanId });
1087
+ const s = { functionName: n.functionName, filePath: n.filePath, metadata: n.metadata, args: n.args, result: n.result, error: n.error, duration: n.duration, durationNs: n.durationNs, async: n.async, spanId: n.spanId, parentSpanId: n.parentSpanId };
1046
1088
  process.env.SF_FUNCSPAN_CONSOLE_OUTPUT === "true" && console.log(`
1047
- 📊 Function Span:`, { function: `${o.functionName} (${o.filePath}:${o.metadata.line}:${o.metadata.column})`, duration: `${o.duration.toFixed(2)}ms`, arguments: o.args, result: o.error ? `Error: ${o.error}` : o.result, spanId: o.spanId, parentSpanId: o.parentSpanId || "none" });
1048
- const n = process.env.SF_FUNCSPAN_JSONL_FILE;
1049
- if (n) try {
1050
- const i = n === "true" || n === "1" ? "funcspans.jsonl" : n, g = Date.now(), r = process.hrtime.bigint(), c = BigInt(o.startTimeNs), a = Number(r - c) / 1e6, l = new Date(g - a).toISOString(), I = JSON.stringify({ timestamp: l, functionName: o.functionName, filePath: o.filePath, line: o.metadata.line, column: o.metadata.column, duration: o.duration, durationNs: o.durationNs, startTimeNs: o.startTimeNs, arguments: o.args, returnValue: o.error ? { error: String(o.error) } : o.result, spanId: o.spanId, parentSpanId: o.parentSpanId, async: o.async, pid: o.pid, threadId: o.threadId }) + `
1089
+ 📊 Function Span:`, { function: `${n.functionName} (${n.filePath}:${n.metadata.line}:${n.metadata.column})`, duration: `${n.duration.toFixed(2)}ms`, arguments: n.args, result: n.error ? `Error: ${n.error}` : n.result, spanId: n.spanId, parentSpanId: n.parentSpanId || "none" });
1090
+ const o = process.env.SF_FUNCSPAN_JSONL_FILE;
1091
+ if (o) try {
1092
+ const i = o === "true" || o === "1" ? "funcspans.jsonl" : o, g = Date.now(), r = process.hrtime.bigint(), c = BigInt(n.startTimeNs), a = Number(r - c) / 1e6, l = new Date(g - a).toISOString(), I = JSON.stringify({ timestamp: l, functionName: n.functionName, filePath: n.filePath, line: n.metadata.line, column: n.metadata.column, duration: n.duration, durationNs: n.durationNs, startTimeNs: n.startTimeNs, arguments: n.args, returnValue: n.error ? { error: String(n.error) } : n.result, spanId: n.spanId, parentSpanId: n.parentSpanId, async: n.async, pid: n.pid, threadId: n.threadId }) + `
1051
1093
  `;
1052
- Ne(i, I, "utf-8");
1094
+ we(i, I, "utf-8");
1053
1095
  } catch (i) {
1054
1096
  console.error("[FuncSpan] Error writing to JSONL file:", i);
1055
1097
  }
1056
1098
  if (t && console.log("[FuncSpan] Sending function span to transmitter:", s), process.env.SF_FUNCSPAN_SKIP_BACKEND !== "true") try {
1057
- (j || (j = new ve()), j).send([s]), t && console.log("[FuncSpan] Function span sent successfully");
1099
+ (M || (M = new Fe()), M).send([s]), t && console.log("[FuncSpan] Function span sent successfully");
1058
1100
  } catch (i) {
1059
1101
  t && console.error("[FuncSpan] Error sending function span:", i);
1060
1102
  }
1061
1103
  }
1062
1104
  export {
1063
1105
  N as ContextManager,
1064
- lt as addOrUpdateMetadata,
1065
- dt as captureFunctionSpan,
1066
- Ze as clearFuncspanOverride,
1067
- $ as getCurrentFunctionSpanId,
1068
- Se as getDefaultConfig,
1069
- ue as getEnvConfig,
1070
- le as getFuncspanOverride,
1071
- xe as getGlobalConfig,
1072
- gt as identify,
1073
- De as initializeConfigLoader,
1074
- qe as initializeWorkerPoolPatching,
1075
- Pe as isConfigLoaderInitialized,
1076
- et as isWorkerPoolInitialized,
1077
- de as parseHeaderOverride,
1078
- Ct as runWithContext,
1079
- ye as setFuncspanOverride,
1080
- ct as setupInterceptors,
1081
- mt as transformFunctionSpans
1106
+ pt as addOrUpdateMetadata,
1107
+ Ct as captureFunctionSpan,
1108
+ bt as clearFuncspanOverride,
1109
+ T as getCurrentFunctionSpanId,
1110
+ ve as getDefaultConfig,
1111
+ me as getEnvConfig,
1112
+ ue as getFuncspanOverride,
1113
+ Oe as getGlobalConfig,
1114
+ ut as identify,
1115
+ xe as initializeConfigLoader,
1116
+ nt as initializeWorkerPoolPatching,
1117
+ je as isConfigLoaderInitialized,
1118
+ It as isSetupInterceptorsInitialized,
1119
+ ot as isWorkerPoolInitialized,
1120
+ pe as parseHeaderOverride,
1121
+ At as runWithContext,
1122
+ ft as setFuncspanOverride,
1123
+ dt as setupInterceptors,
1124
+ Zt as transformFunctionSpans
1082
1125
  };