@adobe/helix-rum-enhancer 2.46.1 → 2.46.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.46.2](https://github.com/adobe/helix-rum-enhancer/compare/v2.46.1...v2.46.2) (2026-04-13)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add checks:write permission for test-summary action ([5131293](https://github.com/adobe/helix-rum-enhancer/commit/51312932163dcb3ccc233172f42952bd597740a6))
7
+
1
8
  ## [2.46.1](https://github.com/adobe/helix-rum-enhancer/compare/v2.46.0...v2.46.1) (2026-04-13)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/helix-rum-enhancer",
3
- "version": "2.46.1",
3
+ "version": "2.46.2",
4
4
  "description": "Helix RUM Enhancer",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -60,11 +60,11 @@
60
60
  "lint-staged": "16.4.0",
61
61
  "mocha": "11.7.5",
62
62
  "mocha-multi-reporters": "1.5.1",
63
- "rollup": "4.60.0",
63
+ "rollup": "4.60.1",
64
64
  "rollup-plugin-eslint-bundle": "9.0.0",
65
65
  "semantic-release": "25.0.3",
66
66
  "semantic-release-slack-bot": "^4.0.2",
67
- "web-vitals": "5.1.0"
67
+ "web-vitals": "5.2.0"
68
68
  },
69
69
  "lint-staged": {
70
70
  "*.js": "eslint",
@@ -18,26 +18,23 @@
18
18
  }, true);
19
19
  },
20
20
  i = (e, t, n, i) => {
21
- let s, r;
22
- return o => {
23
- t.value >= 0 && (o || i) && (r = t.value - (s ?? 0), (r || void 0 === s) && (s = t.value, t.delta = r, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)));
21
+ let s, o;
22
+ return r => {
23
+ t.value >= 0 && (r || i) && (o = t.value - (s ?? 0), (o || void 0 === s) && (s = t.value, t.delta = o, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)));
24
24
  };
25
25
  },
26
26
  s = e => {
27
- requestAnimationFrame(() => requestAnimationFrame(() => e()));
27
+ requestAnimationFrame(() => requestAnimationFrame(e));
28
28
  },
