@getopenpay/openpay-js-react 0.3.4 → 0.3.5
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/ExportResult-Bo1QOwfo-BBnR58Dk.js +19 -0
- package/dist/Resource-8idK0JVO-DReP50vj.js +176 -0
- package/dist/SimpleSpanProcessor-B9zaJP5U-BTrsSUhf.js +957 -0
- package/dist/_commonjsHelpers-DnMzE-71-CPTlJly7.js +25 -0
- package/dist/detect-resources-C_iyiY_L-217TG5xu.js +854 -0
- package/dist/diag-api-DzTzP5Hp-P96VLBYw.js +6 -0
- package/dist/index-BB9hVNTZ.js +7381 -0
- package/dist/index-BwUFxDfU-BVSIABzi.js +6685 -0
- package/dist/index-Ce8Lat0E-BrS56-54.js +130 -0
- package/dist/index-CgEwo0U2-BKFV4cT4.js +431 -0
- package/dist/index-CoKj6u8n-B8oQQU9x.js +52 -0
- package/dist/index-DYavgYuG-DBQs7JoK.js +19 -0
- package/dist/index-VWR1k-7Y-C1ALR-SR.js +150 -0
- package/dist/index-eEQGTP2R-PI2Pl2ze.js +330 -0
- package/dist/index-jZXPTRa1-BLSZRrti.js +1593 -0
- package/dist/index-z7lOA_UP--WoNczne.js +830 -0
- package/dist/index.js +14 -6702
- package/dist/metrics-api-BhBBBD5_-CGhz1fYd.js +160 -0
- package/dist/sdk-info-DFOw9te8-BBlk0pFh.js +484 -0
- package/dist/url-COS4hsAQ-BXKldi7B.js +797 -0
- package/dist/utils-BGeftTvk-CchVJ54o.js +14 -0
- package/dist/utils-BuFcIYU9-Djx4GBYW.js +142 -0
- package/dist/utils-BvXbNpp--DhPgxDT9.js +381 -0
- package/package.json +1 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { F as c } from "./index-BB9hVNTZ.js";
|
|
2
|
+
import { r as u } from "./SimpleSpanProcessor-B9zaJP5U-BTrsSUhf.js";
|
|
3
|
+
import { I as b, g as x, D as S, n as _, S as w, i as P, j as C, a as M, G as O, P as T, o as E, O as F, W as j, z as A } from "./SimpleSpanProcessor-B9zaJP5U-BTrsSUhf.js";
|
|
4
|
+
import { T as I, S as R, x as N, M as k, b as D, D as z, B as G, R as U, s as W, I as H } from "./utils-BuFcIYU9-Djx4GBYW.js";
|
|
5
|
+
var l = function(n, r) {
|
|
6
|
+
var t = typeof Symbol == "function" && n[Symbol.iterator];
|
|
7
|
+
if (!t) return n;
|
|
8
|
+
var e = t.call(n), a, o = [], i;
|
|
9
|
+
try {
|
|
10
|
+
for (; (r === void 0 || r-- > 0) && !(a = e.next()).done; ) o.push(a.value);
|
|
11
|
+
} catch (s) {
|
|
12
|
+
i = { error: s };
|
|
13
|
+
} finally {
|
|
14
|
+
try {
|
|
15
|
+
a && !a.done && (t = e.return) && t.call(e);
|
|
16
|
+
} finally {
|
|
17
|
+
if (i) throw i.error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return o;
|
|
21
|
+
}, p = function(n, r, t) {
|
|
22
|
+
if (arguments.length === 2) for (var e = 0, a = r.length, o; e < a; e++)
|
|
23
|
+
(o || !(e in r)) && (o || (o = Array.prototype.slice.call(r, 0, e)), o[e] = r[e]);
|
|
24
|
+
return n.concat(o || Array.prototype.slice.call(r));
|
|
25
|
+
}, f = (
|
|
26
|
+
/** @class */
|
|
27
|
+
function() {
|
|
28
|
+
function n() {
|
|
29
|
+
this._enabled = !1, this._currentContext = c;
|
|
30
|
+
}
|
|
31
|
+
return n.prototype._bindFunction = function(r, t) {
|
|
32
|
+
r === void 0 && (r = c);
|
|
33
|
+
var e = this, a = function() {
|
|
34
|
+
for (var o = this, i = [], s = 0; s < arguments.length; s++)
|
|
35
|
+
i[s] = arguments[s];
|
|
36
|
+
return e.with(r, function() {
|
|
37
|
+
return t.apply(o, i);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
return Object.defineProperty(a, "length", {
|
|
41
|
+
enumerable: !1,
|
|
42
|
+
configurable: !0,
|
|
43
|
+
writable: !1,
|
|
44
|
+
value: t.length
|
|
45
|
+
}), a;
|
|
46
|
+
}, n.prototype.active = function() {
|
|
47
|
+
return this._currentContext;
|
|
48
|
+
}, n.prototype.bind = function(r, t) {
|
|
49
|
+
return r === void 0 && (r = this.active()), typeof t == "function" ? this._bindFunction(r, t) : t;
|
|
50
|
+
}, n.prototype.disable = function() {
|
|
51
|
+
return this._currentContext = c, this._enabled = !1, this;
|
|
52
|
+
}, n.prototype.enable = function() {
|
|
53
|
+
return this._enabled ? this : (this._enabled = !0, this._currentContext = c, this);
|
|
54
|
+
}, n.prototype.with = function(r, t, e) {
|
|
55
|
+
for (var a = [], o = 3; o < arguments.length; o++)
|
|
56
|
+
a[o - 3] = arguments[o];
|
|
57
|
+
var i = this._currentContext;
|
|
58
|
+
this._currentContext = r || c;
|
|
59
|
+
try {
|
|
60
|
+
return t.call.apply(t, p([e], l(a), !1));
|
|
61
|
+
} finally {
|
|
62
|
+
this._currentContext = i;
|
|
63
|
+
}
|
|
64
|
+
}, n;
|
|
65
|
+
}()
|
|
66
|
+
), h = /* @__PURE__ */ function() {
|
|
67
|
+
var n = function(r, t) {
|
|
68
|
+
return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, a) {
|
|
69
|
+
e.__proto__ = a;
|
|
70
|
+
} || function(e, a) {
|
|
71
|
+
for (var o in a) Object.prototype.hasOwnProperty.call(a, o) && (e[o] = a[o]);
|
|
72
|
+
}, n(r, t);
|
|
73
|
+
};
|
|
74
|
+
return function(r, t) {
|
|
75
|
+
if (typeof t != "function" && t !== null)
|
|
76
|
+
throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
|
|
77
|
+
n(r, t);
|
|
78
|
+
function e() {
|
|
79
|
+
this.constructor = r;
|
|
80
|
+
}
|
|
81
|
+
r.prototype = t === null ? Object.create(t) : (e.prototype = t.prototype, new e());
|
|
82
|
+
};
|
|
83
|
+
}(), g = (
|
|
84
|
+
/** @class */
|
|
85
|
+
function(n) {
|
|
86
|
+
h(r, n);
|
|
87
|
+
function r(t) {
|
|
88
|
+
t === void 0 && (t = {});
|
|
89
|
+
var e = n.call(this, t) || this;
|
|
90
|
+
if (t.contextManager)
|
|
91
|
+
throw "contextManager should be defined in register method not in constructor";
|
|
92
|
+
if (t.propagator)
|
|
93
|
+
throw "propagator should be defined in register method not in constructor";
|
|
94
|
+
return e;
|
|
95
|
+
}
|
|
96
|
+
return r.prototype.register = function(t) {
|
|
97
|
+
t === void 0 && (t = {}), t.contextManager === void 0 && (t.contextManager = new f()), t.contextManager && t.contextManager.enable(), n.prototype.register.call(this, t);
|
|
98
|
+
}, r;
|
|
99
|
+
}(u)
|
|
100
|
+
);
|
|
101
|
+
export {
|
|
102
|
+
b as AlwaysOffSampler,
|
|
103
|
+
x as AlwaysOnSampler,
|
|
104
|
+
u as BasicTracerProvider,
|
|
105
|
+
S as BatchSpanProcessor,
|
|
106
|
+
_ as ConsoleSpanExporter,
|
|
107
|
+
w as ForceFlushState,
|
|
108
|
+
P as InMemorySpanExporter,
|
|
109
|
+
C as NoopSpanProcessor,
|
|
110
|
+
M as ParentBasedSampler,
|
|
111
|
+
I as PerformanceTimingNames,
|
|
112
|
+
O as RandomIdGenerator,
|
|
113
|
+
T as SamplingDecision,
|
|
114
|
+
E as SimpleSpanProcessor,
|
|
115
|
+
F as Span,
|
|
116
|
+
f as StackContextManager,
|
|
117
|
+
j as TraceIdRatioBasedSampler,
|
|
118
|
+
A as Tracer,
|
|
119
|
+
g as WebTracerProvider,
|
|
120
|
+
R as addSpanNetworkEvent,
|
|
121
|
+
N as addSpanNetworkEvents,
|
|
122
|
+
k as getElementXPath,
|
|
123
|
+
D as getResource,
|
|
124
|
+
z as hasKey,
|
|
125
|
+
G as normalizeUrl,
|
|
126
|
+
U as parseUrl,
|
|
127
|
+
W as shouldPropagateTraceHeaders,
|
|
128
|
+
H as sortResources
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQ2U4TGF0MEUtIX57MDAzfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEYgYXMgRm8gfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IHIgYXMgcmUgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItQjl6YUpQNVUtIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgSSBhcyBBbHdheXNPZmZTYW1wbGVyLCBnIGFzIEFsd2F5c09uU2FtcGxlciwgRCBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIG4gYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgUyBhcyBGb3JjZUZsdXNoU3RhdGUsIGkgYXMgSW5NZW1vcnlTcGFuRXhwb3J0ZXIsIGogYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIGEgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBHIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBQIGFzIFNhbXBsaW5nRGVjaXNpb24sIG8gYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgTyBhcyBTcGFuLCBXIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgeiBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItQjl6YUpQNVUtIX57MDAyfX4uanMnO1xuZXhwb3J0IHsgVCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBTIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIHggYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIE0gYXMgZ2V0RWxlbWVudFhQYXRoLCBiIGFzIGdldFJlc291cmNlLCBEIGFzIGhhc0tleSwgQiBhcyBub3JtYWxpemVVcmwsIFIgYXMgcGFyc2VVcmwsIHMgYXMgc2hvdWxkUHJvcGFnYXRlVHJhY2VIZWFkZXJzLCBJIGFzIHNvcnRSZXNvdXJjZXMgfSBmcm9tICcuL3V0aWxzLUJ1RmNJWVU5LSF+ezAwNX1+LmpzJztcblxudmFyIGwgPSBmdW5jdGlvbihuLCByKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgbltTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBuO1xuICB2YXIgdCA9IGUuY2FsbChuKSwgbywgYSA9IFtdLCBzO1xuICB0cnkge1xuICAgIGZvciAoOyAociA9PT0gdm9pZCAwIHx8IHItLSA+IDApICYmICEobyA9IHQubmV4dCgpKS5kb25lOyApIGEucHVzaChvLnZhbHVlKTtcbiAgfSBjYXRjaCAoaSkge1xuICAgIHMgPSB7IGVycm9yOiBpIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG8gJiYgIW8uZG9uZSAmJiAoZSA9IHQucmV0dXJuKSAmJiBlLmNhbGwodCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChzKSB0aHJvdyBzLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYTtcbn0sIHAgPSBmdW5jdGlvbihuLCByLCBlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciB0ID0gMCwgbyA9IHIubGVuZ3RoLCBhOyB0IDwgbzsgdCsrKVxuICAgIChhIHx8ICEodCBpbiByKSkgJiYgKGEgfHwgKGEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChyLCAwLCB0KSksIGFbdF0gPSByW3RdKTtcbiAgcmV0dXJuIG4uY29uY2F0KGEgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocikpO1xufSwgZiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBuKCkge1xuICAgICAgdGhpcy5fZW5hYmxlZCA9ICExLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEZvO1xuICAgIH1cbiAgICByZXR1cm4gbi5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uKHIsIGUpIHtcbiAgICAgIHIgPT09IHZvaWQgMCAmJiAociA9IEZvKTtcbiAgICAgIHZhciB0ID0gdGhpcywgbyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IgKHZhciBhID0gdGhpcywgcyA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcbiAgICAgICAgICBzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgICAgICByZXR1cm4gdC53aXRoKHIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHJldHVybiBlLmFwcGx5KGEsIHMpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIFwibGVuZ3RoXCIsIHtcbiAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgICAgIHdyaXRhYmxlOiAhMSxcbiAgICAgICAgdmFsdWU6IGUubGVuZ3RoXG4gICAgICB9KSwgbztcbiAgICB9LCBuLnByb3RvdHlwZS5hY3RpdmUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dDtcbiAgICB9LCBuLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24ociwgZSkge1xuICAgICAgcmV0dXJuIHIgPT09IHZvaWQgMCAmJiAociA9IHRoaXMuYWN0aXZlKCkpLCB0eXBlb2YgZSA9PSBcImZ1bmN0aW9uXCIgPyB0aGlzLl9iaW5kRnVuY3Rpb24ociwgZSkgOiBlO1xuICAgIH0sIG4ucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEZvLCB0aGlzLl9lbmFibGVkID0gITEsIHRoaXM7XG4gICAgfSwgbi5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCA/IHRoaXMgOiAodGhpcy5fZW5hYmxlZCA9ICEwLCB0aGlzLl9jdXJyZW50Q29udGV4dCA9IEZvLCB0aGlzKTtcbiAgICB9LCBuLnByb3RvdHlwZS53aXRoID0gZnVuY3Rpb24ociwgZSwgdCkge1xuICAgICAgZm9yICh2YXIgbyA9IFtdLCBhID0gMzsgYSA8IGFyZ3VtZW50cy5sZW5ndGg7IGErKylcbiAgICAgICAgb1thIC0gM10gPSBhcmd1bWVudHNbYV07XG4gICAgICB2YXIgcyA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSByIHx8IEZvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGUuY2FsbC5hcHBseShlLCBwKFt0XSwgbChvKSwgITEpKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gcztcbiAgICAgIH1cbiAgICB9LCBuO1xuICB9KClcbiksIGQgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciBuID0gZnVuY3Rpb24ociwgZSkge1xuICAgIHJldHVybiBuID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24odCwgbykge1xuICAgICAgdC5fX3Byb3RvX18gPSBvO1xuICAgIH0gfHwgZnVuY3Rpb24odCwgbykge1xuICAgICAgZm9yICh2YXIgYSBpbiBvKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobywgYSkgJiYgKHRbYV0gPSBvW2FdKTtcbiAgICB9LCBuKHIsIGUpO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24ociwgZSkge1xuICAgIGlmICh0eXBlb2YgZSAhPSBcImZ1bmN0aW9uXCIgJiYgZSAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGUpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICBuKHIsIGUpO1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gcjtcbiAgICB9XG4gICAgci5wcm90b3R5cGUgPSBlID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShlKSA6ICh0LnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBuZXcgdCgpKTtcbiAgfTtcbn0oKSwgdiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbihuKSB7XG4gICAgZChyLCBuKTtcbiAgICBmdW5jdGlvbiByKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgICAgIHZhciB0ID0gbi5jYWxsKHRoaXMsIGUpIHx8IHRoaXM7XG4gICAgICBpZiAoZS5jb250ZXh0TWFuYWdlcilcbiAgICAgICAgdGhyb3cgXCJjb250ZXh0TWFuYWdlciBzaG91bGQgYmUgZGVmaW5lZCBpbiByZWdpc3RlciBtZXRob2Qgbm90IGluIGNvbnN0cnVjdG9yXCI7XG4gICAgICBpZiAoZS5wcm9wYWdhdG9yKVxuICAgICAgICB0aHJvdyBcInByb3BhZ2F0b3Igc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbiBjb25zdHJ1Y3RvclwiO1xuICAgICAgcmV0dXJuIHQ7XG4gICAgfVxuICAgIHJldHVybiByLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KSwgZS5jb250ZXh0TWFuYWdlciA9PT0gdm9pZCAwICYmIChlLmNvbnRleHRNYW5hZ2VyID0gbmV3IGYoKSksIGUuY29udGV4dE1hbmFnZXIgJiYgZS5jb250ZXh0TWFuYWdlci5lbmFibGUoKSwgbi5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBlKTtcbiAgICB9LCByO1xuICB9KHJlKVxuKTtcblxuZXhwb3J0IHsgcmUgYXMgQmFzaWNUcmFjZXJQcm92aWRlciwgZiBhcyBTdGFja0NvbnRleHRNYW5hZ2VyLCB2IGFzIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFVO0FBQ3hCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFjLEtBQUxDLEdBQTRCLEtBQUxDLEdBQTJCLEtBQUxDLEdBQThCLEtBQUxDLEdBQStCLEtBQUxDLEdBQTJCLEtBQUxDLEdBQWdDLEtBQUxDLEdBQTZCLEtBQUxDLEdBQThCLEtBQUxDLEdBQTZCLEtBQUxDLEdBQTRCLEtBQUxDLEdBQStCLEtBQUxDLEdBQWdCLEtBQUxDLEdBQW9DLEtBQUxDLFNBQW1CO0FBQ2pWLFNBQWMsS0FBTEMsR0FBa0MsS0FBTFYsR0FBK0IsS0FBTFcsR0FBZ0MsS0FBTEMsR0FBMkIsS0FBTEMsR0FBdUIsS0FBTGYsR0FBa0IsS0FBTGdCLEdBQXdCLEtBQUxDLEdBQW9CLEtBQUxDLEdBQXVDLEtBQUxwQixTQUEwQjtBQUU5TyxJQUFJLElBQUksU0FBUyxHQUFHLEdBQUc7QUFDckIsTUFBSXFCLElBQUksT0FBTyxVQUFVLGNBQWMsRUFBRSxPQUFPLFFBQVE7QUFDeEQsTUFBSSxDQUFDQSxFQUFHLFFBQU87QUFDZixNQUFJQyxJQUFJRCxFQUFFLEtBQUssQ0FBQyxHQUFHWCxHQUFHSCxJQUFJLENBQUMsR0FBR2E7QUFDOUIsTUFBSTtBQUNGLFlBQVEsTUFBTSxVQUFVLE1BQU0sTUFBTSxFQUFFVixJQUFJWSxFQUFFLEtBQUssR0FBRyxPQUFRLENBQUFmLEVBQUUsS0FBS0csRUFBRSxLQUFLO0FBQUEsRUFDNUUsU0FBU0wsR0FBRztBQUNWLElBQUFlLElBQUksRUFBRSxPQUFPZixFQUFFO0FBQUEsRUFDakIsVUFBRTtBQUNBLFFBQUk7QUFDRixNQUFBSyxLQUFLLENBQUNBLEVBQUUsU0FBU1csSUFBSUMsRUFBRSxXQUFXRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUM1QyxVQUFFO0FBQ0EsVUFBSUYsRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFDakI7QUFBQSxFQUNGO0FBQ0EsU0FBT2I7QUFDVCxHQUFHLElBQUksU0FBUyxHQUFHLEdBQUdjLEdBQUc7QUFDdkIsTUFBSSxVQUFVLFdBQVcsRUFBRyxVQUFTQyxJQUFJLEdBQUdaLElBQUksRUFBRSxRQUFRSCxHQUFHZSxJQUFJWixHQUFHWTtBQUNsRSxLQUFDZixLQUFLLEVBQUVlLEtBQUssUUFBUWYsTUFBTUEsSUFBSSxNQUFNLFVBQVUsTUFBTSxLQUFLLEdBQUcsR0FBR2UsQ0FBQyxJQUFJZixFQUFFZSxDQUFDLElBQUksRUFBRUEsQ0FBQztBQUNqRixTQUFPLEVBQUUsT0FBT2YsS0FBSyxNQUFNLFVBQVUsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUNwRCxHQUFHO0FBQUE7QUFBQSxFQUVELFdBQVc7QUFDVCxhQUFTLElBQUk7QUFDWCxXQUFLLFdBQVcsSUFBSSxLQUFLLGtCQUFrQlQ7QUFBQSxJQUM3QztBQUNBLFdBQU8sRUFBRSxVQUFVLGdCQUFnQixTQUFTLEdBQUd1QixHQUFHO0FBQ2hELFlBQU0sV0FBVyxJQUFJdkI7QUFDckIsVUFBSXdCLElBQUksTUFBTVosSUFBSSxXQUFXO0FBQzNCLGlCQUFTSCxJQUFJLE1BQU1hLElBQUksQ0FBQyxHQUFHZixJQUFJLEdBQUdBLElBQUksVUFBVSxRQUFRQTtBQUN0RCxVQUFBZSxFQUFFZixDQUFDLElBQUksVUFBVUEsQ0FBQztBQUNwQixlQUFPaUIsRUFBRSxLQUFLLEdBQUcsV0FBVztBQUMxQixpQkFBT0QsRUFBRSxNQUFNZCxHQUFHYSxDQUFDO0FBQUEsUUFDckIsQ0FBQztBQUFBLE1BQ0g7QUFDQSxhQUFPLE9BQU8sZUFBZVYsR0FBRyxVQUFVO0FBQUEsUUFDeEMsWUFBWTtBQUFBLFFBQ1osY0FBYztBQUFBLFFBQ2QsVUFBVTtBQUFBLFFBQ1YsT0FBT1csRUFBRTtBQUFBLE1BQ1gsQ0FBQyxHQUFHWDtBQUFBLElBQ04sR0FBRyxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLGFBQU8sS0FBSztBQUFBLElBQ2QsR0FBRyxFQUFFLFVBQVUsT0FBTyxTQUFTLEdBQUdXLEdBQUc7QUFDbkMsYUFBTyxNQUFNLFdBQVcsSUFBSSxLQUFLLE9BQU8sSUFBSSxPQUFPQSxLQUFLLGFBQWEsS0FBSyxjQUFjLEdBQUdBLENBQUMsSUFBSUE7QUFBQSxJQUNsRyxHQUFHLEVBQUUsVUFBVSxVQUFVLFdBQVc7QUFDbEMsYUFBTyxLQUFLLGtCQUFrQnZCLEdBQUksS0FBSyxXQUFXLElBQUk7QUFBQSxJQUN4RCxHQUFHLEVBQUUsVUFBVSxTQUFTLFdBQVc7QUFDakMsYUFBTyxLQUFLLFdBQVcsUUFBUSxLQUFLLFdBQVcsSUFBSSxLQUFLLGtCQUFrQkEsR0FBSTtBQUFBLElBQ2hGLEdBQUcsRUFBRSxVQUFVLE9BQU8sU0FBUyxHQUFHdUIsR0FBR0MsR0FBRztBQUN0QyxlQUFTWixJQUFJLENBQUMsR0FBR0gsSUFBSSxHQUFHQSxJQUFJLFVBQVUsUUFBUUE7QUFDNUMsUUFBQUcsRUFBRUgsSUFBSSxDQUFDLElBQUksVUFBVUEsQ0FBQztBQUN4QixVQUFJYSxJQUFJLEtBQUs7QUFDYixXQUFLLGtCQUFrQixLQUFLdEI7QUFDNUIsVUFBSTtBQUNGLGVBQU91QixFQUFFLEtBQUssTUFBTUEsR0FBRyxFQUFFLENBQUNDLENBQUMsR0FBRyxFQUFFWixDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQUEsTUFDekMsVUFBRTtBQUNBLGFBQUssa0JBQWtCVTtBQUFBLE1BQ3pCO0FBQUEsSUFDRixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREcsSUFBb0IsMkJBQVc7QUFDaEMsTUFBSSxJQUFJLFNBQVMsR0FBR0YsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBU0MsR0FBR1osR0FBRztBQUN2RixNQUFBWSxFQUFFLFlBQVlaO0FBQUEsSUFDaEIsS0FBSyxTQUFTWSxHQUFHWixHQUFHO0FBQ2xCLGVBQVNILEtBQUtHLEVBQUcsUUFBTyxVQUFVLGVBQWUsS0FBS0EsR0FBR0gsQ0FBQyxNQUFNZSxFQUFFZixDQUFDLElBQUlHLEVBQUVILENBQUM7QUFBQSxJQUM1RSxHQUFHLEVBQUUsR0FBR2MsQ0FBQztBQUFBLEVBQ1g7QUFDQSxTQUFPLFNBQVMsR0FBR0EsR0FBRztBQUNwQixRQUFJLE9BQU9BLEtBQUssY0FBY0EsTUFBTTtBQUNsQyxZQUFNLElBQUksVUFBVSx5QkFBeUIsT0FBT0EsQ0FBQyxJQUFJLCtCQUErQjtBQUMxRixNQUFFLEdBQUdBLENBQUM7QUFDTixhQUFTQyxJQUFJO0FBQ1gsV0FBSyxjQUFjO0FBQUEsSUFDckI7QUFDQSxNQUFFLFlBQVlELE1BQU0sT0FBTyxPQUFPLE9BQU9BLENBQUMsS0FBS0MsRUFBRSxZQUFZRCxFQUFFLFdBQVcsSUFBSUMsRUFBRTtBQUFBLEVBQ2xGO0FBQ0YsRUFBRSxHQUFHRTtBQUFBO0FBQUEsRUFFSCxTQUFTLEdBQUc7QUFDVixJQUFBRCxFQUFFLEdBQUcsQ0FBQztBQUNOLGFBQVMsRUFBRUYsR0FBRztBQUNaLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDO0FBQ3RCLFVBQUlDLElBQUksRUFBRSxLQUFLLE1BQU1ELENBQUMsS0FBSztBQUMzQixVQUFJQSxFQUFFO0FBQ0osY0FBTTtBQUNSLFVBQUlBLEVBQUU7QUFDSixjQUFNO0FBQ1IsYUFBT0M7QUFBQSxJQUNUO0FBQ0EsV0FBTyxFQUFFLFVBQVUsV0FBVyxTQUFTRCxHQUFHO0FBQ3hDLE1BQUFBLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUlBLEVBQUUsbUJBQW1CLFdBQVdBLEVBQUUsaUJBQWlCLElBQUksRUFBRSxJQUFJQSxFQUFFLGtCQUFrQkEsRUFBRSxlQUFlLE9BQU8sR0FBRyxFQUFFLFVBQVUsU0FBUyxLQUFLLE1BQU1BLENBQUM7QUFBQSxJQUN6SyxHQUFHO0FBQUEsRUFDTCxFQUFFdEIsQ0FBRTtBQUFBOyIsCiAgIm5hbWVzIjogWyJGbyIsICJyZSIsICJJIiwgImciLCAiRCIsICJuIiwgIlMiLCAiaSIsICJqIiwgImEiLCAiRyIsICJQIiwgIm8iLCAiTyIsICJXIiwgInoiLCAiVCIsICJ4IiwgIk0iLCAiYiIsICJCIiwgIlIiLCAicyIsICJlIiwgInQiLCAiZCIsICJ2Il0KfQo=
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
import { r as D } from "./diag-api-DzTzP5Hp-P96VLBYw.js";
|
|
2
|
+
import { j as M, q as B, Z as W, z as X, y as v, a as Z, Q as $, x as G, p as C, S as I, O as Q } from "./url-COS4hsAQ-BXKldi7B.js";
|
|
3
|
+
import { F as V, H as Y, Y as J } from "./utils-BvXbNpp--DhPgxDT9.js";
|
|
4
|
+
import { l as b } from "./utils-BGeftTvk-CchVJ54o.js";
|
|
5
|
+
import { T as E, x as k, R as x, s as K, b as tt } from "./utils-BuFcIYU9-Djx4GBYW.js";
|
|
6
|
+
import { E as P, v as h, V as et } from "./index-BB9hVNTZ.js";
|
|
7
|
+
var g;
|
|
8
|
+
(function(o) {
|
|
9
|
+
o.COMPONENT = "component", o.HTTP_ERROR_NAME = "http.error_name", o.HTTP_STATUS_TEXT = "http.status_text";
|
|
10
|
+
})(g || (g = {}));
|
|
11
|
+
var nt = function(o, i, t, n) {
|
|
12
|
+
function r(e) {
|
|
13
|
+
return e instanceof t ? e : new t(function(s) {
|
|
14
|
+
s(e);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return new (t || (t = Promise))(function(e, s) {
|
|
18
|
+
function a(l) {
|
|
19
|
+
try {
|
|
20
|
+
u(n.next(l));
|
|
21
|
+
} catch (d) {
|
|
22
|
+
s(d);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function c(l) {
|
|
26
|
+
try {
|
|
27
|
+
u(n.throw(l));
|
|
28
|
+
} catch (d) {
|
|
29
|
+
s(d);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function u(l) {
|
|
33
|
+
l.done ? e(l.value) : r(l.value).then(a, c);
|
|
34
|
+
}
|
|
35
|
+
u((n = n.apply(o, [])).next());
|
|
36
|
+
});
|
|
37
|
+
}, rt = function(o, i) {
|
|
38
|
+
var t = { label: 0, sent: function() {
|
|
39
|
+
if (e[0] & 1) throw e[1];
|
|
40
|
+
return e[1];
|
|
41
|
+
}, trys: [], ops: [] }, n, r, e, s;
|
|
42
|
+
return s = { next: a(0), throw: a(1), return: a(2) }, typeof Symbol == "function" && (s[Symbol.iterator] = function() {
|
|
43
|
+
return this;
|
|
44
|
+
}), s;
|
|
45
|
+
function a(u) {
|
|
46
|
+
return function(l) {
|
|
47
|
+
return c([u, l]);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function c(u) {
|
|
51
|
+
if (n) throw new TypeError("Generator is already executing.");
|
|
52
|
+
for (; t; ) try {
|
|
53
|
+
if (n = 1, r && (e = u[0] & 2 ? r.return : u[0] ? r.throw || ((e = r.return) && e.call(r), 0) : r.next) && !(e = e.call(r, u[1])).done) return e;
|
|
54
|
+
switch (r = 0, e && (u = [u[0] & 2, e.value]), u[0]) {
|
|
55
|
+
case 0:
|
|
56
|
+
case 1:
|
|
57
|
+
e = u;
|
|
58
|
+
break;
|
|
59
|
+
case 4:
|
|
60
|
+
return t.label++, { value: u[1], done: !1 };
|
|
61
|
+
case 5:
|
|
62
|
+
t.label++, r = u[1], u = [0];
|
|
63
|
+
continue;
|
|
64
|
+
case 7:
|
|
65
|
+
u = t.ops.pop(), t.trys.pop();
|
|
66
|
+
continue;
|
|
67
|
+
default:
|
|
68
|
+
if (e = t.trys, !(e = e.length > 0 && e[e.length - 1]) && (u[0] === 6 || u[0] === 2)) {
|
|
69
|
+
t = 0;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (u[0] === 3 && (!e || u[1] > e[0] && u[1] < e[3])) {
|
|
73
|
+
t.label = u[1];
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
if (u[0] === 6 && t.label < e[1]) {
|
|
77
|
+
t.label = e[1], e = u;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
if (e && t.label < e[2]) {
|
|
81
|
+
t.label = e[2], t.ops.push(u);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
e[2] && t.ops.pop(), t.trys.pop();
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
u = i.call(o, t);
|
|
88
|
+
} catch (l) {
|
|
89
|
+
u = [6, l], r = 0;
|
|
90
|
+
} finally {
|
|
91
|
+
n = e = 0;
|
|
92
|
+
}
|
|
93
|
+
if (u[0] & 5) throw u[1];
|
|
94
|
+
return { value: u[0] ? u[1] : void 0, done: !0 };
|
|
95
|
+
}
|
|
96
|
+
}, ot = function(o) {
|
|
97
|
+
var i = typeof Symbol == "function" && Symbol.iterator, t = i && o[i], n = 0;
|
|
98
|
+
if (t) return t.call(o);
|
|
99
|
+
if (o && typeof o.length == "number") return {
|
|
100
|
+
next: function() {
|
|
101
|
+
return o && n >= o.length && (o = void 0), { value: o && o[n++], done: !o };
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
throw new TypeError(i ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
105
|
+
}, it = function(o, i) {
|
|
106
|
+
var t = typeof Symbol == "function" && o[Symbol.iterator];
|
|
107
|
+
if (!t) return o;
|
|
108
|
+
var n = t.call(o), r, e = [], s;
|
|
109
|
+
try {
|
|
110
|
+
for (; (i === void 0 || i-- > 0) && !(r = n.next()).done; ) e.push(r.value);
|
|
111
|
+
} catch (a) {
|
|
112
|
+
s = { error: a };
|
|
113
|
+
} finally {
|
|
114
|
+
try {
|
|
115
|
+
r && !r.done && (t = n.return) && t.call(n);
|
|
116
|
+
} finally {
|
|
117
|
+
if (s) throw s.error;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return e;
|
|
121
|
+
}, N = D.createComponentLogger({
|
|
122
|
+
namespace: "@opentelemetry/opentelemetry-instrumentation-fetch/utils"
|
|
123
|
+
});
|
|
124
|
+
function st() {
|
|
125
|
+
for (var o = [], i = 0; i < arguments.length; i++)
|
|
126
|
+
o[i] = arguments[i];
|
|
127
|
+
if (o[0] instanceof URL || typeof o[0] == "string") {
|
|
128
|
+
var t = o[1];
|
|
129
|
+
if (!(t != null && t.body))
|
|
130
|
+
return Promise.resolve();
|
|
131
|
+
if (t.body instanceof ReadableStream) {
|
|
132
|
+
var n = at(t.body), r = n.body, e = n.length;
|
|
133
|
+
return t.body = r, e;
|
|
134
|
+
} else
|
|
135
|
+
return Promise.resolve(ut(t.body));
|
|
136
|
+
} else {
|
|
137
|
+
var s = o[0];
|
|
138
|
+
return s != null && s.body ? s.clone().text().then(function(a) {
|
|
139
|
+
return S(a);
|
|
140
|
+
}) : Promise.resolve();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function at(o) {
|
|
144
|
+
if (!o.pipeThrough)
|
|
145
|
+
return N.warn("Platform has ReadableStream but not pipeThrough!"), {
|
|
146
|
+
body: o,
|
|
147
|
+
length: Promise.resolve(void 0)
|
|
148
|
+
};
|
|
149
|
+
var i = 0, t, n = new Promise(function(e) {
|
|
150
|
+
t = e;
|
|
151
|
+
}), r = new TransformStream({
|
|
152
|
+
start: function() {
|
|
153
|
+
},
|
|
154
|
+
transform: function(e, s) {
|
|
155
|
+
return nt(this, void 0, void 0, function() {
|
|
156
|
+
var a;
|
|
157
|
+
return rt(this, function(c) {
|
|
158
|
+
switch (c.label) {
|
|
159
|
+
case 0:
|
|
160
|
+
return [4, e];
|
|
161
|
+
case 1:
|
|
162
|
+
return a = c.sent(), i += a.byteLength, s.enqueue(e), [
|
|
163
|
+
2
|
|
164
|
+
/*return*/
|
|
165
|
+
];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
flush: function() {
|
|
171
|
+
t(i);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return {
|
|
175
|
+
body: o.pipeThrough(r),
|
|
176
|
+
length: n
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function ut(o) {
|
|
180
|
+
if (typeof Document < "u" && o instanceof Document)
|
|
181
|
+
return new XMLSerializer().serializeToString(document).length;
|
|
182
|
+
if (o instanceof Blob)
|
|
183
|
+
return o.size;
|
|
184
|
+
if (o.byteLength !== void 0)
|
|
185
|
+
return o.byteLength;
|
|
186
|
+
if (o instanceof FormData)
|
|
187
|
+
return ft(o);
|
|
188
|
+
if (o instanceof URLSearchParams)
|
|
189
|
+
return S(o.toString());
|
|
190
|
+
if (typeof o == "string")
|
|
191
|
+
return S(o);
|
|
192
|
+
N.warn("unknown body type");
|
|
193
|
+
}
|
|
194
|
+
var ct = new TextEncoder();
|
|
195
|
+
function S(o) {
|
|
196
|
+
return ct.encode(o).byteLength;
|
|
197
|
+
}
|
|
198
|
+
function ft(o) {
|
|
199
|
+
var i, t, n = 0;
|
|
200
|
+
try {
|
|
201
|
+
for (var r = ot(o.entries()), e = r.next(); !e.done; e = r.next()) {
|
|
202
|
+
var s = it(e.value, 2), a = s[0], c = s[1];
|
|
203
|
+
n += a.length, c instanceof Blob ? n += c.size : n += c.length;
|
|
204
|
+
}
|
|
205
|
+
} catch (u) {
|
|
206
|
+
i = { error: u };
|
|
207
|
+
} finally {
|
|
208
|
+
try {
|
|
209
|
+
e && !e.done && (t = r.return) && t.call(r);
|
|
210
|
+
} finally {
|
|
211
|
+
if (i) throw i.error;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return n;
|
|
215
|
+
}
|
|
216
|
+
var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
217
|
+
var o = function(i, t) {
|
|
218
|
+
return o = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, r) {
|
|
219
|
+
n.__proto__ = r;
|
|
220
|
+
} || function(n, r) {
|
|
221
|
+
for (var e in r) Object.prototype.hasOwnProperty.call(r, e) && (n[e] = r[e]);
|
|
222
|
+
}, o(i, t);
|
|
223
|
+
};
|
|
224
|
+
return function(i, t) {
|
|
225
|
+
if (typeof t != "function" && t !== null)
|
|
226
|
+
throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
|
|
227
|
+
o(i, t);
|
|
228
|
+
function n() {
|
|
229
|
+
this.constructor = i;
|
|
230
|
+
}
|
|
231
|
+
i.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());
|
|
232
|
+
};
|
|
233
|
+
}(), pt = function(o, i) {
|
|
234
|
+
var t = typeof Symbol == "function" && o[Symbol.iterator];
|
|
235
|
+
if (!t) return o;
|
|
236
|
+
var n = t.call(o), r, e = [], s;
|
|
237
|
+
try {
|
|
238
|
+
for (; (i === void 0 || i-- > 0) && !(r = n.next()).done; ) e.push(r.value);
|
|
239
|
+
} catch (a) {
|
|
240
|
+
s = { error: a };
|
|
241
|
+
} finally {
|
|
242
|
+
try {
|
|
243
|
+
r && !r.done && (t = n.return) && t.call(n);
|
|
244
|
+
} finally {
|
|
245
|
+
if (s) throw s.error;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return e;
|
|
249
|
+
}, ht = function(o, i, t) {
|
|
250
|
+
if (arguments.length === 2) for (var n = 0, r = i.length, e; n < r; n++)
|
|
251
|
+
(e || !(n in i)) && (e || (e = Array.prototype.slice.call(i, 0, n)), e[n] = i[n]);
|
|
252
|
+
return o.concat(e || Array.prototype.slice.call(i));
|
|
253
|
+
}, _, dt = 300, j = typeof process == "object" && ((_ = process.release) === null || _ === void 0 ? void 0 : _.name) === "node", St = (
|
|
254
|
+
/** @class */
|
|
255
|
+
function(o) {
|
|
256
|
+
lt(i, o);
|
|
257
|
+
function i(t) {
|
|
258
|
+
t === void 0 && (t = {});
|
|
259
|
+
var n = o.call(this, "@opentelemetry/instrumentation-fetch", O, t) || this;
|
|
260
|
+
return n.component = "fetch", n.version = O, n.moduleName = n.component, n._usedResources = /* @__PURE__ */ new WeakSet(), n._tasksCount = 0, n;
|
|
261
|
+
}
|
|
262
|
+
return i.prototype.init = function() {
|
|
263
|
+
}, i.prototype._addChildSpan = function(t, n) {
|
|
264
|
+
var r = this.tracer.startSpan("CORS Preflight", {
|
|
265
|
+
startTime: n[E.FETCH_START]
|
|
266
|
+
}, P.setSpan(h.active(), t));
|
|
267
|
+
k(r, n, this.getConfig().ignoreNetworkEvents), r.end(n[E.RESPONSE_END]);
|
|
268
|
+
}, i.prototype._addFinalSpanAttributes = function(t, n) {
|
|
269
|
+
var r = x(n.url);
|
|
270
|
+
t.setAttribute(M, n.status), n.statusText != null && t.setAttribute(g.HTTP_STATUS_TEXT, n.statusText), t.setAttribute(B, r.host), t.setAttribute(W, r.protocol.replace(":", "")), typeof navigator < "u" && t.setAttribute(X, navigator.userAgent);
|
|
271
|
+
}, i.prototype._addHeaders = function(t, n) {
|
|
272
|
+
if (!K(n, this.getConfig().propagateTraceHeaderCorsUrls)) {
|
|
273
|
+
var r = {};
|
|
274
|
+
v.inject(h.active(), r), Object.keys(r).length > 0 && this._diag.debug("headers inject skipped due to CORS policy");
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
if (t instanceof Request)
|
|
278
|
+
v.inject(h.active(), t.headers, {
|
|
279
|
+
set: function(e, s, a) {
|
|
280
|
+
return e.set(s, typeof a == "string" ? a : String(a));
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
else if (t.headers instanceof Headers)
|
|
284
|
+
v.inject(h.active(), t.headers, {
|
|
285
|
+
set: function(e, s, a) {
|
|
286
|
+
return e.set(s, typeof a == "string" ? a : String(a));
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
else if (t.headers instanceof Map)
|
|
290
|
+
v.inject(h.active(), t.headers, {
|
|
291
|
+
set: function(e, s, a) {
|
|
292
|
+
return e.set(s, typeof a == "string" ? a : String(a));
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
else {
|
|
296
|
+
var r = {};
|
|
297
|
+
v.inject(h.active(), r), t.headers = Object.assign({}, r, t.headers || {});
|
|
298
|
+
}
|
|
299
|
+
}, i.prototype._clearResources = function() {
|
|
300
|
+
this._tasksCount === 0 && this.getConfig().clearTimingResources && (performance.clearResourceTimings(), this._usedResources = /* @__PURE__ */ new WeakSet());
|
|
301
|
+
}, i.prototype._createSpan = function(t, n) {
|
|
302
|
+
var r;
|
|
303
|
+
if (n === void 0 && (n = {}), Z(t, this.getConfig().ignoreUrls)) {
|
|
304
|
+
this._diag.debug("ignoring span as url matches ignored url");
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
var e = (n.method || "GET").toUpperCase(), s = "HTTP " + e;
|
|
308
|
+
return this.tracer.startSpan(s, {
|
|
309
|
+
kind: et.CLIENT,
|
|
310
|
+
attributes: (r = {}, r[g.COMPONENT] = this.moduleName, r[$] = e, r[G] = t, r)
|
|
311
|
+
});
|
|
312
|
+
}, i.prototype._findResourceAndAddNetworkEvents = function(t, n, r) {
|
|
313
|
+
var e = n.entries;
|
|
314
|
+
if (!e.length) {
|
|
315
|
+
if (!performance.getEntriesByType)
|
|
316
|
+
return;
|
|
317
|
+
e = performance.getEntriesByType("resource");
|
|
318
|
+
}
|
|
319
|
+
var s = tt(n.spanUrl, n.startTime, r, e, this._usedResources, "fetch");
|
|
320
|
+
if (s.mainRequest) {
|
|
321
|
+
var a = s.mainRequest;
|
|
322
|
+
this._markResourceAsUsed(a);
|
|
323
|
+
var c = s.corsPreFlightRequest;
|
|
324
|
+
c && (this._addChildSpan(t, c), this._markResourceAsUsed(c)), k(t, a, this.getConfig().ignoreNetworkEvents);
|
|
325
|
+
}
|
|
326
|
+
}, i.prototype._markResourceAsUsed = function(t) {
|
|
327
|
+
this._usedResources.add(t);
|
|
328
|
+
}, i.prototype._endSpan = function(t, n, r) {
|
|
329
|
+
var e = this, s = Q(Date.now()), a = C();
|
|
330
|
+
this._addFinalSpanAttributes(t, r), setTimeout(function() {
|
|
331
|
+
var c;
|
|
332
|
+
(c = n.observer) === null || c === void 0 || c.disconnect(), e._findResourceAndAddNetworkEvents(t, n, a), e._tasksCount--, e._clearResources(), t.end(s);
|
|
333
|
+
}, dt);
|
|
334
|
+
}, i.prototype._patchConstructor = function() {
|
|
335
|
+
var t = this;
|
|
336
|
+
return function(n) {
|
|
337
|
+
var r = t;
|
|
338
|
+
return function() {
|
|
339
|
+
for (var e = [], s = 0; s < arguments.length; s++)
|
|
340
|
+
e[s] = arguments[s];
|
|
341
|
+
var a = this, c = x(e[0] instanceof Request ? e[0].url : String(e[0])).href, u = e[0] instanceof Request ? e[0] : e[1] || {}, l = r._createSpan(c, u);
|
|
342
|
+
if (!l)
|
|
343
|
+
return n.apply(this, e);
|
|
344
|
+
var d = r._prepareSpanData(c);
|
|
345
|
+
r.getConfig().measureRequestSize && st.apply(void 0, ht([], pt(e), !1)).then(function(f) {
|
|
346
|
+
f && l.setAttribute(I, f);
|
|
347
|
+
}).catch(function(f) {
|
|
348
|
+
r._diag.warn("getFetchBodyLength", f);
|
|
349
|
+
});
|
|
350
|
+
function T(f, p) {
|
|
351
|
+
r._applyAttributesAfterFetch(f, u, p), r._endSpan(f, d, {
|
|
352
|
+
status: p.status || 0,
|
|
353
|
+
statusText: p.message,
|
|
354
|
+
url: c
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
function w(f, p) {
|
|
358
|
+
r._applyAttributesAfterFetch(f, u, p), p.status >= 200 && p.status < 400 ? r._endSpan(f, d, p) : r._endSpan(f, d, {
|
|
359
|
+
status: p.status,
|
|
360
|
+
statusText: p.statusText,
|
|
361
|
+
url: c
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
function U(f, p, y) {
|
|
365
|
+
try {
|
|
366
|
+
var H = y.clone(), q = y.clone(), A = H.body;
|
|
367
|
+
if (A) {
|
|
368
|
+
var L = A.getReader(), R = function() {
|
|
369
|
+
L.read().then(function(m) {
|
|
370
|
+
var z = m.done;
|
|
371
|
+
z ? w(f, q) : R();
|
|
372
|
+
}, function(m) {
|
|
373
|
+
T(f, m);
|
|
374
|
+
});
|
|
375
|
+
};
|
|
376
|
+
R();
|
|
377
|
+
} else
|
|
378
|
+
w(f, y);
|
|
379
|
+
} finally {
|
|
380
|
+
p(y);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
function F(f, p, y) {
|
|
384
|
+
try {
|
|
385
|
+
T(f, y);
|
|
386
|
+
} finally {
|
|
387
|
+
p(y);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return new Promise(function(f, p) {
|
|
391
|
+
return h.with(P.setSpan(h.active(), l), function() {
|
|
392
|
+
return r._addHeaders(u, c), r._tasksCount++, n.apply(a, u instanceof Request ? [u] : [c, u]).then(U.bind(a, l, f), F.bind(a, l, p));
|
|
393
|
+
});
|
|
394
|
+
});
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
}, i.prototype._applyAttributesAfterFetch = function(t, n, r) {
|
|
398
|
+
var e = this, s = this.getConfig().applyCustomAttributesOnSpan;
|
|
399
|
+
s && V(function() {
|
|
400
|
+
return s(t, n, r);
|
|
401
|
+
}, function(a) {
|
|
402
|
+
a && e._diag.error("applyCustomAttributesOnSpan", a);
|
|
403
|
+
}, !0);
|
|
404
|
+
}, i.prototype._prepareSpanData = function(t) {
|
|
405
|
+
var n = C(), r = [];
|
|
406
|
+
if (typeof PerformanceObserver != "function")
|
|
407
|
+
return { entries: r, startTime: n, spanUrl: t };
|
|
408
|
+
var e = new PerformanceObserver(function(s) {
|
|
409
|
+
var a = s.getEntries();
|
|
410
|
+
a.forEach(function(c) {
|
|
411
|
+
c.initiatorType === "fetch" && c.name === t && r.push(c);
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
return e.observe({
|
|
415
|
+
entryTypes: ["resource"]
|
|
416
|
+
}), { entries: r, observer: e, startTime: n, spanUrl: t };
|
|
417
|
+
}, i.prototype.enable = function() {
|
|
418
|
+
if (j) {
|
|
419
|
+
this._diag.warn("this instrumentation is intended for web usage only, it does not instrument Node.js's fetch()");
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
Y(fetch) && (this._unwrap(b, "fetch"), this._diag.debug("removing previous patch for constructor")), this._wrap(b, "fetch", this._patchConstructor());
|
|
423
|
+
}, i.prototype.disable = function() {
|
|
424
|
+
j || (this._unwrap(b, "fetch"), this._usedResources = /* @__PURE__ */ new WeakSet());
|
|
425
|
+
}, i;
|
|
426
|
+
}(J)
|
|
427
|
+
);
|
|
428
|
+
export {
|
|
429
|
+
St as FetchInstrumentation
|
|
430
|
+
};
|
|
431
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtQ2dFd28wVTItIX57MDA2fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUR6VHpQNUhwLSF+ezAwN31+LmpzJztcbmltcG9ydCB7IGogYXMgakEsIHEgYXMgcUEsIFogYXMgWkEsIHogYXMgekEsIHkgYXMgeV8sIGEgYXMgWmUsIFEgYXMgUUEsIHggYXMgeEEsIHAgYXMgcF8sIFMgYXMgU3IsIE8gfSBmcm9tICcuL3VybC1DT1M0aHNBUS0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBGLCBIIGFzIEgkMSwgWSB9IGZyb20gJy4vdXRpbHMtQnZYYk5wcC0tIX57MDA5fX4uanMnO1xuaW1wb3J0IHsgbCB9IGZyb20gJy4vdXRpbHMtQkdlZnRUdmstIX57MDBhfX4uanMnO1xuaW1wb3J0IHsgVCwgeCwgUiwgcywgYiBhcyBiJDEgfSBmcm9tICcuL3V0aWxzLUJ1RmNJWVU5LSF+ezAwNX1+LmpzJztcbmltcG9ydCB7IEUgYXMgRWUsIHYgYXMgdmUkMSwgViBhcyBWZSB9IGZyb20gJy4vaW5kZXgtIX57MDA0fX4uanMnO1xuXG52YXIgeTtcbihmdW5jdGlvbihhKSB7XG4gIGEuQ09NUE9ORU5UID0gXCJjb21wb25lbnRcIiwgYS5IVFRQX0VSUk9SX05BTUUgPSBcImh0dHAuZXJyb3JfbmFtZVwiLCBhLkhUVFBfU1RBVFVTX1RFWFQgPSBcImh0dHAuc3RhdHVzX3RleHRcIjtcbn0pKHkgfHwgKHkgPSB7fSkpO1xudmFyIG5lID0gZnVuY3Rpb24oYSwgbywgZSwgcikge1xuICBmdW5jdGlvbiBuKHQpIHtcbiAgICByZXR1cm4gdCBpbnN0YW5jZW9mIGUgPyB0IDogbmV3IGUoZnVuY3Rpb24oaSkge1xuICAgICAgaSh0KTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbmV3IChlIHx8IChlID0gUHJvbWlzZSkpKGZ1bmN0aW9uKHQsIGkpIHtcbiAgICBmdW5jdGlvbiBzKGMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHUoci5uZXh0KGMpKTtcbiAgICAgIH0gY2F0Y2ggKGgpIHtcbiAgICAgICAgaShoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZihjKSB7XG4gICAgICB0cnkge1xuICAgICAgICB1KHIudGhyb3coYykpO1xuICAgICAgfSBjYXRjaCAoaCkge1xuICAgICAgICBpKGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB1KGMpIHtcbiAgICAgIGMuZG9uZSA/IHQoYy52YWx1ZSkgOiBuKGMudmFsdWUpLnRoZW4ocywgZik7XG4gICAgfVxuICAgIHUoKHIgPSByLmFwcGx5KGEsIFtdKSkubmV4dCgpKTtcbiAgfSk7XG59LCBhZSA9IGZ1bmN0aW9uKGEsIG8pIHtcbiAgdmFyIGUgPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHtcbiAgICBpZiAodFswXSAmIDEpIHRocm93IHRbMV07XG4gICAgcmV0dXJuIHRbMV07XG4gIH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIHIsIG4sIHQsIGk7XG4gIHJldHVybiBpID0geyBuZXh0OiBzKDApLCB0aHJvdzogcygxKSwgcmV0dXJuOiBzKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT0gXCJmdW5jdGlvblwiICYmIChpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfSksIGk7XG4gIGZ1bmN0aW9uIHModSkge1xuICAgIHJldHVybiBmdW5jdGlvbihjKSB7XG4gICAgICByZXR1cm4gZihbdSwgY10pO1xuICAgIH07XG4gIH1cbiAgZnVuY3Rpb24gZih1KSB7XG4gICAgaWYgKHIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgIGZvciAoOyBlOyApIHRyeSB7XG4gICAgICBpZiAociA9IDEsIG4gJiYgKHQgPSB1WzBdICYgMiA/IG4ucmV0dXJuIDogdVswXSA/IG4udGhyb3cgfHwgKCh0ID0gbi5yZXR1cm4pICYmIHQuY2FsbChuKSwgMCkgOiBuLm5leHQpICYmICEodCA9IHQuY2FsbChuLCB1WzFdKSkuZG9uZSkgcmV0dXJuIHQ7XG4gICAgICBzd2l0Y2ggKG4gPSAwLCB0ICYmICh1ID0gW3VbMF0gJiAyLCB0LnZhbHVlXSksIHVbMF0pIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgdCA9IHU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICByZXR1cm4gZS5sYWJlbCsrLCB7IHZhbHVlOiB1WzFdLCBkb25lOiAhMSB9O1xuICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgZS5sYWJlbCsrLCBuID0gdVsxXSwgdSA9IFswXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA3OlxuICAgICAgICAgIHUgPSBlLm9wcy5wb3AoKSwgZS50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmICh0ID0gZS50cnlzLCAhKHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAodVswXSA9PT0gNiB8fCB1WzBdID09PSAyKSkge1xuICAgICAgICAgICAgZSA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHVbMF0gPT09IDMgJiYgKCF0IHx8IHVbMV0gPiB0WzBdICYmIHVbMV0gPCB0WzNdKSkge1xuICAgICAgICAgICAgZS5sYWJlbCA9IHVbMV07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHVbMF0gPT09IDYgJiYgZS5sYWJlbCA8IHRbMV0pIHtcbiAgICAgICAgICAgIGUubGFiZWwgPSB0WzFdLCB0ID0gdTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodCAmJiBlLmxhYmVsIDwgdFsyXSkge1xuICAgICAgICAgICAgZS5sYWJlbCA9IHRbMl0sIGUub3BzLnB1c2godSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgdFsyXSAmJiBlLm9wcy5wb3AoKSwgZS50cnlzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgdSA9IG8uY2FsbChhLCBlKTtcbiAgICB9IGNhdGNoIChjKSB7XG4gICAgICB1ID0gWzYsIGNdLCBuID0gMDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgciA9IHQgPSAwO1xuICAgIH1cbiAgICBpZiAodVswXSAmIDUpIHRocm93IHVbMV07XG4gICAgcmV0dXJuIHsgdmFsdWU6IHVbMF0gPyB1WzFdIDogdm9pZCAwLCBkb25lOiAhMCB9O1xuICB9XG59LCBpZSA9IGZ1bmN0aW9uKGEpIHtcbiAgdmFyIG8gPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIGUgPSBvICYmIGFbb10sIHIgPSAwO1xuICBpZiAoZSkgcmV0dXJuIGUuY2FsbChhKTtcbiAgaWYgKGEgJiYgdHlwZW9mIGEubGVuZ3RoID09IFwibnVtYmVyXCIpIHJldHVybiB7XG4gICAgbmV4dDogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gYSAmJiByID49IGEubGVuZ3RoICYmIChhID0gdm9pZCAwKSwgeyB2YWx1ZTogYSAmJiBhW3IrK10sIGRvbmU6ICFhIH07XG4gICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKG8gPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59LCBvZSA9IGZ1bmN0aW9uKGEsIG8pIHtcbiAgdmFyIGUgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBhW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghZSkgcmV0dXJuIGE7XG4gIHZhciByID0gZS5jYWxsKGEpLCBuLCB0ID0gW10sIGk7XG4gIHRyeSB7XG4gICAgZm9yICg7IChvID09PSB2b2lkIDAgfHwgby0tID4gMCkgJiYgIShuID0gci5uZXh0KCkpLmRvbmU7ICkgdC5wdXNoKG4udmFsdWUpO1xuICB9IGNhdGNoIChzKSB7XG4gICAgaSA9IHsgZXJyb3I6IHMgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbiAmJiAhbi5kb25lICYmIChlID0gci5yZXR1cm4pICYmIGUuY2FsbChyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKGkpIHRocm93IGkuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiB0O1xufSwgVSA9IHIuY3JlYXRlQ29tcG9uZW50TG9nZ2VyKHtcbiAgbmFtZXNwYWNlOiBcIkBvcGVudGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktaW5zdHJ1bWVudGF0aW9uLWZldGNoL3V0aWxzXCJcbn0pO1xuZnVuY3Rpb24gc2UoKSB7XG4gIGZvciAodmFyIGEgPSBbXSwgbyA9IDA7IG8gPCBhcmd1bWVudHMubGVuZ3RoOyBvKyspXG4gICAgYVtvXSA9IGFyZ3VtZW50c1tvXTtcbiAgaWYgKGFbMF0gaW5zdGFuY2VvZiBVUkwgfHwgdHlwZW9mIGFbMF0gPT0gXCJzdHJpbmdcIikge1xuICAgIHZhciBlID0gYVsxXTtcbiAgICBpZiAoIShlICE9IG51bGwgJiYgZS5ib2R5KSlcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBpZiAoZS5ib2R5IGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW0pIHtcbiAgICAgIHZhciByID0gdWUoZS5ib2R5KSwgbiA9IHIuYm9keSwgdCA9IHIubGVuZ3RoO1xuICAgICAgcmV0dXJuIGUuYm9keSA9IG4sIHQ7XG4gICAgfSBlbHNlXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZlKGUuYm9keSkpO1xuICB9IGVsc2Uge1xuICAgIHZhciBpID0gYVswXTtcbiAgICByZXR1cm4gaSAhPSBudWxsICYmIGkuYm9keSA/IGkuY2xvbmUoKS50ZXh0KCkudGhlbihmdW5jdGlvbihzKSB7XG4gICAgICByZXR1cm4gYihzKTtcbiAgICB9KSA6IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG59XG5mdW5jdGlvbiB1ZShhKSB7XG4gIGlmICghYS5waXBlVGhyb3VnaClcbiAgICByZXR1cm4gVS53YXJuKFwiUGxhdGZvcm0gaGFzIFJlYWRhYmxlU3RyZWFtIGJ1dCBub3QgcGlwZVRocm91Z2ghXCIpLCB7XG4gICAgICBib2R5OiBhLFxuICAgICAgbGVuZ3RoOiBQcm9taXNlLnJlc29sdmUodm9pZCAwKVxuICAgIH07XG4gIHZhciBvID0gMCwgZSwgciA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpIHtcbiAgICBlID0gdDtcbiAgfSksIG4gPSBuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICBzdGFydDogZnVuY3Rpb24oKSB7XG4gICAgfSxcbiAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKHQsIGkpIHtcbiAgICAgIHJldHVybiBuZSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzO1xuICAgICAgICByZXR1cm4gYWUodGhpcywgZnVuY3Rpb24oZikge1xuICAgICAgICAgIHN3aXRjaCAoZi5sYWJlbCkge1xuICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICByZXR1cm4gWzQsIHRdO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICByZXR1cm4gcyA9IGYuc2VudCgpLCBvICs9IHMuYnl0ZUxlbmd0aCwgaS5lbnF1ZXVlKHQpLCBbXG4gICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICAgIC8qcmV0dXJuKi9cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBmbHVzaDogZnVuY3Rpb24oKSB7XG4gICAgICBlKG8pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB7XG4gICAgYm9keTogYS5waXBlVGhyb3VnaChuKSxcbiAgICBsZW5ndGg6IHJcbiAgfTtcbn1cbmZ1bmN0aW9uIGZlKGEpIHtcbiAgaWYgKHR5cGVvZiBEb2N1bWVudCA8IFwidVwiICYmIGEgaW5zdGFuY2VvZiBEb2N1bWVudClcbiAgICByZXR1cm4gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhkb2N1bWVudCkubGVuZ3RoO1xuICBpZiAoYSBpbnN0YW5jZW9mIEJsb2IpXG4gICAgcmV0dXJuIGEuc2l6ZTtcbiAgaWYgKGEuYnl0ZUxlbmd0aCAhPT0gdm9pZCAwKVxuICAgIHJldHVybiBhLmJ5dGVMZW5ndGg7XG4gIGlmIChhIGluc3RhbmNlb2YgRm9ybURhdGEpXG4gICAgcmV0dXJuIGxlKGEpO1xuICBpZiAoYSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcylcbiAgICByZXR1cm4gYihhLnRvU3RyaW5nKCkpO1xuICBpZiAodHlwZW9mIGEgPT0gXCJzdHJpbmdcIilcbiAgICByZXR1cm4gYihhKTtcbiAgVS53YXJuKFwidW5rbm93biBib2R5IHR5cGVcIik7XG59XG52YXIgY2UgPSBuZXcgVGV4dEVuY29kZXIoKTtcbmZ1bmN0aW9uIGIoYSkge1xuICByZXR1cm4gY2UuZW5jb2RlKGEpLmJ5dGVMZW5ndGg7XG59XG5mdW5jdGlvbiBsZShhKSB7XG4gIHZhciBvLCBlLCByID0gMDtcbiAgdHJ5IHtcbiAgICBmb3IgKHZhciBuID0gaWUoYS5lbnRyaWVzKCkpLCB0ID0gbi5uZXh0KCk7ICF0LmRvbmU7IHQgPSBuLm5leHQoKSkge1xuICAgICAgdmFyIGkgPSBvZSh0LnZhbHVlLCAyKSwgcyA9IGlbMF0sIGYgPSBpWzFdO1xuICAgICAgciArPSBzLmxlbmd0aCwgZiBpbnN0YW5jZW9mIEJsb2IgPyByICs9IGYuc2l6ZSA6IHIgKz0gZi5sZW5ndGg7XG4gICAgfVxuICB9IGNhdGNoICh1KSB7XG4gICAgbyA9IHsgZXJyb3I6IHUgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgdCAmJiAhdC5kb25lICYmIChlID0gbi5yZXR1cm4pICYmIGUuY2FsbChuKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKG8pIHRocm93IG8uZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiByO1xufVxudmFyIGsgPSBcIjAuNTcuMFwiLCBkZSA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbigpIHtcbiAgdmFyIGEgPSBmdW5jdGlvbihvLCBlKSB7XG4gICAgcmV0dXJuIGEgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbihyLCBuKSB7XG4gICAgICByLl9fcHJvdG9fXyA9IG47XG4gICAgfSB8fCBmdW5jdGlvbihyLCBuKSB7XG4gICAgICBmb3IgKHZhciB0IGluIG4pIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCB0KSAmJiAoclt0XSA9IG5bdF0pO1xuICAgIH0sIGEobywgZSk7XG4gIH07XG4gIHJldHVybiBmdW5jdGlvbihvLCBlKSB7XG4gICAgaWYgKHR5cGVvZiBlICE9IFwiZnVuY3Rpb25cIiAmJiBlICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoZSkgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICAgIGEobywgZSk7XG4gICAgZnVuY3Rpb24gcigpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBvO1xuICAgIH1cbiAgICBvLnByb3RvdHlwZSA9IGUgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGUpIDogKHIucHJvdG90eXBlID0gZS5wcm90b3R5cGUsIG5ldyByKCkpO1xuICB9O1xufSgpLCBoZSA9IGZ1bmN0aW9uKGEsIG8pIHtcbiAgdmFyIGUgPSB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiBhW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghZSkgcmV0dXJuIGE7XG4gIHZhciByID0gZS5jYWxsKGEpLCBuLCB0ID0gW10sIGk7XG4gIHRyeSB7XG4gICAgZm9yICg7IChvID09PSB2b2lkIDAgfHwgby0tID4gMCkgJiYgIShuID0gci5uZXh0KCkpLmRvbmU7ICkgdC5wdXNoKG4udmFsdWUpO1xuICB9IGNhdGNoIChzKSB7XG4gICAgaSA9IHsgZXJyb3I6IHMgfTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0cnkge1xuICAgICAgbiAmJiAhbi5kb25lICYmIChlID0gci5yZXR1cm4pICYmIGUuY2FsbChyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKGkpIHRocm93IGkuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiB0O1xufSwgcGUgPSBmdW5jdGlvbihhLCBvLCBlKSB7XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciByID0gMCwgbiA9IG8ubGVuZ3RoLCB0OyByIDwgbjsgcisrKVxuICAgICh0IHx8ICEociBpbiBvKSkgJiYgKHQgfHwgKHQgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChvLCAwLCByKSksIHRbcl0gPSBvW3JdKTtcbiAgcmV0dXJuIGEuY29uY2F0KHQgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobykpO1xufSwgUywgdmUgPSAzMDAsIEggPSB0eXBlb2YgcHJvY2VzcyA9PSBcIm9iamVjdFwiICYmICgoUyA9IHByb2Nlc3MucmVsZWFzZSkgPT09IG51bGwgfHwgUyA9PT0gdm9pZCAwID8gdm9pZCAwIDogUy5uYW1lKSA9PT0gXCJub2RlXCIsIGJlID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKGEpIHtcbiAgICBkZShvLCBhKTtcbiAgICBmdW5jdGlvbiBvKGUpIHtcbiAgICAgIGUgPT09IHZvaWQgMCAmJiAoZSA9IHt9KTtcbiAgICAgIHZhciByID0gYS5jYWxsKHRoaXMsIFwiQG9wZW50ZWxlbWV0cnkvaW5zdHJ1bWVudGF0aW9uLWZldGNoXCIsIGssIGUpIHx8IHRoaXM7XG4gICAgICByZXR1cm4gci5jb21wb25lbnQgPSBcImZldGNoXCIsIHIudmVyc2lvbiA9IGssIHIubW9kdWxlTmFtZSA9IHIuY29tcG9uZW50LCByLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCksIHIuX3Rhc2tzQ291bnQgPSAwLCByO1xuICAgIH1cbiAgICByZXR1cm4gby5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKCkge1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRDaGlsZFNwYW4gPSBmdW5jdGlvbihlLCByKSB7XG4gICAgICB2YXIgbiA9IHRoaXMudHJhY2VyLnN0YXJ0U3BhbihcIkNPUlMgUHJlZmxpZ2h0XCIsIHtcbiAgICAgICAgc3RhcnRUaW1lOiByW1QuRkVUQ0hfU1RBUlRdXG4gICAgICB9LCBFZS5zZXRTcGFuKHZlJDEuYWN0aXZlKCksIGUpKTtcbiAgICAgIHgobiwgciwgdGhpcy5nZXRDb25maWcoKS5pZ25vcmVOZXR3b3JrRXZlbnRzKSwgbi5lbmQocltULlJFU1BPTlNFX0VORF0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRGaW5hbFNwYW5BdHRyaWJ1dGVzID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG4gPSBSKHIudXJsKTtcbiAgICAgIGUuc2V0QXR0cmlidXRlKGpBLCByLnN0YXR1cyksIHIuc3RhdHVzVGV4dCAhPSBudWxsICYmIGUuc2V0QXR0cmlidXRlKHkuSFRUUF9TVEFUVVNfVEVYVCwgci5zdGF0dXNUZXh0KSwgZS5zZXRBdHRyaWJ1dGUocUEsIG4uaG9zdCksIGUuc2V0QXR0cmlidXRlKFpBLCBuLnByb3RvY29sLnJlcGxhY2UoXCI6XCIsIFwiXCIpKSwgdHlwZW9mIG5hdmlnYXRvciA8IFwidVwiICYmIGUuc2V0QXR0cmlidXRlKHpBLCBuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICB9LCBvLnByb3RvdHlwZS5fYWRkSGVhZGVycyA9IGZ1bmN0aW9uKGUsIHIpIHtcbiAgICAgIGlmICghcyhyLCB0aGlzLmdldENvbmZpZygpLnByb3BhZ2F0ZVRyYWNlSGVhZGVyQ29yc1VybHMpKSB7XG4gICAgICAgIHZhciBuID0ge307XG4gICAgICAgIHlfLmluamVjdCh2ZSQxLmFjdGl2ZSgpLCBuKSwgT2JqZWN0LmtleXMobikubGVuZ3RoID4gMCAmJiB0aGlzLl9kaWFnLmRlYnVnKFwiaGVhZGVycyBpbmplY3Qgc2tpcHBlZCBkdWUgdG8gQ09SUyBwb2xpY3lcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVxdWVzdClcbiAgICAgICAgeV8uaW5qZWN0KHZlJDEuYWN0aXZlKCksIGUuaGVhZGVycywge1xuICAgICAgICAgIHNldDogZnVuY3Rpb24odCwgaSwgcykge1xuICAgICAgICAgICAgcmV0dXJuIHQuc2V0KGksIHR5cGVvZiBzID09IFwic3RyaW5nXCIgPyBzIDogU3RyaW5nKHMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgZWxzZSBpZiAoZS5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycylcbiAgICAgICAgeV8uaW5qZWN0KHZlJDEuYWN0aXZlKCksIGUuaGVhZGVycywge1xuICAgICAgICAgIHNldDogZnVuY3Rpb24odCwgaSwgcykge1xuICAgICAgICAgICAgcmV0dXJuIHQuc2V0KGksIHR5cGVvZiBzID09IFwic3RyaW5nXCIgPyBzIDogU3RyaW5nKHMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgZWxzZSBpZiAoZS5oZWFkZXJzIGluc3RhbmNlb2YgTWFwKVxuICAgICAgICB5Xy5pbmplY3QodmUkMS5hY3RpdmUoKSwgZS5oZWFkZXJzLCB7XG4gICAgICAgICAgc2V0OiBmdW5jdGlvbih0LCBpLCBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdC5zZXQoaSwgdHlwZW9mIHMgPT0gXCJzdHJpbmdcIiA/IHMgOiBTdHJpbmcocykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIG4gPSB7fTtcbiAgICAgICAgeV8uaW5qZWN0KHZlJDEuYWN0aXZlKCksIG4pLCBlLmhlYWRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBuLCBlLmhlYWRlcnMgfHwge30pO1xuICAgICAgfVxuICAgIH0sIG8ucHJvdG90eXBlLl9jbGVhclJlc291cmNlcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdGhpcy5fdGFza3NDb3VudCA9PT0gMCAmJiB0aGlzLmdldENvbmZpZygpLmNsZWFyVGltaW5nUmVzb3VyY2VzICYmIChwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpLCB0aGlzLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCkpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9jcmVhdGVTcGFuID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG47XG4gICAgICBpZiAociA9PT0gdm9pZCAwICYmIChyID0ge30pLCBaZShlLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZVVybHMpKSB7XG4gICAgICAgIHRoaXMuX2RpYWcuZGVidWcoXCJpZ25vcmluZyBzcGFuIGFzIHVybCBtYXRjaGVzIGlnbm9yZWQgdXJsXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgdCA9IChyLm1ldGhvZCB8fCBcIkdFVFwiKS50b1VwcGVyQ2FzZSgpLCBpID0gXCJIVFRQIFwiICsgdDtcbiAgICAgIHJldHVybiB0aGlzLnRyYWNlci5zdGFydFNwYW4oaSwge1xuICAgICAgICBraW5kOiBWZS5DTElFTlQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IChuID0ge30sIG5beS5DT01QT05FTlRdID0gdGhpcy5tb2R1bGVOYW1lLCBuW1FBXSA9IHQsIG5beEFdID0gZSwgbilcbiAgICAgIH0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9maW5kUmVzb3VyY2VBbmRBZGROZXR3b3JrRXZlbnRzID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSByLmVudHJpZXM7XG4gICAgICBpZiAoIXQubGVuZ3RoKSB7XG4gICAgICAgIGlmICghcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwicmVzb3VyY2VcIik7XG4gICAgICB9XG4gICAgICB2YXIgaSA9IGIkMShyLnNwYW5VcmwsIHIuc3RhcnRUaW1lLCBuLCB0LCB0aGlzLl91c2VkUmVzb3VyY2VzLCBcImZldGNoXCIpO1xuICAgICAgaWYgKGkubWFpblJlcXVlc3QpIHtcbiAgICAgICAgdmFyIHMgPSBpLm1haW5SZXF1ZXN0O1xuICAgICAgICB0aGlzLl9tYXJrUmVzb3VyY2VBc1VzZWQocyk7XG4gICAgICAgIHZhciBmID0gaS5jb3JzUHJlRmxpZ2h0UmVxdWVzdDtcbiAgICAgICAgZiAmJiAodGhpcy5fYWRkQ2hpbGRTcGFuKGUsIGYpLCB0aGlzLl9tYXJrUmVzb3VyY2VBc1VzZWQoZikpLCB4KGUsIHMsIHRoaXMuZ2V0Q29uZmlnKCkuaWdub3JlTmV0d29ya0V2ZW50cyk7XG4gICAgICB9XG4gICAgfSwgby5wcm90b3R5cGUuX21hcmtSZXNvdXJjZUFzVXNlZCA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHRoaXMuX3VzZWRSZXNvdXJjZXMuYWRkKGUpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9lbmRTcGFuID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gTyhEYXRlLm5vdygpKSwgcyA9IHBfKCk7XG4gICAgICB0aGlzLl9hZGRGaW5hbFNwYW5BdHRyaWJ1dGVzKGUsIG4pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZjtcbiAgICAgICAgKGYgPSByLm9ic2VydmVyKSA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgfHwgZi5kaXNjb25uZWN0KCksIHQuX2ZpbmRSZXNvdXJjZUFuZEFkZE5ldHdvcmtFdmVudHMoZSwgciwgcyksIHQuX3Rhc2tzQ291bnQtLSwgdC5fY2xlYXJSZXNvdXJjZXMoKSwgZS5lbmQoaSk7XG4gICAgICB9LCB2ZSk7XG4gICAgfSwgby5wcm90b3R5cGUuX3BhdGNoQ29uc3RydWN0b3IgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBlID0gdGhpcztcbiAgICAgIHJldHVybiBmdW5jdGlvbihyKSB7XG4gICAgICAgIHZhciBuID0gZTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSBbXSwgcyA9IDA7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspXG4gICAgICAgICAgICBpW3NdID0gYXJndW1lbnRzW3NdO1xuICAgICAgICAgIHZhciBmID0gdGhpcywgdSA9IFIoaVswXSBpbnN0YW5jZW9mIFJlcXVlc3QgPyBpWzBdLnVybCA6IFN0cmluZyhpWzBdKSkuaHJlZiwgYyA9IGlbMF0gaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaVswXSA6IGlbMV0gfHwge30sIGggPSBuLl9jcmVhdGVTcGFuKHUsIGMpO1xuICAgICAgICAgIGlmICghaClcbiAgICAgICAgICAgIHJldHVybiByLmFwcGx5KHRoaXMsIGkpO1xuICAgICAgICAgIHZhciBtID0gbi5fcHJlcGFyZVNwYW5EYXRhKHUpO1xuICAgICAgICAgIG4uZ2V0Q29uZmlnKCkubWVhc3VyZVJlcXVlc3RTaXplICYmIHNlLmFwcGx5KHZvaWQgMCwgcGUoW10sIGhlKGkpLCAhMSkpLnRoZW4oZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbCAmJiBoLnNldEF0dHJpYnV0ZShTciwgbCk7XG4gICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbi5fZGlhZy53YXJuKFwiZ2V0RmV0Y2hCb2R5TGVuZ3RoXCIsIGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGZ1bmN0aW9uIEUobCwgZCkge1xuICAgICAgICAgICAgbi5fYXBwbHlBdHRyaWJ1dGVzQWZ0ZXJGZXRjaChsLCBjLCBkKSwgbi5fZW5kU3BhbihsLCBtLCB7XG4gICAgICAgICAgICAgIHN0YXR1czogZC5zdGF0dXMgfHwgMCxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5tZXNzYWdlLFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiB3KGwsIGQpIHtcbiAgICAgICAgICAgIG4uX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2gobCwgYywgZCksIGQuc3RhdHVzID49IDIwMCAmJiBkLnN0YXR1cyA8IDQwMCA/IG4uX2VuZFNwYW4obCwgbSwgZCkgOiBuLl9lbmRTcGFuKGwsIG0sIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBkLnN0YXR1cyxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiBNKGwsIGQsIHYpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBqID0gdi5jbG9uZSgpLCBEID0gdi5jbG9uZSgpLCBSID0gai5ib2R5O1xuICAgICAgICAgICAgICBpZiAoUikge1xuICAgICAgICAgICAgICAgIHZhciBCID0gUi5nZXRSZWFkZXIoKSwgQSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgQi5yZWFkKCkudGhlbihmdW5jdGlvbihnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBGID0gZy5kb25lO1xuICAgICAgICAgICAgICAgICAgICBGID8gdyhsLCBEKSA6IEEoKTtcbiAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGcpIHtcbiAgICAgICAgICAgICAgICAgICAgRShsLCBnKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQSgpO1xuICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICB3KGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gTChsLCBkLCB2KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBFKGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsIGQpIHtcbiAgICAgICAgICAgIHJldHVybiB2ZSQxLndpdGgoRWUuc2V0U3Bhbih2ZSQxLmFjdGl2ZSgpLCBoKSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuLl9hZGRIZWFkZXJzKGMsIHUpLCBuLl90YXNrc0NvdW50KyssIHIuYXBwbHkoZiwgYyBpbnN0YW5jZW9mIFJlcXVlc3QgPyBbY10gOiBbdSwgY10pLnRoZW4oTS5iaW5kKGYsIGgsIGwpLCBMLmJpbmQoZiwgaCwgZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0sIG8ucHJvdG90eXBlLl9hcHBseUF0dHJpYnV0ZXNBZnRlckZldGNoID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gdGhpcy5nZXRDb25maWcoKS5hcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW47XG4gICAgICBpICYmIEYoZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpKGUsIHIsIG4pO1xuICAgICAgfSwgZnVuY3Rpb24ocykge1xuICAgICAgICBzICYmIHQuX2RpYWcuZXJyb3IoXCJhcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW5cIiwgcyk7XG4gICAgICB9LCAhMCk7XG4gICAgfSwgby5wcm90b3R5cGUuX3ByZXBhcmVTcGFuRGF0YSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHZhciByID0gcF8oKSwgbiA9IFtdO1xuICAgICAgaWYgKHR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyICE9IFwiZnVuY3Rpb25cIilcbiAgICAgICAgcmV0dXJuIHsgZW50cmllczogbiwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgICB2YXIgdCA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGkpIHtcbiAgICAgICAgdmFyIHMgPSBpLmdldEVudHJpZXMoKTtcbiAgICAgICAgcy5mb3JFYWNoKGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgICBmLmluaXRpYXRvclR5cGUgPT09IFwiZmV0Y2hcIiAmJiBmLm5hbWUgPT09IGUgJiYgbi5wdXNoKGYpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHQub2JzZXJ2ZSh7XG4gICAgICAgIGVudHJ5VHlwZXM6IFtcInJlc291cmNlXCJdXG4gICAgICB9KSwgeyBlbnRyaWVzOiBuLCBvYnNlcnZlcjogdCwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgfSwgby5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoSCkge1xuICAgICAgICB0aGlzLl9kaWFnLndhcm4oXCJ0aGlzIGluc3RydW1lbnRhdGlvbiBpcyBpbnRlbmRlZCBmb3Igd2ViIHVzYWdlIG9ubHksIGl0IGRvZXMgbm90IGluc3RydW1lbnQgTm9kZS5qcydzIGZldGNoKClcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIEgkMShmZXRjaCkgJiYgKHRoaXMuX3Vud3JhcChsLCBcImZldGNoXCIpLCB0aGlzLl9kaWFnLmRlYnVnKFwicmVtb3ZpbmcgcHJldmlvdXMgcGF0Y2ggZm9yIGNvbnN0cnVjdG9yXCIpKSwgdGhpcy5fd3JhcChsLCBcImZldGNoXCIsIHRoaXMuX3BhdGNoQ29uc3RydWN0b3IoKSk7XG4gICAgfSwgby5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgSCB8fCAodGhpcy5fdW53cmFwKGwsIFwiZmV0Y2hcIiksIHRoaXMuX3VzZWRSZXNvdXJjZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtTZXQoKSk7XG4gICAgfSwgbztcbiAgfShZKVxuKTtcblxuZXhwb3J0IHsgYmUgYXMgRmV0Y2hJbnN0cnVtZW50YXRpb24gfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUFBLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUFDLFNBQVM7QUFDNUcsU0FBUyxLQUFBQyxHQUFHLEtBQUtDLEdBQUssS0FBQUMsU0FBUztBQUMvQixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFBQyxHQUFHLEtBQUFDLEdBQUcsS0FBQUMsR0FBRyxLQUFBQyxHQUFHLEtBQUtDLFVBQVc7QUFDckMsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQU0sS0FBS0MsVUFBVTtBQUU1QyxJQUFJQztBQUFBLENBQ0gsU0FBU0MsR0FBRztBQUNYLEVBQUFBLEVBQUUsWUFBWSxhQUFhQSxFQUFFLGtCQUFrQixtQkFBbUJBLEVBQUUsbUJBQW1CO0FBQ3pGLEdBQUdELE1BQU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlFLEtBQUssU0FBU0QsR0FBR0UsR0FBR0MsR0FBRzVCLEdBQUc7QUFDNUIsV0FBUzZCLEVBQUVDLEdBQUc7QUFDWixXQUFPQSxhQUFhRixJQUFJRSxJQUFJLElBQUlGLEVBQUUsU0FBU0csR0FBRztBQUM1QyxNQUFBQSxFQUFFRCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBS0YsTUFBTUEsSUFBSSxVQUFVLFNBQVNFLEdBQUdDLEdBQUc7QUFDN0MsYUFBU1osRUFBRWEsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFF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WSxDQUFDLFVBQVU7QUFBQSxNQUN6QixDQUFDLEdBQUcsRUFBRSxTQUFTRCxHQUFHLFVBQVVDLEdBQUcsV0FBVzlCLEdBQUcsU0FBUzRCLEVBQUU7QUFBQSxJQUMxRCxHQUFHRCxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLFVBQUl3QixHQUFHO0FBQ0wsYUFBSyxNQUFNLEtBQUssK0ZBQStGO0FBQy9HO0FBQUEsTUFDRjtBQUNBLE1BQUF0QyxFQUFJLEtBQUssTUFBTSxLQUFLLFFBQVFFLEdBQUcsT0FBTyxHQUFHLEtBQUssTUFBTSxNQUFNLHlDQUF5QyxJQUFJLEtBQUssTUFBTUEsR0FBRyxTQUFTLEtBQUssa0JBQWtCLENBQUM7QUFBQSxJQUN4SixHQUFHWSxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUF3QixNQUFNLEtBQUssUUFBUXBDLEdBQUcsT0FBTyxHQUFHLEtBQUssaUJBQWlDLG9CQUFJLFFBQVE7QUFBQSxJQUNwRixHQUFHWTtBQUFBLEVBQ0wsRUFBRWIsQ0FBQztBQUFBOyIsCiAgIm5hbWVzIjogWyJyIiwgImpBIiwgInFBIiwgIlpBIiwgInpBIiwgInlfIiwgIlplIiwgIlFBIiwgInhBIiwgInBfIiwgIlNyIiwgIk8iLCAiRiIsICJIJDEiLCAiWSIsICJsIiwgIlQiLCAieCIsICJSIiwgInMiLCAiYiQxIiwgIkVlIiwgInZlJDEiLCAiVmUiLCAieSIsICJhIiwgIm5lIiwgIm8iLCAiZSIsICJuIiwgInQiLCAiaSIsICJjIiwgImgiLCAiZiIsICJhZSIsICJpZSIsICJvZSIsICJVIiwgInNlIiwgInVlIiwgImZlIiwgImIiLCAibGUiLCAiY2UiLCAiayIsICJkZSIsICJoZSIsICJwZSIsICJTIiwgInZlIiwgIkgiLCAiYmUiLCAidSIsICJtIiwgIkUiLCAiZCIsICJNIiwgInYiLCAiaiIsICJEIiwgIkIiLCAiQSIsICJnIiwgIkwiXQp9Cg==
|