@adobe/helix-rum-enhancer 2.47.3 → 2.48.0

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,11 @@
1
+ # [2.48.0](https://github.com/adobe/helix-rum-enhancer/compare/v2.47.3...v2.48.0) (2026-07-08)
2
+
3
+
4
+ ### Features
5
+
6
+ * report source for the largest CLS layout shift ([53a0432](https://github.com/adobe/helix-rum-enhancer/commit/53a04321044b444b8f883b63f71dd4394814877b))
7
+ * report source for the largest CLS layout shift ([a74c6f4](https://github.com/adobe/helix-rum-enhancer/commit/a74c6f453b639504b82874750d247b27c5a78f21))
8
+
1
9
  ## [2.47.3](https://github.com/adobe/helix-rum-enhancer/compare/v2.47.2...v2.47.3) (2026-05-13)
2
10
 
3
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/helix-rum-enhancer",
3
- "version": "2.47.3",
3
+ "version": "2.48.0",
4
4
  "description": "Helix RUM Enhancer",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -33,12 +33,12 @@
33
33
  "reporter-options": "configFile=.mocha-multi.json"
34
34
  },
35
35
  "devDependencies": {
36
- "@adobe/eslint-config-helix": "3.0.26",
37
- "@adobe/helix-rum-js": "2.14.3",
36
+ "@adobe/eslint-config-helix": "3.0.28",
37
+ "@adobe/helix-rum-js": "2.15.3",
38
38
  "@adobe/rollup-plugin-checksum": "1.2.0",
39
- "@eslint/config-helpers": "0.5.5",
39
+ "@eslint/config-helpers": "0.6.0",
40
40
  "@esm-bundle/chai": "4.3.4-fix.0",
41
- "@rollup/plugin-babel": "7.0.0",
41
+ "@rollup/plugin-babel": "7.1.0",
42
42
  "@semantic-release/changelog": "6.0.3",
43
43
  "@semantic-release/exec": "7.1.0",
44
44
  "@semantic-release/git": "10.0.1",
@@ -53,18 +53,18 @@
53
53
  "eslint": "9.30.1",
54
54
  "eslint-plugin-header": "3.1.1",
55
55
  "eslint-plugin-import": "2.32.0",
56
- "globals": "17.5.0",
56
+ "globals": "17.6.0",
57
57
  "husky": "9.1.7",
58
58
  "jsdoc-to-markdown": "9.1.3",
59
59
  "junit-report-builder": "5.1.2",
60
60
  "lint-staged": "16.4.0",
61
- "mocha": "11.7.5",
61
+ "mocha": "11.7.6",
62
62
  "mocha-multi-reporters": "1.5.1",
63
- "rollup": "4.60.2",
63
+ "rollup": "4.62.2",
64
64
  "rollup-plugin-eslint-bundle": "9.0.0",
65
- "semantic-release": "25.0.3",
65
+ "semantic-release": "25.0.5",
66
66
  "semantic-release-slack-bot": "^4.0.2",
67
- "web-vitals": "5.2.0"
67
+ "web-vitals": "5.3.0"
68
68
  },
69
69
  "lint-staged": {
70
70
  "*.js": "eslint",
package/plugins/cwv.js CHANGED
@@ -35,6 +35,17 @@ export default function addCWVTracking({
35
35
  data.target = targetSelector(element);
36
36
  data.source = sourceSelector(element) || (element && element.outerHTML.slice(0, 30));
37
37
  }
38
+ if (measurement.name === 'CLS' && measurement.entries.length > 0) {
39
+ // Attribute CLS to the element of the single largest layout shift
40
+ // (mirrors web-vitals' `largestShiftTarget`, derived from the standard entries).
41
+ const largest = measurement.entries
42
+ .reduce((a, b) => (b.value > (a ? a.value : 0) ? b : a), undefined);
43
+ const node = largest && largest.sources
44
+ && largest.sources.map((s) => s.node).find((n) => n && n.nodeType === 1);
45
+ if (node) {
46
+ data.source = sourceSelector(node) || node.outerHTML.slice(0, 30);
47
+ }
48
+ }
38
49
  sampleRUM('cwv', data);
39
50
  };
40
51
 
@@ -1 +1 @@
1
- 83098edb2dc04573f9aac3987a7f1bae
1
+ 4d477d96ade6db3644031c8335095934
@@ -47,7 +47,8 @@
47
47
  },
48
48
  a = new WeakMap();
49
49
  function d(e, t) {
50
- return a.get(e) || a.set(e, new t()), a.get(e);
50
+ let n = a.get(t);
51
+ return n || (n = new WeakMap(), a.set(t, n)), n.get(e) || n.set(e, new t()), n.get(e);
51
52
  }
52
53
  class h {
53
54
  t;
@@ -85,17 +86,17 @@
85
86
  let u = -1;
86
87
  const m = new Set(),
87
88
  g = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
88
- v = e => {
89
+ p = e => {
89
90
  if ("hidden" === document.visibilityState) {
90
91
  if ("visibilitychange" === e.type) for (const e of m) e();
91
- isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", v, true));
92
+ isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", p, true));
92
93
  }
93
94
  },
94
- p = () => {
95
+ v = () => {
95
96
  if (u < 0) {
96
97
  const e = r(),
97
98
  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(() => {
99
+ u = t ?? g(), addEventListener("visibilitychange", p, true), addEventListener("prerenderingchange", p, true), n(() => {
99
100
  setTimeout(() => {
100
101
  u = g();
101
102
  });
@@ -116,7 +117,7 @@
116
117
  T = [1800, 3e3],
117
118
  b = (e, t = {}) => {
118
119
  y(() => {
119
- const o = p();
120
+ const o = v();
120
121
  let a,
121
122
  d = c("FCP");
122
123
  const h = f("paint", e => {
@@ -148,8 +149,8 @@
148
149
  l = [];
149
150
  u = new Map();
150
151
  m;
151
- v;
152
- p() {
152
+ p;
153
+ v() {
153
154
  F = C(), this.l.length = 0, this.u.clear();
154
155
  }
155
156
  T() {
@@ -169,7 +170,7 @@
169
170
  const e = this.l.splice(10);
170
171
  for (const t of e) this.u.delete(t.id);
171
172
  }
172
- this.v?.(n);
173
+ this.p?.(n);
173
174
  }
174
175
  }
175
176
  }
@@ -205,7 +206,7 @@
205
206
  document.prerendering ? y(() => H(e)) : "complete" !== document.readyState ? addEventListener("load", () => H(e), true) : setTimeout(e);
206
207
  };
207
208
  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
+ const o = v();
209
210
  b(l(() => {
210
211
  let r,
211
212
  a = c("CLS", 0);
@@ -223,7 +224,7 @@
223
224
  }));
224
225
  }, e.onFCP = b, e.onINP = (e, t = {}) => {
225
226
  if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
226
- const s = p();
227
+ const s = v();
227
228
  y(() => {
228
229
  I();
229
230
  let o,
@@ -245,12 +246,12 @@
245
246
  }), s.onHidden(() => {
246
247
  h(l.takeRecords()), o(true);
247
248
  }), n(() => {
248
- a.p(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
249
+ a.v(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
249
250
  }));
250
251
  });
251
252
  }, e.onLCP = (e, t = {}) => {
252
253
  y(() => {
253
- const o = p();
254
+ const o = v();
254
255
  let a,
255
256
  h = c("LCP");
256
257
  const u = d(t, S),
@@ -318,6 +319,13 @@ function addCWVTracking({
318
319
  data.target = targetSelector(element);
319
320
  data.source = sourceSelector(element) || element && element.outerHTML.slice(0, 30);
320
321
  }
322
+ if (measurement.name === 'CLS' && measurement.entries.length > 0) {
323
+ const largest = measurement.entries.reduce((a, b) => b.value > (a ? a.value : 0) ? b : a, undefined);
324
+ const node = largest && largest.sources && largest.sources.map(s => s.node).find(n => n && n.nodeType === 1);
325
+ if (node) {
326
+ data.source = sourceSelector(node) || node.outerHTML.slice(0, 30);
327
+ }
328
+ }
321
329
  sampleRUM('cwv', data);
322
330
  };
323
331
  const isEager = metric => ['CLS', 'LCP'].includes(metric);
@@ -47,7 +47,8 @@
47
47
  },
48
48
  a = new WeakMap();
49
49
  function d(e, t) {
50
- return a.get(e) || a.set(e, new t()), a.get(e);
50
+ let n = a.get(t);
51
+ return n || (n = new WeakMap(), a.set(t, n)), n.get(e) || n.set(e, new t()), n.get(e);
51
52
  }
52
53
  class h {
53
54
  t;
@@ -85,17 +86,17 @@
85
86
  let u = -1;
86
87
  const m = new Set(),
87
88
  g = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
88
- v = e => {
89
+ p = e => {
89
90
  if ("hidden" === document.visibilityState) {
90
91
  if ("visibilitychange" === e.type) for (const e of m) e();
91
- isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", v, true));
92
+ isFinite(u) || (u = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", p, true));
92
93
  }
93
94
  },
94
- p = () => {
95
+ v = () => {
95
96
  if (u < 0) {
96
97
  const e = r(),
97
98
  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(() => {
99
+ u = t ?? g(), addEventListener("visibilitychange", p, true), addEventListener("prerenderingchange", p, true), n(() => {
99
100
  setTimeout(() => {
100
101
  u = g();
101
102
  });
@@ -116,7 +117,7 @@
116
117
  T = [1800, 3e3],
117
118
  b = (e, t = {}) => {
118
119
  y(() => {
119
- const o = p();
120
+ const o = v();
120
121
  let a,
121
122
  d = c("FCP");
122
123
  const h = f("paint", e => {
@@ -148,8 +149,8 @@
148
149
  l = [];
149
150
  u = new Map();
150
151
  m;
151
- v;
152
- p() {
152
+ p;
153
+ v() {
153
154
  F = C(), this.l.length = 0, this.u.clear();
154
155
  }
155
156
  T() {
@@ -169,7 +170,7 @@
169
170
  const e = this.l.splice(10);
170
171
  for (const t of e) this.u.delete(t.id);
171
172
  }
172
- this.v?.(n);
173
+ this.p?.(n);
173
174
  }
174
175
  }
175
176
  }
@@ -205,7 +206,7 @@
205
206
  document.prerendering ? y(() => H(e)) : "complete" !== document.readyState ? addEventListener("load", () => H(e), true) : setTimeout(e);
206
207
  };
207
208
  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
+ const o = v();
209
210
  b(l(() => {
210
211
  let r,
211
212
  a = c("CLS", 0);
@@ -223,7 +224,7 @@
223
224
  }));
224
225
  }, e.onFCP = b, e.onINP = (e, t = {}) => {
225
226
  if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
226
- const s = p();
227
+ const s = v();
227
228
  y(() => {
228
229
  I();
229
230
  let o,
@@ -245,12 +246,12 @@
245
246
  }), s.onHidden(() => {
246
247
  h(l.takeRecords()), o(true);
247
248
  }), n(() => {
248
- a.p(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
249
+ a.v(), r = c("INP"), o = i(e, r, B, t.reportAllChanges);
249
250
  }));
250
251
  });
251
252
  }, e.onLCP = (e, t = {}) => {
252
253
  y(() => {
253
- const o = p();
254
+ const o = v();
254
255
  let a,
255
256
  h = c("LCP");
256
257
  const u = d(t, S),
@@ -318,6 +319,13 @@ function addCWVTracking({
318
319
  data.target = targetSelector(element);
319
320
  data.source = sourceSelector(element) || element && element.outerHTML.slice(0, 30);
320
321
  }
322
+ if (measurement.name === 'CLS' && measurement.entries.length > 0) {
323
+ const largest = measurement.entries.reduce((a, b) => b.value > (a ? a.value : 0) ? b : a, undefined);
324
+ const node = largest && largest.sources && largest.sources.map(s => s.node).find(n => n && n.nodeType === 1);
325
+ if (node) {
326
+ data.source = sourceSelector(node) || node.outerHTML.slice(0, 30);
327
+ }
328
+ }
321
329
  sampleRUM('cwv', data);
322
330
  };
323
331
  const isEager = metric => ['CLS', 'LCP'].includes(metric);
@@ -340,4 +348,4 @@ function addCWVTracking({
340
348
  }
341
349
 
342
350
  export { addCWVTracking as default };
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
351
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3d2Lm1hcC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi12aXRhbHMvZGlzdC93ZWItdml0YWxzLmlpZmUuanMiLCIuLi8uLi9wbHVnaW5zL2N3di5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgd2ViVml0YWxzPWZ1bmN0aW9uKGUpe1widXNlIHN0cmljdFwiO2xldCB0PS0xO2NvbnN0IG49ZT0+e2FkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLG49PntuLnBlcnNpc3RlZCYmKHQ9bi50aW1lU3RhbXAsZShuKSl9LCEwKX0saT0oZSx0LG4saSk9PntsZXQgcyxvO3JldHVybiByPT57dC52YWx1ZT49MCYmKHJ8fGkpJiYobz10LnZhbHVlLShzPz8wKSwob3x8dm9pZCAwPT09cykmJihzPXQudmFsdWUsdC5kZWx0YT1vLHQucmF0aW5nPSgoZSx0KT0+ZT50WzFdP1wicG9vclwiOmU+dFswXT9cIm5lZWRzLWltcHJvdmVtZW50XCI6XCJnb29kXCIpKHQudmFsdWUsbiksZSh0KSkpfX0scz1lPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpfSxvPSgpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKVswXTtpZihlJiZlLnJlc3BvbnNlU3RhcnQ+MCYmZS5yZXNwb25zZVN0YXJ0PHBlcmZvcm1hbmNlLm5vdygpKXJldHVybiBlfSxyPSgpPT5vKCk/LmFjdGl2YXRpb25TdGFydD8/MCxjPShlLG49LTEpPT57Y29uc3QgaT1vKCk7bGV0IHM9XCJuYXZpZ2F0ZVwiO3Q+PTA/cz1cImJhY2stZm9yd2FyZC1jYWNoZVwiOmkmJihkb2N1bWVudC5wcmVyZW5kZXJpbmd8fHIoKT4wP3M9XCJwcmVyZW5kZXJcIjpkb2N1bWVudC53YXNEaXNjYXJkZWQ/cz1cInJlc3RvcmVcIjppLnR5cGUmJihzPWkudHlwZS5yZXBsYWNlKC9fL2csXCItXCIpKSk7cmV0dXJue25hbWU6ZSx2YWx1ZTpuLHJhdGluZzpcImdvb2RcIixkZWx0YTowLGVudHJpZXM6W10saWQ6YHY1LSR7RGF0ZS5ub3coKX0tJHtNYXRoLmZsb29yKDg5OTk5OTk5OTk5OTkqTWF0aC5yYW5kb20oKSkrMWUxMn1gLG5hdmlnYXRpb25UeXBlOnN9fSxhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGQoZSx0KXtsZXQgbj1hLmdldCh0KTtyZXR1cm4gbnx8KG49bmV3IFdlYWtNYXAsYS5zZXQodCxuKSksbi5nZXQoZSl8fG4uc2V0KGUsbmV3IHQpLG4uZ2V0KGUpfWNsYXNzIGh7dDtpPTA7bz1bXTtoKGUpe2lmKGUuaGFkUmVjZW50SW5wdXQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5vWzBdLG49dGhpcy5vLmF0KC0xKTt0aGlzLmkmJnQmJm4mJmUuc3RhcnRUaW1lLW4uc3RhcnRUaW1lPDFlMyYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8NWUzPyh0aGlzLmkrPWUudmFsdWUsdGhpcy5vLnB1c2goZSkpOih0aGlzLmk9ZS52YWx1ZSx0aGlzLm89W2VdKSx0aGlzLnQ/LihlKX19Y29uc3QgZj0oZSx0LG49e30pPT57dHJ5e2lmKFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5pbmNsdWRlcyhlKSl7Y29uc3QgaT1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlPT57cXVldWVNaWNyb3Rhc2soKCk9Pnt0KGUuZ2V0RW50cmllcygpKX0pfSk7cmV0dXJuIGkub2JzZXJ2ZSh7dHlwZTplLGJ1ZmZlcmVkOiEwLC4uLm59KSxpfX1jYXRjaHt9fSxsPWU9PntsZXQgdD0hMTtyZXR1cm4oKT0+e3R8fChlKCksdD0hMCl9fTtsZXQgdT0tMTtjb25zdCBtPW5ldyBTZXQsZz0oKT0+XCJoaWRkZW5cIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowLHA9ZT0+e2lmKFwiaGlkZGVuXCI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpe2lmKFwidmlzaWJpbGl0eWNoYW5nZVwiPT09ZS50eXBlKWZvcihjb25zdCBlIG9mIG0pZSgpO2lzRmluaXRlKHUpfHwodT1cInZpc2liaWxpdHljaGFuZ2VcIj09PWUudHlwZT9lLnRpbWVTdGFtcDowLHJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwcmVyZW5kZXJpbmdjaGFuZ2VcIixwLCEwKSl9fSx2PSgpPT57aWYodTwwKXtjb25zdCBlPXIoKSx0PWRvY3VtZW50LnByZXJlbmRlcmluZz92b2lkIDA6Z2xvYmFsVGhpcy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwidmlzaWJpbGl0eS1zdGF0ZVwiKS5maW5kKHQ9PlwiaGlkZGVuXCI9PT10Lm5hbWUmJnQuc3RhcnRUaW1lPj1lKT8uc3RhcnRUaW1lO3U9dD8/ZygpLGFkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIscCwhMCksYWRkRXZlbnRMaXN0ZW5lcihcInByZXJlbmRlcmluZ2NoYW5nZVwiLHAsITApLG4oKCk9PntzZXRUaW1lb3V0KCgpPT57dT1nKCl9KX0pfXJldHVybntnZXQgZmlyc3RIaWRkZW5UaW1lKCl7cmV0dXJuIHV9LG9uSGlkZGVuKGUpe20uYWRkKGUpfX19LHk9ZT0+e2RvY3VtZW50LnByZXJlbmRlcmluZz9hZGRFdmVudExpc3RlbmVyKFwicHJlcmVuZGVyaW5nY2hhbmdlXCIsZSwhMCk6ZSgpfSxUPVsxODAwLDNlM10sYj0oZSx0PXt9KT0+e3koKCk9Pntjb25zdCBvPXYoKTtsZXQgYSxkPWMoXCJGQ1BcIik7Y29uc3QgaD1mKFwicGFpbnRcIixlPT57Zm9yKGNvbnN0IHQgb2YgZSlcImZpcnN0LWNvbnRlbnRmdWwtcGFpbnRcIj09PXQubmFtZSYmKGguZGlzY29ubmVjdCgpLHQuc3RhcnRUaW1lPG8uZmlyc3RIaWRkZW5UaW1lJiYoZC52YWx1ZT1NYXRoLm1heCh0LnN0YXJ0VGltZS1yKCksMCksZC5lbnRyaWVzLnB1c2godCksYSghMCkpKX0pO2gmJihhPWkoZSxkLFQsdC5yZXBvcnRBbGxDaGFuZ2VzKSxuKG49PntkPWMoXCJGQ1BcIiksYT1pKGUsZCxULHQucmVwb3J0QWxsQ2hhbmdlcykscygoKT0+e2QudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktbi50aW1lU3RhbXAsYSghMCl9KX0pKX0pfSxFPVsuMSwuMjVdO2xldCBMPTAsUD0xLzAsXz0wO2NvbnN0IE09ZT0+e2Zvcihjb25zdCB0IG9mIGUpdC5pbnRlcmFjdGlvbklkJiYoUD1NYXRoLm1pbihQLHQuaW50ZXJhY3Rpb25JZCksXz1NYXRoLm1heChfLHQuaW50ZXJhY3Rpb25JZCksTD1fPyhfLVApLzcrMTowKX07bGV0IHc7Y29uc3QgQz0oKT0+dz9MOnBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnQ/PzAsST0oKT0+e1wiaW50ZXJhY3Rpb25Db3VudFwiaW4gcGVyZm9ybWFuY2V8fHd8fCh3PWYoXCJldmVudFwiLE0se2R1cmF0aW9uVGhyZXNob2xkOjB9KSl9O2xldCBGPTA7Y2xhc3Mga3tsPVtdO3U9bmV3IE1hcDttO3A7digpe0Y9QygpLHRoaXMubC5sZW5ndGg9MCx0aGlzLnUuY2xlYXIoKX1UKCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLmwubGVuZ3RoLTEsTWF0aC5mbG9vcigoQygpLUYpLzUwKSk7cmV0dXJuIHRoaXMubFtlXX1oKGUpe2lmKHRoaXMubT8uKGUpLCFlLmludGVyYWN0aW9uSWQmJlwiZmlyc3QtaW5wdXRcIiE9PWUuZW50cnlUeXBlKXJldHVybjtjb25zdCB0PXRoaXMubC5hdCgtMSk7bGV0IG49dGhpcy51LmdldChlLmludGVyYWN0aW9uSWQpO2lmKG58fHRoaXMubC5sZW5ndGg8MTB8fGUuZHVyYXRpb24+dC5MKXtpZihuP2UuZHVyYXRpb24+bi5MPyhuLmVudHJpZXM9W2VdLG4uTD1lLmR1cmF0aW9uKTplLmR1cmF0aW9uPT09bi5MJiZlLnN0YXJ0VGltZT09PW4uZW50cmllc1swXS5zdGFydFRpbWUmJm4uZW50cmllcy5wdXNoKGUpOihuPXtpZDplLmludGVyYWN0aW9uSWQsZW50cmllczpbZV0sTDplLmR1cmF0aW9ufSx0aGlzLnUuc2V0KG4uaWQsbiksdGhpcy5sLnB1c2gobikpLHRoaXMubC5zb3J0KChlLHQpPT50LkwtZS5MKSx0aGlzLmwubGVuZ3RoPjEwKXtjb25zdCBlPXRoaXMubC5zcGxpY2UoMTApO2Zvcihjb25zdCB0IG9mIGUpdGhpcy51LmRlbGV0ZSh0LmlkKX10aGlzLnA/LihuKX19fWNvbnN0IEE9ZT0+e2NvbnN0IHQ9Z2xvYmFsVGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrfHxzZXRUaW1lb3V0LG49Z2xvYmFsVGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2t8fGNsZWFyVGltZW91dDtpZihcImhpZGRlblwiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlKWUoKTtlbHNle2NvbnN0IGk9bChlKTtsZXQgcz0tMTtjb25zdCBvPSgpPT57bihzKSxpKCl9O2FkZEV2ZW50TGlzdGVuZXIoXCJ2aXNpYmlsaXR5Y2hhbmdlXCIsbyx7b25jZTohMCxjYXB0dXJlOiEwfSkscz10KCgpPT57cmVtb3ZlRXZlbnRMaXN0ZW5lcihcInZpc2liaWxpdHljaGFuZ2VcIixvLHtjYXB0dXJlOiEwfSksaSgpfSl9fSxCPVsyMDAsNTAwXTtjbGFzcyBTe207aChlKXt0aGlzLm0/LihlKX19Y29uc3QgcT1bMjUwMCw0ZTNdLE49WzgwMCwxODAwXSxIPWU9Pntkb2N1bWVudC5wcmVyZW5kZXJpbmc/eSgoKT0+SChlKSk6XCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCgpPT5IKGUpLCEwKTpzZXRUaW1lb3V0KGUpfTtyZXR1cm4gZS5DTFNUaHJlc2hvbGRzPUUsZS5GQ1BUaHJlc2hvbGRzPVQsZS5JTlBUaHJlc2hvbGRzPUIsZS5MQ1BUaHJlc2hvbGRzPXEsZS5UVEZCVGhyZXNob2xkcz1OLGUub25DTFM9KGUsdD17fSk9Pntjb25zdCBvPXYoKTtiKGwoKCk9PntsZXQgcixhPWMoXCJDTFNcIiwwKTtjb25zdCBsPWQodCxoKSx1PWU9Pntmb3IoY29uc3QgdCBvZiBlKWwuaCh0KTtsLmk+YS52YWx1ZSYmKGEudmFsdWU9bC5pLGEuZW50cmllcz1sLm8scigpKX0sbT1mKFwibGF5b3V0LXNoaWZ0XCIsdSk7bSYmKHI9aShlLGEsRSx0LnJlcG9ydEFsbENoYW5nZXMpLG8ub25IaWRkZW4oKCk9Pnt1KG0udGFrZVJlY29yZHMoKSkscighMCl9KSxuKCgpPT57bC5pPTAsYT1jKFwiQ0xTXCIsMCkscj1pKGUsYSxFLHQucmVwb3J0QWxsQ2hhbmdlcykscyhyKX0pLHNldFRpbWVvdXQocikpfSkpfSxlLm9uRkNQPWIsZS5vbklOUD0oZSx0PXt9KT0+e2lmKCFnbG9iYWxUaGlzLlBlcmZvcm1hbmNlRXZlbnRUaW1pbmd8fCEoXCJpbnRlcmFjdGlvbklkXCJpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLnByb3RvdHlwZSkpcmV0dXJuO2NvbnN0IHM9digpO3koKCk9PntJKCk7bGV0IG8scj1jKFwiSU5QXCIpO2NvbnN0IGE9ZCh0LGspLGg9ZT0+e0EoKCk9Pntmb3IoY29uc3QgdCBvZiBlKWEuaCh0KTtjb25zdCB0PWEuVCgpO3QmJnQuTCE9PXIudmFsdWUmJihyLnZhbHVlPXQuTCxyLmVudHJpZXM9dC5lbnRyaWVzLG8oKSl9KX0sbD1mKFwiZXZlbnRcIixoLHtkdXJhdGlvblRocmVzaG9sZDp0LmR1cmF0aW9uVGhyZXNob2xkPz80MH0pO289aShlLHIsQix0LnJlcG9ydEFsbENoYW5nZXMpLGwmJihsLm9ic2VydmUoe3R5cGU6XCJmaXJzdC1pbnB1dFwiLGJ1ZmZlcmVkOiEwfSkscy5vbkhpZGRlbigoKT0+e2gobC50YWtlUmVjb3JkcygpKSxvKCEwKX0pLG4oKCk9PnthLnYoKSxyPWMoXCJJTlBcIiksbz1pKGUscixCLHQucmVwb3J0QWxsQ2hhbmdlcyl9KSl9KX0sZS5vbkxDUD0oZSx0PXt9KT0+e3koKCk9Pntjb25zdCBvPXYoKTtsZXQgYSxoPWMoXCJMQ1BcIik7Y29uc3QgdT1kKHQsUyksbT1lPT57dC5yZXBvcnRBbGxDaGFuZ2VzfHwoZT1lLnNsaWNlKC0xKSk7Zm9yKGNvbnN0IHQgb2YgZSl1LmgodCksdC5zdGFydFRpbWU8by5maXJzdEhpZGRlblRpbWUmJihoLnZhbHVlPU1hdGgubWF4KHQuc3RhcnRUaW1lLXIoKSwwKSxoLmVudHJpZXM9W3RdLGEoKSl9LGc9ZihcImxhcmdlc3QtY29udGVudGZ1bC1wYWludFwiLG0pO2lmKGcpe2E9aShlLGgscSx0LnJlcG9ydEFsbENoYW5nZXMpO2NvbnN0IG89bCgoKT0+e20oZy50YWtlUmVjb3JkcygpKSxnLmRpc2Nvbm5lY3QoKSxhKCEwKX0pLHI9ZT0+e2UuaXNUcnVzdGVkJiYoQShvKSxyZW1vdmVFdmVudExpc3RlbmVyKGUudHlwZSxyLHtjYXB0dXJlOiEwfSkpfTtmb3IoY29uc3QgZSBvZltcImtleWRvd25cIixcImNsaWNrXCIsXCJ2aXNpYmlsaXR5Y2hhbmdlXCJdKWFkZEV2ZW50TGlzdGVuZXIoZSxyLHtjYXB0dXJlOiEwfSk7bihuPT57aD1jKFwiTENQXCIpLGE9aShlLGgscSx0LnJlcG9ydEFsbENoYW5nZXMpLHMoKCk9PntoLnZhbHVlPXBlcmZvcm1hbmNlLm5vdygpLW4udGltZVN0YW1wLGEoITApfSl9KX19KX0sZS5vblRURkI9KGUsdD17fSk9PntsZXQgcz1jKFwiVFRGQlwiKSxhPWkoZSxzLE4sdC5yZXBvcnRBbGxDaGFuZ2VzKTtIKCgpPT57Y29uc3QgZD1vKCk7ZCYmKHMudmFsdWU9TWF0aC5tYXgoZC5yZXNwb25zZVN0YXJ0LXIoKSwwKSxzLmVudHJpZXM9W2RdLGEoITApLG4oKCk9PntzPWMoXCJUVEZCXCIsMCksYT1pKGUscyxOLHQucmVwb3J0QWxsQ2hhbmdlcyksYSghMCl9KSl9KX0sZX0oe30pO1xuIiwiLypcbiAqIENvcHlyaWdodCAyMDI0IEFkb2JlLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUgZGlzdHJpYnV0ZWQgdW5kZXJcbiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OU1xuICogT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlXG4gKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcywgaW1wb3J0L25vLXJlbGF0aXZlLXBhY2thZ2VzLCBuby11bnVzZWQtdmFyc1xuaW1wb3J0ICogYXMgd2ViVml0YWxzIGZyb20gJy4uL25vZGVfbW9kdWxlcy93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWRkQ1dWVHJhY2tpbmcoe1xuICBzYW1wbGVSVU0sIHNvdXJjZVNlbGVjdG9yLCB0YXJnZXRTZWxlY3RvciwgZmZsYWdzLFxufSkge1xuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3d2U2NyaXB0ID0gbmV3IFVSTCgnLnJ1bS93ZWItdml0YWxzL2Rpc3Qvd2ViLXZpdGFscy5paWZlLmpzJywgc2FtcGxlUlVNLmJhc2VVUkwpLmhyZWY7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc2NyaXB0W3NyYz1cIiR7Y3d2U2NyaXB0fVwiXWApKSB7XG4gICAgICAgIC8vIHdlYiB2aXRhbHMgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCBhbHJlYWR5XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LnNyYyA9IGN3dlNjcmlwdDtcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlQ1dWID0gKG1lYXN1cmVtZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IHsgY3d2OiB7fSB9O1xuICAgICAgICAgIGRhdGEuY3d2W21lYXN1cmVtZW50Lm5hbWVdID0gbWVhc3VyZW1lbnQudmFsdWU7XG4gICAgICAgICAgaWYgKG1lYXN1cmVtZW50Lm5hbWUgPT09ICdMQ1AnICYmIG1lYXN1cmVtZW50LmVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgeyBlbGVtZW50IH0gPSBtZWFzdXJlbWVudC5lbnRyaWVzLnBvcCgpO1xuICAgICAgICAgICAgZGF0YS50YXJnZXQgPSB0YXJnZXRTZWxlY3RvcihlbGVtZW50KTtcbiAgICAgICAgICAgIGRhdGEuc291cmNlID0gc291cmNlU2VsZWN0b3IoZWxlbWVudCkgfHwgKGVsZW1lbnQgJiYgZWxlbWVudC5vdXRlckhUTUwuc2xpY2UoMCwgMzApKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1lYXN1cmVtZW50Lm5hbWUgPT09ICdDTFMnICYmIG1lYXN1cmVtZW50LmVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gQXR0cmlidXRlIENMUyB0byB0aGUgZWxlbWVudCBvZiB0aGUgc2luZ2xlIGxhcmdlc3QgbGF5b3V0IHNoaWZ0XG4gICAgICAgICAgICAvLyAobWlycm9ycyB3ZWItdml0YWxzJyBgbGFyZ2VzdFNoaWZ0VGFyZ2V0YCwgZGVyaXZlZCBmcm9tIHRoZSBzdGFuZGFyZCBlbnRyaWVzKS5cbiAgICAgICAgICAgIGNvbnN0IGxhcmdlc3QgPSBtZWFzdXJlbWVudC5lbnRyaWVzXG4gICAgICAgICAgICAgIC5yZWR1Y2UoKGEsIGIpID0+IChiLnZhbHVlID4gKGEgPyBhLnZhbHVlIDogMCkgPyBiIDogYSksIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gbGFyZ2VzdCAmJiBsYXJnZXN0LnNvdXJjZXNcbiAgICAgICAgICAgICAgJiYgbGFyZ2VzdC5zb3VyY2VzLm1hcCgocykgPT4gcy5ub2RlKS5maW5kKChuKSA9PiBuICYmIG4ubm9kZVR5cGUgPT09IDEpO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgZGF0YS5zb3VyY2UgPSBzb3VyY2VTZWxlY3Rvcihub2RlKSB8fCBub2RlLm91dGVySFRNTC5zbGljZSgwLCAzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhbXBsZVJVTSgnY3d2JywgZGF0YSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNFYWdlciA9IChtZXRyaWMpID0+IFsnQ0xTJywgJ0xDUCddLmluY2x1ZGVzKG1ldHJpYyk7XG5cbiAgICAgICAgLy8gV2hlbiBsb2FkaW5nIGB3ZWItdml0YWxzYCB1c2luZyBhIGNsYXNzaWMgc2NyaXB0LCBhbGwgdGhlIHB1YmxpY1xuICAgICAgICAvLyBtZXRob2RzIGNhbiBiZSBmb3VuZCBvbiB0aGUgYHdlYlZpdGFsc2AgZ2xvYmFsIG5hbWVzcGFjZS5cbiAgICAgICAgWydJTlAnLCAnVFRGQicsICdDTFMnLCAnTENQJ10uZm9yRWFjaCgobWV0cmljKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0cmljRm4gPSB3aW5kb3cud2ViVml0YWxzW2BvbiR7bWV0cmljfWBdO1xuICAgICAgICAgIGlmICh0eXBlb2YgbWV0cmljRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGxldCBvcHRzID0ge307XG4gICAgICAgICAgICBmZmxhZ3MuZW5hYmxlZCgnZWFnZXJjd3YnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIG9wdHMgPSB7IHJlcG9ydEFsbENoYW5nZXM6IGlzRWFnZXIobWV0cmljKSB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtZXRyaWNGbihzdG9yZUNXViwgb3B0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAvKiBjOCBpZ25vcmUgbmV4dCAzICovXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgfVxuICB9LCAyMDAwKTsgLy8gd2FpdCBmb3IgZGVsYXllZFxufVxuIl0sIm5hbWVzIjpbImUiLCJ0IiwibiIsImFkZEV2ZW50TGlzdGVuZXIiLCJwZXJzaXN0ZWQiLCJ0aW1lU3RhbXAiLCJpIiwicyIsIm8iLCJyIiwidmFsdWUiLCJkZWx0YSIsInJhdGluZyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsInBlcmZvcm1hbmNlIiwiZ2V0RW50cmllc0J5VHlwZSIsInJlc3BvbnNlU3RhcnQiLCJub3ciLCJhY3RpdmF0aW9uU3RhcnQiLCJjIiwiZG9jdW1lbnQiLCJwcmVyZW5kZXJpbmciLCJ3YXNEaXNjYXJkZWQiLCJ0eXBlIiwicmVwbGFjZSIsIm5hbWUiLCJlbnRyaWVzIiwiaWQiLCJEYXRlIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibmF2aWdhdGlvblR5cGUiLCJhIiwiV2Vha01hcCIsImQiLCJnZXQiLCJzZXQiLCJoIiwiaGFkUmVjZW50SW5wdXQiLCJhdCIsInN0YXJ0VGltZSIsInB1c2giLCJmIiwiUGVyZm9ybWFuY2VPYnNlcnZlciIsInN1cHBvcnRlZEVudHJ5VHlwZXMiLCJpbmNsdWRlcyIsInF1ZXVlTWljcm90YXNrIiwiZ2V0RW50cmllcyIsIm9ic2VydmUiLCJidWZmZXJlZCIsImwiLCJ1IiwibSIsIlNldCIsImciLCJ2aXNpYmlsaXR5U3RhdGUiLCJwIiwiaXNGaW5pdGUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidiIsImdsb2JhbFRoaXMiLCJmaW5kIiwic2V0VGltZW91dCIsImZpcnN0SGlkZGVuVGltZSIsIm9uSGlkZGVuIiwiYWRkIiwieSIsIlQiLCJiIiwiZGlzY29ubmVjdCIsIm1heCIsInJlcG9ydEFsbENoYW5nZXMiLCJFIiwiTCIsIlAiLCJfIiwiTSIsImludGVyYWN0aW9uSWQiLCJtaW4iLCJ3IiwiQyIsImludGVyYWN0aW9uQ291bnQiLCJJIiwiZHVyYXRpb25UaHJlc2hvbGQiLCJGIiwiayIsIk1hcCIsImxlbmd0aCIsImNsZWFyIiwiZW50cnlUeXBlIiwiZHVyYXRpb24iLCJzb3J0Iiwic3BsaWNlIiwiZGVsZXRlIiwiQSIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJjYW5jZWxJZGxlQ2FsbGJhY2siLCJjbGVhclRpbWVvdXQiLCJvbmNlIiwiY2FwdHVyZSIsIkIiLCJTIiwicSIsIk4iLCJIIiwicmVhZHlTdGF0ZSIsIkNMU1RocmVzaG9sZHMiLCJGQ1BUaHJlc2hvbGRzIiwiSU5QVGhyZXNob2xkcyIsIkxDUFRocmVzaG9sZHMiLCJUVEZCVGhyZXNob2xkcyIsIm9uQ0xTIiwidGFrZVJlY29yZHMiLCJvbkZDUCIsIm9uSU5QIiwiUGVyZm9ybWFuY2VFdmVudFRpbWluZyIsInByb3RvdHlwZSIsIm9uTENQIiwic2xpY2UiLCJpc1RydXN0ZWQiLCJvblRURkIiLCJhZGRDV1ZUcmFja2luZyIsInNhbXBsZVJVTSIsInNvdXJjZVNlbGVjdG9yIiwidGFyZ2V0U2VsZWN0b3IiLCJmZmxhZ3MiLCJjd3ZTY3JpcHQiLCJVUkwiLCJiYXNlVVJMIiwiaHJlZiIsInF1ZXJ5U2VsZWN0b3IiLCJzY3JpcHQiLCJjcmVhdGVFbGVtZW50Iiwic3JjIiwib25sb2FkIiwic3RvcmVDV1YiLCJtZWFzdXJlbWVudCIsImRhdGEiLCJjd3YiLCJlbGVtZW50IiwicG9wIiwidGFyZ2V0Iiwic291cmNlIiwib3V0ZXJIVE1MIiwibGFyZ2VzdCIsInJlZHVjZSIsInVuZGVmaW5lZCIsIm5vZGUiLCJzb3VyY2VzIiwibWFwIiwibm9kZVR5cGUiLCJpc0VhZ2VyIiwibWV0cmljIiwiZm9yRWFjaCIsIm1ldHJpY0ZuIiwid2luZG93Iiwid2ViVml0YWxzIiwib3B0cyIsImVuYWJsZWQiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Q0FBYyxVQUFTQSxDQUFDLEVBQUM7O0VBQWMsSUFBSUMsQ0FBQyxHQUFDLEVBQUU7RUFBQyxNQUFNQyxDQUFDLEdBQUNGLENBQUMsSUFBRTtBQUFDRyxNQUFBQSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUNELENBQUMsSUFBRTtBQUFDQSxRQUFBQSxDQUFDLENBQUNFLFNBQVMsS0FBR0gsQ0FBQyxHQUFDQyxDQUFDLENBQUNHLFNBQVMsRUFBQ0wsQ0FBQyxDQUFDRSxDQUFDLENBQUMsQ0FBQztNQUFBLENBQUMsRUFBQyxJQUFFLENBQUM7SUFBQSxDQUFDO0lBQUNJLENBQUMsR0FBQ0EsQ0FBQ04sQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0ksQ0FBQyxLQUFHO01BQUMsSUFBSUMsQ0FBQyxFQUFDQyxDQUFDO0FBQUMsTUFBQSxPQUFPQyxDQUFDLElBQUU7QUFBQ1IsUUFBQUEsQ0FBQyxDQUFDUyxLQUFLLElBQUUsQ0FBQyxLQUFHRCxDQUFDLElBQUVILENBQUMsQ0FBQyxLQUFHRSxDQUFDLEdBQUNQLENBQUMsQ0FBQ1MsS0FBSyxJQUFFSCxDQUFDLElBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQ0MsQ0FBQyxJQUFFLE1BQU0sS0FBR0QsQ0FBQyxNQUFJQSxDQUFDLEdBQUNOLENBQUMsQ0FBQ1MsS0FBSyxFQUFDVCxDQUFDLENBQUNV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
@@ -1 +1 @@
1
- 53d5a37b9dae3321e18f25551f062fa5
1
+ 1f55224c526853ba411a1aede6ee51ba
@@ -1 +1 @@
1
- 7bff6e6d746e07b40c98e381a380fd57
1
+ 68f53ad99fa62d5d658dec89dfd74eb3
@@ -1 +1 @@
1
- c00518b019647f564ce00dce9d07c74b
1
+ 4b5cf6c41be188be11c519f419592e7e
@@ -1 +1 @@
1
- 907a29e9b683d52ab45c0fc02038916e
1
+ b4b27fd1bc3bb7a309c377448c22529c