29
- r = () => {
29
+ o = () => {
30
30
  const e = performance.getEntriesByType("navigation")[0];
31
31
  if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e;
32
32
  },
33
- o = () => {
34
- const e = r();
35
- return e?.activationStart ?? 0;
36
- },
33
+ r = () => o()?.activationStart ?? 0,
37
34
  c = (e, n = -1) => {
38
- const i = r();
35
+ const i = o();
39
36
  let s = "navigate";
40
- t >= 0 ? s = "back-forward-cache" : i && (document.prerendering || o() > 0 ? s = "prerender" : document.wasDiscarded ? s = "restore" : i.type && (s = i.type.replace(/_/g, "-")));
37
+ t >= 0 ? s = "back-forward-cache" : i && (document.prerendering || r() > 0 ? s = "prerender" : document.wasDiscarded ? s = "restore" : i.type && (s = i.type.replace(/_/g, "-")));
41
38
  return {
42
39
  name: e,
43
40
  value: n,
@@ -67,7 +64,7 @@
67
64
  try {
68
65
  if (PerformanceObserver.supportedEntryTypes.includes(e)) {
69
66
  const i = new PerformanceObserver(e => {
70
- Promise.resolve().then(() => {
67
+ queueMicrotask(() => {
71
68
  t(e.getEntries());
72
69
  });
73
70
  });
@@ -79,34 +76,34 @@
79
76
  }
80
77
  } catch {}
81
78
  },
82
- u = e => {
79
+ l = e => {
83
80
  let t = false;
84
81
  return () => {
85
82
  t || (e(), t = true);
86
83
  };
87
84
  };
88
- let l = -1;
85
+ let u = -1;
89
86
  const m = new Set(),
90
- v = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
91
- p = e => {
87
+ g = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
88
+ v = e => {
92
89
  if ("hidden" === document.visibilityState) {
93
90
  if ("visibilitychange" === e.type) for (const e of m) e();
94
- isFinite(l) || (l = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", p, true));
91
+ isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", v, true));
95
92
  }
96
93
  },
97
- g = () => {
98
- if (l < 0) {
99
- const e = o(),
100
- t = document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").filter(t => "hidden" === t.name && t.startTime > e)[0]?.startTime;
101
- l = t ?? v(), addEventListener("visibilitychange", p, true), addEventListener("prerenderingchange", p, true), n(() => {
94
+ p = () => {
95
+ if (u < 0) {
96
+ const e = r(),
97
+ t = document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").find(t => "hidden" === t.name && t.startTime >= e)?.startTime;
98
+ u = t ?? g(), addEventListener("visibilitychange", v, true), addEventListener("prerenderingchange", v, true), n(() => {
102
99
  setTimeout(() => {
103
- l = v();
100
+ u = g();
104
101
  });
105
102
  });
106
103
  }
107
104
  return {
108
105
  get firstHiddenTime() {
109
- return l;
106
+ return u;
110
107
  },
111
108
  onHidden(e) {
112
109
  m.add(e);
@@ -114,80 +111,86 @@
114
111
  };
115
112
  },
116
113
  y = e => {
117
- document.prerendering ? addEventListener("prerenderingchange", () => e(), true) : e();
114
+ document.prerendering ? addEventListener("prerenderingchange", e, true) : e();
118
115
  },
119
- b = [1800, 3e3],
120
- E = (e, t = {}) => {
116
+ T = [1800, 3e3],
117
+ b = (e, t = {}) => {
121
118
  y(() => {
122
- const r = g();
119
+ const o = p();
123
120
  let a,
124
121
  d = c("FCP");
125
122
  const h = f("paint", e => {
126
- for (const t of e) "first-contentful-paint" === t.name && (h.disconnect(), t.startTime < r.firstHiddenTime && (d.value = Math.max(t.startTime - o(), 0), d.entries.push(t), a(true)));
123
+ for (const t of e) "first-contentful-paint" === t.name && (h.disconnect(), t.startTime < o.firstHiddenTime && (d.value = Math.max(t.startTime - r(), 0), d.entries.push(t), a(true)));
127
124
  });
128
- h && (a = i(e, d, b, t.reportAllChanges), n(n => {
129
- d = c("FCP"), a = i(e, d, b, t.reportAllChanges), s(() => {
125
+ h && (a = i(e, d, T, t.reportAllChanges), n(n => {
126
+ d = c("FCP"), a = i(e, d, T, t.reportAllChanges), s(() => {
130
127
  d.value = performance.now() - n.timeStamp, a(true);
131
128
  });
132
129
  }));
133
130
  });
134
131
  },
135
- L = [.1, .25];
136
- let P = 0,
137
- T = 1 / 0,
132
+ E = [.1, .25];
133
+ let L = 0,
134
+ P = 1 / 0,
138
135
  _ = 0;
139
136
  const M = e => {
140
- for (const t of e) t.interactionId && (T = Math.min(T, t.interactionId), _ = Math.max(_, t.interactionId), P = _ ? (_ - T) / 7 + 1 : 0);
137
+ for (const t of e) t.interactionId && (P = Math.min(P, t.interactionId), _ = Math.max(_, t.interactionId), L = _ ? (_ - P) / 7 + 1 : 0);
141
138
  };
142
139
  let w;
143
- const C = () => w ? P : performance.interactionCount ?? 0,
140
+ const C = () => w ? L : performance.interactionCount ?? 0,
144
141
  I = () => {
145
142
  "interactionCount" in performance || w || (w = f("event", M, {
146
- type: "event",
147
- buffered: true,
148
143
  durationThreshold: 0
149
144
  }));
150
145
  };
151
146
  let F = 0;
152
147
  class k {
153
- u = [];
154
- l = new Map();
148
+ l = [];
149
+ u = new Map();
155
150
  m;
156
151
  v;
157
152
  p() {
158
- F = C(), this.u.length = 0, this.l.clear();
153
+ F = C(), this.l.length = 0, this.u.clear();
159
154
  }
160
- L() {
161
- const e = Math.min(this.u.length - 1, Math.floor((C() - F) / 50));
162
- return this.u[e];
155
+ T() {
156
+ const e = Math.min(this.l.length - 1, Math.floor((C() - F) / 50));
157
+ return this.l[e];
163
158
  }
164
159
  h(e) {
165
160
  if (this.m?.(e), !e.interactionId && "first-input" !== e.entryType) return;
166
- const t = this.u.at(-1);
167
- let n = this.l.get(e.interactionId);
168
- if (n || this.u.length < 10 || e.duration > t.P) {
169
- if (n ? e.duration > n.P ? (n.entries = [e], n.P = e.duration) : e.duration === n.P && e.startTime === n.entries[0].startTime && n.entries.push(e) : (n = {
161
+ const t = this.l.at(-1);
162
+ let n = this.u.get(e.interactionId);
163
+ if (n || this.l.length < 10 || e.duration > t.L) {
164
+ if (n ? e.duration > n.L ? (n.entries = [e], n.L = e.duration) : e.duration === n.L && e.startTime === n.entries[0].startTime && n.entries.push(e) : (n = {
170
165
  id: e.interactionId,
171
166
  entries: [e],
172
- P: e.duration
173
- }, this.l.set(n.id, n), this.u.push(n)), this.u.sort((e, t) => t.P - e.P), this.u.length > 10) {
174
- const e = this.u.splice(10);
175
- for (const t of e) this.l.delete(t.id);
167
+ L: e.duration
168
+ }, this.u.set(n.id, n), this.l.push(n)), this.l.sort((e, t) => t.L - e.L), this.l.length > 10) {
169
+ const e = this.l.splice(10);
170
+ for (const t of e) this.u.delete(t.id);
176
171
  }
177
172
  this.v?.(n);
178
173
  }
179
174
  }
180
175
  }
181
176
  const A = e => {
182
- const t = globalThis.requestIdleCallback || setTimeout;
183
- "hidden" === document.visibilityState ? e() : (e = u(e), addEventListener("visibilitychange", e, {
184
- once: true,
185
- capture: true
186
- }), t(() => {
187
- e(), removeEventListener("visibilitychange", e, {
177
+ const t = globalThis.requestIdleCallback || setTimeout,
178
+ n = globalThis.cancelIdleCallback || clearTimeout;
179
+ if ("hidden" === document.visibilityState) e();else {
180
+ const i = l(e);
181
+ let s = -1;
182
+ const o = () => {
183
+ n(s), i();
184
+ };
185
+ addEventListener("visibilitychange", o, {
186
+ once: true,
188
187
  capture: true
188
+ }), s = t(() => {
189
+ removeEventListener("visibilitychange", o, {
190
+ capture: true
191
+ }), i();
189
192
  });
190
- }));
193
+ }
191
194
  },
192
195
  B = [200, 500];
193
196
  class S {
@@ -196,81 +199,81 @@
196
199
  this.m?.(e);
197
200
  }
198
201
  }
199
- const N = [2500, 4e3],
200
- q = [800, 1800],
202
+ const q = [2500, 4e3],
203
+ N = [800, 1800],
201
204
  H = e => {
202
205
  document.prerendering ? y(() => H(e)) : "complete" !== document.readyState ? addEventListener("load", () => H(e), true) : setTimeout(e);
203
206
  };
204
- return e.CLSThresholds = L, e.FCPThresholds = b, e.INPThresholds = B, e.LCPThresholds = N, e.TTFBThresholds = q, e.onCLS = (e, t = {}) => {
205
- const r = g();
206
- E(u(() => {
207
- let o,
207
+ return e.CLSThresholds = E, e.FCPThresholds = T, e.INPThresholds = B, e.LCPThresholds = q, e.TTFBThresholds = N, e.onCLS = (e, t = {}) => {
208
+ const o = p();
209
+ b(l(() => {
210
+ let r,
208
211
  a = c("CLS", 0);
209
- const u = d(t, h),
210
- l = e => {
211
- for (const t of e) u.h(t);
212
- u.i > a.value && (a.value = u.i, a.entries = u.o, o());
212
+ const l = d(t, h),
213
+ u = e => {
214
+ for (const t of e) l.h(t);
215
+ l.i > a.value && (a.value = l.i, a.entries = l.o, r());
213
216
  },
214
- m = f("layout-shift", l);
215
- m && (o = i(e, a, L, t.reportAllChanges), r.onHidden(() => {
216
- l(m.takeRecords()), o(true);
217
+ m = f("layout-shift", u);
218
+ m && (r = i(e, a, E, t.reportAllChanges), o.onHidden(() => {
219
+ u(m.takeRecords()), r(true);
217
220
  }), n(() => {
218
- u.i = 0, a = c("CLS", 0), o = i(e, a, L, t.reportAllChanges), s(() => o());
219
- }), setTimeout(o));
221
+ l.i = 0, a = c("CLS", 0), r = i(e, a, E, t.reportAllChanges), s(r);
222
+ }), setTimeout(r));
220
223
  }));
221
- }, e.onFCP = E, e.onINP = (e, t = {}) => {
224
+ }, e.onFCP = b, e.onINP = (e, t = {}) => {
222
225
  if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
223
- const s = g();
226
+ const s = p();
224
227
  y(() => {
225
228
  I();
226
- let r,
227
- o = c("INP");
229
+ let o,
230
+ r = c("INP");
228
231
  const a = d(t, k),
229
232
  h = e => {
230
233
  A(() => {
231
234
  for (const t of e) a.h(t);
232
- const t = a.L();
233
- t && t.P !== o.value && (o.value = t.P, o.entries = t.entries, r());
235
+ const t = a.T();
236
+ t && t.L !== r.value && (r.value = t.L, r.entries = t.entries, o());
234
237
  });
235
238
  },
236
- u = f("event", h, {
239
+ l = f("event", h, {
237
240
  durationThreshold: t.durationThreshold ?? 40
238
241
  });
239
- r = i(e, o, B, t.reportAllChanges), u && (u.observe({
242
+ o = i(e, r, B, t.reportAllChanges), l && (l.observe({
240
243
  type: "first-input",
241
244
  buffered: true
242
245
  }), s.onHidden(() => {
243
- h(u.takeRecords()), r(true);
246
+ h(l.takeRecords()), o(true);
244
247
  }), n(() => {
245
- a.p(), o = c("INP"), r = i(e, o, B, t.reportAllChanges);
248
+ a.p(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
246
249
  }));
247
250
  });
248
251
  }, e.onLCP = (e, t = {}) => {
249
252
  y(() => {
250
- const r = g();
253
+ const o = p();
251
254
  let a,
252
255
  h = c("LCP");
253
- const l = d(t, S),
256
+ const u = d(t, S),
254
257
  m = e => {
255
258
  t.reportAllChanges || (e = e.slice(-1));
256
- for (const t of e) l.h(t), t.startTime < r.firstHiddenTime && (h.value = Math.max(t.startTime - o(), 0), h.entries = [t], a());
259
+ for (const t of e) u.h(t), t.startTime < o.firstHiddenTime && (h.value = Math.max(t.startTime - r(), 0), h.entries = [t], a());
257
260
  },
258
- v = f("largest-contentful-paint", m);
259
- if (v) {
260
- a = i(e, h, N, t.reportAllChanges);
261
- const r = u(() => {
262
- m(v.takeRecords()), v.disconnect(), a(true);
261
+ g = f("largest-contentful-paint", m);
262
+ if (g) {
263
+ a = i(e, h, q, t.reportAllChanges);
264
+ const o = l(() => {
265
+ m(g.takeRecords()), g.disconnect(), a(true);
263
266
  }),
264
- o = e => {
265
- e.isTrusted && (A(r), removeEventListener(e.type, o, {
267
+ r = e => {
268
+ e.isTrusted && (A(o), removeEventListener(e.type, r, {
266
269
  capture: true
267
270
  }));
268
271
  };
269
- for (const e of ["keydown", "click", "visibilitychange"]) addEventListener(e, o, {
272
+ for (const e of ["keydown", "click", "visibilitychange"]) addEventListener(e, r, {
270
273
  capture: true
271
274
  });
272
275
  n(n => {
273
- h = c("LCP"), a = i(e, h, N, t.reportAllChanges), s(() => {
276
+ h = c("LCP"), a = i(e, h, q, t.reportAllChanges), s(() => {
274
277
  h.value = performance.now() - n.timeStamp, a(true);
275
278
  });
276
279
  });
@@ -278,11 +281,11 @@
278
281
  });
279
282
  }, e.onTTFB = (e, t = {}) => {
280
283
  let s = c("TTFB"),
281
- a = i(e, s, q, t.reportAllChanges);
284
+ a = i(e, s, N, t.reportAllChanges);
282
285
  H(() => {
283
- const d = r();
284
- d && (s.value = Math.max(d.responseStart - o(), 0), s.entries = [d], a(true), n(() => {
285
- s = c("TTFB", 0), a = i(e, s, q, t.reportAllChanges), a(true);
286
+ const d = o();
287
+ d && (s.value = Math.max(d.responseStart - r(), 0), s.entries = [d], a(true), n(() => {
288
+ s = c("TTFB", 0), a = i(e, s, N, t.reportAllChanges), a(true);
286
289
  }));
287
290
  });
288
291
  }, e;
@@ -18,26 +18,23 @@
18
18
  }, true);
19
19
  },
20
20
  i = (e, t, n, i) => {
21
- let s, r;
22
- return o => {
23
- t.value >= 0 && (o || i) && (r = t.value - (s ?? 0), (r || void 0 === s) && (s = t.value, t.delta = r, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)));
21
+ let s, o;
22
+ return r => {
23
+ t.value >= 0 && (r || i) && (o = t.value - (s ?? 0), (o || void 0 === s) && (s = t.value, t.delta = o, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, n), e(t)));
24
24
  };
25
25
  },
26
26
  s = e => {
27
- requestAnimationFrame(() => requestAnimationFrame(() => e()));
27
+ requestAnimationFrame(() => requestAnimationFrame(e));
28
28
  },
29
- r = () => {
29
+ o = () => {
30
30
  const e = performance.getEntriesByType("navigation")[0];
31
31
  if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e;
32
32
  },
33
- o = () => {
34
- const e = r();
35
- return e?.activationStart ?? 0;
36
- },
33
+ r = () => o()?.activationStart ?? 0,
37
34
  c = (e, n = -1) => {
38
- const i = r();
35
+ const i = o();
39
36
  let s = "navigate";
40
- t >= 0 ? s = "back-forward-cache" : i && (document.prerendering || o() > 0 ? s = "prerender" : document.wasDiscarded ? s = "restore" : i.type && (s = i.type.replace(/_/g, "-")));
37
+ t >= 0 ? s = "back-forward-cache" : i && (document.prerendering || r() > 0 ? s = "prerender" : document.wasDiscarded ? s = "restore" : i.type && (s = i.type.replace(/_/g, "-")));
41
38
  return {
42
39
  name: e,
43
40
  value: n,
@@ -67,7 +64,7 @@
67
64
  try {
68
65
  if (PerformanceObserver.supportedEntryTypes.includes(e)) {
69
66
  const i = new PerformanceObserver(e => {
70
- Promise.resolve().then(() => {
67
+ queueMicrotask(() => {
71
68
  t(e.getEntries());
72
69
  });
73
70
  });
@@ -79,34 +76,34 @@
79
76
  }
80
77
  } catch {}
81
78
  },
82
- u = e => {
79
+ l = e => {
83
80
  let t = false;
84
81
  return () => {
85
82
  t || (e(), t = true);
86
83
  };
87
84
  };
88
- let l = -1;
85
+ let u = -1;
89
86
  const m = new Set(),
90
- v = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
91
- p = e => {
87
+ g = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
88
+ v = e => {
92
89
  if ("hidden" === document.visibilityState) {
93
90
  if ("visibilitychange" === e.type) for (const e of m) e();
94
- isFinite(l) || (l = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", p, true));
91
+ isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", v, true));
95
92
  }
96
93
  },
97
- g = () => {
98
- if (l < 0) {
99
- const e = o(),
100
- t = document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").filter(t => "hidden" === t.name && t.startTime > e)[0]?.startTime;
101
- l = t ?? v(), addEventListener("visibilitychange", p, true), addEventListener("prerenderingchange", p, true), n(() => {
94
+ p = () => {
95
+ if (u < 0) {
96
+ const e = r(),
97
+ t = document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").find(t => "hidden" === t.name && t.startTime >= e)?.startTime;
98
+ u = t ?? g(), addEventListener("visibilitychange", v, true), addEventListener("prerenderingchange", v, true), n(() => {
102
99
  setTimeout(() => {
103
- l = v();
100
+ u = g();
104
101
  });
105
102
  });
106
103
  }
107
104
  return {
108
105
  get firstHiddenTime() {
109
- return l;
106
+ return u;
110
107
  },
111
108
  onHidden(e) {
112
109
  m.add(e);
@@ -114,80 +111,86 @@
114
111
  };
115
112
  },
116
113
  y = e => {
117
- document.prerendering ? addEventListener("prerenderingchange", () => e(), true) : e();
114
+ document.prerendering ? addEventListener("prerenderingchange", e, true) : e();
118
115
  },
119
- b = [1800, 3e3],
120
- E = (e, t = {}) => {
116
+ T = [1800, 3e3],
117
+ b = (e, t = {}) => {
121
118
  y(() => {
122
- const r = g();
119
+ const o = p();
123
120
  let a,
124
121
  d = c("FCP");
125
122
  const h = f("paint", e => {
126
- for (const t of e) "first-contentful-paint" === t.name && (h.disconnect(), t.startTime < r.firstHiddenTime && (d.value = Math.max(t.startTime - o(), 0), d.entries.push(t), a(true)));
123
+ for (const t of e) "first-contentful-paint" === t.name && (h.disconnect(), t.startTime < o.firstHiddenTime && (d.value = Math.max(t.startTime - r(), 0), d.entries.push(t), a(true)));
127
124
  });
128
- h && (a = i(e, d, b, t.reportAllChanges), n(n => {
129
- d = c("FCP"), a = i(e, d, b, t.reportAllChanges), s(() => {
125
+ h && (a = i(e, d, T, t.reportAllChanges), n(n => {
126
+ d = c("FCP"), a = i(e, d, T, t.reportAllChanges), s(() => {
130
127
  d.value = performance.now() - n.timeStamp, a(true);
131
128
  });
132
129
  }));
133
130
  });
134
131
  },
135
- L = [.1, .25];
136
- let P = 0,
137
- T = 1 / 0,
132
+ E = [.1, .25];
133
+ let L = 0,
134
+ P = 1 / 0,
138
135
  _ = 0;
139
136
  const M = e => {
140
- for (const t of e) t.interactionId && (T = Math.min(T, t.interactionId), _ = Math.max(_, t.interactionId), P = _ ? (_ - T) / 7 + 1 : 0);
137
+ for (const t of e) t.interactionId && (P = Math.min(P, t.interactionId), _ = Math.max(_, t.interactionId), L = _ ? (_ - P) / 7 + 1 : 0);
141
138
  };
142
139
  let w;
143
- const C = () => w ? P : performance.interactionCount ?? 0,
140
+ const C = () => w ? L : performance.interactionCount ?? 0,
144
141
  I = () => {
145
142
  "interactionCount" in performance || w || (w = f("event", M, {
146
- type: "event",
147
- buffered: true,
148
143
  durationThreshold: 0
149
144
  }));
150
145
  };
151
146
  let F = 0;
152
147
  class k {
153
- u = [];
154
- l = new Map();
148
+ l = [];
149
+ u = new Map();
155
150
  m;
156
151
  v;
157
152
  p() {
158
- F = C(), this.u.length = 0, this.l.clear();
153
+ F = C(), this.l.length = 0, this.u.clear();
159
154
  }
160
- L() {
161
- const e = Math.min(this.u.length - 1, Math.floor((C() - F) / 50));
162
- return this.u[e];
155
+ T() {
156
+ const e = Math.min(this.l.length - 1, Math.floor((C() - F) / 50));
157
+ return this.l[e];
163
158
  }
164
159
  h(e) {
165
160
  if (this.m?.(e), !e.interactionId && "first-input" !== e.entryType) return;
166
- const t = this.u.at(-1);
167
- let n = this.l.get(e.interactionId);
168
- if (n || this.u.length < 10 || e.duration > t.P) {
169
- if (n ? e.duration > n.P ? (n.entries = [e], n.P = e.duration) : e.duration === n.P && e.startTime === n.entries[0].startTime && n.entries.push(e) : (n = {
161
+ const t = this.l.at(-1);
162
+ let n = this.u.get(e.interactionId);
163
+ if (n || this.l.length < 10 || e.duration > t.L) {
164
+ if (n ? e.duration > n.L ? (n.entries = [e], n.L = e.duration) : e.duration === n.L && e.startTime === n.entries[0].startTime && n.entries.push(e) : (n = {
170
165
  id: e.interactionId,
171
166
  entries: [e],
172
- P: e.duration
173
- }, this.l.set(n.id, n), this.u.push(n)), this.u.sort((e, t) => t.P - e.P), this.u.length > 10) {
174
- const e = this.u.splice(10);
175
- for (const t of e) this.l.delete(t.id);
167
+ L: e.duration
168
+ }, this.u.set(n.id, n), this.l.push(n)), this.l.sort((e, t) => t.L - e.L), this.l.length > 10) {
169
+ const e = this.l.splice(10);
170
+ for (const t of e) this.u.delete(t.id);
176
171
  }
177
172
  this.v?.(n);
178
173
  }
179
174
  }
180
175
  }
181
176
  const A = e => {
182
- const t = globalThis.requestIdleCallback || setTimeout;
183
- "hidden" === document.visibilityState ? e() : (e = u(e), addEventListener("visibilitychange", e, {
184
- once: true,
185
- capture: true
186
- }), t(() => {
187
- e(), removeEventListener("visibilitychange", e, {
177
+ const t = globalThis.requestIdleCallback || setTimeout,
178
+ n = globalThis.cancelIdleCallback || clearTimeout;
179
+ if ("hidden" === document.visibilityState) e();else {
180
+ const i = l(e);
181
+ let s = -1;
182
+ const o = () => {
183
+ n(s), i();
184
+ };
185
+ addEventListener("visibilitychange", o, {
186
+ once: true,
188
187
  capture: true
188
+ }), s = t(() => {
189
+ removeEventListener("visibilitychange", o, {
190
+ capture: true
191
+ }), i();
189
192
  });
190
- }));
193
+ }
191
194
  },
192
195
  B = [200, 500];
193
196
  class S {
@@ -196,81 +199,81 @@
196
199
  this.m?.(e);
197
200
  }
198
201
  }
199
- const N = [2500, 4e3],
200
- q = [800, 1800],
202
+ const q = [2500, 4e3],
203
+ N = [800, 1800],
201
204
  H = e => {
202
205
  document.prerendering ? y(() => H(e)) : "complete" !== document.readyState ? addEventListener("load", () => H(e), true) : setTimeout(e);
203
206
  };
204
- return e.CLSThresholds = L, e.FCPThresholds = b, e.INPThresholds = B, e.LCPThresholds = N, e.TTFBThresholds = q, e.onCLS = (e, t = {}) => {
205
- const r = g();
206
- E(u(() => {
207
- let o,
207
+ return e.CLSThresholds = E, e.FCPThresholds = T, e.INPThresholds = B, e.LCPThresholds = q, e.TTFBThresholds = N, e.onCLS = (e, t = {}) => {
208
+ const o = p();
209
+ b(l(() => {
210
+ let r,
208
211
  a = c("CLS", 0);
209
- const u = d(t, h),
210
- l = e => {
211
- for (const t of e) u.h(t);
212
- u.i > a.value && (a.value = u.i, a.entries = u.o, o());
212
+ const l = d(t, h),
213
+ u = e => {
214
+ for (const t of e) l.h(t);
215
+ l.i > a.value && (a.value = l.i, a.entries = l.o, r());
213
216
  },
214
- m = f("layout-shift", l);
215
- m && (o = i(e, a, L, t.reportAllChanges), r.onHidden(() => {
216
- l(m.takeRecords()), o(true);
217
+ m = f("layout-shift", u);
218
+ m && (r = i(e, a, E, t.reportAllChanges), o.onHidden(() => {
219
+ u(m.takeRecords()), r(true);
217
220
  }), n(() => {
218
- u.i = 0, a = c("CLS", 0), o = i(e, a, L, t.reportAllChanges), s(() => o());
219
- }), setTimeout(o));
221
+ l.i = 0, a = c("CLS", 0), r = i(e, a, E, t.reportAllChanges), s(r);
222
+ }), setTimeout(r));
220
223
  }));
221
- }, e.onFCP = E, e.onINP = (e, t = {}) => {
224
+ }, e.onFCP = b, e.onINP = (e, t = {}) => {
222
225
  if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
223
- const s = g();
226
+ const s = p();
224
227
  y(() => {
225
228
  I();
226
- let r,
227
- o = c("INP");
229
+ let o,
230
+ r = c("INP");
228
231
  const a = d(t, k),
229
232
  h = e => {
230
233
  A(() => {
231
234
  for (const t of e) a.h(t);
232
- const t = a.L();
233
- t && t.P !== o.value && (o.value = t.P, o.entries = t.entries, r());
235
+ const t = a.T();
236
+ t && t.L !== r.value && (r.value = t.L, r.entries = t.entries, o());
234
237
  });
235
238
  },
236
- u = f("event", h, {
239
+ l = f("event", h, {
237
240
  durationThreshold: t.durationThreshold ?? 40
238
241
  });
239
- r = i(e, o, B, t.reportAllChanges), u && (u.observe({
242
+ o = i(e, r, B, t.reportAllChanges), l && (l.observe({
240
243
  type: "first-input",
241
244
  buffered: true
242
245
  }), s.onHidden(() => {
243
- h(u.takeRecords()), r(true);
246
+ h(l.takeRecords()), o(true);
244
247
  }), n(() => {
245
- a.p(), o = c("INP"), r = i(e, o, B, t.reportAllChanges);
248
+ a.p(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
246
249
  }));
247
250
  });
248
251
  }, e.onLCP = (e, t = {}) => {
249
252
  y(() => {
250
- const r = g();
253
+ const o = p();
251
254
  let a,
252
255
  h = c("LCP");
253
- const l = d(t, S),
256
+ const u = d(t, S),
254
257
  m = e => {
255
258
  t.reportAllChanges || (e = e.slice(-1));
256
- for (const t of e) l.h(t), t.startTime < r.firstHiddenTime && (h.value = Math.max(t.startTime - o(), 0), h.entries = [t], a());
259
+ for (const t of e) u.h(t), t.startTime < o.firstHiddenTime && (h.value = Math.max(t.startTime - r(), 0), h.entries = [t], a());
257
260
  },
258
- v = f("largest-contentful-paint", m);
259
- if (v) {
260
- a = i(e, h, N, t.reportAllChanges);
261
- const r = u(() => {
262
- m(v.takeRecords()), v.disconnect(), a(true);
261
+ g = f("largest-contentful-paint", m);
262
+ if (g) {
263
+ a = i(e, h, q, t.reportAllChanges);
264
+ const o = l(() => {
265
+ m(g.takeRecords()), g.disconnect(), a(true);
263
266
  }),
264
- o = e => {
265
- e.isTrusted && (A(r), removeEventListener(e.type, o, {
267
+ r = e => {
268
+ e.isTrusted && (A(o), removeEventListener(e.type, r, {
266
269
  capture: true
267
270
  }));
268
271
  };
269
- for (const e of ["keydown", "click", "visibilitychange"]) addEventListener(e, o, {
272
+ for (const e of ["keydown", "click", "visibilitychange"]) addEventListener(e, r, {
270
273
  capture: true
271
274
  });
272
275
  n(n => {
273
- h = c("LCP"), a = i(e, h, N, t.reportAllChanges), s(() => {
276
+ h = c("LCP"), a = i(e, h, q, t.reportAllChanges), s(() => {
274
277
  h.value = performance.now() - n.timeStamp, a(true);
275
278
  });
276
279
  });
@@ -278,11 +281,11 @@
278
281
  });
279
282
  }, e.onTTFB = (e, t = {}) => {
280
283
  let s = c("TTFB"),
281
- a = i(e, s, q, t.reportAllChanges);
284
+ a = i(e, s, N, t.reportAllChanges);
282
285
  H(() => {
283
- const d = r();
284
- d && (s.value = Math.max(d.responseStart - o(), 0), s.entries = [d], a(true), n(() => {
285
- s = c("TTFB", 0), a = i(e, s, q, t.reportAllChanges), a(true);
286
+ const d = o();
287
+ d && (s.value = Math.max(d.responseStart - r(), 0), s.entries = [d], a(true), n(() => {
288
+ s = c("TTFB", 0), a = i(e, s, N, t.reportAllChanges), a(true);
286
289
  }));
287
290
  });
288
291
  }, e;
@@ -337,4 +340,4 @@ function addCWVTracking({
337
340
  }
338
341
 
339
342
  export { addCWVTracking as default };
340
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2xldCB0PS0xO2NvbnN0IG49ZT0+e2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLChuPT57bi5wZXJzaXN0ZWQmJih0PW4udGltZVN0YW1wLGUobikpfSksITApfSxpPShlLHQsbixpKT0+e2xldCBzLHI7cmV0dXJuIG89Pnt0LnZhbHVlPj0wJiYob3x8aSkmJihyPXQudmFsdWUtKHM/PzApLChyfHx2b2lkIDA9PT1zKSYmKHM9dC52YWx1ZSx0LmRlbHRhPXIsdC5yYXRpbmc9KChlLHQpPT5lPnRbMV0/XCJwb29yXCI6ZT50WzBdP1wibmVlZHMtaW1wcm92ZW1lbnRcIjpcImdvb2RcIikodC52YWx1ZSxuKSxlKHQpKSl9fSxzPWU9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT5lKCkpKSkpfSxyPSgpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxvPSgpPT57Y29uc3QgZT1yKCk7cmV0dXJuIGU/LmFjdGl2YXRpb25TdGFydD8/MH0sYz0oZSxuPS0xKT0+e2NvbnN0IGk9cigpO2xldCBzPVwibmF2aWdhdGVcIjt0Pj0wP3M9XCJiYWNrLWZvcndhcmQtY2FjaGVcIjppJiYoZG9jdW1lbnQucHJlcmVuZGVyaW5nfHxvKCk+MD9zPVwicHJlcmVuZGVyXCI6ZG9jdW1lbnQud2FzRGlzY2FyZGVkP3M9XCJyZXN0b3JlXCI6aS50eXBlJiYocz1pLnR5cGUucmVwbGFjZSgvXy9nLFwiLVwiKSkpO3JldHVybntuYW1lOmUsdmFsdWU6bixyYXRpbmc6XCJnb29kXCIsZGVsdGE6MCxlbnRyaWVzOltdLGlkOmB2NS0ke0RhdGUubm93KCl9LSR7TWF0aC5mbG9vcig4OTk5OTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKzFlMTJ9YCxuYXZpZ2F0aW9uVHlwZTpzfX0sYT1uZXcgV2Vha01hcDtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEuZ2V0KGUpfHxhLnNldChlLG5ldyB0KSxhLmdldChlKX1jbGFzcyBoe3Q7aT0wO289W107aChlKXtpZihlLmhhZFJlY2VudElucHV0KXJldHVybjtjb25zdCB0PXRoaXMub1swXSxuPXRoaXMuby5hdCgtMSk7dGhpcy5pJiZ0JiZuJiZlLnN0YXJ0VGltZS1uLnN0YXJ0VGltZTwxZTMmJmUuc3RhcnRUaW1lLXQuc3RhcnRUaW1lPDVlMz8odGhpcy5pKz1lLnZhbHVlLHRoaXMuby5wdXNoKGUpKToodGhpcy5pPWUudmFsdWUsdGhpcy5vPVtlXSksdGhpcy50Py4oZSl9fWNvbnN0IGY9KGUsdCxuPXt9KT0+e3RyeXtpZihQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoZSkpe2NvbnN0IGk9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGU9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3QoZS5nZXRFbnRyaWVzKCkpfSkpfSkpO3JldHVybiBpLm9ic2VydmUoe3R5cGU6ZSxidWZmZXJlZDohMCwuLi5ufSksaX19Y2F0Y2h7fX0sdT1lPT57bGV0IHQ9ITE7cmV0dXJuKCk9Pnt0fHwoZSgpLHQ9ITApfX07bGV0IGw9LTE7Y29uc3QgbT1uZXcgU2V0LHY9KCk9PlwiaGlkZGVuXCIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGV8fGRvY3VtZW50LnByZXJlbmRlcmluZz8xLzA6MCxwPWU9PntpZihcImhpZGRlblwiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlKXtpZihcInZpc2liaWxpdHljaGFuZ2VcIj09PWUudHlwZSlmb3IoY29uc3QgZSBvZiBtKWUoKTtpc0Zpbml0ZShsKXx8KGw9XCJ2aXNpYmlsaXR5Y2hhbmdlXCI9PT1lLnR5cGU/ZS50aW1lU3RhbXA6MCxyZW1vdmVFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIscCwhMCkpfX0sZz0oKT0+e2lmKGw8MCl7Y29uc3QgZT1vKCksdD1kb2N1bWVudC5wcmVyZW5kZXJpbmc/dm9pZCAwOmdsb2JhbFRoaXMucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShcInZpc2liaWxpdHktc3RhdGVcIikuZmlsdGVyKCh0PT5cImhpZGRlblwiPT09dC5uYW1lJiZ0LnN0YXJ0VGltZT5lKSlbMF0/LnN0YXJ0VGltZTtsPXQ/P3YoKSxhZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLHAsITApLGFkZEV2ZW50TGlzdGVuZXIoXCJwcmVyZW5kZXJpbmdjaGFuZ2VcIixwLCEwKSxuKCgoKT0+e3NldFRpbWVvdXQoKCgpPT57bD12KCl9KSl9KSl9cmV0dXJue2dldCBmaXJzdEhpZGRlblRpbWUoKXtyZXR1cm4gbH0sb25IaWRkZW4oZSl7bS5hZGQoZSl9fX0seT1lPT57ZG9jdW1lbnQucHJlcmVuZGVyaW5nP2FkZEV2ZW50TGlzdGVuZXIoXCJwcmVyZW5kZXJpbmdjaGFuZ2VcIiwoKCk9PmUoKSksITApOmUoKX0sYj1bMTgwMCwzZTNdLEU9KGUsdD17fSk9Pnt5KCgoKT0+e2NvbnN0IHI9ZygpO2xldCBhLGQ9YyhcIkZDUFwiKTtjb25zdCBoPWYoXCJwYWludFwiLChlPT57Zm9yKGNvbnN0IHQgb2YgZSlcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PXQubmFtZSYmKGguZGlzY29ubmVjdCgpLHQuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoZC52YWx1ZT1NYXRoLm1heCh0LnN0YXJ0VGltZS1vKCksMCksZC5lbnRyaWVzLnB1c2godCksYSghMCkpKX0pKTtoJiYoYT1pKGUsZCxiLHQucmVwb3J0QWxsQ2hhbmdlcyksbigobj0+e2Q9YyhcIkZDUFwiKSxhPWkoZSxkLGIsdC5yZXBvcnRBbGxDaGFuZ2VzKSxzKCgoKT0+e2QudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktbi50aW1lU3RhbXAsYSghMCl9KSl9KSkpfSkpfSxMPVsuMSwuMjVdO2xldCBQPTAsVD0xLzAsXz0wO2NvbnN0IE09ZT0+e2Zvcihjb25zdCB0IG9mIGUpdC5pbnRlcmFjdGlvbklkJiYoVD1NYXRoLm1pbihULHQuaW50ZXJhY3Rpb25JZCksXz1NYXRoLm1heChfLHQuaW50ZXJhY3Rpb25JZCksUD1fPyhfLVQpLzcrMTowKX07bGV0IHc7Y29uc3QgQz0oKT0+dz9QOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnQ/PzAsST0oKT0+e1wiaW50ZXJhY3Rpb25Db3VudFwiaW4gcGVyZm9ybWFuY2V8fHd8fCh3PWYoXCJldmVudFwiLE0se3R5cGU6XCJldmVudFwiLGJ1ZmZlcmVkOiEwLGR1cmF0aW9uVGhyZXNob2xkOjB9KSl9O2xldCBGPTA7Y2xhc3Mga3t1PVtdO2w9bmV3IE1hcDttO3Y7cCgpe0Y9QygpLHRoaXMudS5sZW5ndGg9MCx0aGlzLmwuY2xlYXIoKX1MKCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLnUubGVuZ3RoLTEsTWF0aC5mbG9vcigoQygpLUYpLzUwKSk7cmV0dXJuIHRoaXMudVtlXX1oKGUpe2lmKHRoaXMubT8uKGUpLCFlLmludGVyYWN0aW9uSWQmJlwiZmlyc3QtaW5wdXRcIiE9PWUuZW50cnlUeXBlKXJldHVybjtjb25zdCB0PXRoaXMudS5hdCgtMSk7bGV0IG49dGhpcy5sLmdldChlLmludGVyYWN0aW9uSWQpO2lmKG58fHRoaXMudS5sZW5ndGg8MTB8fGUuZHVyYXRpb24+dC5QKXtpZihuP2UuZHVyYXRpb24+bi5QPyhuLmVudHJpZXM9W2VdLG4uUD1lLmR1cmF0aW9uKTplLmR1cmF0aW9uPT09bi5QJiZlLnN0YXJ0VGltZT09PW4uZW50cmllc1swXS5zdGFydFRpbWUmJm4uZW50cmllcy5wdXNoKGUpOihuPXtpZDplLmludGVyYWN0aW9uSWQsZW50cmllczpbZV0sUDplLmR1cmF0aW9ufSx0aGlzLmwuc2V0KG4uaWQsbiksdGhpcy51LnB1c2gobikpLHRoaXMudS5zb3J0KCgoZSx0KT0+dC5QLWUuUCkpLHRoaXMudS5sZW5ndGg+MTApe2NvbnN0IGU9dGhpcy51LnNwbGljZSgxMCk7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLmwuZGVsZXRlKHQuaWQpfXRoaXMudj8uKG4pfX19Y29uc3QgQT1lPT57Y29uc3QgdD1nbG9iYWxUaGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2t8fHNldFRpbWVvdXQ7XCJoaWRkZW5cIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT9lKCk6KGU9dShlKSxhZGRFdmVudExpc3RlbmVyKFwidmlzaWJpbGl0eWNoYW5nZVwiLGUse29uY2U6ITAsY2FwdHVyZTohMH0pLHQoKCgpPT57ZSgpLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsZSx7Y2FwdHVyZTohMH0pfSkpKX0sQj1bMjAwLDUwMF07Y2xhc3MgU3ttO2goZSl7dGhpcy5tPy4oZSl9fWNvbnN0IE49WzI1MDAsNGUzXSxxPVs4MDAsMTgwMF0sSD1lPT57ZG9jdW1lbnQucHJlcmVuZGVyaW5nP3koKCgpPT5IKGUpKSk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCgoKT0+SChlKSksITApOnNldFRpbWVvdXQoZSl9O3JldHVybiBlLkNMU1RocmVzaG9sZHM9TCxlLkZDUFRocmVzaG9sZHM9YixlLklOUFRocmVzaG9sZHM9QixlLkxDUFRocmVzaG9sZHM9TixlLlRURkJUaHJlc2hvbGRzPXEsZS5vbkNMUz0oZSx0PXt9KT0+e2NvbnN0IHI9ZygpO0UodSgoKCk9PntsZXQgbyxhPWMoXCJDTFNcIiwwKTtjb25zdCB1PWQodCxoKSxsPWU9Pntmb3IoY29uc3QgdCBvZiBlKXUuaCh0KTt1Lmk+YS52YWx1ZSYmKGEudmFsdWU9dS5pLGEuZW50cmllcz11Lm8sbygpKX0sbT1mKFwibGF5b3V0LXNoaWZ0XCIsbCk7bSYmKG89aShlLGEsTCx0LnJlcG9ydEFsbENoYW5nZXMpLHIub25IaWRkZW4oKCgpPT57bChtLnRha2VSZWNvcmRzKCkpLG8oITApfSkpLG4oKCgpPT57dS5pPTAsYT1jKFwiQ0xTXCIsMCksbz1pKGUsYSxMLHQucmVwb3J0QWxsQ2hhbmdlcykscygoKCk9Pm8oKSkpfSkpLHNldFRpbWVvdXQobykpfSkpKX0sZS5vbkZDUD1FLGUub25JTlA9KGUsdD17fSk9PntpZighZ2xvYmFsVGhpcy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nfHwhKFwiaW50ZXJhY3Rpb25JZFwiaW4gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5wcm90b3R5cGUpKXJldHVybjtjb25zdCBzPWcoKTt5KCgoKT0+e0koKTtsZXQgcixvPWMoXCJJTlBcIik7Y29uc3QgYT1kKHQsayksaD1lPT57QSgoKCk9Pntmb3IoY29uc3QgdCBvZiBlKWEuaCh0KTtjb25zdCB0PWEuTCgpO3QmJnQuUCE9PW8udmFsdWUmJihvLnZhbHVlPXQuUCxvLmVudHJpZXM9dC5lbnRyaWVzLHIoKSl9KSl9LHU9ZihcImV2ZW50XCIsaCx7ZHVyYXRpb25UaHJlc2hvbGQ6dC5kdXJhdGlvblRocmVzaG9sZD8/NDB9KTtyPWkoZSxvLEIsdC5yZXBvcnRBbGxDaGFuZ2VzKSx1JiYodS5vYnNlcnZlKHt0eXBlOlwiZmlyc3QtaW5wdXRcIixidWZmZXJlZDohMH0pLHMub25IaWRkZW4oKCgpPT57aCh1LnRha2VSZWNvcmRzKCkpLHIoITApfSkpLG4oKCgpPT57YS5wKCksbz1jKFwiSU5QXCIpLHI9aShlLG8sQix0LnJlcG9ydEFsbENoYW5nZXMpfSkpKX0pKX0sZS5vbkxDUD0oZSx0PXt9KT0+e3koKCgpPT57Y29uc3Qgcj1nKCk7bGV0IGEsaD1jKFwiTENQXCIpO2NvbnN0IGw9ZCh0LFMpLG09ZT0+e3QucmVwb3J0QWxsQ2hhbmdlc3x8KGU9ZS5zbGljZSgtMSkpO2Zvcihjb25zdCB0IG9mIGUpbC5oKHQpLHQuc3RhcnRUaW1lPHIuZmlyc3RIaWRkZW5UaW1lJiYoaC52YWx1ZT1NYXRoLm1heCh0LnN0YXJ0VGltZS1vKCksMCksaC5lbnRyaWVzPVt0XSxhKCkpfSx2PWYoXCJsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRcIixtKTtpZih2KXthPWkoZSxoLE4sdC5yZXBvcnRBbGxDaGFuZ2VzKTtjb25zdCByPXUoKCgpPT57bSh2LnRha2VSZWNvcmRzKCkpLHYuZGlzY29ubmVjdCgpLGEoITApfSkpLG89ZT0+e2UuaXNUcnVzdGVkJiYoQShyKSxyZW1vdmVFdmVudExpc3RlbmVyKGUudHlwZSxvLHtjYXB0dXJlOiEwfSkpfTtmb3IoY29uc3QgZSBvZltcImtleWRvd25cIixcImNsaWNrXCIsXCJ2aXNpYmlsaXR5Y2hhbmdlXCJdKWFkZEV2ZW50TGlzdGVuZXIoZSxvLHtjYXB0dXJlOiEwfSk7bigobj0+e2g9YyhcIkxDUFwiKSxhPWkoZSxoLE4sdC5yZXBvcnRBbGxDaGFuZ2VzKSxzKCgoKT0+e2gudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktbi50aW1lU3RhbXAsYSghMCl9KSl9KSl9fSkpfSxlLm9uVFRGQj0oZSx0PXt9KT0+e2xldCBzPWMoXCJUVEZCXCIpLGE9aShlLHMscSx0LnJlcG9ydEFsbENoYW5nZXMpO0goKCgpPT57Y29uc3QgZD1yKCk7ZCYmKHMudmFsdWU9TWF0aC5tYXgoZC5yZXNwb25zZVN0YXJ0LW8oKSwwKSxzLmVudHJpZXM9W2RdLGEoITApLG4oKCgpPT57cz1jKFwiVFRGQlwiLDApLGE9aShlLHMscSx0LnJlcG9ydEFsbENoYW5nZXMpLGEoITApfSkpKX0pKX0sZX0oe30pO1xuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcywgaW1wb3J0L25vLXJlbGF0aXZlLXBhY2thZ2VzLCBuby11bnVzZWQtdmFyc1xuaW1wb3J0ICogYXMgd2ViVml0YWxzIGZyb20gJy4uL25vZGVfbW9kdWxlcy93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWRkQ1dWVHJhY2tpbmcoe1xuICBzYW1wbGVSVU0sIHNvdXJjZVNlbGVjdG9yLCB0YXJnZXRTZWxlY3RvciwgZmZsYWdzLFxufSkge1xuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3d2U2NyaXB0ID0gbmV3IFVSTCgnLnJ1bS93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJywgc2FtcGxlUlVNLmJhc2VVUkwpLmhyZWY7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc2NyaXB0W3NyYz1cIiR7Y3d2U2NyaXB0fVwiXWApKSB7XG4gICAgICAgIC8vIHdlYiB2aXRhbHMgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCBhbHJlYWR5XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9IGN3dlNjcmlwdDtcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlQ1dWID0gKG1lYXN1cmVtZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHsgY3d2OiB7fSB9O1xuICAgICAgICAgIGRhdGEuY3d2W21lYXN1cmVtZW50Lm5hbWVdID0gbWVhc3VyZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKG1lYXN1cmVtZW50Lm5hbWUgPT09ICdMQ1AnICYmIG1lYXN1cmVtZW50LmVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgeyBlbGVtZW50IH0gPSBtZWFzdXJlbWVudC5lbnRyaWVzLnBvcCgpO1xuICAgICAgICAgICAgZGF0YS50YXJnZXQgPSB0YXJnZXRTZWxlY3RvcihlbGVtZW50KTtcbiAgICAgICAgICAgIGRhdGEuc291cmNlID0gc291cmNlU2VsZWN0b3IoZWxlbWVudCkgfHwgKGVsZW1lbnQgJiYgZWxlbWVudC5vdXRlckhUTUwuc2xpY2UoMCwgMzApKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2FtcGxlUlVNKCdjd3YnLCBkYXRhKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc0VhZ2VyID0gKG1ldHJpYykgPT4gWydDTFMnLCAnTENQJ10uaW5jbHVkZXMobWV0cmljKTtcblxuICAgICAgICAvLyBXaGVuIGxvYWRpbmcgYHdlYi12aXRhbHNgIHVzaW5nIGEgY2xhc3NpYyBzY3JpcHQsIGFsbCB0aGUgcHVibGljXG4gICAgICAgIC8vIG1ldGhvZHMgY2FuIGJlIGZvdW5kIG9uIHRoZSBgd2ViVml0YWxzYCBnbG9iYWwgbmFtZXNwYWNlLlxuICAgICAgICBbJ0lOUCcsICdUVEZCJywgJ0NMUycsICdMQ1AnXS5mb3JFYWNoKChtZXRyaWMpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRyaWNGbiA9IHdpbmRvdy53ZWJWaXRhbHNbYG9uJHttZXRyaWN9YF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBtZXRyaWNGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IG9wdHMgPSB7fTtcbiAgICAgICAgICAgIGZmbGFncy5lbmFibGVkKCdlYWdlcmN3dicsICgpID0+IHtcbiAgICAgICAgICAgICAgb3B0cyA9IHsgcmVwb3J0QWxsQ2hhbmdlczogaXNFYWdlcihtZXRyaWMpIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG1ldHJpY0ZuKHN0b3JlQ1dWLCBvcHRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgIC8qIGM4IGlnbm9yZSBuZXh0IDMgKi9cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gc29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgICB9XG4gIH0sIDIwMDApOyAvLyB3YWl0IGZvciBkZWxheWVkXG59XG4iXSwibmFtZXMiOlsiZSIsInQiLCJuIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsImkiLCJzIiwiciIsIm8iLCJ2YWx1ZSIsImRlbHRhIiwicmF0aW5nIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsImFjdGl2YXRpb25TdGFydCIsImMiLCJkb2N1bWVudCIsInByZXJlbmRlcmluZyIsIndhc0Rpc2NhcmRlZCIsInR5cGUiLCJyZXBsYWNlIiwibmFtZSIsImVudHJpZXMiLCJpZCIsIkRhdGUiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJuYXZpZ2F0aW9uVHlwZSIsImEiLCJXZWFrTWFwIiwiZCIsImdldCIsInNldCIsImgiLCJoYWRSZWNlbnRJbnB1dCIsImF0Iiwic3RhcnRUaW1lIiwicHVzaCIsImYiLCJQZXJmb3JtYW5jZU9ic2VydmVyIiwic3VwcG9ydGVkRW50cnlUeXBlcyIsImluY2x1ZGVzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiZ2V0RW50cmllcyIsIm9ic2VydmUiLCJidWZmZXJlZCIsInUiLCJsIiwibSIsIlNldCIsInYiLCJ2aXNpYmlsaXR5U3RhdGUiLCJwIiwiaXNGaW5pdGUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZyIsImdsb2JhbFRoaXMiLCJmaWx0ZXIiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwib25IaWRkZW4iLCJhZGQiLCJ5IiwiYiIsIkUiLCJkaXNjb25uZWN0IiwibWF4IiwicmVwb3J0QWxsQ2hhbmdlcyIsIkwiLCJQIiwiVCIsIl8iLCJNIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsInciLCJDIiwiaW50ZXJhY3Rpb25Db3VudCIsIkkiLCJkdXJhdGlvblRocmVzaG9sZCIsIkYiLCJrIiwiTWFwIiwibGVuZ3RoIiwiY2xlYXIiLCJlbnRyeVR5cGUiLCJkdXJhdGlvbiIsInNvcnQiLCJzcGxpY2UiLCJkZWxldGUiLCJBIiwicmVxdWVzdElkbGVDYWxsYmFjayIsIm9uY2UiLCJjYXB0dXJlIiwiQiIsIlMiLCJOIiwicSIsIkgiLCJyZWFkeVN0YXRlIiwiQ0xTVGhyZXNob2xkcyIsIkZDUFRocmVzaG9sZHMiLCJJTlBUaHJlc2hvbGRzIiwiTENQVGhyZXNob2xkcyIsIlRURkJUaHJlc2hvbGRzIiwib25DTFMiLCJ0YWtlUmVjb3JkcyIsIm9uRkNQIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwib25MQ1AiLCJzbGljZSIsImlzVHJ1c3RlZCIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJ0YXJnZXQiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwiZm9yRWFjaCIsIm1ldHJpY0ZuIiwid2luZG93Iiwid2ViVml0YWxzIiwib3B0cyIsImVuYWJsZWQiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Q0FBYyxVQUFTQSxDQUFDLEVBQUM7O0VBQWMsSUFBSUMsQ0FBQyxHQUFDLEVBQUU7RUFBQyxNQUFNQyxDQUFDLEdBQUNGLENBQUMsSUFBRTtBQUFDRyxNQUFBQSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUVELENBQUMsSUFBRTtBQUFDQSxRQUFBQSxDQUFDLENBQUNFLFNBQVMsS0FBR0gsQ0FBQyxHQUFDQyxDQUFDLENBQUNHLFNBQVMsRUFBQ0wsQ0FBQyxDQUFDRSxDQUFDLENBQUMsQ0FBQztNQUFBLENBQUMsRUFBRSxJQUFFLENBQUM7SUFBQSxDQUFDO0lBQUNJLENBQUMsR0FBQ0EsQ0FBQ04sQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0ksQ0FBQyxLQUFHO01BQUMsSUFBSUMsQ0FBQyxFQUFDQyxDQUFDO0FBQUMsTUFBQSxPQUFPQyxDQUFDLElBQUU7QUFBQ1IsUUFBQUEsQ0FBQyxDQUFDUyxLQUFLLElBQUUsQ0FBQyxLQUFHRCxDQUFDLElBQUVILENBQUMsQ0FB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V0FBVyxDQUFDL0gsS0FBSztBQUM5QyxVQUFBLElBQUkrSCxXQUFXLENBQUNoSCxJQUFJLEtBQUssS0FBSyxJQUFJZ0gsV0FBVyxDQUFDL0csT0FBTyxDQUFDZ0UsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRSxNQUFNO0FBQUVrRCxjQUFBQTtBQUFRLGFBQUMsR0FBR0gsV0FBVyxDQUFDL0csT0FBTyxDQUFDbUgsR0FBRyxFQUFFO0FBQzdDSCxZQUFBQSxJQUFJLENBQUNJLE1BQU0sR0FBR2pCLGNBQWMsQ0FBQ2UsT0FBTyxDQUFDO0FBQ3JDRixZQUFBQSxJQUFJLENBQUNLLE1BQU0sR0FBR25CLGNBQWMsQ0FBQ2dCLE9BQU8sQ0FBQyxJQUFLQSxPQUFPLElBQUlBLE9BQU8sQ0FBQ0ksU0FBUyxDQUFDekIsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUU7QUFDdEYsVUFBQTtBQUNBSSxVQUFBQSxTQUFTLENBQUMsS0FBSyxFQUFFZSxJQUFJLENBQUM7UUFDeEIsQ0FBQztBQUVELFFBQUEsTUFBTU8sT0FBTyxHQUFJQyxNQUFNLElBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUNwRyxRQUFRLENBQUNvRyxNQUFNLENBQUM7QUFJM0QsUUFBQSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDQyxPQUFPLENBQUVELE1BQU0sSUFBSztVQUNoRCxNQUFNRSxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLENBQUEsRUFBQSxFQUFLSixNQUFNLENBQUEsQ0FBRSxDQUFDO0FBQ2hELFVBQUEsSUFBSSxPQUFPRSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2xDLElBQUlHLElBQUksR0FBRyxFQUFFO0FBQ2J6QixZQUFBQSxNQUFNLENBQUMwQixPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU07QUFDL0JELGNBQUFBLElBQUksR0FBRztnQkFBRTdFLGdCQUFnQixFQUFFdUUsT0FBTyxDQUFDQyxNQUFNO2VBQUc7QUFDOUMsWUFBQSxDQUFDLENBQUM7QUFDRkUsWUFBQUEsUUFBUSxDQUFDWixRQUFRLEVBQUVlLElBQUksQ0FBQztBQUMxQixVQUFBO0FBQ0YsUUFBQSxDQUFDLENBQUM7TUFDSixDQUFDO0FBQ0RuSSxNQUFBQSxRQUFRLENBQUNxSSxJQUFJLENBQUNDLFdBQVcsQ0FBQ3RCLE1BQU0sQ0FBQztBQUVuQyxJQUFBLENBQUMsQ0FBQyxPQUFPdUIsS0FBSyxFQUFFLENBRWhCO0VBQ0YsQ0FBQyxFQUFFLElBQUksQ0FBQztBQUNWOzs7OyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswXX0=
343
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2xldCB0PS0xO2NvbnN0IG49ZT0+e2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLG49PntuLnBlcnNpc3RlZCYmKHQ9bi50aW1lU3RhbXAsZShuKSl9LCEwKX0saT0oZSx0LG4saSk9PntsZXQgcyxvO3JldHVybiByPT57dC52YWx1ZT49MCYmKHJ8fGkpJiYobz10LnZhbHVlLShzPz8wKSwob3x8dm9pZCAwPT09cykmJihzPXQudmFsdWUsdC5kZWx0YT1vLHQucmF0aW5nPSgoZSx0KT0+ZT50WzFdP1wicG9vclwiOmU+dFswXT9cIm5lZWRzLWltcHJvdmVtZW50XCI6XCJnb29kXCIpKHQudmFsdWUsbiksZSh0KSkpfX0scz1lPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpfSxvPSgpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxyPSgpPT5vKCk/LmFjdGl2YXRpb25TdGFydD8/MCxjPShlLG49LTEpPT57Y29uc3QgaT1vKCk7bGV0IHM9XCJuYXZpZ2F0ZVwiO3Q+PTA/cz1cImJhY2stZm9yd2FyZC1jYWNoZVwiOmkmJihkb2N1bWVudC5wcmVyZW5kZXJpbmd8fHIoKT4wP3M9XCJwcmVyZW5kZXJcIjpkb2N1bWVudC53YXNEaXNjYXJkZWQ/cz1cInJlc3RvcmVcIjppLnR5cGUmJihzPWkudHlwZS5yZXBsYWNlKC9fL2csXCItXCIpKSk7cmV0dXJue25hbWU6ZSx2YWx1ZTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6YHY1LSR7RGF0ZS5ub3coKX0tJHtNYXRoLmZsb29yKDg5OTk5OTk5OTk5OTkqTWF0aC5yYW5kb20oKSkrMWUxMn1gLG5hdmlnYXRpb25UeXBlOnN9fSxhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4gYS5nZXQoZSl8fGEuc2V0KGUsbmV3IHQpLGEuZ2V0KGUpfWNsYXNzIGh7dDtpPTA7bz1bXTtoKGUpe2lmKGUuaGFkUmVjZW50SW5wdXQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5vWzBdLG49dGhpcy5vLmF0KC0xKTt0aGlzLmkmJnQmJm4mJmUuc3RhcnRUaW1lLW4uc3RhcnRUaW1lPDFlMyYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8NWUzPyh0aGlzLmkrPWUudmFsdWUsdGhpcy5vLnB1c2goZSkpOih0aGlzLmk9ZS52YWx1ZSx0aGlzLm89W2VdKSx0aGlzLnQ/LihlKX19Y29uc3QgZj0oZSx0LG49e30pPT57dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7Y29uc3QgaT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlPT57cXVldWVNaWNyb3Rhc2soKCk9Pnt0KGUuZ2V0RW50cmllcygpKX0pfSk7cmV0dXJuIGkub2JzZXJ2ZSh7dHlwZTplLGJ1ZmZlcmVkOiEwLC4uLm59KSxpfX1jYXRjaHt9fSxsPWU9PntsZXQgdD0hMTtyZXR1cm4oKT0+e3R8fChlKCksdD0hMCl9fTtsZXQgdT0tMTtjb25zdCBtPW5ldyBTZXQsZz0oKT0+XCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowLHY9ZT0+e2lmKFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpe2lmKFwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlKWZvcihjb25zdCBlIG9mIG0pZSgpO2lzRmluaXRlKHUpfHwodT1cInZpc2liaWxpdHljaGFuZ2VcIj09PWUudHlwZT9lLnRpbWVTdGFtcDowLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwcmVyZW5kZXJpbmdjaGFuZ2VcIix2LCEwKSl9fSxwPSgpPT57aWYodTwwKXtjb25zdCBlPXIoKSx0PWRvY3VtZW50LnByZXJlbmRlcmluZz92b2lkIDA6Z2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwidmlzaWJpbGl0eS1zdGF0ZVwiKS5maW5kKHQ9PlwiaGlkZGVuXCI9PT10Lm5hbWUmJnQuc3RhcnRUaW1lPj1lKT8uc3RhcnRUaW1lO3U9dD8/ZygpLGFkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsdiwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLHYsITApLG4oKCk9PntzZXRUaW1lb3V0KCgpPT57dT1nKCl9KX0pfXJldHVybntnZXQgZmlyc3RIaWRkZW5UaW1lKCl7cmV0dXJuIHV9LG9uSGlkZGVuKGUpe20uYWRkKGUpfX19LHk9ZT0+e2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsZSwhMCk6ZSgpfSxUPVsxODAwLDNlM10sYj0oZSx0PXt9KT0+e3koKCk9Pntjb25zdCBvPXAoKTtsZXQgYSxkPWMoXCJGQ1BcIik7Y29uc3QgaD1mKFwicGFpbnRcIixlPT57Zm9yKGNvbnN0IHQgb2YgZSlcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PXQubmFtZSYmKGguZGlzY29ubmVjdCgpLHQuc3RhcnRUaW1lPG8uZmlyc3RIaWRkZW5UaW1lJiYoZC52YWx1ZT1NYXRoLm1heCh0LnN0YXJ0VGltZS1yKCksMCksZC5lbnRyaWVzLnB1c2godCksYSghMCkpKX0pO2gmJihhPWkoZSxkLFQsdC5yZXBvcnRBbGxDaGFuZ2VzKSxuKG49PntkPWMoXCJGQ1BcIiksYT1pKGUsZCxULHQucmVwb3J0QWxsQ2hhbmdlcykscygoKT0+e2QudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktbi50aW1lU3RhbXAsYSghMCl9KX0pKX0pfSxFPVsuMSwuMjVdO2xldCBMPTAsUD0xLzAsXz0wO2NvbnN0IE09ZT0+e2Zvcihjb25zdCB0IG9mIGUpdC5pbnRlcmFjdGlvbklkJiYoUD1NYXRoLm1pbihQLHQuaW50ZXJhY3Rpb25JZCksXz1NYXRoLm1heChfLHQuaW50ZXJhY3Rpb25JZCksTD1fPyhfLVApLzcrMTowKX07bGV0IHc7Y29uc3QgQz0oKT0+dz9MOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnQ/PzAsST0oKT0+e1wiaW50ZXJhY3Rpb25Db3VudFwiaW4gcGVyZm9ybWFuY2V8fHd8fCh3PWYoXCJldmVudFwiLE0se2R1cmF0aW9uVGhyZXNob2xkOjB9KSl9O2xldCBGPTA7Y2xhc3Mga3tsPVtdO3U9bmV3IE1hcDttO3Y7cCgpe0Y9QygpLHRoaXMubC5sZW5ndGg9MCx0aGlzLnUuY2xlYXIoKX1UKCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLmwubGVuZ3RoLTEsTWF0aC5mbG9vcigoQygpLUYpLzUwKSk7cmV0dXJuIHRoaXMubFtlXX1oKGUpe2lmKHRoaXMubT8uKGUpLCFlLmludGVyYWN0aW9uSWQmJlwiZmlyc3QtaW5wdXRcIiE9PWUuZW50cnlUeXBlKXJldHVybjtjb25zdCB0PXRoaXMubC5hdCgtMSk7bGV0IG49dGhpcy51LmdldChlLmludGVyYWN0aW9uSWQpO2lmKG58fHRoaXMubC5sZW5ndGg8MTB8fGUuZHVyYXRpb24+dC5MKXtpZihuP2UuZHVyYXRpb24+bi5MPyhuLmVudHJpZXM9W2VdLG4uTD1lLmR1cmF0aW9uKTplLmR1cmF0aW9uPT09bi5MJiZlLnN0YXJ0VGltZT09PW4uZW50cmllc1swXS5zdGFydFRpbWUmJm4uZW50cmllcy5wdXNoKGUpOihuPXtpZDplLmludGVyYWN0aW9uSWQsZW50cmllczpbZV0sTDplLmR1cmF0aW9ufSx0aGlzLnUuc2V0KG4uaWQsbiksdGhpcy5sLnB1c2gobikpLHRoaXMubC5zb3J0KChlLHQpPT50LkwtZS5MKSx0aGlzLmwubGVuZ3RoPjEwKXtjb25zdCBlPXRoaXMubC5zcGxpY2UoMTApO2Zvcihjb25zdCB0IG9mIGUpdGhpcy51LmRlbGV0ZSh0LmlkKX10aGlzLnY/LihuKX19fWNvbnN0IEE9ZT0+e2NvbnN0IHQ9Z2xvYmFsVGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZXRUaW1lb3V0LG49Z2xvYmFsVGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2t8fGNsZWFyVGltZW91dDtpZihcImhpZGRlblwiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlKWUoKTtlbHNle2NvbnN0IGk9bChlKTtsZXQgcz0tMTtjb25zdCBvPSgpPT57bihzKSxpKCl9O2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsbyx7b25jZTohMCxjYXB0dXJlOiEwfSkscz10KCgpPT57cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixvLHtjYXB0dXJlOiEwfSksaSgpfSl9fSxCPVsyMDAsNTAwXTtjbGFzcyBTe207aChlKXt0aGlzLm0/LihlKX19Y29uc3QgcT1bMjUwMCw0ZTNdLE49WzgwMCwxODAwXSxIPWU9Pntkb2N1bWVudC5wcmVyZW5kZXJpbmc/eSgoKT0+SChlKSk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCgpPT5IKGUpLCEwKTpzZXRUaW1lb3V0KGUpfTtyZXR1cm4gZS5DTFNUaHJlc2hvbGRzPUUsZS5GQ1BUaHJlc2hvbGRzPVQsZS5JTlBUaHJlc2hvbGRzPUIsZS5MQ1BUaHJlc2hvbGRzPXEsZS5UVEZCVGhyZXNob2xkcz1OLGUub25DTFM9KGUsdD17fSk9Pntjb25zdCBvPXAoKTtiKGwoKCk9PntsZXQgcixhPWMoXCJDTFNcIiwwKTtjb25zdCBsPWQodCxoKSx1PWU9Pntmb3IoY29uc3QgdCBvZiBlKWwuaCh0KTtsLmk+YS52YWx1ZSYmKGEudmFsdWU9bC5pLGEuZW50cmllcz1sLm8scigpKX0sbT1mKFwibGF5b3V0LXNoaWZ0XCIsdSk7bSYmKHI9aShlLGEsRSx0LnJlcG9ydEFsbENoYW5nZXMpLG8ub25IaWRkZW4oKCk9Pnt1KG0udGFrZVJlY29yZHMoKSkscighMCl9KSxuKCgpPT57bC5pPTAsYT1jKFwiQ0xTXCIsMCkscj1pKGUsYSxFLHQucmVwb3J0QWxsQ2hhbmdlcykscyhyKX0pLHNldFRpbWVvdXQocikpfSkpfSxlLm9uRkNQPWIsZS5vbklOUD0oZSx0PXt9KT0+e2lmKCFnbG9iYWxUaGlzLlBlcmZvcm1hbmNlRXZlbnRUaW1pbmd8fCEoXCJpbnRlcmFjdGlvbklkXCJpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLnByb3RvdHlwZSkpcmV0dXJuO2NvbnN0IHM9cCgpO3koKCk9PntJKCk7bGV0IG8scj1jKFwiSU5QXCIpO2NvbnN0IGE9ZCh0LGspLGg9ZT0+e0EoKCk9Pntmb3IoY29uc3QgdCBvZiBlKWEuaCh0KTtjb25zdCB0PWEuVCgpO3QmJnQuTCE9PXIudmFsdWUmJihyLnZhbHVlPXQuTCxyLmVudHJpZXM9dC5lbnRyaWVzLG8oKSl9KX0sbD1mKFwiZXZlbnRcIixoLHtkdXJhdGlvblRocmVzaG9sZDp0LmR1cmF0aW9uVGhyZXNob2xkPz80MH0pO289aShlLHIsQix0LnJlcG9ydEFsbENoYW5nZXMpLGwmJihsLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSkscy5vbkhpZGRlbigoKT0+e2gobC50YWtlUmVjb3JkcygpKSxvKCEwKX0pLG4oKCk9PnthLnAoKSxyPWMoXCJJTlBcIiksbz1pKGUscixCLHQucmVwb3J0QWxsQ2hhbmdlcyl9KSl9KX0sZS5vbkxDUD0oZSx0PXt9KT0+e3koKCk9Pntjb25zdCBvPXAoKTtsZXQgYSxoPWMoXCJMQ1BcIik7Y29uc3QgdT1kKHQsUyksbT1lPT57dC5yZXBvcnRBbGxDaGFuZ2VzfHwoZT1lLnNsaWNlKC0xKSk7Zm9yKGNvbnN0IHQgb2YgZSl1LmgodCksdC5zdGFydFRpbWU8by5maXJzdEhpZGRlblRpbWUmJihoLnZhbHVlPU1hdGgubWF4KHQuc3RhcnRUaW1lLXIoKSwwKSxoLmVudHJpZXM9W3RdLGEoKSl9LGc9ZihcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLG0pO2lmKGcpe2E9aShlLGgscSx0LnJlcG9ydEFsbENoYW5nZXMpO2NvbnN0IG89bCgoKT0+e20oZy50YWtlUmVjb3JkcygpKSxnLmRpc2Nvbm5lY3QoKSxhKCEwKX0pLHI9ZT0+e2UuaXNUcnVzdGVkJiYoQShvKSxyZW1vdmVFdmVudExpc3RlbmVyKGUudHlwZSxyLHtjYXB0dXJlOiEwfSkpfTtmb3IoY29uc3QgZSBvZltcImtleWRvd25cIixcImNsaWNrXCIsXCJ2aXNpYmlsaXR5Y2hhbmdlXCJdKWFkZEV2ZW50TGlzdGVuZXIoZSxyLHtjYXB0dXJlOiEwfSk7bihuPT57aD1jKFwiTENQXCIpLGE9aShlLGgscSx0LnJlcG9ydEFsbENoYW5nZXMpLHMoKCk9PntoLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLW4udGltZVN0YW1wLGEoITApfSl9KX19KX0sZS5vblRURkI9KGUsdD17fSk9PntsZXQgcz1jKFwiVFRGQlwiKSxhPWkoZSxzLE4sdC5yZXBvcnRBbGxDaGFuZ2VzKTtIKCgpPT57Y29uc3QgZD1vKCk7ZCYmKHMudmFsdWU9TWF0aC5tYXgoZC5yZXNwb25zZVN0YXJ0LXIoKSwwKSxzLmVudHJpZXM9W2RdLGEoITApLG4oKCk9PntzPWMoXCJUVEZCXCIsMCksYT1pKGUscyxOLHQucmVwb3J0QWxsQ2hhbmdlcyksYSghMCl9KSl9KX0sZX0oe30pO1xuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcywgaW1wb3J0L25vLXJlbGF0aXZlLXBhY2thZ2VzLCBuby11bnVzZWQtdmFyc1xuaW1wb3J0ICogYXMgd2ViVml0YWxzIGZyb20gJy4uL25vZGVfbW9kdWxlcy93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWRkQ1dWVHJhY2tpbmcoe1xuICBzYW1wbGVSVU0sIHNvdXJjZVNlbGVjdG9yLCB0YXJnZXRTZWxlY3RvciwgZmZsYWdzLFxufSkge1xuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3d2U2NyaXB0ID0gbmV3IFVSTCgnLnJ1bS93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJywgc2FtcGxlUlVNLmJhc2VVUkwpLmhyZWY7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc2NyaXB0W3NyYz1cIiR7Y3d2U2NyaXB0fVwiXWApKSB7XG4gICAgICAgIC8vIHdlYiB2aXRhbHMgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCBhbHJlYWR5XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9IGN3dlNjcmlwdDtcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlQ1dWID0gKG1lYXN1cmVtZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHsgY3d2OiB7fSB9O1xuICAgICAgICAgIGRhdGEuY3d2W21lYXN1cmVtZW50Lm5hbWVdID0gbWVhc3VyZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKG1lYXN1cmVtZW50Lm5hbWUgPT09ICdMQ1AnICYmIG1lYXN1cmVtZW50LmVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgeyBlbGVtZW50IH0gPSBtZWFzdXJlbWVudC5lbnRyaWVzLnBvcCgpO1xuICAgICAgICAgICAgZGF0YS50YXJnZXQgPSB0YXJnZXRTZWxlY3RvcihlbGVtZW50KTtcbiAgICAgICAgICAgIGRhdGEuc291cmNlID0gc291cmNlU2VsZWN0b3IoZWxlbWVudCkgfHwgKGVsZW1lbnQgJiYgZWxlbWVudC5vdXRlckhUTUwuc2xpY2UoMCwgMzApKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2FtcGxlUlVNKCdjd3YnLCBkYXRhKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc0VhZ2VyID0gKG1ldHJpYykgPT4gWydDTFMnLCAnTENQJ10uaW5jbHVkZXMobWV0cmljKTtcblxuICAgICAgICAvLyBXaGVuIGxvYWRpbmcgYHdlYi12aXRhbHNgIHVzaW5nIGEgY2xhc3NpYyBzY3JpcHQsIGFsbCB0aGUgcHVibGljXG4gICAgICAgIC8vIG1ldGhvZHMgY2FuIGJlIGZvdW5kIG9uIHRoZSBgd2ViVml0YWxzYCBnbG9iYWwgbmFtZXNwYWNlLlxuICAgICAgICBbJ0lOUCcsICdUVEZCJywgJ0NMUycsICdMQ1AnXS5mb3JFYWNoKChtZXRyaWMpID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRyaWNGbiA9IHdpbmRvdy53ZWJWaXRhbHNbYG9uJHttZXRyaWN9YF07XG4gICAgICAgICAgaWYgKHR5cGVvZiBtZXRyaWNGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbGV0IG9wdHMgPSB7fTtcbiAgICAgICAgICAgIGZmbGFncy5lbmFibGVkKCdlYWdlcmN3dicsICgpID0+IHtcbiAgICAgICAgICAgICAgb3B0cyA9IHsgcmVwb3J0QWxsQ2hhbmdlczogaXNFYWdlcihtZXRyaWMpIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG1ldHJpY0ZuKHN0b3JlQ1dWLCBvcHRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgIC8qIGM4IGlnbm9yZSBuZXh0IDMgKi9cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gc29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgICB9XG4gIH0sIDIwMDApOyAvLyB3YWl0IGZvciBkZWxheWVkXG59XG4iXSwibmFtZXMiOlsiZSIsInQiLCJuIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBlcnNpc3RlZCIsInRpbWVTdGFtcCIsImkiLCJzIiwibyIsInIiLCJ2YWx1ZSIsImRlbHRhIiwicmF0aW5nIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwicGVyZm9ybWFuY2UiLCJnZXRFbnRyaWVzQnlUeXBlIiwicmVzcG9uc2VTdGFydCIsIm5vdyIsImFjdGl2YXRpb25TdGFydCIsImMiLCJkb2N1bWVudCIsInByZXJlbmRlcmluZyIsIndhc0Rpc2NhcmRlZCIsInR5cGUiLCJyZXBsYWNlIiwibmFtZSIsImVudHJpZXMiLCJpZCIsIkRhdGUiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJuYXZpZ2F0aW9uVHlwZSIsImEiLCJXZWFrTWFwIiwiZCIsImdldCIsInNldCIsImgiLCJoYWRSZWNlbnRJbnB1dCIsImF0Iiwic3RhcnRUaW1lIiwicHVzaCIsImYiLCJQZXJmb3JtYW5jZU9ic2VydmVyIiwic3VwcG9ydGVkRW50cnlUeXBlcyIsImluY2x1ZGVzIiwicXVldWVNaWNyb3Rhc2siLCJnZXRFbnRyaWVzIiwib2JzZXJ2ZSIsImJ1ZmZlcmVkIiwibCIsInUiLCJtIiwiU2V0IiwiZyIsInZpc2liaWxpdHlTdGF0ZSIsInYiLCJpc0Zpbml0ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJwIiwiZ2xvYmFsVGhpcyIsImZpbmQiLCJzZXRUaW1lb3V0IiwiZmlyc3RIaWRkZW5UaW1lIiwib25IaWRkZW4iLCJhZGQiLCJ5IiwiVCIsImIiLCJkaXNjb25uZWN0IiwibWF4IiwicmVwb3J0QWxsQ2hhbmdlcyIsIkUiLCJMIiwiUCIsIl8iLCJNIiwiaW50ZXJhY3Rpb25JZCIsIm1pbiIsInciLCJDIiwiaW50ZXJhY3Rpb25Db3VudCIsIkkiLCJkdXJhdGlvblRocmVzaG9sZCIsIkYiLCJrIiwiTWFwIiwibGVuZ3RoIiwiY2xlYXIiLCJlbnRyeVR5cGUiLCJkdXJhdGlvbiIsInNvcnQiLCJzcGxpY2UiLCJkZWxldGUiLCJBIiwicmVxdWVzdElkbGVDYWxsYmFjayIsImNhbmNlbElkbGVDYWxsYmFjayIsImNsZWFyVGltZW91dCIsIm9uY2UiLCJjYXB0dXJlIiwiQiIsIlMiLCJxIiwiTiIsIkgiLCJyZWFkeVN0YXRlIiwiQ0xTVGhyZXNob2xkcyIsIkZDUFRocmVzaG9sZHMiLCJJTlBUaHJlc2hvbGRzIiwiTENQVGhyZXNob2xkcyIsIlRURkJUaHJlc2hvbGRzIiwib25DTFMiLCJ0YWtlUmVjb3JkcyIsIm9uRkNQIiwib25JTlAiLCJQZXJmb3JtYW5jZUV2ZW50VGltaW5nIiwicHJvdG90eXBlIiwib25MQ1AiLCJzbGljZSIsImlzVHJ1c3RlZCIsIm9uVFRGQiIsImFkZENXVlRyYWNraW5nIiwic2FtcGxlUlVNIiwic291cmNlU2VsZWN0b3IiLCJ0YXJnZXRTZWxlY3RvciIsImZmbGFncyIsImN3dlNjcmlwdCIsIlVSTCIsImJhc2VVUkwiLCJocmVmIiwicXVlcnlTZWxlY3RvciIsInNjcmlwdCIsImNyZWF0ZUVsZW1lbnQiLCJzcmMiLCJvbmxvYWQiLCJzdG9yZUNXViIsIm1lYXN1cmVtZW50IiwiZGF0YSIsImN3diIsImVsZW1lbnQiLCJwb3AiLCJ0YXJnZXQiLCJzb3VyY2UiLCJvdXRlckhUTUwiLCJpc0VhZ2VyIiwibWV0cmljIiwiZm9yRWFjaCIsIm1ldHJpY0ZuIiwid2luZG93Iiwid2ViVml0YWxzIiwib3B0cyIsImVuYWJsZWQiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Q0FBYyxVQUFTQSxDQUFDLEVBQUM7O0VBQWMsSUFBSUMsQ0FBQyxHQUFDLEVBQUU7RUFBQyxNQUFNQyxDQUFDLEdBQUNGLENBQUMsSUFBRTtBQUFDRyxNQUFBQSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUNELENBQUMsSUFBRTtBQUFDQSxRQUFBQSxDQUFDLENBQUNFLFNBQVMsS0FBR0gsQ0FBQyxHQUFDQyxDQUFDLENBQUNHLFNBQVMsRUFBQ0wsQ0FBQyxDQUFDRSxDQUFDLENBQUMsQ0FBQztNQUFBLENBQUMsRUFBQyxJQUFFLENBQUM7SUFBQSxDQUFDO0lBQUNJLENBQUMsR0FBQ0EsQ0FBQ04sQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0ksQ0FBQyxLQUFHO01BQUMsSUFBSUMsQ0FBQyxFQUFDQyxDQUFDO0FBQUMsTUFBQSxPQUFPQyxDQUFDLElBQUU7QUFBQ1IsUUFBQUEsQ0FBQyxDQUFDUyxLQUFLLElBQUUsQ0FBQyxLQUFHRCxDQUFDLElBQUVILENBQUMsQ0FBQyxLQUFHRSxDQUFDLEdBQUNQLENB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QUNoSCxJQUFJLENBQUMsR0FBR2dILFdBQVcsQ0FBQy9ILEtBQUs7QUFDOUMsVUFBQSxJQUFJK0gsV0FBVyxDQUFDaEgsSUFBSSxLQUFLLEtBQUssSUFBSWdILFdBQVcsQ0FBQy9HLE9BQU8sQ0FBQzhELE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEUsTUFBTTtBQUFFb0QsY0FBQUE7QUFBUSxhQUFDLEdBQUdILFdBQVcsQ0FBQy9HLE9BQU8sQ0FBQ21ILEdBQUcsRUFBRTtBQUM3Q0gsWUFBQUEsSUFBSSxDQUFDSSxNQUFNLEdBQUdqQixjQUFjLENBQUNlLE9BQU8sQ0FBQztBQUNyQ0YsWUFBQUEsSUFBSSxDQUFDSyxNQUFNLEdBQUduQixjQUFjLENBQUNnQixPQUFPLENBQUMsSUFBS0EsT0FBTyxJQUFJQSxPQUFPLENBQUNJLFNBQVMsQ0FBQ3pCLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFO0FBQ3RGLFVBQUE7QUFDQUksVUFBQUEsU0FBUyxDQUFDLEtBQUssRUFBRWUsSUFBSSxDQUFDO1FBQ3hCLENBQUM7QUFFRCxRQUFBLE1BQU1PLE9BQU8sR0FBSUMsTUFBTSxJQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDcEcsUUFBUSxDQUFDb0csTUFBTSxDQUFDO0FBSTNELFFBQUEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFFRCxNQUFNLElBQUs7VUFDaEQsTUFBTUUsUUFBUSxHQUFHQyxNQUFNLENBQUNDLFNBQVMsQ0FBQyxDQUFBLEVBQUEsRUFBS0osTUFBTSxDQUFBLENBQUUsQ0FBQztBQUNoRCxVQUFBLElBQUksT0FBT0UsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxJQUFJRyxJQUFJLEdBQUcsRUFBRTtBQUNiekIsWUFBQUEsTUFBTSxDQUFDMEIsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNO0FBQy9CRCxjQUFBQSxJQUFJLEdBQUc7Z0JBQUUvRSxnQkFBZ0IsRUFBRXlFLE9BQU8sQ0FBQ0MsTUFBTTtlQUFHO0FBQzlDLFlBQUEsQ0FBQyxDQUFDO0FBQ0ZFLFlBQUFBLFFBQVEsQ0FBQ1osUUFBUSxFQUFFZSxJQUFJLENBQUM7QUFDMUIsVUFBQTtBQUNGLFFBQUEsQ0FBQyxDQUFDO01BQ0osQ0FBQztBQUNEbkksTUFBQUEsUUFBUSxDQUFDcUksSUFBSSxDQUFDQyxXQUFXLENBQUN0QixNQUFNLENBQUM7QUFFbkMsSUFBQSxDQUFDLENBQUMsT0FBT3VCLEtBQUssRUFBRSxDQUVoQjtFQUNGLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDVjs7OzsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19
@@ -1 +1 @@
1
- 214afb5bc6408240a88bae4d20224cf3
1
+ 53d5a37b9dae3321e18f25551f062fa5
@@ -1 +1 @@
1
- 3ef39d6c29619ddd5c5aaa77d2ce54d7
1
+ 3b10d31bb1dbd2e5281b8de4c9478454
@@ -1 +1 @@
1
- 866b5825b7bdb273170fbab6fa8099bb
1
+ 5a20c1d914d19b130034e4df532b8b4d
@@ -1 +1 @@
1
- 4b5cf6c41be188be11c519f419592e7e
1
+ c00518b019647f564ce00dce9d07c74b
@@ -1 +1 @@
1
- ffe06266f271e876a25169b3b9aeb664
1
+ f7be09c5b13268f51780ee91d44006bd
@@ -1 +1 @@
1
- ebe320b3bc258db22786d472559793c1
1
+ d241929d3af96465ac32a4158c0e0fe8
@@ -1 +1 @@
1
- 20d1f82b8a8c89e965f951484f200f35
1
+ 90fa0790108137f0cb4c44345d2e577f
@@ -1 +1 @@
1
- 69d98a5cc1e1f11f6bedc2dbe91d8f8f
1
+ 3476ee246a6b4c1599651d8a7580e2c7