1!function() { 2 try { 3 var t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, e = (new Error).stack; 4 e && (t._sentryDebugIds = t._sentryDebugIds || {}, t._sentryDebugIds[e] = "6016a6bc-e9c7-4e6b-a347-fe1896b78e11", 5 t._sentryDebugIdIdentifier = "sentry-dbid-6016a6bc-e9c7-4e6b-a347-fe1896b78e11"); 6 } catch (t) {} 7}(); 8 9var _global = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}; 10 11_global.SENTRY_RELEASE = { 12 id: "[email protected]" 13}, (window.webpackJsonp = window.webpackJsonp || []).push([ [ 163 ], { 14 119: function(t, e, n) { 15 "use strict"; 16 n.d(e, "a", function() { 17 return O; 18 }), n.d(e, "b", function() { 19 return g; 20 }), n.d(e, "c", function() { 21 return y; 22 }), n.d(e, "d", function() { 23 return f; 24 }), n.d(e, "e", function() { 25 return _; 26 }), n.d(e, "f", function() { 27 return m; 28 }), n.d(e, "g", function() { 29 return b; 30 }), n.d(e, "h", function() { 31 return l; 32 }); 33 var s = n(353), a = n(17), i = n(44), r = n(19), c = n(36), o = n(43), u = n(101), d = n(32), h = n(190), p = n(169); 34 function l(t, e, n = () => {}, s = () => {}) { 35 const a = Object(c.c)(), i = Object(d.l)(), r = i.getSpan(), o = j(t), u = v(a, { 36 parentSpan: r, 37 spanContext: o, 38 forceTransaction: !1, 39 scope: i 40 }); 41 return i.setSpan(u), Object(h.a)(() => e(u), t => { 42 u && u.setStatus("internal_error"), n(t, u); 43 }, () => { 44 u && u.end(), i.setSpan(r), s(); 45 }); 46 } 47 function m(t, e) { 48 const n = j(t); 49 return Object(c.h)(() => Object(d.z)(t.scope, s => { 50 const a = Object(c.c)(), i = s.getSpan(), r = t.onlyIfParent && !i ? void 0 : v(a, { 51 parentSpan: i, 52 spanContext: n, 53 forceTransaction: t.forceTransaction, 54 scope: s 55 }); 56 return Object(h.a)(() => e(r), () => { 57 if (r) { 58 const {status: t} = Object(o.e)(r); 59 t && "ok" !== t || r.setStatus("internal_error"); 60 } 61 }, () => r && r.end()); 62 })); 63 } 64 const f = m; 65 function b(t, e) { 66 const n = j(t); 67 return Object(c.h)(() => Object(d.z)(t.scope, s => { 68 const a = Object(c.c)(), i = s.getSpan(), r = t.onlyIfParent && !i ? void 0 : v(a, { 69 parentSpan: i, 70 spanContext: n, 71 forceTransaction: t.forceTransaction, 72 scope: s 73 }); 74 function u() { 75 r && r.end(); 76 } 77 return Object(h.a)(() => e(r, u), () => { 78 if (r && r.isRecording()) { 79 const {status: t} = Object(o.e)(r); 80 t && "ok" !== t || r.setStatus("internal_error"); 81 } 82 }); 83 })); 84 } 85 function _(t) { 86 if (!Object(p.a)()) return; 87 const e = j(t), n = Object(c.c)(), s = t.scope ? t.scope.getSpan() : g(); 88 if (t.onlyIfParent && !s) return; 89 const a = (t.scope || Object(d.l)()).clone(); 90 return v(n, { 91 parentSpan: s, 92 spanContext: e, 93 forceTransaction: t.forceTransaction, 94 scope: a 95 }); 96 } 97 function g() { 98 return Object(d.l)().getSpan(); 99 } 100 const O = ({sentryTrace: t, baggage: e}, n) => { 101 const o = Object(d.l)(), {traceparentData: u, dynamicSamplingContext: h, propagationContext: p} = Object(s.c)(t, e); 102 o.setPropagationContext(p), r.a && u && a.c.log(`[Tracing] Continuing trace ${u.traceId}.`); 103 const l = { 104 ...u, 105 metadata: Object(i.c)({ 106 dynamicSamplingContext: h 107 }) 108 }; 109 return n ? Object(c.h)(() => n(l)) : l; 110 }; 111 function v(t, {parentSpan: e, spanContext: n, forceTransaction: s, scope: a}) { 112 if (!Object(p.a)()) return; 113 const r = Object(c.e)(); 114 let d; 115 if (e && !s) d = e.startChild(n); else if (e) { 116 const s = Object(u.b)(e), {traceId: a, spanId: i} = e.spanContext(), r = Object(o.c)(e); 117 d = t.startTransaction({ 118 traceId: a, 119 parentSpanId: i, 120 parentSampled: r, 121 ...n, 122 metadata: { 123 dynamicSamplingContext: s, 124 ...n.metadata 125 } 126 }); 127 } else { 128 const {traceId: e, dsc: s, parentSpanId: i, sampled: c} = { 129 ...r.getPropagationContext(), 130 ...a.getPropagationContext() 131 }; 132 d = t.startTransaction({ 133 traceId: e, 134 parentSpanId: i, 135 parentSampled: c, 136 ...n, 137 metadata: { 138 dynamicSamplingContext: s, 139 ...n.metadata 140 } 141 }); 142 } 143 return a.setSpan(d), function(t, e, n) { 144 t && (Object(i.a)(t, T, n), Object(i.a)(t, S, e)); 145 }(d, a, r), d; 146 } 147 function j(t) { 148 if (t.startTime) { 149 const e = { 150 ...t 151 }; 152 return e.startTimestamp = Object(o.d)(t.startTime), delete e.startTime, e; 153 } 154 return t; 155 } 156 const S = "_sentryScope", T = "_sentryIsolationScope"; 157 function y(t) { 158 return { 159 scope: t[S], 160 isolationScope: t[T] 161 }; 162 } 163 }, 164 128: function(t, e, n) { 165 "use strict"; 166 function s(t) { 167 return t.transaction; 168 } 169 n.d(e, "a", function() { 170 return s; 171 }); 172 }, 173 134: function(t, e, n) { 174 "use strict"; 175 var s; 176 function a(t) { 177 if (t < 400 && t >= 100) return "ok"; 178 if (t >= 400 && t < 500) switch (t) { 179 case 401: 180 return "unauthenticated"; 181 182 case 403: 183 return "permission_denied"; 184 185 case 404: 186 return "not_found"; 187 188 case 409: 189 return "already_exists"; 190 191 case 413: 192 return "failed_precondition"; 193 194 case 429: 195 return "resource_exhausted"; 196 197 default:
198 return "invalid_argument"; 199 } 200 if (t >= 500 && t < 600) switch (t) { 201 case 501: 202 return "unimplemented"; 203 204 case 503: 205 return "unavailable"; 206 207 case 504: 208 return "deadline_exceeded"; 209 210 default: 211 return "internal_error"; 212 } 213 return "unknown_error"; 214 } 215 n.d(e, "a", function() { 216 return s; 217 }), n.d(e, "b", function() { 218 return a; 219 }), n.d(e, "c", function() { 220 return r; 221 }), n.d(e, "d", function() { 222 return i; 223 }), function(t) { 224 t.Ok = "ok"; 225 t.DeadlineExceeded = "deadline_exceeded"; 226 t.Unauthenticated = "unauthenticated"; 227 t.PermissionDenied = "permission_denied"; 228 t.NotFound = "not_found"; 229 t.ResourceExhausted = "resource_exhausted"; 230 t.InvalidArgument = "invalid_argument"; 231 t.Unimplemented = "unimplemented"; 232 t.Unavailable = "unavailable"; 233 t.InternalError = "internal_error"; 234 t.UnknownError = "unknown_error"; 235 t.Cancelled = "cancelled"; 236 t.AlreadyExists = "already_exists"; 237 t.FailedPrecondition = "failed_precondition"; 238 t.Aborted = "aborted"; 239 t.OutOfRange = "out_of_range"; 240 t.DataLoss = "data_loss"; 241 }(s || (s = {})); 242 const i = a; 243 function r(t, e) { 244 t.setTag("http.status_code", String(e)), t.setData("http.response.status_code", e); 245 const n = a(e); 246 "unknown_error" !== n && t.setStatus(n); 247 } 248 }, 249 143: function(t, e, n) { 250 "use strict"; 251 n.d(e, "a", function() { 252 return o; 253 }), n.d(e, "b", function() { 254 return u; 255 }); 256 var s = n(44), a = n(45), i = n(101), r = n(128), c = n(43); 257 function o(t, e) { 258 const {fingerprint: n, span: o, breadcrumbs: u, sdkProcessingMetadata: d} = e; 259 !function(t, e) { 260 const {extra: n, tags: a, user: i, contexts: r, level: c, transactionName: o} = e, u = Object(s.c)(n); 261 u && Object.keys(u).length && (t.extra = { 262 ...u, 263 ...t.extra 264 }); 265 const d = Object(s.c)(a); 266 d && Object.keys(d).length && (t.tags = { 267 ...d, 268 ...t.tags 269 }); 270 const h = Object(s.c)(i); 271 h && Object.keys(h).length && (t.user = { 272 ...h, 273 ...t.user 274 }); 275 const p = Object(s.c)(r); 276 p && Object.keys(p).length && (t.contexts = { 277 ...p, 278 ...t.contexts 279 }); 280 c && (t.level = c); 281 o && (t.transaction = o); 282 }(t, e), o && function(t, e) { 283 t.contexts = { 284 trace: Object(c.f)(e), 285 ...t.contexts 286 }; 287 const n = Object(r.a)(e); 288 if (n) { 289 t.sdkProcessingMetadata = { 290 dynamicSamplingContext: Object(i.b)(e), 291 ...t.sdkProcessingMetadata 292 }; 293 const s = Object(c.e)(n).description; 294 s && (t.tags = { 295 transaction: s, 296 ...t.tags 297 }); 298 } 299 }(t, o), function(t, e) { 300 t.fingerprint = t.fingerprint ? Object(a.c)(t.fingerprint) : [], e && (t.fingerprint = t.fingerprint.concat(e)); 301 t.fingerprint && !t.fingerprint.length && delete t.fingerprint; 302 }(t, n), function(t, e) { 303 const n = [ ...t.breadcrumbs || [], ...e ]; 304 t.breadcrumbs = n.length ? n : void 0; 305 }(t, u), function(t, e) { 306 t.sdkProcessingMetadata = { 307 ...t.sdkProcessingMetadata, 308 ...e 309 }; 310 }(t, d); 311 } 312 function u(t, e) {
313 const {extra: n, tags: s, user: a, contexts: i, level: r, sdkProcessingMetadata: c, breadcrumbs: o, fingerprint: u, eventProcessors: h, attachments: p, propagationContext: l, transactionName: m, span: f} = e; 314 d(t, "extra", n), d(t, "tags", s), d(t, "user", a), d(t, "contexts", i), d(t, "sdkProcessingMetadata", c), 315 r && (t.level = r), m && (t.transactionName = m), f && (t.span = f), o.length && (t.breadcrumbs = [ ...t.breadcrumbs, ...o ]), 316 u.length && (t.fingerprint = [ ...t.fingerprint, ...u ]), h.length && (t.eventProcessors = [ ...t.eventProcessors, ...h ]), 317 p.length && (t.attachments = [ ...t.attachments, ...p ]), t.propagationContext = { 318 ...t.propagationContext, 319 ...l 320 }; 321 } 322 function d(t, e, n) { 323 if (n && Object.keys(n).length) { 324 t[e] = { 325 ...t[e] 326 }; 327 for (const s in n) Object.prototype.hasOwnProperty.call(n, s) && (t[e][s] = n[s]); 328 } 329 } 330 }, 331 167: function(t, e, n) { 332 "use strict"; 333 n.d(e, "a", function() { 334 return r; 335 }), n.d(e, "b", function() { 336 return i; 337 }); 338 var s = n(353), a = n(36); 339 function i(t) { 340 return (t || Object(a.c)()).getScope().getTransaction(); 341 } 342 const r = s.a; 343 }, 344 168: function(t, e, n) { 345 "use strict"; 346 n.d(e, "a", function() { 347 return s; 348 }); 349 const s = "7.120.4"; 350 }, 351 169: function(t, e, n) { 352 "use strict"; 353 n.d(e, "a", function() { 354 return a; 355 }); 356 var s = n(32); 357 function a(t) { 358 if ("boolean" == typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1; 359 const e = Object(s.k)(), n = t || e && e.getOptions(); 360 return !!n && (n.enableTracing || "tracesSampleRate" in n || "tracesSampler" in n); 361 } 362 }, 363 170: function(t, e, n) { 364 "use strict"; 365 n.d(e, "a", function() { 366 return m; 367 }), n.d(e, "b", function() { 368 return l; 369 }); 370 var s = n(45), a = n(123), i = n(17), r = n(44), c = n(19), o = n(155), u = n(58), d = n(128), h = n(43), p = n(134); 371 class l { 372 constructor(t = 1e3) { 373 this._maxlen = t, this.spans = []; 374 } 375 add(t) { 376 this.spans.length > this._maxlen ? t.spanRecorder = void 0 : this.spans.push(t); 377 } 378 } 379 class m { 380 constructor(t = {}) { 381 this._traceId = t.traceId || Object(s.f)(), this._spanId = t.spanId || Object(s.f)().substring(16), 382 this._startTime = t.startTimestamp || Object(a.b)(), this.tags = t.tags ? { 383 ...t.tags 384 } : {}, this.data = t.data ? { 385 ...t.data 386 } : {}, this.instrumenter = t.instrumenter || "sentry", this._attributes = {}, this.setAttributes({ 387 [u.c]: t.origin || "manual", 388 [u.b]: t.op, 389 ...t.attributes 390 }), this._name = t.name || t.description, t.parentSpanId && (this._parentSpanId = t.parentSpanId), 391 "sampled" in t && (this._sampled = t.sampled), t.status && (this._status = t.status), 392 t.endTimestamp && (this._endTime = t.endTimestamp), void 0 !== t.exclusiveTime && (this._exclusiveTime = t.exclusiveTime), 393 this._measurements = t.measurements ? { 394 ...t.measurements 395 } : {}; 396 } 397 get name() { 398 return this._name || ""; 399 } 400 set name(t) { 401 this.updateName(t); 402 } 403 get description() { 404 return this._name; 405 } 406 set description(t) { 407 this._name = t; 408 } 409 get traceId() { 410 return this._traceId; 411 } 412 set traceId(t) { 413 this._traceId = t; 414 } 415 get spanId() { 416 return this._spanId; 417 } 418 set spanId(t) { 419 this._spanId = t; 420 } 421 set parentSpanId(t) { 422 this._parentSpanId = t; 423 } 424 get parentSpanId() { 425 return this._parentSpanId; 426 } 427 get sampled() { 428 return this._sampled; 429 } 430 set sampled(t) { 431 this._sampled = t; 432 } 433 get attributes() { 434 return this._attributes; 435 } 436 set attributes(t) { 437 this._attributes = t; 438 } 439 get startTimestamp() { 440 return this._startTime; 441 } 442 set startTimestamp(t) { 443 this._startTime = t; 444 } 445 get endTimestamp() { 446 return this._endTime; 447 } 448 set endTimestamp(t) { 449 this._endTime = t; 450 } 451 get status() { 452 return this._status; 453 } 454 set status(t) { 455 this._status = t; 456 } 457 get op() { 458 return this._attributes[u.b]; 459 } 460 set op(t) { 461 this.setAttribute(u.b, t); 462 } 463 get origin() { 464 return this._attributes[u.c]; 465 } 466 set origin(t) { 467 this.setAttribute(u.c, t); 468 } 469 spanContext() { 470 const {_spanId: t, _traceId: e, _sampled: n} = this; 471 return { 472 spanId: t, 473 traceId: e, 474 traceFlags: n ? h.b : h.a 475 }; 476 } 477 startChild(t) { 478 const e = new m({ 479 ...t, 480 parentSpanId: this._spanId, 481 sampled: this._sampled, 482 traceId: this._traceId 483 }); 484 e.spanRecorder = this.spanRecorder, e.spanRecorder && e.spanRecorder.add(e); 485 const n = Object(d.a)(this); 486 if (e.transaction = n, c.a && n) { 487 const s = `[Tracing] Starting '${t && t.op || "< unknown op >"}' span on transaction '${Object(h.e)(e).description || "< unknown name >"}' (${n.spanContext().spanId}).`; 488 i.c.log(s), this._logMessage = s; 489 } 490 return e; 491 } 492 setTag(t, e) { 493 return this.tags = { 494 ...this.tags, 495 [t]: e 496 }, this; 497 } 498 setData(t, e) { 499 return this.data = { 500 ...this.data, 501 [t]: e 502 }, this; 503 } 504 setAttribute(t, e) { 505 void 0 === e ? delete this._attributes[t] : this._attributes[t] = e; 506 } 507 setAttributes(t) { 508 Object.keys(t).forEach(e => this.setAttribute(e, t[e])); 509 } 510 setStatus(t) { 511 return this._status = t, this; 512 } 513 setHttpStatus(t) { 514 return Object(p.c)(this, t), this; 515 } 516 setName(t) { 517 this.updateName(t); 518 } 519 updateName(t) { 520 return this._name = t, this; 521 } 522 isSuccess() { 523 return "ok" === this._status; 524 } 525 finish(t) { 526 return this.end(t); 527 } 528 end(t) { 529 if (this._endTime) return; 530 const e = Object(d.a)(this); 531 if (c.a && e && e.spanContext().spanId !== this._spanId) { 532 const t = this._logMessage; 533 t && i.c.log(t.replace("Starting", "Finishing")); 534 } 535 this._endTime = Object(h.d)(t); 536 } 537 toTraceparent() { 538 return Object(h.g)(this); 539 } 540 toContext() { 541 return Object(r.c)({ 542 data: this._getData(), 543 description: this._name, 544 endTimestamp: this._endTime, 545 op: this.op, 546 parentSpanId: this._parentSpanId, 547 sampled: this._sampled, 548 spanId: this._spanId, 549 startTimestamp: this._startTime, 550 status: this._status, 551 tags: this.tags, 552 traceId: this._traceId 553 }); 554 } 555 updateWithContext(t) { 556 return this.data = t.data || {}, this._name = t.name || t.description, this._endTime = t.endTimestamp, 557 this.op = t.op, this._parentSpanId = t.parentSpanId, this._sampled = t.sampled, 558 this._spanId = t.spanId || this._spanId, this._startTime = t.startTimestamp || this._startTime, 559 this._status = t.status, this.tags = t.tags || {}, this._traceId = t.traceId || this._traceId, 560 this; 561 } 562 getTraceContext() { 563 return Object(h.f)(this); 564 } 565 getSpanJSON() { 566 return Object(r.c)({ 567 data: this._getData(), 568 description: this._name, 569 op: this._attributes[u.b], 570 parent_span_id: this._parentSpanId, 571 span_id: this._spanId, 572 start_timestamp: this._startTime, 573 status: this._status, 574 tags: Object.keys(this.tags).length > 0 ? this.tags : void 0, 575 timestamp: this._endTime, 576 trace_id: this._traceId, 577 origin: this._attributes[u.c], 578 _metrics_summary: Object(o.a)(this), 579 profile_id: this._attributes[u.a], 580 exclusive_time: this._exclusiveTime, 581 measurements: Object.keys(this._measurements).length > 0 ? this._measurements : void 0 582 }); 583 } 584 isRecording() { 585 return !this._endTime && !!this._sampled; 586 } 587 toJSON() {
588 return this.getSpanJSON(); 589 } 590 _getData() { 591 const {data: t, _attributes: e} = this, n = Object.keys(t).length > 0, s = Object.keys(e).length > 0; 592 if (n || s) return n && s ? { 593 ...t, 594 ...e 595 } : n ? t : e; 596 } 597 } 598 }, 599 186: function(t, e, n) { 600 "use strict"; 601 n.d(e, "a", function() { 602 return f; 603 }), n.d(e, "b", function() { 604 return l; 605 }); 606 var s = n(45), a = n(123), i = n(83), r = n(40), c = n(122), o = n(135), u = n(126), d = n(127), h = n(143), p = n(43); 607 function l(t, e, n, l, f, b) { 608 const {normalizeDepth: _ = 3, normalizeMaxBreadth: g = 1e3} = t, O = { 609 ...e, 610 event_id: e.event_id || n.event_id || Object(s.f)(), 611 timestamp: e.timestamp || Object(a.a)() 612 }, v = n.integrations || t.integrations.map(t => t.name); 613 !function(t, e) { 614 const {environment: n, release: s, dist: a, maxValueLength: r = 250} = e; 615 "environment" in t || (t.environment = "environment" in e ? n : o.a); 616 void 0 === t.release && void 0 !== s && (t.release = s); 617 void 0 === t.dist && void 0 !== a && (t.dist = a); 618 t.message && (t.message = Object(i.d)(t.message, r)); 619 const c = t.exception && t.exception.values && t.exception.values[0]; 620 c && c.value && (c.value = Object(i.d)(c.value, r)); 621 const u = t.request; 622 u && u.url && (u.url = Object(i.d)(u.url, r)); 623 }(O, t), function(t, e) { 624 e.length > 0 && (t.sdk = t.sdk || {}, t.sdk.integrations = [ ...t.sdk.integrations || [], ...e ]); 625 }(O, v), void 0 === e.type && function(t, e) { 626 const n = r.a._sentryDebugIds; 627 if (!n) return; 628 let s; 629 const a = m.get(e); 630 a ? s = a : (s = new Map, m.set(e, s)); 631 const i = Object.keys(n).reduce((t, a) => { 632 let i; 633 const r = s.get(a); 634 r ? i = r : (i = e(a), s.set(a, i)); 635 for (let e = i.length - 1; e >= 0; e--) { 636 const s = i[e]; 637 if (s.filename) { 638 t[s.filename] = n[a]; 639 break; 640 } 641 } 642 return t; 643 }, {}); 644 try { 645 t.exception.values.forEach(t => { 646 t.stacktrace.frames.forEach(t => { 647 t.filename && (t.debug_id = i[t.filename]); 648 }); 649 }); 650 } catch (t) {} 651 }(O, t.stackParser); 652 const j = function(t, e) { 653 if (!e) return t; 654 const n = t ? t.clone() : new d.a; 655 return n.update(e), n; 656 }(l, n.captureContext); 657 n.mechanism && Object(s.a)(O, n.mechanism); 658 const S = f && f.getEventProcessors ? f.getEventProcessors() : [], T = Object(d.b)().getScopeData(); 659 if (b) { 660 const t = b.getScopeData(); 661 Object(h.b)(T, t); 662 } 663 if (j) { 664 const t = j.getScopeData(); 665 Object(h.b)(T, t); 666 } 667 const y = [ ...n.attachments || [], ...T.attachments ]; 668 y.length && (n.attachments = y), Object(h.a)(O, T); 669 const x = [ ...S, ...Object(u.b)(), ...T.eventProcessors ]; 670 return Object(u.c)(x, O, n).then(t => (t && function(t) { 671 const e = {}; 672 try { 673 t.exception.values.forEach(t => { 674 t.stacktrace.frames.forEach(t => { 675 t.debug_id && (t.abs_path ? e[t.abs_path] = t.debug_id : t.filename && (e[t.filename] = t.debug_id), 676 delete t.debug_id); 677 }); 678 }); 679 } catch (t) {} 680 if (0 === Object.keys(e).length) return; 681 t.debug_meta = t.debug_meta || {}, t.debug_meta.images = t.debug_meta.images || []; 682 const n = t.debug_meta.images; 683 Object.keys(e).forEach(t => { 684 n.push({ 685 type: "sourcemap", 686 code_file: t, 687 debug_id: e[t] 688 }); 689 }); 690 }(t), "number" == typeof _ && _ > 0 ? function(t, e, n) { 691 if (!t) return null; 692 const s = { 693 ...t, 694 ...t.breadcrumbs && { 695 breadcrumbs: t.breadcrumbs.map(t => ({ 696 ...t, 697 ...t.data && { 698 data: Object(c.a)(t.data, e, n) 699 } 700 })) 701 }, 702 ...t.user && { 703 user: Object(c.a)(t.user, e, n) 704 }, 705 ...t.contexts && { 706 contexts: Object(c.a)(t.contexts, e, n) 707 }, 708 ...t.extra && { 709 extra: Object(c.a)(t.extra, e, n) 710 } 711 }; 712 t.contexts && t.contexts.trace && s.contexts && (s.contexts.trace = t.contexts.trace, 713 t.contexts.trace.data && (s.contexts.trace.data = Object(c.a)(t.contexts.trace.data, e, n))); 714 t.spans && (s.spans = t.spans.map(t => { 715 const s = Object(p.e)(t).data; 716 return s && (t.data = Object(c.a)(s, e, n)), t; 717 })); 718 return s; 719 }(t, _, g) : t)); 720 } 721 const m = new WeakMap; 722 function f(t) { 723 if (t) return function(t) { 724 return t instanceof d.a || "function" == typeof t; 725 }(t) || function(t) { 726 return Object.keys(t).some(t => b.includes(t)); 727 }(t) ? { 728 captureContext: t 729 } : t; 730 } 731 const b = [ "user", "level", "extra", "contexts", "tags", "fingerprint", "requestSession", "propagationContext" ]; 732 }, 733 188: function(t, e, n) { 734 "use strict"; 735 n.d(e, "a", function() { 736 return l; 737 }); 738 var s = n(44), a = n(17), i = n(19), r = n(36), c = n(155), o = n(58), u = n(43), d = n(101), h = n(170), p = n(119); 739 class l extends h.a { 740 constructor(t, e) { 741 super(t), this._contexts = {}, this._hub = e || Object(r.c)(), this._name = t.name || "", 742 this._metadata = { 743 ...t.metadata 744 }, this._trimEnd = t.trimEnd, this.transaction = this; 745 const n = this._metadata.dynamicSamplingContext; 746 n && (this._frozenDynamicSamplingContext = { 747 ...n 748 }); 749 } 750 get name() { 751 return this._name; 752 } 753 set name(t) { 754 this.setName(t); 755 } 756 get metadata() { 757 return { 758 source: "custom", 759 spanMetadata: {}, 760 ...this._metadata, 761 ...this._attributes[o.e] && { 762 source: this._attributes[o.e] 763 }, 764 ...this._attributes[o.d] && { 765 sampleRate: this._attributes[o.d] 766 } 767 }; 768 } 769 set metadata(t) { 770 this._metadata = t; 771 } 772 setName(t, e = "custom") { 773 this._name = t, this.setAttribute(o.e, e); 774 } 775 updateName(t) { 776 return this._name = t, this; 777 } 778 initSpanRecorder(t = 1e3) { 779 this.spanRecorder || (this.spanRecorder = new h.b(t)), this.spanRecorder.add(this); 780 } 781 setContext(t, e) { 782 null === e ? delete this._contexts[t] : this._contexts[t] = e; 783 } 784 setMeasurement(t, e, n = "") { 785 this._measurements[t] = { 786 value: e, 787 unit: n 788 }; 789 } 790 setMetadata(t) { 791 this._metadata = { 792 ...this._metadata, 793 ...t 794 }; 795 } 796 end(t) { 797 const e = Object(u.d)(t), n = this._finishTransaction(e); 798 if (n) return this._hub.captureEvent(n); 799 } 800 toContext() { 801 const t = super.toContext(); 802 return Object(s.c)({ 803 ...t, 804 name: this._name, 805 trimEnd: this._trimEnd 806 }); 807 } 808 updateWithContext(t) { 809 return super.updateWithContext(t), this._name = t.name || "", this._trimEnd = t.trimEnd, 810 this; 811 } 812 getDynamicSamplingContext() { 813 return Object(d.b)(this); 814 } 815 setHub(t) { 816 this._hub = t; 817 } 818 getProfileId() { 819 if (void 0 !== this._contexts && void 0 !== this._contexts.profile) return this._contexts.profile.profile_id; 820 } 821 _finishTransaction(t) { 822 if (void 0 !== this._endTime) return; 823 this._name || (i.a && a.c.warn("Transaction has no name, falling back to `<unlabeled transaction>`."), 824 this._name = "<unlabeled transaction>"), super.end(t); 825 const e = this._hub.getClient(); 826 if (e && e.emit && e.emit("finishTransaction", this), !0 !== this._sampled) return i.a && a.c.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."), 827 void (e && e.recordDroppedEvent("sample_rate", "transaction")); 828 const n = this.spanRecorder ? this.spanRecorder.spans.filter(t => t !== this && Object(u.e)(t).timestamp) : []; 829 if (this._trimEnd && n.length > 0) { 830 const t = n.map(t =>
830 Object(u.e)(t).timestamp).filter(Boolean); 831 this._endTime = t.reduce((t, e) => t > e ? t : e); 832 } 833 const {scope: r, isolationScope: o} = Object(p.c)(this), {metadata: h} = this, {source: l} = h, m = { 834 contexts: { 835 ...this._contexts, 836 trace: Object(u.f)(this) 837 }, 838 spans: n, 839 start_timestamp: this._startTime, 840 tags: this.tags, 841 timestamp: this._endTime, 842 transaction: this._name, 843 type: "transaction", 844 sdkProcessingMetadata: { 845 ...h, 846 capturedSpanScope: r, 847 capturedSpanIsolationScope: o, 848 ...Object(s.c)({ 849 dynamicSamplingContext: Object(d.b)(this) 850 }) 851 }, 852 _metrics_summary: Object(c.a)(this), 853 ...l && { 854 transaction_info: { 855 source: l 856 } 857 } 858 }; 859 return Object.keys(this._measurements).length > 0 && (i.a && a.c.log("[Measurements] Adding measurements to transaction", JSON.stringify(this._measurements, void 0, 2)), 860 m.measurements = this._measurements), i.a && a.c.log(`[Tracing] Finishing ${this.op} transaction: ${this._name}.`), 861 m; 862 } 863 } 864 }, 865 190: function(t, e, n) { 866 "use strict"; 867 n.d(e, "a", function() { 868 return a; 869 }); 870 var s = n(37); 871 function a(t, e, n = () => {}) { 872 let a; 873 try { 874 a = t(); 875 } catch (t) { 876 throw e(t), n(), t; 877 } 878 return function(t, e, n) { 879 if (Object(s.o)(t)) return t.then(t => (n(), t), t => { 880 throw e(t), n(), t; 881 }); 882 return n(), t; 883 }(a, e, n); 884 } 885 }, 886 231: function(t, e, n) { 887 "use strict"; 888 n.d(e, "a", function() { 889 return p; 890 }), n.d(e, "b", function() { 891 return u; 892 }); 893 var s = n(17), a = n(123), i = n(19), r = n(43), c = n(170), o = n(188); 894 const u = { 895 idleTimeout: 1e3, 896 finalTimeout: 3e4, 897 heartbeatInterval: 5e3 898 }, d = [ "heartbeatFailed", "idleTimeout", "documentHidden", "finalTimeout", "externalFinish", "cancelled" ]; 899 class h extends c.b { 900 constructor(t, e, n, s) { 901 super(s), this._pushActivity = t, this._popActivity = e, this.transactionSpanId = n; 902 } 903 add(t) { 904 if (t.spanContext().spanId !== this.transactionSpanId) { 905 const e = t.end; 906 t.end = (...n) => (this._popActivity(t.spanContext().spanId), e.apply(t, n)), void 0 === Object(r.e)(t).timestamp && this._pushActivity(t.spanContext().spanId); 907 } 908 super.add(t); 909 } 910 } 911 class p extends o.a { 912 constructor(t, e, n = u.idleTimeout, a = u.finalTimeout, r = u.heartbeatInterval, c = !1, o = !1) { 913 super(t, e), this._idleHub = e, this._idleTimeout = n, this._finalTimeout = a, this._heartbeatInterval = r, 914 this._onScope = c, this.activities = {}, this._heartbeatCounter = 0, this._finished = !1, 915 this._idleTimeoutCanceledPermanently = !1, this._beforeFinishCallbacks = [], this._finishReason = d[4], 916 this._autoFinishAllowed = !o, c && (i.a && s.c.log(`Setting idle transaction on scope. Span ID: ${this.spanContext().spanId}`), 917 e.getScope().setSpan(this)), o || this._restartIdleTimeout(), setTimeout(() => { 918 this._finished || (this.setStatus("deadline_exceeded"), this._finishReason = d[3], 919 this.end()); 920 }, this._finalTimeout); 921 } 922 end(t) { 923 const e = Object(r.d)(t); 924 if (this._finished = !0, this.activities = {}, "ui.action.click" === this.op && this.setAttribute("finishReason", this._finishReason), 925 this.spanRecorder) { 926 i.a && s.c.log("[Tracing] finishing IdleTransaction", new Date(1e3 * e).toISOString(), this.op); 927 for (const t of this._beforeFinishCallbacks) t(this, e); 928 this.spanRecorder.spans = this.spanRecorder.spans.filter(t => { 929 if (t.spanContext().spanId === this.spanContext().spanId) return !0; 930 Object(r.e)(t).timestamp || (t.setStatus("cancelled"), t.end(e), i.a && s.c.log("[Tracing] cancelling span since transaction ended early", JSON.stringify(t, void 0, 2))); 931 const {start_timestamp: n, timestamp: a} = Object(r.e)(t), c = n && n < e, o = (this._finalTimeout + this._idleTimeout) / 1e3, u = a && n && a - n < o; 932 if (i.a) { 933 const e = JSON.stringify(t, void 0, 2); 934 c ? u || s.c.log("[Tracing] discarding Span since it finished after Transaction final timeout", e) : s.c.log("[Tracing] discarding Span since it happened after Transaction was finished", e); 935 } 936 return c && u; 937 }), i.a && s.c.log("[Tracing] flushing IdleTransaction"); 938 } else i.a && s.c.log("[Tracing] No active IdleTransaction"); 939 if (this._onScope) { 940 const t = this._idleHub.getScope(); 941 t.getTransaction() === this && t.setSpan(void 0); 942 } 943 return super.end(t); 944 } 945 registerBeforeFinishCallback(t) { 946 this._beforeFinishCallbacks.push(t); 947 } 948 initSpanRecorder(t) { 949 if (!this.spanRecorder) { 950 const e = t => { 951 this._finished || this._pushActivity(t); 952 }, n = t => { 953 this._finished || this._popActivity(t); 954 }; 955 this.spanRecorder = new h(e, n, this.spanContext().spanId, t), i.a && s.c.log("Starting heartbeat"), 956 this._pingHeartbeat(); 957 } 958 this.spanRecorder.add(this); 959 } 960 cancelIdleTimeout(t, {restartOnChildSpanChange: e}
960 = { 961 restartOnChildSpanChange: !0 962 }) { 963 this._idleTimeoutCanceledPermanently = !1 === e, this._idleTimeoutID && (clearTimeout(this._idleTimeoutID), 964 this._idleTimeoutID = void 0, 0 === Object.keys(this.activities).length && this._idleTimeoutCanceledPermanently && (this._finishReason = d[5], 965 this.end(t))); 966 } 967 setFinishReason(t) { 968 this._finishReason = t; 969 } 970 sendAutoFinishSignal() { 971 this._autoFinishAllowed || (i.a && s.c.log("[Tracing] Received finish signal for idle transaction."), 972 this._restartIdleTimeout(), this._autoFinishAllowed = !0); 973 } 974 _restartIdleTimeout(t) { 975 this.cancelIdleTimeout(), this._idleTimeoutID = setTimeout(() => { 976 this._finished || 0 !== Object.keys(this.activities).length || (this._finishReason = d[1], 977 this.end(t)); 978 }, this._idleTimeout); 979 } 980 _pushActivity(t) { 981 this.cancelIdleTimeout(void 0, { 982 restartOnChildSpanChange: !this._idleTimeoutCanceledPermanently 983 }), i.a && s.c.log(`[Tracing] pushActivity: ${t}`), this.activities[t] = !0, i.a && s.c.log("[Tracing] new activities count", Object.keys(this.activities).length); 984 } 985 _popActivity(t) { 986 if (this.activities[t] && (i.a && s.c.log(`[Tracing] popActivity ${t}`), delete this.activities[t], 987 i.a && s.c.log("[Tracing] new activities count", Object.keys(this.activities).length)), 988 0 === Object.keys(this.activities).length) { 989 const t = Object(a.b)(); 990 this._idleTimeoutCanceledPermanently ? this._autoFinishAllowed && (this._finishReason = d[5], 991 this.end(t)) : this._restartIdleTimeout(t + this._idleTimeout / 1e3); 992 } 993 } 994 _beat() { 995 if (this._finished) return; 996 const t = Object.keys(this.activities).join(""); 997 t === this._prevHeartbeatString ? this._heartbeatCounter++ : this._heartbeatCounter = 1, 998 this._prevHeartbeatString = t, this._heartbeatCounter >= 3 ? this._autoFinishAllowed && (i.a && s.c.log("[Tracing] Transaction finished because of no change for 3 heart beats"), 999 this.setStatus("deadline_exceeded"), this._finishReason = d[0], this.end()) : this._pingHeartbeat(); 1000 } 1001 _pingHeartbeat() { 1002 i.a && s.c.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`), 1003 setTimeout(() => { 1004 this._beat(); 1005 }, this._heartbeatInterval); 1006 } 1007 } 1008 }, 1009 232: function(t, e, n) { 1010 "use strict"; 1011 n.d(e, "a", function() { 1012 return d; 1013 }), n.d(e, "b", function() { 1014 return u; 1015 }); 1016 var s = n(17), a = n(37), i = n(19), r = n(58), c = n(169), o = n(43); 1017 function u(t, e, n) { 1018 if (!Object(c.a)(e)) return t.sampled = !1, t; 1019 if (void 0 !== t.sampled) return t.setAttribute(r.d, Number(t.sampled)), t; 1020 let a; 1021 return "function" == typeof e.tracesSampler ? (a = e.tracesSampler(n), t.setAttribute(r.d, Number(a))) : void 0 !== n.parentSampled ? a = n.parentSampled : void 0 !== e.tracesSampleRate ? (a = e.tracesSampleRate, 1022 t.setAttribute(r.d, Number(a))) : (a = 1, t.setAttribute(r.d, a)), d(a) ? a ? (t.sampled = Math.random() < a, 1023 t.sampled ? (i.a && s.c.log(`[Tracing] starting ${t.op} transaction - ${Object(o.e)(t).description}`), 1024 t) : (i.a && s.c.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(a)})`), 1025 t)) : (i.a && s.c.log("[Tracing] Discarding transaction because " + ("function" == typeof e.tracesSampler ? "tracesSampler returned 0 or false" : "a negative sampling decision was inherited or tracesSampleRate is set to 0")), 1026 t.sampled = !1, t) : (i.a && s.c.warn("[Tracing] Discarding transaction because of invalid sample rate."), 1027 t.sampled = !1, t); 1028 } 1029 function d(t) { 1030 return Object(a.h)(t) || "number" != typeof t && "boolean" != typeof t ? (i.a && s.c.warn(`[Tracing] Given sample rate is invali
1030d. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(t)} of type ${JSON.stringify(typeof t)}.`), 1031 !1) : !(t < 0 || t > 1) || (i.a && s.c.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${t}.`), 1032 !1); 1033 } 1034 }, 1035 43: function(t, e, n) { 1036 "use strict"; 1037 n.d(e, "a", function() { 1038 return r; 1039 }), n.d(e, "b", function() { 1040 return c; 1041 }), n.d(e, "c", function() { 1042 return l; 1043 }), n.d(e, "d", function() { 1044 return d; 1045 }), n.d(e, "e", function() { 1046 return p; 1047 }), n.d(e, "f", function() { 1048 return o; 1049 }), n.d(e, "g", function() { 1050 return u; 1051 }); 1052 var s = n(44), a = n(353), i = n(123); 1053 const r = 0, c = 1; 1054 function o(t) { 1055 const {spanId: e, traceId: n} = t.spanContext(), {data: a, op: i, parent_span_id: r, status: c, tags: o, origin: u} = p(t); 1056 return Object(s.c)({ 1057 data: a, 1058 op: i, 1059 parent_span_id: r, 1060 span_id: e, 1061 status: c, 1062 tags: o, 1063 trace_id: n, 1064 origin: u 1065 }); 1066 } 1067 function u(t) { 1068 const {traceId: e, spanId: n} = t.spanContext(), s = l(t); 1069 return Object(a.b)(e, n, s); 1070 } 1071 function d(t) { 1072 return "number" == typeof t ? h(t) : Array.isArray(t) ? t[0] + t[1] / 1e9 : t instanceof Date ? h(t.getTime()) : Object(i.b)(); 1073 } 1074 function h(t) { 1075 return t > 9999999999 ? t / 1e3 : t; 1076 } 1077 function p(t) { 1078 return function(t) { 1079 return "function" == typeof t.getSpanJSON; 1080 }(t) ? t.getSpanJSON() : "function" == typeof t.toJSON ? t.toJSON() : {}; 1081 } 1082 function l(t) { 1083 const {traceFlags: e} = t.spanContext(); 1084 return Boolean(e & c); 1085 } 1086 }, 1087 586: function(t, e, n) { 1088 "use strict"; 1089 n.d(e, "a", function() { 1090 return h; 1091 }); 1092 var s = n(1018), a = n(76), i = n(352), r = n(138), c = n(17), o = n(130), u = n(19); 1093 const d = 30; 1094 function h(t, e, n = Object(s.a)(t.bufferSize || d)) { 1095 let h = {}; 1096 function l(s) { 1097 const d = []; 1098 if (Object(a.g)(s, (e, n) => { 1099 const s = Object(a.f)(n); 1100 if (Object(i.a)(h, s)) { 1101 const a = p(e, n); 1102 t.recordDroppedEvent("ratelimit_backoff", s, a); 1103 } else d.push(e); 1104 }), 0 === d.length) return Object(r.c)(); 1105 const l = Object(a.c)(s[0], d), m = e => { 1106 Object(a.g)(l, (n, s) => { 1107 const i = p(n, s); 1108 t.recordDroppedEvent(e, Object(a.f)(s), i); 1109 }); 1110 }; 1111 return n.add(() => e({ 1112 body: Object(a.i)(l, t.textEncoder) 1113 }).then(t => (void 0 !== t.statusCode && (t.statusCode < 200 || t.statusCode >= 300) && u.a && c.c.warn(`Sentry responded with status code ${t.statusCode} to sent event.`), 1114 h = Object(i.c)(h, t), t), t => { 1115 throw m("network_error"), t; 1116 })).then(t => t, t => { 1117 if (t instanceof o.a) return u.a && c.c.error("Skipped sending event because buffer is full."), 1118 m("queue_overflow"), Object(r.c)(); 1119 throw t; 1120 }); 1121 } 1122 return l.__sentry__baseTransport__ = !0, { 1123 send: l, 1124 flush: t => n.drain(t) 1125 }; 1126 } 1127 function p(t, e) { 1128 if ("event" === e || "transaction" === e) return Array.isArray(t) ? t[1] : void 0; 1129 } 1130 }, 1131 587: function(t, e, n) { 1132 "use strict"; 1133 n.d(e, "a", function() { 1134 return a; 1135 }); 1136 var s = n(168); 1137 function a(t, e, n = [ e ], a = "npm") { 1138 const i = t._metadata || {}; 1139 i.sdk || (i.sdk = { 1140 name: `sentry.javascript.${e}`, 1141 packages: n.map(t => ({ 1142 name: `${a}:@sentry/${t}`, 1143 version: s.a 1144 })), 1145 version: s.a 1146 }), t._metadata = i; 1147 } 1148 }, 1149 588: function(t, e, n) { 1150 "use strict"; 1151 n.d(e, "a", function() { 1152 return a; 1153 }); 1154 var s = n(167); 1155 function a(t, e, n) { 1156 const a = Object(s.b)(); 1157 a && a.setMeasurement(t, e, n); 1158 } 1159 }, 1160 589: function(t, e, n) { 1161 "use strict"; 1162 n.d(e, "a", function() { 1163 return h; 1164 }); 1165 var s = n(17), a = n(76), i = n(352), r = n(19); 1166 const c = 100, o = 5e3, u = 36e5; 1167 function d(t, e) { 1168 r.a && s.c.info(`[Offline]: ${t}`, e); 1169 } 1170 function h(t) { 1171 return e => { 1172 const n = t(e), s = e.createStore ? e.createStore(e) : void 0; 1173 let r, h = o; 1174 function p(t) { 1175 s && (r && clearTimeout(r), r = setTimeout(async () => { 1176 r = void 0; 1177 const t = await s.pop(); 1178 t && (d("Attempting to send previously queued event"), m(t).catch(t => { 1179 d("Failed to retry sending", t); 1180 })); 1181 }, t), "number" != typeof r && r.unref && r.unref()); 1182 } 1183 function l() { 1184 r || (p(h), h = Math.min(2 * h, u)); 1185 } 1186 async function m(t) { 1187 try { 1188 const e = await n.send(t); 1189 let s = c; 1190 if (e) if (e.headers && e.headers["retry-after"]) s = Object(i.b)(e.headers["retry-after"]); else if ((e.statusCode || 0) >= 400) return e; 1191 return p(s), h = o, e; 1192 } catch (n) { 1193 if (s && await function(t, n, s) { 1194 return !Object(a.e)(t, [ "replay_event", "replay_recording", "client_report" ]) && (!e.shouldStore || e.shouldStore(t, n, s)); 1195 }(t, n, h)) return await s.insert(t), l(), d("Error sending. Event queued", n), 1196 {}; 1197 throw n; 1198 } 1199 } 1200 return e.flushAtStartup && l(), { 1201 send: m, 1202 flush: t => n.flush(t) 1203 }; 1204 }; 1205 } 1206 }, 1207 590: function(t, e, n) { 1208 "use strict"; 1209 n.d(e, "a", function() { 1210 return c; 1211 }); 1212 var s = n(76), a = n(147), i = n(166); 1213 function r(t, e) { 1214 let n; 1215 return Object(s.g)(t, (t, s) => (e.includes(s) && (n = Array.isArray(t) ? t[1] : void 0), 1216 !!n)), n; 1217 } 1218 function c(t, e) { 1219 return n => { 1220 const c = t(n), o = new Map; 1221 function u(e, s) { 1222 const c = s ? `${e}:${s}` : e; 1223 let u = o.get(c); 1224 if (!u) { 1225 const d = Object(a.a)(e); 1226 if (!d) return; 1227 const h = Object(i.a)(d, n.tunnel); 1228 u = s ? function(t, e) { 1229 return n => { 1230 const s = t(n); 1231 return { 1232 ...s, 1233 send: async t => { 1234 const n = r(t, [ "event", "transaction", "profile", "replay_event" ]); 1235 return n && (n.release = e), s.send(t); 1236 } 1237 }; 1238 }; 1239 }(t, s)({ 1240 ...n, 1241 url: h 1242 }) : t({ 1243 ...n, 1244 url: h 1245 }), o.set(c, u); 1246 } 1247 return [ e, u ]; 1248 } 1249 return { 1250 send: async function(t) { 1251 const n = e({ 1252 envelope: t, 1253 getEvent: function(e) { 1254 const n = e && e.length ? e : [ "event" ]; 1255 return r(t, n); 1256 } 1257 }).map(t => "string" == typeof t ? u(t, void 0) : u(t.dsn, t.release)).filter(t => !!t); 1258 0 === n.length && n.push([ "", c ]); 1259 return (await Promise.all(n.map(([e, n]) => n.send(function(t, e) { 1260 return Object(s.c)(e ? { 1261 ...t[0], 1262 dsn: e 1263 } : t[0], t[1]); 1264 }(t, e)))))[0]; 1265 }, 1266 flush: async function(t) { 1267 const e = [ await c.flush(t) ]; 1268 for (const [, n] of o) e.push(await n.flush(t)); 1269 return e.every(t => t); 1270 } 1271 }; 1272 }; 1273 } 1274 }, 1275 591: function(t, e, n) { 1276 "use strict"; 1277 function s(t, e) { 1278 const n = e && function(t) { 1279 return void 0 !== t.getClient; 1280 }(e) ? e.getClient() : e, s = n && n.getDsn(), i = n && n.getOptions().tunnel; 1281 return function(t, e) { 1282 return !!e && t.includes(e.host); 1283 }(t, s) || function(t, e) { 1284 if (!e) return !1; 1285 return a(t) === a(e); 1286 }(t, i); 1287 } 1288 function a(t) { 1289 return "/" === t[t.length - 1] ? t.slice(0, -1) : t; 1290 } 1291 n.d(e, "a", function() { 1292 return s; 1293 }); 1294 }, 1295 592: function(t, e, n) { 1296 "use strict"; 1297 function s(t, ...e) { 1298 const n = new String(String.raw(t, ...e));
1299 return n.__sentry_template_string__ = t.join("\0").replace(/%/g, "%%").replace(/\0/g, "%s"), 1300 n.__sentry_template_values__ = e, n; 1301 } 1302 n.d(e, "a", function() { 1303 return s; 1304 }); 1305 } 1306} ]); 1307//# sourceMappingURL=2fdb98b.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.