@myxtra/authentication-green 1.12.6 → 1.13.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.
@@ -1,4 +1,4 @@
1
- var Bu = { exports: {} }, yr = {}, Ru = { exports: {} }, S = {};
1
+ var Bu = { exports: {} }, yr = {}, Ru = { exports: {} }, k = {};
2
2
  /**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -12,14 +12,14 @@ var si = Symbol.for("react.element"), id = Symbol.for("react.portal"), rd = Symb
12
12
  function pd(e) {
13
13
  return e === null || typeof e != "object" ? null : (e = rs && e[rs] || e["@@iterator"], typeof e == "function" ? e : null);
14
14
  }
15
- var Vu = { isMounted: function() {
15
+ var Ku = { isMounted: function() {
16
16
  return !1;
17
17
  }, enqueueForceUpdate: function() {
18
18
  }, enqueueReplaceState: function() {
19
19
  }, enqueueSetState: function() {
20
- } }, Ku = Object.assign, Ou = {};
20
+ } }, Vu = Object.assign, Ou = {};
21
21
  function mn(e, t, n) {
22
- this.props = e, this.context = t, this.refs = Ou, this.updater = n || Vu;
22
+ this.props = e, this.context = t, this.refs = Ou, this.updater = n || Ku;
23
23
  }
24
24
  mn.prototype.isReactComponent = {};
25
25
  mn.prototype.setState = function(e, t) {
@@ -34,18 +34,18 @@ function Mu() {
34
34
  }
35
35
  Mu.prototype = mn.prototype;
36
36
  function so(e, t, n) {
37
- this.props = e, this.context = t, this.refs = Ou, this.updater = n || Vu;
37
+ this.props = e, this.context = t, this.refs = Ou, this.updater = n || Ku;
38
38
  }
39
39
  var uo = so.prototype = new Mu();
40
40
  uo.constructor = so;
41
- Ku(uo, mn.prototype);
41
+ Vu(uo, mn.prototype);
42
42
  uo.isPureReactComponent = !0;
43
- var ls = Array.isArray, Hu = Object.prototype.hasOwnProperty, ao = { current: null }, ju = { key: !0, ref: !0, __self: !0, __source: !0 };
44
- function Fu(e, t, n) {
43
+ var ls = Array.isArray, ju = Object.prototype.hasOwnProperty, ao = { current: null }, Fu = { key: !0, ref: !0, __self: !0, __source: !0 };
44
+ function Hu(e, t, n) {
45
45
  var i, r = {}, l = null, o = null;
46
46
  if (t != null)
47
47
  for (i in t.ref !== void 0 && (o = t.ref), t.key !== void 0 && (l = "" + t.key), t)
48
- Hu.call(t, i) && !ju.hasOwnProperty(i) && (r[i] = t[i]);
48
+ ju.call(t, i) && !Fu.hasOwnProperty(i) && (r[i] = t[i]);
49
49
  var s = arguments.length - 2;
50
50
  if (s === 1)
51
51
  r.children = n;
@@ -75,7 +75,7 @@ var os = /\/+/g;
75
75
  function Or(e, t) {
76
76
  return typeof e == "object" && e !== null && e.key != null ? fd("" + e.key) : t.toString(36);
77
77
  }
78
- function ki(e, t, n, i, r) {
78
+ function Si(e, t, n, i, r) {
79
79
  var l = typeof e;
80
80
  (l === "undefined" || l === "boolean") && (e = null);
81
81
  var o = !1;
@@ -95,18 +95,18 @@ function ki(e, t, n, i, r) {
95
95
  }
96
96
  }
97
97
  if (o)
98
- return o = e, r = r(o), e = i === "" ? "." + Or(o, 0) : i, ls(r) ? (n = "", e != null && (n = e.replace(os, "$&/") + "/"), ki(r, t, n, "", function(a) {
98
+ return o = e, r = r(o), e = i === "" ? "." + Or(o, 0) : i, ls(r) ? (n = "", e != null && (n = e.replace(os, "$&/") + "/"), Si(r, t, n, "", function(a) {
99
99
  return a;
100
100
  })) : r != null && (co(r) && (r = md(r, n + (!r.key || o && o.key === r.key ? "" : ("" + r.key).replace(os, "$&/") + "/") + e)), t.push(r)), 1;
101
101
  if (o = 0, i = i === "" ? "." : i + ":", ls(e))
102
102
  for (var s = 0; s < e.length; s++) {
103
103
  l = e[s];
104
104
  var u = i + Or(l, s);
105
- o += ki(l, t, n, u, r);
105
+ o += Si(l, t, n, u, r);
106
106
  }
107
107
  else if (u = pd(e), typeof u == "function")
108
108
  for (e = u.call(e), s = 0; !(l = e.next()).done; )
109
- l = l.value, u = i + Or(l, s++), o += ki(l, t, n, u, r);
109
+ l = l.value, u = i + Or(l, s++), o += Si(l, t, n, u, r);
110
110
  else if (l === "object")
111
111
  throw t = String(e), Error("Objects are not valid as a React child (found: " + (t === "[object Object]" ? "object with keys {" + Object.keys(e).join(", ") + "}" : t) + "). If you meant to render a collection of children, use an array instead.");
112
112
  return o;
@@ -115,7 +115,7 @@ function mi(e, t, n) {
115
115
  if (e == null)
116
116
  return e;
117
117
  var i = [], r = 0;
118
- return ki(e, i, "", "", function(l) {
118
+ return Si(e, i, "", "", function(l) {
119
119
  return t.call(n, l, r++);
120
120
  }), i;
121
121
  }
@@ -133,7 +133,7 @@ function hd(e) {
133
133
  throw e._result;
134
134
  }
135
135
  var ae = { current: null }, Bi = { transition: null }, Cd = { ReactCurrentDispatcher: ae, ReactCurrentBatchConfig: Bi, ReactCurrentOwner: ao };
136
- S.Children = { map: mi, forEach: function(e, t, n) {
136
+ k.Children = { map: mi, forEach: function(e, t, n) {
137
137
  mi(e, function() {
138
138
  t.apply(this, arguments);
139
139
  }, n);
@@ -151,22 +151,22 @@ S.Children = { map: mi, forEach: function(e, t, n) {
151
151
  throw Error("React.Children.only expected to receive a single React element child.");
152
152
  return e;
153
153
  } };
154
- S.Component = mn;
155
- S.Fragment = rd;
156
- S.Profiler = od;
157
- S.PureComponent = so;
158
- S.StrictMode = ld;
159
- S.Suspense = cd;
160
- S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Cd;
161
- S.cloneElement = function(e, t, n) {
154
+ k.Component = mn;
155
+ k.Fragment = rd;
156
+ k.Profiler = od;
157
+ k.PureComponent = so;
158
+ k.StrictMode = ld;
159
+ k.Suspense = cd;
160
+ k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Cd;
161
+ k.cloneElement = function(e, t, n) {
162
162
  if (e == null)
163
163
  throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + e + ".");
164
- var i = Ku({}, e.props), r = e.key, l = e.ref, o = e._owner;
164
+ var i = Vu({}, e.props), r = e.key, l = e.ref, o = e._owner;
165
165
  if (t != null) {
166
166
  if (t.ref !== void 0 && (l = t.ref, o = ao.current), t.key !== void 0 && (r = "" + t.key), e.type && e.type.defaultProps)
167
167
  var s = e.type.defaultProps;
168
168
  for (u in t)
169
- Hu.call(t, u) && !ju.hasOwnProperty(u) && (i[u] = t[u] === void 0 && s !== void 0 ? s[u] : t[u]);
169
+ ju.call(t, u) && !Fu.hasOwnProperty(u) && (i[u] = t[u] === void 0 && s !== void 0 ? s[u] : t[u]);
170
170
  }
171
171
  var u = arguments.length - 2;
172
172
  if (u === 1)
@@ -179,28 +179,28 @@ S.cloneElement = function(e, t, n) {
179
179
  }
180
180
  return { $$typeof: si, type: e.type, key: r, ref: l, props: i, _owner: o };
181
181
  };
182
- S.createContext = function(e) {
182
+ k.createContext = function(e) {
183
183
  return e = { $$typeof: ud, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: sd, _context: e }, e.Consumer = e;
184
184
  };
185
- S.createElement = Fu;
186
- S.createFactory = function(e) {
187
- var t = Fu.bind(null, e);
185
+ k.createElement = Hu;
186
+ k.createFactory = function(e) {
187
+ var t = Hu.bind(null, e);
188
188
  return t.type = e, t;
189
189
  };
190
- S.createRef = function() {
190
+ k.createRef = function() {
191
191
  return { current: null };
192
192
  };
193
- S.forwardRef = function(e) {
193
+ k.forwardRef = function(e) {
194
194
  return { $$typeof: ad, render: e };
195
195
  };
196
- S.isValidElement = co;
197
- S.lazy = function(e) {
196
+ k.isValidElement = co;
197
+ k.lazy = function(e) {
198
198
  return { $$typeof: gd, _payload: { _status: -1, _result: e }, _init: hd };
199
199
  };
200
- S.memo = function(e, t) {
200
+ k.memo = function(e, t) {
201
201
  return { $$typeof: dd, type: e, compare: t === void 0 ? null : t };
202
202
  };
203
- S.startTransition = function(e) {
203
+ k.startTransition = function(e) {
204
204
  var t = Bi.transition;
205
205
  Bi.transition = {};
206
206
  try {
@@ -209,55 +209,55 @@ S.startTransition = function(e) {
209
209
  Bi.transition = t;
210
210
  }
211
211
  };
212
- S.unstable_act = function() {
212
+ k.unstable_act = function() {
213
213
  throw Error("act(...) is not supported in production builds of React.");
214
214
  };
215
- S.useCallback = function(e, t) {
215
+ k.useCallback = function(e, t) {
216
216
  return ae.current.useCallback(e, t);
217
217
  };
218
- S.useContext = function(e) {
218
+ k.useContext = function(e) {
219
219
  return ae.current.useContext(e);
220
220
  };
221
- S.useDebugValue = function() {
221
+ k.useDebugValue = function() {
222
222
  };
223
- S.useDeferredValue = function(e) {
223
+ k.useDeferredValue = function(e) {
224
224
  return ae.current.useDeferredValue(e);
225
225
  };
226
- S.useEffect = function(e, t) {
226
+ k.useEffect = function(e, t) {
227
227
  return ae.current.useEffect(e, t);
228
228
  };
229
- S.useId = function() {
229
+ k.useId = function() {
230
230
  return ae.current.useId();
231
231
  };
232
- S.useImperativeHandle = function(e, t, n) {
232
+ k.useImperativeHandle = function(e, t, n) {
233
233
  return ae.current.useImperativeHandle(e, t, n);
234
234
  };
235
- S.useInsertionEffect = function(e, t) {
235
+ k.useInsertionEffect = function(e, t) {
236
236
  return ae.current.useInsertionEffect(e, t);
237
237
  };
238
- S.useLayoutEffect = function(e, t) {
238
+ k.useLayoutEffect = function(e, t) {
239
239
  return ae.current.useLayoutEffect(e, t);
240
240
  };
241
- S.useMemo = function(e, t) {
241
+ k.useMemo = function(e, t) {
242
242
  return ae.current.useMemo(e, t);
243
243
  };
244
- S.useReducer = function(e, t, n) {
244
+ k.useReducer = function(e, t, n) {
245
245
  return ae.current.useReducer(e, t, n);
246
246
  };
247
- S.useRef = function(e) {
247
+ k.useRef = function(e) {
248
248
  return ae.current.useRef(e);
249
249
  };
250
- S.useState = function(e) {
250
+ k.useState = function(e) {
251
251
  return ae.current.useState(e);
252
252
  };
253
- S.useSyncExternalStore = function(e, t, n) {
253
+ k.useSyncExternalStore = function(e, t, n) {
254
254
  return ae.current.useSyncExternalStore(e, t, n);
255
255
  };
256
- S.useTransition = function() {
256
+ k.useTransition = function() {
257
257
  return ae.current.useTransition();
258
258
  };
259
- S.version = "18.2.0";
260
- Ru.exports = S;
259
+ k.version = "18.2.0";
260
+ Ru.exports = k;
261
261
  var x = Ru.exports;
262
262
  /**
263
263
  * @license React
@@ -268,22 +268,22 @@ var x = Ru.exports;
268
268
  * This source code is licensed under the MIT license found in the
269
269
  * LICENSE file in the root directory of this source tree.
270
270
  */
271
- var Id = x, yd = Symbol.for("react.element"), bd = Symbol.for("react.fragment"), Zd = Object.prototype.hasOwnProperty, vd = Id.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, wd = { key: !0, ref: !0, __self: !0, __source: !0 };
271
+ var Id = x, yd = Symbol.for("react.element"), bd = Symbol.for("react.fragment"), Zd = Object.prototype.hasOwnProperty, wd = Id.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, vd = { key: !0, ref: !0, __self: !0, __source: !0 };
272
272
  function zu(e, t, n) {
273
273
  var i, r = {}, l = null, o = null;
274
274
  n !== void 0 && (l = "" + n), t.key !== void 0 && (l = "" + t.key), t.ref !== void 0 && (o = t.ref);
275
275
  for (i in t)
276
- Zd.call(t, i) && !wd.hasOwnProperty(i) && (r[i] = t[i]);
276
+ Zd.call(t, i) && !vd.hasOwnProperty(i) && (r[i] = t[i]);
277
277
  if (e && e.defaultProps)
278
278
  for (i in t = e.defaultProps, t)
279
279
  r[i] === void 0 && (r[i] = t[i]);
280
- return { $$typeof: yd, type: e, key: l, ref: o, props: r, _owner: vd.current };
280
+ return { $$typeof: yd, type: e, key: l, ref: o, props: r, _owner: wd.current };
281
281
  }
282
282
  yr.Fragment = bd;
283
283
  yr.jsx = zu;
284
284
  yr.jsxs = zu;
285
285
  Bu.exports = yr;
286
- var Fn = Bu.exports;
286
+ var Hn = Bu.exports;
287
287
  function Wd() {
288
288
  if (console && console.warn) {
289
289
  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
@@ -370,29 +370,29 @@ let dl = {
370
370
  useSuspense: !0,
371
371
  unescape: Ad
372
372
  };
373
- function Sd() {
373
+ function kd() {
374
374
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
375
375
  dl = {
376
376
  ...dl,
377
377
  ...e
378
378
  };
379
379
  }
380
- function kd() {
380
+ function Sd() {
381
381
  return dl;
382
382
  }
383
- let Tu;
383
+ let Du;
384
384
  function Bd(e) {
385
- Tu = e;
385
+ Du = e;
386
386
  }
387
387
  function Rd() {
388
- return Tu;
388
+ return Du;
389
389
  }
390
- const Vd = {
390
+ const Kd = {
391
391
  type: "3rdParty",
392
392
  init(e) {
393
- Sd(e.options.react), Bd(e);
393
+ kd(e.options.react), Bd(e);
394
394
  }
395
- }, Kd = x.createContext();
395
+ }, Vd = x.createContext();
396
396
  class Od {
397
397
  constructor() {
398
398
  this.usedNamespaces = {};
@@ -412,22 +412,22 @@ const Md = (e, t) => {
412
412
  n.current = t ? n.current : e;
413
413
  }, [e, t]), n.current;
414
414
  };
415
- function Du(e) {
415
+ function Ju(e) {
416
416
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
417
417
  const {
418
418
  i18n: n
419
419
  } = t, {
420
420
  i18n: i,
421
421
  defaultNS: r
422
- } = x.useContext(Kd) || {}, l = n || i || Rd();
422
+ } = x.useContext(Vd) || {}, l = n || i || Rd();
423
423
  if (l && !l.reportNamespaces && (l.reportNamespaces = new Od()), !l) {
424
424
  cl("You will need to pass in an i18next instance by using initReactI18next");
425
- const f = (Z, v) => typeof v == "string" ? v : v && typeof v == "object" && typeof v.defaultValue == "string" ? v.defaultValue : Array.isArray(Z) ? Z[Z.length - 1] : Z, h = [f, {}, !1];
425
+ const f = (Z, w) => typeof w == "string" ? w : w && typeof w == "object" && typeof w.defaultValue == "string" ? w.defaultValue : Array.isArray(Z) ? Z[Z.length - 1] : Z, h = [f, {}, !1];
426
426
  return h.t = f, h.i18n = {}, h.ready = !1, h;
427
427
  }
428
428
  l.options.react && l.options.react.wait !== void 0 && cl("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
429
429
  const o = {
430
- ...kd(),
430
+ ...Sd(),
431
431
  ...l.options.react,
432
432
  ...t
433
433
  }, {
@@ -458,7 +458,7 @@ function Du(e) {
458
458
  G.current && I(m);
459
459
  }
460
460
  return f && l && l.on(f, Z), h && l && l.store.on(h, Z), () => {
461
- G.current = !1, f && l && f.split(" ").forEach((v) => l.off(v, Z)), h && l && h.split(" ").forEach((v) => l.store.off(v, Z));
461
+ G.current = !1, f && l && f.split(" ").forEach((w) => l.off(w, Z)), h && l && h.split(" ").forEach((w) => l.store.off(w, Z));
462
462
  };
463
463
  }, [l, C]);
464
464
  const p = x.useRef(!0);
@@ -472,18 +472,18 @@ function Du(e) {
472
472
  t.lng ? as(l, t.lng, a, () => f()) : us(l, a, () => f());
473
473
  });
474
474
  }
475
- var Hd = Object.defineProperty, jd = Object.defineProperties, Fd = Object.getOwnPropertyDescriptors, cs = Object.getOwnPropertySymbols, zd = Object.prototype.hasOwnProperty, xd = Object.prototype.propertyIsEnumerable, ds = (e, t, n) => t in e ? Hd(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Td = (e, t) => {
475
+ var jd = Object.defineProperty, Fd = Object.defineProperties, Hd = Object.getOwnPropertyDescriptors, cs = Object.getOwnPropertySymbols, zd = Object.prototype.hasOwnProperty, xd = Object.prototype.propertyIsEnumerable, ds = (e, t, n) => t in e ? jd(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Dd = (e, t) => {
476
476
  for (var n in t || (t = {}))
477
477
  zd.call(t, n) && ds(e, n, t[n]);
478
478
  if (cs)
479
479
  for (var n of cs(t))
480
480
  xd.call(t, n) && ds(e, n, t[n]);
481
481
  return e;
482
- }, Dd = (e, t) => jd(e, Fd(t)), Ju = x.createContext(void 0), Xf = ({ environment: e, children: t }) => {
482
+ }, Jd = (e, t) => Fd(e, Hd(t)), Tu = x.createContext(void 0), Xf = ({ environment: e, children: t }) => {
483
483
  const [n] = x.useState(() => e);
484
- return /* @__PURE__ */ Fn.jsx(Ju.Provider, { value: n, children: t });
485
- }, Jd = () => {
486
- const e = x.useContext(Ju);
484
+ return /* @__PURE__ */ Hn.jsx(Tu.Provider, { value: n, children: t });
485
+ }, Td = () => {
486
+ const e = x.useContext(Tu);
487
487
  if (e === void 0)
488
488
  throw new Error("useEnvironment must be used within an EnvironmentProvider");
489
489
  return e;
@@ -496,9 +496,9 @@ var Hd = Object.defineProperty, jd = Object.defineProperties, Fd = Object.getOwn
496
496
  const n = e === "prod" ? "" : "syst.";
497
497
  return t === "fr" ? `https://profil.${n}monxtra.be` : `https://profiel.${n}mijnxtra.be`;
498
498
  }, Ud = Ed, Gf = () => {
499
- const { i18n: e } = Du(), t = Jd();
499
+ const { i18n: e } = Ju(), t = Td();
500
500
  return Ud(t, e.language);
501
- }, gs = ({ error: e }) => e ? /* @__PURE__ */ Fn.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null, Pd = (e, t) => e.getAttribute("name") === t, _d = (e, t) => {
501
+ }, gs = ({ error: e }) => e ? /* @__PURE__ */ Hn.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null, Pd = (e, t) => e.getAttribute("name") === t, _d = (e, t) => {
502
502
  const n = Object.keys(t)[0];
503
503
  return Array.from(e.elements).find((r) => Pd(r, n));
504
504
  }, $d = (e, t) => Object.keys(t).reduce((n, i, r) => {
@@ -514,7 +514,7 @@ var Hd = Object.defineProperty, jd = Object.defineProperties, Fd = Object.getOwn
514
514
  const i = $d(e, t), r = i == null ? void 0 : i.split(",")[0], l = _d(e, t);
515
515
  return l == null || l.focus(), l == null || l.scrollIntoView({ block: "center" }), n("accessibleForm.detailedError", { invalidFormFieldLabels: i, firstInvalidFormFieldLabel: r });
516
516
  }, Yf = ({ submitCount: e, errors: t }) => {
517
- const { t: n } = Du(), i = x.useRef(null), r = i.current, [l, o] = x.useState(!1), [s] = Object.entries(t), [u, a] = x.useState(), [g, m] = x.useState(e);
517
+ const { t: n } = Ju(), i = x.useRef(null), r = i.current, [l, o] = x.useState(!1), [s] = Object.entries(t), [u, a] = x.useState(), [g, m] = x.useState(e);
518
518
  return x.useEffect(() => o(!0), []), x.useEffect(() => {
519
519
  if (!e || !s || g === e)
520
520
  return;
@@ -522,8 +522,8 @@ var Hd = Object.defineProperty, jd = Object.defineProperties, Fd = Object.getOwn
522
522
  a(I), m(e);
523
523
  }, [s, e, t, r, n, g]), !l && !e && s ? {
524
524
  formRef: i,
525
- AccessibleFormMessage: /* @__PURE__ */ Fn.jsx(gs, { error: n("accessibleForm.genericError") })
526
- } : { formRef: i, AccessibleFormMessage: /* @__PURE__ */ Fn.jsx(gs, { error: u }) };
525
+ AccessibleFormMessage: /* @__PURE__ */ Hn.jsx(gs, { error: n("accessibleForm.genericError") })
526
+ } : { formRef: i, AccessibleFormMessage: /* @__PURE__ */ Hn.jsx(gs, { error: u }) };
527
527
  }, Nf = () => {
528
528
  const [e, t] = x.useState("");
529
529
  return x.useEffect(() => {
@@ -547,10 +547,10 @@ var Hd = Object.defineProperty, jd = Object.defineProperties, Fd = Object.getOwn
547
547
  createdAt: "2020-03-09T07:44:01Z",
548
548
  updatedAt: "2022-07-18T14:28:01Z"
549
549
  };
550
- Dd(Td({}, tg), {
550
+ Jd(Dd({}, tg), {
551
551
  phone: [{ type: "mobile", countryCode: "32", number: "0499999999" }]
552
552
  });
553
- const ng = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OnZhcigtLWNvbG9yLXVuaXZlcnNhbC1uZXV0cmFscy1uMTAsIzAwMCk7CiAgLS1uZXV0cmFsLTkwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjksIzFiMWYyNyk7CiAgLS1uZXV0cmFsLTgwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjgsIzJlM2I1Nik7CiAgLS1uZXV0cmFsLTcwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjcsIzQ4NTI2ZCk7CiAgLS1uZXV0cmFsLTYwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjYsIzYzNzA4YSk7CiAgLS1uZXV0cmFsLTUwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjUsIzdjODlhMyk7CiAgLS1uZXV0cmFsLTQwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjQsIzlmYWFjMCk7CiAgLS1uZXV0cmFsLTMwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjMsI2JiYzFkMyk7CiAgLS1uZXV0cmFsLTIwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjIsI2ViZWRmNSk7CiAgLS1uZXV0cmFsLTEwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjEsI2YzZjRmYSk7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi05MDAsIzAwM2MzNyk7CiAgLS1wcmltYXJ5LTgwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTgwMCwjMDA1NjRmKTsKICAtLXByaW1hcnktNzAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tNzAwLCMwMDgwNzcpOwogIC0tcHJpbWFyeS02MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi02MDAsIzAwOWE4ZSk7CiAgLS1wcmltYXJ5LTUwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTUwMC1iYXNlLCMwMGFiOWUpOwogIC0tcHJpbWFyeS00MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi00MDAsIzE5YjNhOCk7CiAgLS1wcmltYXJ5LTMwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTMwMCwjODBkNWNmKTsKICAtLXByaW1hcnktMjAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tMjAwLCNjY2VlZWMpOwogIC0tcHJpbWFyeS0xMDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi0xMDAsI2U1ZjdmNSk7CiAgLS1wcmltYXJ5LTUwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tNTAsI2VmZjlmOSk7CiAgLS1zdWNjZXNzLTIwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtc3VjY2VzLTIwMCwjZjJmOWVjKTsKICAtLXN1Y2Nlc3MtNTAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1zdWNjZXMtNTAwLWJhc2UsIzAwOWEzZSk7CiAgLS1lcnJvci0yMDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFsZXJ0LTIwMCwjZmVmNGY1KTsKICAtLWVycm9yLTQwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWxlcnQtNDAwLCNmZjVjNWMpOwogIC0tZXJyb3ItNTAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hbGVydC01MDAtYmFzZSwjZTYyZDMyKTsKICAtLXdhcm5pbmctMjAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC13YXJuaW5nLTIwMCwjZmZmYWYzKTsKICAtLXdhcm5pbmctNTAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC13YXJuaW5nLTUwMC1iYXNlLCNkYzg2MzMpOwogIC0tcHJpbWFyeS1ncmFkaWVudDpsaW5lYXItZ3JhZGllbnQoMTMzLjUzZGVnLCMxNTlhOTUgMjUuNTclLCMxMGI4YjEgNzQuMjklKTsKICAtLXNoYWRvdy1jYXJkOjAgM3B4IDhweCByZ2JhKDQ2LDU5LDg2LC4xKTsKICAtLXNoYWRvdy1uYXY6MCAwIDEycHggcmdiYSg0Niw1OSw4NiwuMTIpOwogIC0tc2hhZG93LWJ1dHRvbjowIDhweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctZmFiOjAgNHB4IDhweCAtNXB4IHJnYmEoMSwxNDEsMTM2LC4yKTsKICAtLXNoYWRvdy1tb2RhbDowIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIC0tYm9yZGVyLXJhZGl1cy1zbTo2cHg7CiAgLS1ib3JkZXItcmFkaXVzLW1kOjEwcHg7CiAgLS1ib3JkZXItcmFkaXVzLWxnOjE4cHg7CiAgLS1zcGFjaW5nLTE6NHB4OwogIC0tc3BhY2luZy0yOjhweDsKICAtLXNwYWNpbmctMzoxMnB4OwogIC0tc3BhY2luZy00OjE2cHg7CiAgLS1zcGFjaW5nLTU6MjBweDsKICAtLXNwYWNpbmctNjoyNHB4OwogIC0tc3BhY2luZy03OjI4cHg7CiAgLS1zcGFjaW5nLTg6MzJweDsKICAtLXNwYWNpbmctOTo0MHB4OwogIC0tc3BhY2luZy0xMDo0OHB4OwogIC0tc3BhY2luZy0xMTo1NnB4OwogIC0tc3BhY2luZy0xMjo2NHB4OwogIC0tZm9udC14dHJhOiJOZXVlIix1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLGJsaW5rbWFjc3lzdGVtZm9udCwiU2Vnb2UgVUkiLHJvYm90bywiSGVsdmV0aWNhIE5ldWUiLGFyaWFsLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiLCJOb3RvIENvbG9yIEVtb2ppIjsKICAtLWRpc3BsYXktMS1tZWRpdW06NTAwIDNyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS1kaXNwbGF5LTItbWVkaXVtOjUwMCAyLjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS1kaXNwbGF5LTMtbWVkaXVtOjUwMCAycmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1yZWd1bGFyOjQwMCAxLjVyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0xLW1lZGl1bTo1MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMi1yZWd1bGFyOjQwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMi1tZWRpdW06NTAwIDEuMjVyZW0vMS4yIHZhcigtLWZvbnQteHRyYSk7CiAgLS10aXRsZS0zLXJlZ3VsYXI6NDAwIDEuMTI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1tZWRpdW06NTAwIDEuMTI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0xLXJlZ3VsYXI6NDAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0xLW1lZGl1bTo1MDAgMS4xMjVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItcmVndWxhcjo0MDAgMXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMi1tZWRpdW06NTAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1zdWJ0ZXh0LXJlZ3VsYXI6NDAwIDAuODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1tZWRpdW06NTAwIDAuODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tbGFiZWwtcmVndWxhcjo0MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tbGFiZWwtbWVkaXVtOjUwMCAwLjY4NzVyZW0vMS41IHZhcigtLWZvbnQteHRyYSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwp9Ci5zci1vbmx5IHsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIGJvcmRlci13aWR0aDogMDsKICBoZWlnaHQ6IDFweDsKICBtYXJnaW46IC0xcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxcHg7Cn0KOmhvc3QgKiwKOnJvb3QgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgOmhvc3QsCiAgOnJvb3QgewogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQW5jaG9yL0FuY2hvci5jc3MgKi8KLmFuY2hvciB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouYW5jaG9yLS1pbmxpbmUgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYW5jaG9yLS1pbmxpbmU6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgdmFyKC0tcHJpbWFyeS03MDApOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYW5jaG9yLS1pbmxpbmU6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1pbmxpbmU6bm90KDphY3RpdmUpOmZvY3VzIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgdmFyKC0tcHJpbWFyeS03MDApOwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1uZXV0cmFsIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYW5jaG9yLS1uZXV0cmFsOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLW5ldXRyYWwtODAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLW5ldXRyYWwtODAwKTsKICB9Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0wMDApLCAwIDAgMCAxMHB4IHZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5hbmNob3ItLW5ldXRyYWw6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApLCAwIDAgMCAxMHB4IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYW5jaG9yLS1uZXV0cmFsOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0wMDApLCAwIDAgMCA5LjVweCB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXM6YWN0aXZlIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXByaW1hcnktNTApLCAwIDAgMCA5LjVweCB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tZGlzYWJsZWQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0F2YXRhci9BdmF0YXIuY3NzICovCi5hdmF0YXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYXZhdGFyLS1zbWFsbCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy0xKTsKICBmb250LXNpemU6IDEwcHg7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9Ci5hdmF0YXItLW1lZGl1bSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy0yKTsKICBmb250LXNpemU6IDE4cHg7CiAgaGVpZ2h0OiA0MHB4OwogIHdpZHRoOiA0MHB4Owp9Ci5hdmF0YXItLWxhcmdlIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjaW5nLTQpOwogIGZvbnQtc2l6ZTogNDJweDsKICBoZWlnaHQ6IDEwMHB4OwogIHdpZHRoOiAxMDBweDsKfQouYXZhdGFyX19pbml0aWFscyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9CdXR0b24vQnV0dG9uLmNzcyAqLwouYnV0dG9uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmJ1dHRvbi0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIH0KfQouYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNjAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouYnV0dG9uLS1kaXNhYmxlZCwKLmJ1dHRvbi0tcHJpbWFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQouYnV0dG9uX19sYWJlbCB7CiAgbWluLWhlaWdodDogMjRweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc2IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0OmhvdmVyOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmRpc2FibGVkLCBbYXJpYS1kaXNhYmxlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKTppcyg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmRpc2FibGVkLCBbYXJpYS1kaXNhYmxlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5jaGVja2JveF9fbGFiZWwgewogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKfQouY2hlY2tib3hfX2hpbnQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmNoZWNrYm94X19lcnJvciB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQouY2hlY2tib3hfX2lucHV0OmluZGV0ZXJtaW5hdGUgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmNoZWNrYm94X19jaGVjayB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0OwogIH0KICAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjM1cyBlYXNlLW91dDsKICB9CiAgLmNoZWNrYm94X19zcGlubmVyIGNpcmNsZTpsYXN0LW9mLXR5cGUgewogICAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIH0KICBAa2V5ZnJhbWVzIGNoZWNrYm94LXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db21ib2JveC9Db21ib2JveC5jc3MgKi8KLmNvbWJvYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KdWxbcm9sZT1saXN0Ym94XS5jb21ib2JveF9fbGlzdC0tb3BlbiB7CiAgZGlzcGxheTogYmxvY2s7Cn0KdWxbcm9sZT1saXN0Ym94XSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IG5vbmU7CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDNweCA4cHggcmdiKDQ2IDU5IDg2LzEwJSkpOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LWhlaWdodDogMTY1cHg7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKICBvdmVyZmxvdy14OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwMDsKfQp1bFtyb2xlPWxpc3Rib3hdIGxpW3JvbGU9b3B0aW9uXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl06bm90KDpsYXN0LWNoaWxkKSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tc2VsZWN0ZWQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nIHsKICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgaGVpZ2h0OiA0OHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWxvYWRpbmc6YWZ0ZXIgewogIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE2cHg7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTZweDsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tZW1wdHkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBkZWZhdWx0OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkxpc3QuY3NzICovCi5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGR0IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xKTsKfQouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkZCB7CiAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGR0IHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkZCB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25Db250ZW50L0Rlc2NyaXB0aW9uQ29udGVudC5jc3MgKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kZXNjcmlwdGlvbi1saXN0X19jb250ZW50IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgfQogIC5kZXNjcmlwdGlvbi1saXN0X19jb250ZW50ID4gKiB7CiAgICBmbGV4OiAxOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkl0ZW0vRGVzY3JpcHRpb25JdGVtLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9faXRlbSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kZXNjcmlwdGlvbi1saXN0X19pdGVtID4gKiB7CiAgZmxleDogMTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjdGlwdGlvblByZWZpeC9EZXNjcmlwdGlvblByZWZpeC5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX3ByZWZpeCB7CiAgZmxleDogMDsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjdGlwdGlvblN1ZmZpeC9EZXNjcmlwdGlvblN1ZmZpeC5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnRpbWVsaW5lOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci50aW1lbGluZS0tdmVydGljYWw6YWZ0ZXIgewogIGhlaWdodDogMTAwJTsKICBpbnNldDogMCA1MCUgYXV0bzsKICB3aWR0aDogMXB4Owp9Ci50aW1lbGluZS0taG9yaXpvbnRhbCB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLS1ob3Jpem9udGFsOmFmdGVyIHsKICBoZWlnaHQ6IDFweDsKICBpbnNldDogNTAlIDAgYXV0bzsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmVfX2xhYmVsIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7CiAgaGVpZ2h0OiAzMnB4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAzMnB4Owp9Ci50aW1lbGluZV9fbGFiZWw6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDMycHg7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbCA+IDppcyhzdmcsIHNwYW4pIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHotaW5kZXg6IDIwOwp9Ci50aW1lbGluZS0tdmVydGljYWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTQpIGF1dG8gMDsKfQoudGltZWxpbmUtLWhvcml6b250YWwgLnRpbWVsaW5lX19sYWJlbCB7CiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCk7Cn0KLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLS1wcmltYXJ5OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzInIGhlaWdodD0nMzInIGZpbGw9J25vbmUnIHZpZXdCb3g9JzAgMCAzMyAzMiclM0UlM0NwYXRoIGZpbGw9JyUyMzAwQUI5RScgZD0nTTExLjE2OS4wNWM2LjAwNi43MDkgMTIuMzY4IDIuNDEzIDE3LjkyNCA0LjgwMiAxLjE5My41MTMgMi4xMjggMS4yOCAyLjcyIDIuMzA3LjU5MyAxLjAyNi43OSAyLjIyLjYzOCAzLjUxLS43MSA2LjAwNS0yLjQxNCAxMi4zNjctNC44MDMgMTcuOTIzLS41MTMgMS4xOTQtMS4yOCAyLjEzLTIuMzA2IDIuNzIyLTEuMDI2LjU5Mi0yLjIyLjc4OS0zLjUxLjYzNy02LjAwNi0uNzEtMTIuMzY4LTIuNDE0LTE3LjkyNC00LjgwMy0xLjE5NC0uNTEzLTIuMTMtMS4yOC0yLjcyMi0yLjMwNy0uNTkyLTEuMDI2LS43ODktMi4yMi0uNjM3LTMuNTEuNzEtNi4wMDYgMi40MTQtMTIuMzY4IDQuODA0LTE3LjkyNC41MTMtMS4xOTMgMS4yOC0yLjEyOCAyLjMwNi0yLjcyIDEuMDI2LS41OTMgMi4yMi0uNzkgMy41MS0uNjM4WicvJTNFJTNDL3N2ZyUzRSIpOwp9Ci50aW1lbGluZV9fbGFiZWwtLXNlY29uZGFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoudGltZWxpbmVfX2xhYmVsLS1zZWNvbmRhcnk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDMzIDMyJyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBzdHJva2U9JyUyMzAwQUI5RScgZD0nTTExLjExLjU0NmM1Ljk1OC43MDMgMTIuMjc0IDIuMzk2IDE3Ljc4NSA0Ljc2NSAxLjExMy40NzkgMS45NTYgMS4xODEgMi40ODYgMi4wOTguNTI5LjkxNi43MTUgMS45OTguNTczIDMuMi0uNzAzIDUuOTU5LTIuMzk1IDEyLjI3NC00Ljc2NSAxNy43ODYtLjQ3OCAxLjExMy0xLjE4IDEuOTU2LTIuMDk3IDIuNDg2LS45MTcuNTI5LTEuOTk5LjcxNS0zLjIwMS41NzMtNS45NTktLjcwMy0xMi4yNzQtMi4zOTYtMTcuNzg2LTQuNzY1LTEuMTEzLS40NzktMS45NTYtMS4xODEtMi40ODYtMi4wOTgtLjUyOS0uOTE2LS43MTUtMS45OTgtLjU3My0zLjIwMUMxLjc1IDE1LjQzIDMuNDQyIDkuMTE2IDUuODEyIDMuNjA1Yy40NzgtMS4xMTMgMS4xOC0xLjk1NiAyLjA5Ny0yLjQ4NkM4LjgyNi41OSA5LjkwNy40MDQgMTEuMTEuNTQ2WicvJTNFJTNDL3N2ZyUzRSIpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGltZWxpbmVfX2xhYmVsIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KICAudGltZWxpbmUtLXZlcnRpY2FsIC50aW1lbGluZV9fbGFiZWwgewogICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTUpIGF1dG8gMDsKICB9CiAgLnRpbWVsaW5lLS1ob3Jpem9udGFsIC50aW1lbGluZV9fbGFiZWwgewogICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0Zvcm1Hcm91cC5jc3MgKi8KLmZvcm0tZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9IaW50L0hpbnQuY3NzICovCi5mb3JtLWdyb3VwX19lcnJvciwKLmZvcm0tZ3JvdXBfX2hpbnQgewogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmZvcm0tZ3JvdXBfX2hpbnQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmZvcm0tZ3JvdXBfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9MYWJlbC9MYWJlbC5jc3MgKi8KLmZvcm0taXRlbV9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC13aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvUmFkaW8vUmFkaW8uY3NzICovCi5yYWRpby1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dC13cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTMpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5yYWRpb19faW5wdXQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGRpc3BsYXk6IGdyaWQ7CiAgZm9udDogaW5oZXJpdDsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3BhY2luZy02KTsKICBwbGFjZS1jb250ZW50OiBjZW50ZXI7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgewogIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnJhZGlvX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOwogIHdpZHRoOiAwOwp9Ci5yYWRpb19faW5wdXQ6Y2hlY2tlZDpiZWZvcmUgewogIGhlaWdodDogMTJweDsKICB3aWR0aDogMTJweDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1Bhc3N3b3JkL1Bhc3N3b3JkLmNzcyAqLwoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCB7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNik7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbiB7CiAgcGFkZGluZzogMDsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uOmZvY3VzLXZpc2libGUgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9CiAgLmlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwsCiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KfQo=";
553
+ const ng = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OnZhcigtLWNvbG9yLXVuaXZlcnNhbC1uZXV0cmFscy1uMTAsIzAwMCk7CiAgLS1uZXV0cmFsLTkwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjksIzFiMWYyNyk7CiAgLS1uZXV0cmFsLTgwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjgsIzJlM2I1Nik7CiAgLS1uZXV0cmFsLTcwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjcsIzQ4NTI2ZCk7CiAgLS1uZXV0cmFsLTYwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjYsIzYzNzA4YSk7CiAgLS1uZXV0cmFsLTUwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjUsIzdjODlhMyk7CiAgLS1uZXV0cmFsLTQwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjQsIzlmYWFjMCk7CiAgLS1uZXV0cmFsLTMwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjMsI2JiYzFkMyk7CiAgLS1uZXV0cmFsLTIwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjIsI2ViZWRmNSk7CiAgLS1uZXV0cmFsLTEwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtbmV1dHJhbHMtbjEsI2YzZjRmYSk7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi05MDAsIzAwM2MzNyk7CiAgLS1wcmltYXJ5LTgwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTgwMCwjMDA1NjRmKTsKICAtLXByaW1hcnktNzAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tNzAwLCMwMDgwNzcpOwogIC0tcHJpbWFyeS02MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi02MDAsIzAwOWE4ZSk7CiAgLS1wcmltYXJ5LTUwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTUwMC1iYXNlLCMwMGFiOWUpOwogIC0tcHJpbWFyeS00MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi00MDAsIzE5YjNhOCk7CiAgLS1wcmltYXJ5LTMwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWN0aW9uLTMwMCwjODBkNWNmKTsKICAtLXByaW1hcnktMjAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tMjAwLCNjY2VlZWMpOwogIC0tcHJpbWFyeS0xMDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFjdGlvbi0xMDAsI2U1ZjdmNSk7CiAgLS1wcmltYXJ5LTUwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hY3Rpb24tNTAsI2VmZjlmOSk7CiAgLS1zdWNjZXNzLTIwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtc3VjY2VzLTIwMCwjZjJmOWVjKTsKICAtLXN1Y2Nlc3MtNTAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1zdWNjZXMtNTAwLWJhc2UsIzAwOWEzZSk7CiAgLS1lcnJvci0yMDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFsZXJ0LTIwMCwjZmVmNGY1KTsKICAtLWVycm9yLTMwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtYWxlcnQtMzAwLCNmMjk2OTkpOwogIC0tZXJyb3ItNDAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hbGVydC00MDAsI2ZmNWM1Yyk7CiAgLS1lcnJvci01MDA6dmFyKC0tY29sb3ItdW5pdmVyc2FsLWFsZXJ0LTUwMC1iYXNlLCNlNjJkMzIpOwogIC0tZXJyb3ItNjAwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1hbGVydC02MDAsI2NmMjgyZCk7CiAgLS13YXJuaW5nLTIwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtd2FybmluZy0yMDAsI2ZmZmFmMyk7CiAgLS13YXJuaW5nLTUwMDp2YXIoLS1jb2xvci11bml2ZXJzYWwtd2FybmluZy01MDAtYmFzZSwjZGM4NjMzKTsKICAtLWRpc2NvdW50LTUwOnZhcigtLWNvbG9yLXVuaXZlcnNhbC1kaXNjb3VudC01MCwjZmRmMmY0KTsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjpob3N0ICosCjpyb290ICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICB9Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnktLWZpbGxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5idXR0b24tLXRlcnRpYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy0xKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICB9Cn0KLmJ1dHRvbi0tdGVydGlhcnk6YWN0aXZlLAouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tdGVydGlhcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmRpc2FibGVkLAouYnV0dG9uLS10ZXJ0aWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmJ1dHRvbi0td2FybmluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTQwMCk7CiAgfQp9Ci5idXR0b24tLXdhcm5pbmc6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci00MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0td2FybmluZzphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTQwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpmb2N1czpub3QoOmhvdmVyKSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLW5ldXRyYWw6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsOmZvY3VzIHsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMjAwKSwKICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICBpbnNldCAwIDAgMCA0cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0tbmV1dHJhbDphY3RpdmUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tbmV1dHJhbDpkaXNhYmxlZCB7CiAgb3BhY2l0eTogLjY7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeSwKLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5IHsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgcGFkZGluZzogMDsKICB3aWR0aDogYXV0bzsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmJ1dHRvbi0td2l0aC1pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5idXR0b25fX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmJ1dHRvbl9fbGFiZWwgewogIG1pbi1oZWlnaHQ6IDI0cHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5idXR0b24gewogICAgd2lkdGg6IGF1dG87CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmJ1dHRvbi5idXR0b24tLXBlbmRpbmcgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CiAgLmJ1dHRvbi5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItdG9wOiA0cHggc29saWQgdmFyKC0tbmV1dHJhbC0wMDApOwogICAgY29udGVudDogIiI7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBpbnNldDogMDsKICAgIG1hcmdpbjogYXV0bzsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxNnB4OwogIH0KICAuYnV0dG9uLS1zZWNvbmRhcnkuYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9CiAgQGtleWZyYW1lcyBidXR0b24tc3Bpbm5lciB7CiAgICAwJSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KICAgIHRvIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOwogICAgfQogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2FsbFRvQWN0aW9uL0NhbGxUb0FjdGlvbi5jc3MgKi8KLmNhbGwtdG8tYWN0aW9uIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNzU0JyBoZWlnaHQ9JzE3OTUnIGZpbGw9J25vbmUnJTNFJTNDZWxsaXBzZSBjeD0nODc2LjkyMycgY3k9JzkzNy40NTcnIGZpbGw9JyUyMzAwOUE4RScgcng9JzM0OScgcnk9JzgwNS41JyB0cmFuc2Zvcm09J3JvdGF0ZSg2My45MzMgODc2LjkyMyA5MzcuNDU3KScvJTNFJTNDcGF0aCBzdHJva2U9JyUyMzE5QjNBOCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNTk0LjMwNCAxMDI3LjM5QzUwOC44NiA4MTUuODY4IDQ2Ny43MjkgNjA5Ljc4NiA0NzAuMjY3IDQ0Ny42MTRjMS4yNjktODEuMDg4IDEzLjQ1Ni0xNTEuMTQ3IDM2LjQzOS0yMDUuNDA3IDIyLjk4Mi01NC4yNTYgNTYuNzI1LTkyLjY0NyAxMDEuMDg2LTExMC41NjYgNDQuMzYxLTE3LjkxOSA5NS4zMDItMTMuNzM2IDE0OS41MTkgOS4zMzYgNTQuMjIyIDIzLjA3NCAxMTEuNjQ5IDY1LjAxMyAxNjguODgyIDEyMi40NyAxMTQuNDY3IDExNC45MSAyMjguMDA3IDI5MS43NDIgMzEzLjQ0NyA1MDMuMjY4IDg1LjQ1IDIxMS41MjUgMTI2LjU4IDQxNy42MDUgMTI0LjA0IDU3OS43NzUtMS4yNyA4MS4wOS0xMy40NSAxNTEuMTUtMzYuNDQgMjA1LjQxLTIyLjk4IDU0LjI2LTU2LjcyIDkyLjY1LTEwMS4wOCAxMTAuNTctNDQuMzcgMTcuOTItOTUuMzEgMTMuNzMtMTQ5LjUyLTkuMzQtNTQuMjMtMjMuMDctMTExLjY1My02NS4wMS0xNjguODg2LTEyMi40Ny0xMTQuNDYzLTExNC45MS0yMjguMDA2LTI5MS43NC0zMTMuNDUtNTAzLjI3WicvJTNFJTNDL3N2ZyUzRSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IC0zMDRweCAtNTI2cHg7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTc5NC4xMXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTc1My44NXB4Owp9Ci5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTQpIDY0cHggdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiA0Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FsbC10by1hY3Rpb24gewogICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQ2cHggLTY3MXB4OwogIH0KICAuY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTEyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NoaXAvQ2hpcC5jc3MgKi8KLmNoaXAtZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2hpcC1ncm91cCwKLmNoaXBfX2lucHV0LXdyYXBwZXIsCi5jaGlwX19sYWJlbCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy04KTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5jaGlwX19pbnB1dCB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGluc2V0OiAwOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQouY2hpcF9faW5wdXQ6ZGlzYWJsZWQgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDphY3RpdmUpICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuY2hpcF9faW5wdXQ6bm90KDpkaXNhYmxlZCwgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSwgOmNoZWNrZWQpOmhvdmVyICsgLmNoaXBfX2xhYmVsIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmNoaXBfX2lucHV0OmNoZWNrZWQ6Zm9jdXMtdmlzaWJsZSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2hpcF9faW5wdXQ6bm90KDpkaXNhYmxlZCk6aXMoOmNoZWNrZWQsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXdpdGhpbikgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmNoaXBfX2xhYmVsIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGNvbG9yOwogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0lucHV0RmllbGQvSW5wdXRGaWVsZC5jc3MgKi8KLmlucHV0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMTAwJTsKfQouaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLmlucHV0OjpwbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQtLXN1Y2NlcyB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWxlcnQtc3VjY2VzLTUwMCk7Cn0KLmlucHV0W2FyaWEtaW52YWxpZD10cnVlXSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZXJyb3ItNTAwKTsKfQouaW5wdXQ6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogZGVmYXVsdDsKfQouaW5wdXQ6aXMoOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOi1tb3otcmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCksCiAgLmlucHV0X193cmFwcGVyOmhvdmVyIC5pbnB1dDpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0LS13aXRoLXByZWZpeCB7CiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmctNCkqMiArIDI0cHgpOwp9Ci5pbnB1dC0td2l0aC1zdWZmaXggewogIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0X19wcmVmaXgsCi5pbnB1dF9fc3VmZml4IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgaGVpZ2h0OiAxMDAlOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMjRweDsKfQouaW5wdXRfX3ByZWZpeCB7CiAgbGVmdDogdmFyKC0tc3BhY2luZy00KTsKfQouaW5wdXRfX3N1ZmZpeCB7CiAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7Cn0KaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGhlaWdodDogMjRweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDI0cHg7CiAgei1pbmRleDogMTsKfQppbnB1dFt0eXBlPWRhdGVdIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KaW5wdXQ6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouaW5wdXRfX3N1ZmZpeCArIGlucHV0W3R5cGU9ZGF0ZV06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5pbnB1dF9fd3JhcHBlciB7CiAgZGlzcGxheTogZmxleDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1N0YXR1c0NoaXAvU3RhdHVzQ2hpcC5jc3MgKi8KLnN0YXR1cy1jaGlwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWNvbG9yKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKSB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zdGF0dXMtY2hpcC0tc3VjY2VzcyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLXdhcm5pbmcgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1lcnJvciB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS1kaXNhYmxlZCB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtNDAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3dpdGNoL1N3aXRjaC5jc3MgKi8KLnN3aXRjaF9fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKfQouc3dpdGNoX190aHVtYiB7CiAgLS1zd2l0Y2gtd2lkdGg6NTFweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXByaW1hcnktNTAwKSA1MCUsIHZhcigtLW5ldXRyYWwtMjAwKSA1MCUpOwogIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCU7CiAgYmFja2dyb3VuZC1zaXplOiAyMDAlOwogIGJvcmRlci1yYWRpdXM6IDI0cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGhlaWdodDogMzFweDsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtd2lkdGgpOwp9Ci5zd2l0Y2hfX3RodW1iLApidXR0b24uc3dpdGNoX190aHVtYiB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICBib3JkZXI6IG5vbmU7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZCwKLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXSB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMDsKfQouc3dpdGNoX190aHVtYjphZnRlciB7CiAgLS1zd2l0Y2gtdGh1bWItd2lkdGg6MjdweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJveC1zaGFkb3c6IDAgM3B4IDhweCByZ2JhKDAsIDAsIDAsIC4xNSksIDAgM3B4IDFweCByZ2IoMCAwIDAvNiUpOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjdweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAycHg7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDMuNXB4IC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSkpOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQ6YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpIC0gMnB4KSk7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWJbZGF0YS1zdGF0ZT1jaGVja2VkXTphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zLjVweCk7Cn0KLnN3aXRjaF9fbGFiZWwtLWRpc2FibGVkIHsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5zd2l0Y2hfX3RodW1iIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLXBvc2l0aW9uOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQogIC5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9UZXh0QXJlYS9UZXh0QXJlYS5jc3MgKi8KLnRleHQtYXJlYSB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC00MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci50ZXh0LWFyZWFbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tZXJyb3ItNTAwKTsKfQoudGV4dC1hcmVhOjotbW96LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci50ZXh0LWFyZWE6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAudGV4dC1hcmVhOmhvdmVyIHsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci50ZXh0LWFyZWE6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvVW5vcmRlcmVkTGlzdC9Vbm9yZGVyZWRMaXN0LmNzcyAqLwoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGkgewogIC0tbW9iaWxlLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBBQjlFJyBkPSdNOC4wMDIuMDM3YzQuNTA0LjUzMiA5LjI3NiAxLjgxIDEzLjQ0MyAzLjYwMi44OTQuMzg1IDEuNTk2Ljk2IDIuMDQgMS43My40NDQuNzcuNTkyIDEuNjY1LjQ3OCAyLjYzMi0uNTMyIDQuNTA1LTEuODEgOS4yNzYtMy42MDIgMTMuNDQzLS4zODQuODk1LS45NiAxLjU5Ny0xLjczIDIuMDQxLS43Ny40NDQtMS42NjUuNTkyLTIuNjMyLjQ3OC00LjUwNS0uNTMyLTkuMjc2LTEuODEtMTMuNDQzLTMuNjAyLS44OTUtLjM4NS0xLjU5Ny0uOTYtMi4wNDEtMS43My0uNDQ0LS43Ny0uNTkyLTEuNjY1LS40NzgtMi42MzMuNTMyLTQuNTA0IDEuODEtOS4yNzYgMy42MDItMTMuNDQzLjM4NS0uODk0Ljk2LTEuNTk2IDEuNzMtMi4wNEM2LjE0LjA3IDcuMDM0LS4wNzcgOC4wMDIuMDM3WicvJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuMjUnIGQ9J00xNy4zMzMgOC4zMzMgMTAgMTUuNjY2bC0zLjMzMy0zLjMzMycvJTNFJTNDL3N2ZyUzRSIpOwogIC0tZGVza3RvcC1jaGVjazp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDI0IDI0JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDBBQjlFJyBkPSdNOC4wMDIuMDM3YzQuNTA0LjUzMiA5LjI3NiAxLjgxIDEzLjQ0MyAzLjYwMi44OTQuMzg1IDEuNTk2Ljk2IDIuMDQgMS43My40NDQuNzcuNTkyIDEuNjY1LjQ3OCAyLjYzMi0uNTMyIDQuNTA1LTEuODEgOS4yNzYtMy42MDIgMTMuNDQzLS4zODQuODk1LS45NiAxLjU5Ny0xLjczIDIuMDQxLS43Ny40NDQtMS42NjUuNTkyLTIuNjMyLjQ3OC00LjUwNS0uNTMyLTkuMjc2LTEuODEtMTMuNDQzLTMuNjAyLS44OTUtLjM4NS0xLjU5Ny0uOTYtMi4wNDEtMS43My0uNDQ0LS43Ny0uNTkyLTEuNjY1LS40NzgtMi42MzMuNTMyLTQuNTA0IDEuODEtOS4yNzYgMy42MDItMTMuNDQzLjM4NS0uODk0Ljk2LTEuNTk2IDEuNzMtMi4wNEM2LjE0LjA3IDcuMDM0LS4wNzcgOC4wMDIuMDM3WicvJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuMjUnIGQ9J00xNy4zMzMgOC4zMzMgMTAgMTUuNjY2bC0zLjMzMy0zLjMzMycvJTNFJTNDL3N2ZyUzRSIpOwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnVub3JkZXJlZC1saXN0LS1jaGVjayA+IGxpOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tbW9iaWxlLWNoZWNrKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnVub3JkZXJlZC1saXN0LS1jaGVjayA+IGxpOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1kZXNrdG9wLWNoZWNrKTsKICAgIGhlaWdodDogMzJweDsKICAgIHdpZHRoOiAzMnB4OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEFjdGlvbi9DYXJkQWN0aW9uLmNzcyAqLwouY2FyZF9faGVhZGVyX19hY3Rpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRCb2R5L0NhcmRCb2R5LmNzcyAqLwouY2FyZF9fYm9keSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRFbXB0eVN0YXRlL0NhcmRFbXB0eVN0YXRlLmNzcyAqLwouY2FyZF9fZW1wdHktc3RhdGUgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMTAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNzAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tZXJyb3IgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogIHBhZGRpbmc6IDA7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBmbGV4LWRpcmVjdGlvbjogcm93OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uLAouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcik7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fZW1wdHktc3RhdGUgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uLAogIC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICBtYXgtd2lkdGg6IDUyNXB4OwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICAgIG1heC13aWR0aDogdW5zZXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkRm9vdGVyL0NhcmRGb290ZXIuY3NzICovCi5jYXJkX19mb290ZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19mb290ZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRIZWFkZXIvQ2FyZEhlYWRlci5jc3MgKi8KLmNhcmRfX2hlYWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19oZWFkZXItLXN0aWNreSB7CiAgLS1jYXJkLWhlYWRlci1zdGlja3ktdG9wOjA7CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IHZhcigtLWNhcmQtaGVhZGVyLXN0aWNreS10b3ApOwogIHotaW5kZXg6IDE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgLnRhYnMgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSXRlbS9DYXJkSXRlbS5jc3MgKi8KLmNhcmRfX2JvZHlfX2l0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNik7Cn0KLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHsKICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5jYXJkX19ib2R5ID4gLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQouY2FyZF9fYm9keV9faXRlbSAubGlzdC1pdGVtLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAtMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW0gewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmZpcnN0LW9mLXR5cGUgewogICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUsIDpmaXJzdC1vZi10eXBlKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktY2hpbGQgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogICAgcGFkZGluZy10b3A6IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkU3VidGl0bGUvQ2FyZFN1YnRpdGxlLmNzcyAqLwouY2FyZF9fYm9keV9fc3VidGl0bGUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgdmFyKC0tbmV1dHJhbC0yMDApLCBpbnNldCAxcHggMCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkVGl0bGUvQ2FyZFRpdGxlLmNzcyAqLwouY2FyZF9faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tdGl0bGUtMy1yZWd1bGFyKTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNhcmRfX2hlYWRlcl9fdGl0bGVfX2ljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICAgIGZvbnQ6IHZhcigtLXRpdGxlLTItcmVndWxhcik7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkLmNzcyAqLwouY2FyZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKfQouY2FyZC0tZGlzYWJsZWQgKiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKSAhaW1wb3J0YW50OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZCB7CiAgICAtLWNhcmQtYm9yZGVyLXJhZGl1czp2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgaGVpZ2h0OiAtbW96LWZpdC1jb250ZW50OwogICAgaGVpZ2h0OiBmaXQtY29udGVudDsKICB9CiAgdWwuY2FyZCAubGlzdC1pdGVtIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTpmb2N1cyB7CiAgICBib3gtc2hhZG93OgogICAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApLAogICAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgICBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmZpcnN0LW9mLXR5cGUsIC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSBhKSB7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgdWwuY2FyZCA6aXMoLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUsIC5saXN0LWl0ZW06bGFzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEltYWdlVmFyaWFudC5jc3MgKi8KLmNhcmQtLWltYWdlIHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZC0taW1hZ2UsCi5jYXJkLS1pbWFnZSAuY2FyZF9faWxsdXN0cmF0aW9uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19ib2R5IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7CiAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tc3BhY2luZy02KTsKICBtYXgtd2lkdGg6IDQyMHB4OwogIHBhZGRpbmc6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcGFkZGluZzogMDsKICB3aWR0aDogMTAwJTsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtLWltYWdlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTExKTsKICB9CiAgLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICB9CiAgLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgewogICAgbWFyZ2luOiAwOwogICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkTGlzdC9DYXJkTGlzdC5jc3MgKi8KLmNhcmQtbGlzdCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgewogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkLWxpc3QgewogICAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoZWNrYm94L0NoZWNrYm94LmNzcyAqLwouY2hlY2tib3ggewogIC0tY2hlY2tib3gtd2lkdGg6MjRweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIDppcyguY2hlY2tib3hfX2lucHV0LCAuY2hlY2tib3hfX2xhYmVsKTpob3ZlciB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgfQp9Ci5jaGVja2JveC0tbmV1dHJhbCwKLmNoZWNrYm94LS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5jaGVja2JveF9fY29udGVudCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmNoZWNrYm94X19zcGlubmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jaGVjaywKLmNoZWNrYm94X19zcGlubmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5jaGVja2JveF9faW5wdXQ6Zm9jdXMtd2l0aGluIH4gLmNoZWNrYm94X19jaGVjayB7CiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lLW9mZnNldDogMnB4Owp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpob3Zlcjppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSk6aXMoOmRpc2FibGVkLCBbYXJpYS1kaXNhYmxlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2U6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouY2hlY2tib3hfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTEtcmVndWxhcik7Cn0KLmNoZWNrYm94X19oaW50IHsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5jaGVja2JveF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7Cn0KLmNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGVja2JveF9fY2hlY2sgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25QcmVmaXgvRGVzY3JpcHRpb25QcmVmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19wcmVmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZmxleDogMDsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0RpYWxvZy9EaWFsb2cuY3NzICovCi5kaWFsb2dbb3Blbl06OmJhY2tkcm9wIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgb3BhY2l0eTogLjI1Owp9CmJvZHk6aGFzKGRpYWxvZ1tvcGVuXSkgewogIG92ZXJmbG93OiBoaWRkZW47Cn0KZGlhbG9nOm5vdChbb3Blbl0pIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KZGlhbG9nOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5kaWFsb2cgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgYm94LXNoYWRvdzoKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7CiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAwOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDsKfQouZGlhbG9nX19oZWFkZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogMDsKICB6LWluZGV4OiAxMDAwOwp9Ci5kaWFsb2dfX2hlYWRlcl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQouZGlhbG9nX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGU6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZ19fYm9keSwKLmRpYWxvZ19fZm9vdGVyLAouZGlhbG9nX19oZWFkZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fYm9keSB7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5kaWFsb2dfX2Zvb3RlciB7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvdHRvbTogMDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICBwb3NpdGlvbjogc3RpY2t5Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGlhbG9nX19ib2R5LAogIC5kaWFsb2dfX2Zvb3RlciwKICAuZGlhbG9nX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZ19fYm9keSB7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5kaWFsb2cgewogICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04KTsKICAgIG1heC13aWR0aDogNjAwcHg7CiAgfQogIC5kaWFsb2dfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20taW4gLjE1czsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KICAuZGlhbG9nOm5vdChbb3Blbl0pLmRpYWxvZy0tYW5pbWF0ZWQgewogICAgYW5pbWF0aW9uOiB6b29tLW91dCAuMTVzOwogICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAuMTVzOwogIH0KICAuZGlhbG9nW29wZW5dLmRpYWxvZy0tYW5pbWF0ZWQ6OmJhY2tkcm9wIHsKICAgIGFuaW1hdGlvbjogZmFkZS1pbiAuMTVzOwogIH0KICAuZGlhbG9nOm5vdChbb3Blbl0pLmRpYWxvZy0tYW5pbWF0ZWQ6OmJhY2tkcm9wIHsKICAgIGFuaW1hdGlvbjogZmFkZS1vdXQgLjE1czsKICB9Cn0KQGtleWZyYW1lcyB6b29tLWluIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7CiAgfQogIDAuMDAwMDAwMDAwMSUgewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICB9Cn0KQGtleWZyYW1lcyB6b29tLW91dCB7CiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICB9Cn0KQGtleWZyYW1lcyBmYWRlLWluIHsKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAuMjU7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW0uY3NzICovCi5saXN0LWl0ZW0sCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQoubGlzdC1pdGVtIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy00KTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXh0cmEpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6Zm9jdXMsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tZXJyb3ItMjAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItMjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlcjpsYXN0LW9mLXR5cGUgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbUNvbnRlbnQvTGlzdEl0ZW1Db250ZW50LmNzcyAqLwoubGlzdC1pdGVtX19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtTWV0YS9MaXN0SXRlbU1ldGEuY3NzICovCi5saXN0LWl0ZW1fX21ldGEgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250LXdlaWdodDogNTAwOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtUHJlZml4L0xpc3RJdGVtUHJlZml4LmNzcyAqLwoubGlzdC1pdGVtX19wcmVmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1YnRpdGxlL0xpc3RJdGVtU3VidGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1ZmZpeC9MaXN0SXRlbVN1ZmZpeC5jc3MgKi8KLmxpc3QtaXRlbV9fc3VmZml4IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmxpc3QtaXRlbS0td2l0aC1saW5rIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1saW5rIDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRleHQvTGlzdEl0ZW1UZXh0LmNzcyAqLwoubGlzdC1pdGVtX190ZXh0IHsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGl0bGUvTGlzdEl0ZW1UaXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L0NvbnRlbnQvQ29udGVudC5jc3MgKi8KLm1lbnVfX2xpc3QgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tb2RhbCksIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgbWFyZ2luLXRvcDogMTBweDsKICBtaW4td2lkdGg6IDIyMHB4OwogIG9wYWNpdHk6IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0cmFuc2Zvcm06IHNjYWxlKC44KTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgei1pbmRleDogMTAwMDAwOwp9Ci5tZW51X19saXN0LAoubWVudV9fbGlzdCA+IHVsIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5tZW51X19saXN0ID4gdWwgewogIGdhcDogdmFyKC0tc3BhY2luZy0xKTsKfQoubWVudV9fbGlzdC0tYWN0aXZlIHsKICBvcGFjaXR5OiAxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQoubWVudV9fbGlzdC0tbGVmdCB7CiAgbGVmdDogMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoubWVudV9fbGlzdC0tcmlnaHQgewogIHJpZ2h0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X19saXN0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OgogICAgICB0cmFuc2Zvcm0sCiAgICAgIG9wYWNpdHksCiAgICAgIHJvdGF0ZSwKICAgICAgdmlzaWJpbGl0eTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudUl0ZW0vTWVudUl0ZW0uY3NzICovCi5tZW51X19saXN0LWl0ZW0gewogIGRpc3BsYXk6IGZsZXg7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+ICogewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMDsKICBjb2xvcjogaW5oZXJpdDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgZm9udDogaW5oZXJpdDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogIG1hcmdpbjogMCAxcHg7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycHgpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5tZW51X19saXN0LWl0ZW0gPiA6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQoubWVudV9fbGlzdC1pdGVtID4gOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUsCi5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0xMDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCAwIDAgdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbiB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQoubWVudV9fbGlzdC1pdGVtIC5idXR0b24tLXdpdGgtaWNvbiB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKICBib3gtc2hhZG93OiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9UcmlnZ2VyL1RyaWdnZXIuY3NzICovCi5tZW51X190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAubWVudV9fdHJpZ2dlciAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L01lbnUuY3NzICovCi5tZW51IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWN0aW9uTWVzc2FnZS9TZWN0aW9uTWVzc2FnZS5jc3MgKi8KLnNlY3Rpb24tbWVzc2FnZSB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC04MDApOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KLnNlY3Rpb24tbWVzc2FnZSwKLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0taW5mbyB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouc2VjdGlvbi1tZXNzYWdlLS1wcmltYXJ5IHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1wcmltYXJ5LTcwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LTUwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1zdWNjZXNzIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0td2FybmluZyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWVycm9yIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tbmV1dHJhbC02MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDI0cHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0taW5mbyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1wcmltYXJ5IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uLAouc2VjdGlvbi1tZXNzYWdlX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlICsgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIDA7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIDppcyhhLCBwLCBidXR0b24pIHsKICBjb2xvcjogaW5oZXJpdDsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICBwYWRkaW5nOiAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmFjdGl2ZSwKLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yKSwgMCAwIDAgMTBweCB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIDppcyhhLCBwLCBidXR0b24pIHsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc2VjdGlvbi1tZXNzYWdlIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTUpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIH0KICAuc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGhvbmVOdW1iZXIvUGhvbmVOdW1iZXIuY3NzICovCi5waG9uZS1udW1iZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5waG9uZS1udW1iZXIgLmlucHV0X193cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7Cn0KLnBob25lLW51bWJlciAucGhvbmUtbnVtYmVyX19jb3VudHJ5LWNvZGUtc2VsZWN0IHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDk2cHg7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1NlbGVjdC9TZWxlY3QuY3NzICovCi5zZWxlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zZWxlY3Qtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjRweDsKICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICBtYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgbWFzay1wb3NpdGlvbjogY2VudGVyOwogIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjsKICBtYXNrLXNpemU6IGNvdmVyOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlbGVjdCB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5zZWxlY3QtLXdpdGgtcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWxlY3Q6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5zZWxlY3Q6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnNlbGVjdC13cmFwcGVyLS1mb2N1czphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VnbWVudGVkQ29udHJvbC9TZWdtZW50ZWRDb250cm9sLmNzcyAqLwouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2wgW3JvbGU9dGFicGFuZWxdW2RhdGEtc3RhdGU9aW5hY3RpdmVdIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fbGlzdF9fd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogcG9pbnRlcjsKICBmbGV4OiAxOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWFjdGl2ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWFjdGl2ZV06Zm9jdXMtdmlzaWJsZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1pbmFjdGl2ZV06aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1pbmFjdGl2ZV06Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UYWJzL1RhYnMuY3NzICovCi50YWJzIHsKICBkaXNwbGF5OiBub25lOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYS5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGFicywKICAudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctOCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctOCkgMCB2YXIoLS1zcGFjaW5nLTgpOwogICAgcG9zaXRpb246IHN0aWNreTsKICAgIHRvcDogdmFyKC0tc2l0ZS1oZWFkZXItaGVpZ2h0KTsKICAgIHotaW5kZXg6IDE1OwogIH0KICAudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLnRhYnMgYSwKICAudGFicy50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEgewogICAgYm9yZGVyLXJhZGl1czogMDsKICAgIGNvbG9yOiBpbmhlcml0OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgfQogIC50YWJzIGEuYWN0aXZlLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYS5hY3RpdmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7CiAgfQogIC50YWJzIGE6YmVmb3JlIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udDogdmFyKC0tYm9keS0yLW1lZGl1bSk7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgICAudGFicyBhOmZvY3VzIHsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KICAgIC50YWJzIGE6bm90KC5hY3RpdmUpOmhvdmVyOmFmdGVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogICAgICBib3R0b206IDA7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBoZWlnaHQ6IDJweDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KICB9CiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciwKICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBib3R0b206IDA7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Ub2FzdC9Ub2FzdC5jc3MgKi8KLnRvYXN0IHsKICAtLXNsaWRlLWluLWVuZDowOwogIC0tc2xpZGUtaW4tc3RhcnQ6Y2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy04KSk7CiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwbXMsIHNsaWRlLW91dCAwbXMgNXMgZm9yd2FyZHM7CiAgYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwogIGhlaWdodDogYXV0bzsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IGZpeGVkOwogIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwp9Ci50b2FzdC0tZXJyb3IgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2IoMjMwIDQ1IDUwLzUlKSwgcmdiKDIzMCA0NSA1MC81JSkpLCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLWVycm9yLTQwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci50b2FzdC0taW5mbyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnRvYXN0X190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvYXN0X190aXRsZV9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQoudG9hc3QtLWluZm8gLnRvYXN0X190aXRsZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRvYXN0IHsKICAgIC0tc2xpZGUtaW4tc3RhcnQ6Y2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy0xMikpOwogICAgYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEwKTsKICAgIGxlZnQ6IGF1dG87CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctMTApOwogICAgd2lkdGg6IDQyMHB4OwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC50b2FzdCB7CiAgICBhbmltYXRpb246IHNsaWRlLWluIC4zcyBlYXNlLW91dCwgc2xpZGUtb3V0IC4zcyBlYXNlLWluIDVzIGZvcndhcmRzOwogIH0KfQpAa2V5ZnJhbWVzIHNsaWRlLWluIHsKICAwJSB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KfQpAa2V5ZnJhbWVzIHNsaWRlLW91dCB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1lbmQpKTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogLjg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tc3RhcnQpKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Ub2dnbGUvVG9nZ2xlLmNzcyAqLwoudG9nZ2xlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci50b2dnbGVfX2l0ZW0gewogIHdpZHRoOiAxMDAlOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU3RlcHMvU3RlcHMuY3NzICovCi5zdGVwcyB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKfQouc3RlcHNfX2xpbmsgYSwKLnN0ZXBzX19saW5rIHNwYW4gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5zdGVwc19fbGluayB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5zdGVwc19fbGluayAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yKTsKICB3aWR0aDogdmFyKC0tc3BhY2luZy02KTsKfQouc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctNCk7Cn0KLnN0ZXBzX19saW5rOmZpcnN0LW9mLXR5cGUgLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouc3RlcHNfX2xpbmsuYWN0aXZlIC5zdGVwc19fbGlua19fZGl2aWRlciwKLnN0ZXBzX19saW5rLmFjdGl2ZSBhIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogICAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGltZWxpbmUvVGltZWxpbmUuY3NzICovCi50aW1lbGluZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50aW1lbGluZTphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbjogMCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmUtLXZlcnRpY2FsOmFmdGVyIHsKICBoZWlnaHQ6IDEwMCU7CiAgaW5zZXQ6IDAgNTAlIGF1dG87CiAgd2lkdGg6IDFweDsKfQoudGltZWxpbmUtLWhvcml6b250YWwgewogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS0taG9yaXpvbnRhbDphZnRlciB7CiAgaGVpZ2h0OiAxcHg7CiAgaW5zZXQ6IDUwJSAwIGF1dG87CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIGhlaWdodDogMzJweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMzJweDsKfQoudGltZWxpbmVfX2xhYmVsOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAzMnB4OwogIHdpZHRoOiAzMnB4OwogIHotaW5kZXg6IDEwOwp9Ci50aW1lbGluZV9fbGFiZWwgPiA6aXMoc3ZnLCBzcGFuKSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB6LWluZGV4OiAyMDsKfQoudGltZWxpbmUtLXZlcnRpY2FsIC50aW1lbGluZV9fbGFiZWwgewogIG1hcmdpbjogdmFyKC0tc3BhY2luZy00KSBhdXRvIDA7Cn0KLnRpbWVsaW5lLS1ob3Jpem9udGFsIC50aW1lbGluZV9fbGFiZWwgewogIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeTpiZWZvcmUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMzMgMzInJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J00xMS4xNjkuMDVjNi4wMDYuNzA5IDEyLjM2OCAyLjQxMyAxNy45MjQgNC44MDIgMS4xOTMuNTEzIDIuMTI4IDEuMjggMi43MiAyLjMwNy41OTMgMS4wMjYuNzkgMi4yMi42MzggMy41MS0uNzEgNi4wMDUtMi40MTQgMTIuMzY3LTQuODAzIDE3LjkyMy0uNTEzIDEuMTk0LTEuMjggMi4xMy0yLjMwNiAyLjcyMi0xLjAyNi41OTItMi4yMi43ODktMy41MS42MzctNi4wMDYtLjcxLTEyLjM2OC0yLjQxNC0xNy45MjQtNC44MDMtMS4xOTQtLjUxMy0yLjEzLTEuMjgtMi43MjItMi4zMDctLjU5Mi0xLjAyNi0uNzg5LTIuMjItLjYzNy0zLjUxLjcxLTYuMDA2IDIuNDE0LTEyLjM2OCA0LjgwNC0xNy45MjQuNTEzLTEuMTkzIDEuMjgtMi4xMjggMi4zMDYtMi43MiAxLjAyNi0uNTkzIDIuMjItLjc5IDMuNTEtLjYzOFonLyUzRSUzQy9zdmclM0UiKTsKfQoudGltZWxpbmVfX2xhYmVsLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnRpbWVsaW5lX19sYWJlbC0tc2Vjb25kYXJ5OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzInIGhlaWdodD0nMzInIGZpbGw9J25vbmUnIHZpZXdCb3g9JzAgMCAzMyAzMiclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgc3Ryb2tlPSclMjMwMEFCOUUnIGQ9J00xMS4xMS41NDZjNS45NTguNzAzIDEyLjI3NCAyLjM5NiAxNy43ODUgNC43NjUgMS4xMTMuNDc5IDEuOTU2IDEuMTgxIDIuNDg2IDIuMDk4LjUyOS45MTYuNzE1IDEuOTk4LjU3MyAzLjItLjcwMyA1Ljk1OS0yLjM5NSAxMi4yNzQtNC43NjUgMTcuNzg2LS40NzggMS4xMTMtMS4xOCAxLjk1Ni0yLjA5NyAyLjQ4Ni0uOTE3LjUyOS0xLjk5OS43MTUtMy4yMDEuNTczLTUuOTU5LS43MDMtMTIuMjc0LTIuMzk2LTE3Ljc4Ni00Ljc2NS0xLjExMy0uNDc5LTEuOTU2LTEuMTgxLTIuNDg2LTIuMDk4LS41MjktLjkxNi0uNzE1LTEuOTk4LS41NzMtMy4yMDFDMS43NSAxNS40MyAzLjQ0MiA5LjExNiA1LjgxMiAzLjYwNWMuNDc4LTEuMTEzIDEuMTgtMS45NTYgMi4wOTctMi40ODZDOC44MjYuNTkgOS45MDcuNDA0IDExLjExLjU0NlonLyUzRSUzQy9zdmclM0UiKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9CiAgLnRpbWVsaW5lLS12ZXJ0aWNhbCAudGltZWxpbmVfX2xhYmVsIHsKICAgIG1hcmdpbjogdmFyKC0tc3BhY2luZy01KSBhdXRvIDA7CiAgfQogIC50aW1lbGluZS0taG9yaXpvbnRhbCAudGltZWxpbmVfX2xhYmVsIHsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTUpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9Gb3JtR3JvdXAuY3NzICovCi5mb3JtLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvSGludC9IaW50LmNzcyAqLwouZm9ybS1ncm91cF9fZXJyb3IsCi5mb3JtLWdyb3VwX19oaW50IHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9Ci5mb3JtLWdyb3VwX19oaW50IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5mb3JtLWdyb3VwX19lcnJvciB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvTGFiZWwvTGFiZWwuY3NzICovCi5mb3JtLWl0ZW1fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xKTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1JhZGlvL1JhZGlvLmNzcyAqLwoucmFkaW8tZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQtd3JhcHBlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoucmFkaW9fX2lucHV0IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICBkaXNwbGF5OiBncmlkOwogIGZvbnQ6IGluaGVyaXQ7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXNwYWNpbmctNik7CiAgcGxhY2UtY29udGVudDogY2VudGVyOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDphY3RpdmUpIHsKICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5yYWRpb19faW5wdXQ6bm90KDpkaXNhYmxlZCwgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSwgOmNoZWNrZWQpOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiA1MCU7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsKICB3aWR0aDogMDsKfQoucmFkaW9fX2lucHV0OmNoZWNrZWQ6YmVmb3JlIHsKICBoZWlnaHQ6IDEycHg7CiAgd2lkdGg6IDEycHg7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QYXNzd29yZC9QYXNzd29yZC5jc3MgKi8KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b24gewogIHBhZGRpbmc6IDA7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogZmxleDsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsLAogIC5pbnB1dF9fd3JhcHBlcjpob3ZlciAuaW5wdXQ6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5pbnB1dF9fd3JhcHBlciAuaW5wdXQ6aXMoOmZvY3VzLCA6YWN0aXZlKTpub3QoOnJlYWQtb25seSwgOmRpc2FibGVkKSArIC5pbnB1dF9fc3VmZml4IC5idXR0b25fX2xhYmVsIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCB7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0K";
554
554
  var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
555
555
  /**
556
556
  * @license React
@@ -567,9 +567,9 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
567
567
  W.push(Y);
568
568
  e:
569
569
  for (; 0 < A; ) {
570
- var T = A - 1 >>> 1, U = W[T];
570
+ var D = A - 1 >>> 1, U = W[D];
571
571
  if (0 < r(U, Y))
572
- W[T] = Y, W[A] = U, A = T;
572
+ W[D] = Y, W[A] = U, A = D;
573
573
  else
574
574
  break e;
575
575
  }
@@ -584,12 +584,12 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
584
584
  if (A !== Y) {
585
585
  W[0] = A;
586
586
  e:
587
- for (var T = 0, U = W.length, gi = U >>> 1; T < gi; ) {
588
- var Zt = 2 * (T + 1) - 1, Kr = W[Zt], vt = Zt + 1, pi = W[vt];
589
- if (0 > r(Kr, A))
590
- vt < U && 0 > r(pi, Kr) ? (W[T] = pi, W[vt] = A, T = vt) : (W[T] = Kr, W[Zt] = A, T = Zt);
591
- else if (vt < U && 0 > r(pi, A))
592
- W[T] = pi, W[vt] = A, T = vt;
587
+ for (var D = 0, U = W.length, gi = U >>> 1; D < gi; ) {
588
+ var Zt = 2 * (D + 1) - 1, Vr = W[Zt], wt = Zt + 1, pi = W[wt];
589
+ if (0 > r(Vr, A))
590
+ wt < U && 0 > r(pi, Vr) ? (W[D] = pi, W[wt] = A, D = wt) : (W[D] = Vr, W[Zt] = A, D = Zt);
591
+ else if (wt < U && 0 > r(pi, A))
592
+ W[D] = pi, W[wt] = A, D = wt;
593
593
  else
594
594
  break e;
595
595
  }
@@ -637,11 +637,11 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
637
637
  C = !1, y && (y = !1, p(X), X = -1), I = !0;
638
638
  var A = c;
639
639
  try {
640
- for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !ve()); ) {
641
- var T = m.callback;
642
- if (typeof T == "function") {
640
+ for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !we()); ) {
641
+ var D = m.callback;
642
+ if (typeof D == "function") {
643
643
  m.callback = null, c = m.priorityLevel;
644
- var U = T(m.expirationTime <= Y);
644
+ var U = D(m.expirationTime <= Y);
645
645
  Y = e.unstable_now(), typeof U == "function" ? m.callback = U : m === n(u) && i(u), f(Y);
646
646
  } else
647
647
  i(u);
@@ -658,22 +658,22 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
658
658
  m = null, c = A, I = !1;
659
659
  }
660
660
  }
661
- var v = !1, w = null, X = -1, M = 5, N = -1;
662
- function ve() {
661
+ var w = !1, v = null, X = -1, M = 5, N = -1;
662
+ function we() {
663
663
  return !(e.unstable_now() - N < M);
664
664
  }
665
665
  function bt() {
666
- if (w !== null) {
666
+ if (v !== null) {
667
667
  var W = e.unstable_now();
668
668
  N = W;
669
669
  var Y = !0;
670
670
  try {
671
- Y = w(!0, W);
671
+ Y = v(!0, W);
672
672
  } finally {
673
- Y ? Ne() : (v = !1, w = null);
673
+ Y ? Ne() : (w = !1, v = null);
674
674
  }
675
675
  } else
676
- v = !1;
676
+ w = !1;
677
677
  }
678
678
  var Ne;
679
679
  if (typeof d == "function")
@@ -690,7 +690,7 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
690
690
  G(bt, 0);
691
691
  };
692
692
  function Mt(W) {
693
- w = W, v || (v = !0, Ne());
693
+ v = W, w || (w = !0, Ne());
694
694
  }
695
695
  function $(W, Y) {
696
696
  X = G(function() {
@@ -745,8 +745,8 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
745
745
  c = A;
746
746
  }
747
747
  }, e.unstable_scheduleCallback = function(W, Y, A) {
748
- var T = e.unstable_now();
749
- switch (typeof A == "object" && A !== null ? (A = A.delay, A = typeof A == "number" && 0 < A ? T + A : T) : A = T, W) {
748
+ var D = e.unstable_now();
749
+ switch (typeof A == "object" && A !== null ? (A = A.delay, A = typeof A == "number" && 0 < A ? D + A : D) : A = D, W) {
750
750
  case 1:
751
751
  var U = -1;
752
752
  break;
@@ -762,8 +762,8 @@ var Qu = { exports: {} }, be = {}, Eu = { exports: {} }, Uu = {};
762
762
  default:
763
763
  U = 5e3;
764
764
  }
765
- return U = A + U, W = { id: g++, callback: Y, priorityLevel: W, startTime: A, expirationTime: U, sortIndex: -1 }, A > T ? (W.sortIndex = A, t(a, W), n(u) === null && W === n(a) && (y ? (p(X), X = -1) : y = !0, $(h, A - T))) : (W.sortIndex = U, t(u, W), C || I || (C = !0, Mt(Z))), W;
766
- }, e.unstable_shouldYield = ve, e.unstable_wrapCallback = function(W) {
765
+ return U = A + U, W = { id: g++, callback: Y, priorityLevel: W, startTime: A, expirationTime: U, sortIndex: -1 }, A > D ? (W.sortIndex = A, t(a, W), n(u) === null && W === n(a) && (y ? (p(X), X = -1) : y = !0, $(h, A - D))) : (W.sortIndex = U, t(u, W), C || I || (C = !0, Mt(Z))), W;
766
+ }, e.unstable_shouldYield = we, e.unstable_wrapCallback = function(W) {
767
767
  var Y = c;
768
768
  return function() {
769
769
  var A = c;
@@ -794,7 +794,7 @@ function b(e) {
794
794
  return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
795
795
  }
796
796
  var _u = /* @__PURE__ */ new Set(), zn = {};
797
- function Vt(e, t) {
797
+ function Kt(e, t) {
798
798
  sn(e, t), sn(e + "Capture", t);
799
799
  }
800
800
  function sn(e, t) {
@@ -902,7 +902,7 @@ var $e = Pu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, fi = Symbol.for(
902
902
  function Cn(e) {
903
903
  return e === null || typeof e != "object" ? null : (e = fs && e[fs] || e["@@iterator"], typeof e == "function" ? e : null);
904
904
  }
905
- var F = Object.assign, Mr;
905
+ var H = Object.assign, Mr;
906
906
  function Yn(e) {
907
907
  if (Mr === void 0)
908
908
  try {
@@ -914,11 +914,11 @@ function Yn(e) {
914
914
  return `
915
915
  ` + Mr + e;
916
916
  }
917
- var Hr = !1;
918
- function jr(e, t) {
919
- if (!e || Hr)
917
+ var jr = !1;
918
+ function Fr(e, t) {
919
+ if (!e || jr)
920
920
  return "";
921
- Hr = !0;
921
+ jr = !0;
922
922
  var n = Error.prepareStackTrace;
923
923
  Error.prepareStackTrace = void 0;
924
924
  try {
@@ -970,7 +970,7 @@ function jr(e, t) {
970
970
  }
971
971
  }
972
972
  } finally {
973
- Hr = !1, Error.prepareStackTrace = n;
973
+ jr = !1, Error.prepareStackTrace = n;
974
974
  }
975
975
  return (e = e ? e.displayName || e.name : "") ? Yn(e) : "";
976
976
  }
@@ -987,11 +987,11 @@ function ug(e) {
987
987
  case 0:
988
988
  case 2:
989
989
  case 15:
990
- return e = jr(e.type, !1), e;
990
+ return e = Fr(e.type, !1), e;
991
991
  case 11:
992
- return e = jr(e.type.render, !1), e;
992
+ return e = Fr(e.type.render, !1), e;
993
993
  case 1:
994
- return e = jr(e.type, !0), e;
994
+ return e = Fr(e.type, !0), e;
995
995
  default:
996
996
  return "";
997
997
  }
@@ -1135,7 +1135,7 @@ function na(e) {
1135
1135
  var n = t.getValue(), i = "";
1136
1136
  return e && (i = ta(e) ? e.checked ? "true" : "false" : e.value), e = i, e !== n ? (t.setValue(e), !0) : !1;
1137
1137
  }
1138
- function Ti(e) {
1138
+ function Di(e) {
1139
1139
  if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u")
1140
1140
  return null;
1141
1141
  try {
@@ -1146,7 +1146,7 @@ function Ti(e) {
1146
1146
  }
1147
1147
  function Cl(e, t) {
1148
1148
  var n = t.checked;
1149
- return F({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: n ?? e._wrapperState.initialChecked });
1149
+ return H({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: n ?? e._wrapperState.initialChecked });
1150
1150
  }
1151
1151
  function hs(e, t) {
1152
1152
  var n = t.defaultValue == null ? "" : t.defaultValue, i = t.checked != null ? t.checked : t.defaultChecked;
@@ -1176,7 +1176,7 @@ function Cs(e, t, n) {
1176
1176
  n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
1177
1177
  }
1178
1178
  function yl(e, t, n) {
1179
- (t !== "number" || Ti(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
1179
+ (t !== "number" || Di(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
1180
1180
  }
1181
1181
  var Nn = Array.isArray;
1182
1182
  function en(e, t, n, i) {
@@ -1200,7 +1200,7 @@ function en(e, t, n, i) {
1200
1200
  function bl(e, t) {
1201
1201
  if (t.dangerouslySetInnerHTML != null)
1202
1202
  throw Error(b(91));
1203
- return F({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
1203
+ return H({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
1204
1204
  }
1205
1205
  function Is(e, t) {
1206
1206
  var n = t.value;
@@ -1266,7 +1266,7 @@ function xn(e, t) {
1266
1266
  }
1267
1267
  e.textContent = t;
1268
1268
  }
1269
- var kn = {
1269
+ var Sn = {
1270
1270
  animationIterationCount: !0,
1271
1271
  aspectRatio: !0,
1272
1272
  borderImageOutset: !0,
@@ -1311,13 +1311,13 @@ var kn = {
1311
1311
  strokeOpacity: !0,
1312
1312
  strokeWidth: !0
1313
1313
  }, dg = ["Webkit", "ms", "Moz", "O"];
1314
- Object.keys(kn).forEach(function(e) {
1314
+ Object.keys(Sn).forEach(function(e) {
1315
1315
  dg.forEach(function(t) {
1316
- t = t + e.charAt(0).toUpperCase() + e.substring(1), kn[t] = kn[e];
1316
+ t = t + e.charAt(0).toUpperCase() + e.substring(1), Sn[t] = Sn[e];
1317
1317
  });
1318
1318
  });
1319
1319
  function sa(e, t, n) {
1320
- return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || kn.hasOwnProperty(e) && kn[e] ? ("" + t).trim() : t + "px";
1320
+ return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || Sn.hasOwnProperty(e) && Sn[e] ? ("" + t).trim() : t + "px";
1321
1321
  }
1322
1322
  function ua(e, t) {
1323
1323
  e = e.style;
@@ -1327,8 +1327,8 @@ function ua(e, t) {
1327
1327
  n === "float" && (n = "cssFloat"), i ? e.setProperty(n, r) : e[n] = r;
1328
1328
  }
1329
1329
  }
1330
- var gg = F({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1331
- function vl(e, t) {
1330
+ var gg = H({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1331
+ function wl(e, t) {
1332
1332
  if (t) {
1333
1333
  if (gg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1334
1334
  throw Error(b(137, e));
@@ -1342,7 +1342,7 @@ function vl(e, t) {
1342
1342
  throw Error(b(62));
1343
1343
  }
1344
1344
  }
1345
- function wl(e, t) {
1345
+ function vl(e, t) {
1346
1346
  if (e.indexOf("-") === -1)
1347
1347
  return typeof t.is == "string";
1348
1348
  switch (e) {
@@ -1388,18 +1388,18 @@ function da(e, t) {
1388
1388
  }
1389
1389
  function ga() {
1390
1390
  }
1391
- var Fr = !1;
1391
+ var Hr = !1;
1392
1392
  function pa(e, t, n) {
1393
- if (Fr)
1393
+ if (Hr)
1394
1394
  return e(t, n);
1395
- Fr = !0;
1395
+ Hr = !0;
1396
1396
  try {
1397
1397
  return da(e, t, n);
1398
1398
  } finally {
1399
- Fr = !1, (tn !== null || nn !== null) && (ga(), ca());
1399
+ Hr = !1, (tn !== null || nn !== null) && (ga(), ca());
1400
1400
  }
1401
1401
  }
1402
- function Tn(e, t) {
1402
+ function Dn(e, t) {
1403
1403
  var n = e.stateNode;
1404
1404
  if (n === null)
1405
1405
  return null;
@@ -1449,23 +1449,23 @@ function pg(e, t, n, i, r, l, o, s, u) {
1449
1449
  this.onError(g);
1450
1450
  }
1451
1451
  }
1452
- var Bn = !1, Di = null, Ji = !1, Gl = null, mg = { onError: function(e) {
1453
- Bn = !0, Di = e;
1452
+ var Bn = !1, Ji = null, Ti = !1, Gl = null, mg = { onError: function(e) {
1453
+ Bn = !0, Ji = e;
1454
1454
  } };
1455
1455
  function fg(e, t, n, i, r, l, o, s, u) {
1456
- Bn = !1, Di = null, pg.apply(mg, arguments);
1456
+ Bn = !1, Ji = null, pg.apply(mg, arguments);
1457
1457
  }
1458
1458
  function hg(e, t, n, i, r, l, o, s, u) {
1459
1459
  if (fg.apply(this, arguments), Bn) {
1460
1460
  if (Bn) {
1461
- var a = Di;
1462
- Bn = !1, Di = null;
1461
+ var a = Ji;
1462
+ Bn = !1, Ji = null;
1463
1463
  } else
1464
1464
  throw Error(b(198));
1465
- Ji || (Ji = !0, Gl = a);
1465
+ Ti || (Ti = !0, Gl = a);
1466
1466
  }
1467
1467
  }
1468
- function Kt(e) {
1468
+ function Vt(e) {
1469
1469
  var t = e, n = e;
1470
1470
  if (e.alternate)
1471
1471
  for (; t.return; )
@@ -1487,13 +1487,13 @@ function ma(e) {
1487
1487
  return null;
1488
1488
  }
1489
1489
  function Zs(e) {
1490
- if (Kt(e) !== e)
1490
+ if (Vt(e) !== e)
1491
1491
  throw Error(b(188));
1492
1492
  }
1493
1493
  function Cg(e) {
1494
1494
  var t = e.alternate;
1495
1495
  if (!t) {
1496
- if (t = Kt(e), t === null)
1496
+ if (t = Vt(e), t === null)
1497
1497
  throw Error(b(188));
1498
1498
  return t !== e ? null : e;
1499
1499
  }
@@ -1570,17 +1570,17 @@ function ha(e) {
1570
1570
  }
1571
1571
  return null;
1572
1572
  }
1573
- var Ca = ye.unstable_scheduleCallback, vs = ye.unstable_cancelCallback, Ig = ye.unstable_shouldYield, yg = ye.unstable_requestPaint, D = ye.unstable_now, bg = ye.unstable_getCurrentPriorityLevel, bo = ye.unstable_ImmediatePriority, Ia = ye.unstable_UserBlockingPriority, Qi = ye.unstable_NormalPriority, Zg = ye.unstable_LowPriority, ya = ye.unstable_IdlePriority, br = null, Fe = null;
1574
- function vg(e) {
1575
- if (Fe && typeof Fe.onCommitFiberRoot == "function")
1573
+ var Ca = ye.unstable_scheduleCallback, ws = ye.unstable_cancelCallback, Ig = ye.unstable_shouldYield, yg = ye.unstable_requestPaint, J = ye.unstable_now, bg = ye.unstable_getCurrentPriorityLevel, bo = ye.unstable_ImmediatePriority, Ia = ye.unstable_UserBlockingPriority, Qi = ye.unstable_NormalPriority, Zg = ye.unstable_LowPriority, ya = ye.unstable_IdlePriority, br = null, He = null;
1574
+ function wg(e) {
1575
+ if (He && typeof He.onCommitFiberRoot == "function")
1576
1576
  try {
1577
- Fe.onCommitFiberRoot(br, e, void 0, (e.current.flags & 128) === 128);
1577
+ He.onCommitFiberRoot(br, e, void 0, (e.current.flags & 128) === 128);
1578
1578
  } catch {
1579
1579
  }
1580
1580
  }
1581
- var Re = Math.clz32 ? Math.clz32 : Lg, wg = Math.log, Wg = Math.LN2;
1581
+ var Re = Math.clz32 ? Math.clz32 : Lg, vg = Math.log, Wg = Math.LN2;
1582
1582
  function Lg(e) {
1583
- return e >>>= 0, e === 0 ? 32 : 31 - (wg(e) / Wg | 0) | 0;
1583
+ return e >>>= 0, e === 0 ? 32 : 31 - (vg(e) / Wg | 0) | 0;
1584
1584
  }
1585
1585
  var Ii = 64, yi = 4194304;
1586
1586
  function An(e) {
@@ -1733,8 +1733,8 @@ var B = 0;
1733
1733
  function Za(e) {
1734
1734
  return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
1735
1735
  }
1736
- var va, vo, wa, Wa, La, Nl = !1, bi = [], st = null, ut = null, at = null, Dn = /* @__PURE__ */ new Map(), Jn = /* @__PURE__ */ new Map(), it = [], Ng = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1737
- function ws(e, t) {
1736
+ var wa, wo, va, Wa, La, Nl = !1, bi = [], st = null, ut = null, at = null, Jn = /* @__PURE__ */ new Map(), Tn = /* @__PURE__ */ new Map(), it = [], Ng = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1737
+ function vs(e, t) {
1738
1738
  switch (e) {
1739
1739
  case "focusin":
1740
1740
  case "focusout":
@@ -1750,15 +1750,15 @@ function ws(e, t) {
1750
1750
  break;
1751
1751
  case "pointerover":
1752
1752
  case "pointerout":
1753
- Dn.delete(t.pointerId);
1753
+ Jn.delete(t.pointerId);
1754
1754
  break;
1755
1755
  case "gotpointercapture":
1756
1756
  case "lostpointercapture":
1757
- Jn.delete(t.pointerId);
1757
+ Tn.delete(t.pointerId);
1758
1758
  }
1759
1759
  }
1760
1760
  function yn(e, t, n, i, r, l) {
1761
- return e === null || e.nativeEvent !== l ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: i, nativeEvent: l, targetContainers: [r] }, t !== null && (t = ci(t), t !== null && vo(t)), e) : (e.eventSystemFlags |= i, t = e.targetContainers, r !== null && t.indexOf(r) === -1 && t.push(r), e);
1761
+ return e === null || e.nativeEvent !== l ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: i, nativeEvent: l, targetContainers: [r] }, t !== null && (t = ci(t), t !== null && wo(t)), e) : (e.eventSystemFlags |= i, t = e.targetContainers, r !== null && t.indexOf(r) === -1 && t.push(r), e);
1762
1762
  }
1763
1763
  function Ag(e, t, n, i, r) {
1764
1764
  switch (t) {
@@ -1770,21 +1770,21 @@ function Ag(e, t, n, i, r) {
1770
1770
  return at = yn(at, e, t, n, i, r), !0;
1771
1771
  case "pointerover":
1772
1772
  var l = r.pointerId;
1773
- return Dn.set(l, yn(Dn.get(l) || null, e, t, n, i, r)), !0;
1773
+ return Jn.set(l, yn(Jn.get(l) || null, e, t, n, i, r)), !0;
1774
1774
  case "gotpointercapture":
1775
- return l = r.pointerId, Jn.set(l, yn(Jn.get(l) || null, e, t, n, i, r)), !0;
1775
+ return l = r.pointerId, Tn.set(l, yn(Tn.get(l) || null, e, t, n, i, r)), !0;
1776
1776
  }
1777
1777
  return !1;
1778
1778
  }
1779
1779
  function Xa(e) {
1780
1780
  var t = Lt(e.target);
1781
1781
  if (t !== null) {
1782
- var n = Kt(t);
1782
+ var n = Vt(t);
1783
1783
  if (n !== null) {
1784
1784
  if (t = n.tag, t === 13) {
1785
1785
  if (t = ma(n), t !== null) {
1786
1786
  e.blockedOn = t, La(e.priority, function() {
1787
- wa(n);
1787
+ va(n);
1788
1788
  });
1789
1789
  return;
1790
1790
  }
@@ -1806,7 +1806,7 @@ function Ri(e) {
1806
1806
  var i = new n.constructor(n.type, n);
1807
1807
  Wl = i, n.target.dispatchEvent(i), Wl = null;
1808
1808
  } else
1809
- return t = ci(n), t !== null && vo(t), e.blockedOn = n, !1;
1809
+ return t = ci(n), t !== null && wo(t), e.blockedOn = n, !1;
1810
1810
  t.shift();
1811
1811
  }
1812
1812
  return !0;
@@ -1814,11 +1814,11 @@ function Ri(e) {
1814
1814
  function Ws(e, t, n) {
1815
1815
  Ri(e) && n.delete(t);
1816
1816
  }
1817
- function Sg() {
1818
- Nl = !1, st !== null && Ri(st) && (st = null), ut !== null && Ri(ut) && (ut = null), at !== null && Ri(at) && (at = null), Dn.forEach(Ws), Jn.forEach(Ws);
1817
+ function kg() {
1818
+ Nl = !1, st !== null && Ri(st) && (st = null), ut !== null && Ri(ut) && (ut = null), at !== null && Ri(at) && (at = null), Jn.forEach(Ws), Tn.forEach(Ws);
1819
1819
  }
1820
1820
  function bn(e, t) {
1821
- e.blockedOn === t && (e.blockedOn = null, Nl || (Nl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority, Sg)));
1821
+ e.blockedOn === t && (e.blockedOn = null, Nl || (Nl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority, kg)));
1822
1822
  }
1823
1823
  function Qn(e) {
1824
1824
  function t(r) {
@@ -1831,17 +1831,17 @@ function Qn(e) {
1831
1831
  i.blockedOn === e && (i.blockedOn = null);
1832
1832
  }
1833
1833
  }
1834
- for (st !== null && bn(st, e), ut !== null && bn(ut, e), at !== null && bn(at, e), Dn.forEach(t), Jn.forEach(t), n = 0; n < it.length; n++)
1834
+ for (st !== null && bn(st, e), ut !== null && bn(ut, e), at !== null && bn(at, e), Jn.forEach(t), Tn.forEach(t), n = 0; n < it.length; n++)
1835
1835
  i = it[n], i.blockedOn === e && (i.blockedOn = null);
1836
1836
  for (; 0 < it.length && (n = it[0], n.blockedOn === null); )
1837
1837
  Xa(n), n.blockedOn === null && it.shift();
1838
1838
  }
1839
1839
  var rn = $e.ReactCurrentBatchConfig, Ui = !0;
1840
- function kg(e, t, n, i) {
1840
+ function Sg(e, t, n, i) {
1841
1841
  var r = B, l = rn.transition;
1842
1842
  rn.transition = null;
1843
1843
  try {
1844
- B = 1, wo(e, t, n, i);
1844
+ B = 1, vo(e, t, n, i);
1845
1845
  } finally {
1846
1846
  B = r, rn.transition = l;
1847
1847
  }
@@ -1850,22 +1850,22 @@ function Bg(e, t, n, i) {
1850
1850
  var r = B, l = rn.transition;
1851
1851
  rn.transition = null;
1852
1852
  try {
1853
- B = 4, wo(e, t, n, i);
1853
+ B = 4, vo(e, t, n, i);
1854
1854
  } finally {
1855
1855
  B = r, rn.transition = l;
1856
1856
  }
1857
1857
  }
1858
- function wo(e, t, n, i) {
1858
+ function vo(e, t, n, i) {
1859
1859
  if (Ui) {
1860
1860
  var r = Al(e, t, n, i);
1861
1861
  if (r === null)
1862
- $r(e, t, i, Pi, n), ws(e, i);
1862
+ $r(e, t, i, Pi, n), vs(e, i);
1863
1863
  else if (Ag(r, e, t, n, i))
1864
1864
  i.stopPropagation();
1865
- else if (ws(e, i), t & 4 && -1 < Ng.indexOf(e)) {
1865
+ else if (vs(e, i), t & 4 && -1 < Ng.indexOf(e)) {
1866
1866
  for (; r !== null; ) {
1867
1867
  var l = ci(r);
1868
- if (l !== null && va(l), l = Al(e, t, n, i), l === null && $r(e, t, i, Pi, n), l === r)
1868
+ if (l !== null && wa(l), l = Al(e, t, n, i), l === null && $r(e, t, i, Pi, n), l === r)
1869
1869
  break;
1870
1870
  r = l;
1871
1871
  }
@@ -1877,7 +1877,7 @@ function wo(e, t, n, i) {
1877
1877
  var Pi = null;
1878
1878
  function Al(e, t, n, i) {
1879
1879
  if (Pi = null, e = yo(i), e = Lt(e), e !== null)
1880
- if (t = Kt(e), t === null)
1880
+ if (t = Vt(e), t === null)
1881
1881
  e = null;
1882
1882
  else if (n = t.tag, n === 13) {
1883
1883
  if (e = ma(t), e !== null)
@@ -1983,19 +1983,19 @@ function Ga(e) {
1983
1983
  return 16;
1984
1984
  }
1985
1985
  }
1986
- var lt = null, Wo = null, Vi = null;
1986
+ var lt = null, Wo = null, Ki = null;
1987
1987
  function Ya() {
1988
- if (Vi)
1989
- return Vi;
1988
+ if (Ki)
1989
+ return Ki;
1990
1990
  var e, t = Wo, n = t.length, i, r = "value" in lt ? lt.value : lt.textContent, l = r.length;
1991
1991
  for (e = 0; e < n && t[e] === r[e]; e++)
1992
1992
  ;
1993
1993
  var o = n - e;
1994
1994
  for (i = 1; i <= o && t[n - i] === r[l - i]; i++)
1995
1995
  ;
1996
- return Vi = r.slice(e, 1 < i ? 1 - i : void 0);
1996
+ return Ki = r.slice(e, 1 < i ? 1 - i : void 0);
1997
1997
  }
1998
- function Ki(e) {
1998
+ function Vi(e) {
1999
1999
  var t = e.keyCode;
2000
2000
  return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0;
2001
2001
  }
@@ -2012,7 +2012,7 @@ function Ze(e) {
2012
2012
  e.hasOwnProperty(s) && (n = e[s], this[s] = n ? n(l) : l[s]);
2013
2013
  return this.isDefaultPrevented = (l.defaultPrevented != null ? l.defaultPrevented : l.returnValue === !1) ? Zi : Ls, this.isPropagationStopped = Ls, this;
2014
2014
  }
2015
- return F(t.prototype, { preventDefault: function() {
2015
+ return H(t.prototype, { preventDefault: function() {
2016
2016
  this.defaultPrevented = !0;
2017
2017
  var n = this.nativeEvent;
2018
2018
  n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = Zi);
@@ -2024,15 +2024,15 @@ function Ze(e) {
2024
2024
  }
2025
2025
  var fn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2026
2026
  return e.timeStamp || Date.now();
2027
- }, defaultPrevented: 0, isTrusted: 0 }, Lo = Ze(fn), ai = F({}, fn, { view: 0, detail: 0 }), Rg = Ze(ai), xr, Tr, Zn, Zr = F({}, ai, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Xo, button: 0, buttons: 0, relatedTarget: function(e) {
2027
+ }, defaultPrevented: 0, isTrusted: 0 }, Lo = Ze(fn), ai = H({}, fn, { view: 0, detail: 0 }), Rg = Ze(ai), xr, Dr, Zn, Zr = H({}, ai, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Xo, button: 0, buttons: 0, relatedTarget: function(e) {
2028
2028
  return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
2029
2029
  }, movementX: function(e) {
2030
- return "movementX" in e ? e.movementX : (e !== Zn && (Zn && e.type === "mousemove" ? (xr = e.screenX - Zn.screenX, Tr = e.screenY - Zn.screenY) : Tr = xr = 0, Zn = e), xr);
2030
+ return "movementX" in e ? e.movementX : (e !== Zn && (Zn && e.type === "mousemove" ? (xr = e.screenX - Zn.screenX, Dr = e.screenY - Zn.screenY) : Dr = xr = 0, Zn = e), xr);
2031
2031
  }, movementY: function(e) {
2032
- return "movementY" in e ? e.movementY : Tr;
2033
- } }), Xs = Ze(Zr), Vg = F({}, Zr, { dataTransfer: 0 }), Kg = Ze(Vg), Og = F({}, ai, { relatedTarget: 0 }), Dr = Ze(Og), Mg = F({}, fn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Hg = Ze(Mg), jg = F({}, fn, { clipboardData: function(e) {
2032
+ return "movementY" in e ? e.movementY : Dr;
2033
+ } }), Xs = Ze(Zr), Kg = H({}, Zr, { dataTransfer: 0 }), Vg = Ze(Kg), Og = H({}, ai, { relatedTarget: 0 }), Jr = Ze(Og), Mg = H({}, fn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), jg = Ze(Mg), Fg = H({}, fn, { clipboardData: function(e) {
2034
2034
  return "clipboardData" in e ? e.clipboardData : window.clipboardData;
2035
- } }), Fg = Ze(jg), zg = F({}, fn, { data: 0 }), Gs = Ze(zg), xg = {
2035
+ } }), Hg = Ze(Fg), zg = H({}, fn, { data: 0 }), Gs = Ze(zg), xg = {
2036
2036
  Esc: "Escape",
2037
2037
  Spacebar: " ",
2038
2038
  Left: "ArrowLeft",
@@ -2045,7 +2045,7 @@ var fn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2045
2045
  Apps: "ContextMenu",
2046
2046
  Scroll: "ScrollLock",
2047
2047
  MozPrintableKey: "Unidentified"
2048
- }, Tg = {
2048
+ }, Dg = {
2049
2049
  8: "Backspace",
2050
2050
  9: "Tab",
2051
2051
  12: "Clear",
@@ -2082,28 +2082,28 @@ var fn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2082
2082
  144: "NumLock",
2083
2083
  145: "ScrollLock",
2084
2084
  224: "Meta"
2085
- }, Dg = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2086
- function Jg(e) {
2085
+ }, Jg = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2086
+ function Tg(e) {
2087
2087
  var t = this.nativeEvent;
2088
- return t.getModifierState ? t.getModifierState(e) : (e = Dg[e]) ? !!t[e] : !1;
2088
+ return t.getModifierState ? t.getModifierState(e) : (e = Jg[e]) ? !!t[e] : !1;
2089
2089
  }
2090
2090
  function Xo() {
2091
- return Jg;
2091
+ return Tg;
2092
2092
  }
2093
- var Qg = F({}, ai, { key: function(e) {
2093
+ var Qg = H({}, ai, { key: function(e) {
2094
2094
  if (e.key) {
2095
2095
  var t = xg[e.key] || e.key;
2096
2096
  if (t !== "Unidentified")
2097
2097
  return t;
2098
2098
  }
2099
- return e.type === "keypress" ? (e = Ki(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Tg[e.keyCode] || "Unidentified" : "";
2099
+ return e.type === "keypress" ? (e = Vi(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Dg[e.keyCode] || "Unidentified" : "";
2100
2100
  }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Xo, charCode: function(e) {
2101
- return e.type === "keypress" ? Ki(e) : 0;
2101
+ return e.type === "keypress" ? Vi(e) : 0;
2102
2102
  }, keyCode: function(e) {
2103
2103
  return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2104
2104
  }, which: function(e) {
2105
- return e.type === "keypress" ? Ki(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2106
- } }), Eg = Ze(Qg), Ug = F({}, Zr, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ys = Ze(Ug), Pg = F({}, ai, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Xo }), _g = Ze(Pg), $g = F({}, fn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), qg = Ze($g), ep = F({}, Zr, {
2105
+ return e.type === "keypress" ? Vi(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2106
+ } }), Eg = Ze(Qg), Ug = H({}, Zr, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ys = Ze(Ug), Pg = H({}, ai, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Xo }), _g = Ze(Pg), $g = H({}, fn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), qg = Ze($g), ep = H({}, Zr, {
2107
2107
  deltaX: function(e) {
2108
2108
  return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
2109
2109
  },
@@ -2129,14 +2129,14 @@ function Aa(e, t) {
2129
2129
  return !1;
2130
2130
  }
2131
2131
  }
2132
- function Sa(e) {
2132
+ function ka(e) {
2133
2133
  return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
2134
2134
  }
2135
- var Tt = !1;
2135
+ var Dt = !1;
2136
2136
  function rp(e, t) {
2137
2137
  switch (e) {
2138
2138
  case "compositionend":
2139
- return Sa(t);
2139
+ return ka(t);
2140
2140
  case "keypress":
2141
2141
  return t.which !== 32 ? null : (As = !0, Ns);
2142
2142
  case "textInput":
@@ -2146,8 +2146,8 @@ function rp(e, t) {
2146
2146
  }
2147
2147
  }
2148
2148
  function lp(e, t) {
2149
- if (Tt)
2150
- return e === "compositionend" || !Go && Aa(e, t) ? (e = Ya(), Vi = Wo = lt = null, Tt = !1, e) : null;
2149
+ if (Dt)
2150
+ return e === "compositionend" || !Go && Aa(e, t) ? (e = Ya(), Ki = Wo = lt = null, Dt = !1, e) : null;
2151
2151
  switch (e) {
2152
2152
  case "paste":
2153
2153
  return null;
@@ -2166,18 +2166,18 @@ function lp(e, t) {
2166
2166
  }
2167
2167
  }
2168
2168
  var op = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2169
- function Ss(e) {
2169
+ function ks(e) {
2170
2170
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2171
2171
  return t === "input" ? !!op[e.type] : t === "textarea";
2172
2172
  }
2173
- function ka(e, t, n, i) {
2173
+ function Sa(e, t, n, i) {
2174
2174
  aa(i), t = _i(t, "onChange"), 0 < t.length && (n = new Lo("onChange", "change", null, n, i), e.push({ event: n, listeners: t }));
2175
2175
  }
2176
- var Vn = null, En = null;
2176
+ var Kn = null, En = null;
2177
2177
  function sp(e) {
2178
2178
  xa(e, 0);
2179
2179
  }
2180
- function vr(e) {
2180
+ function wr(e) {
2181
2181
  var t = Qt(e);
2182
2182
  if (na(t))
2183
2183
  return e;
@@ -2188,48 +2188,48 @@ function up(e, t) {
2188
2188
  }
2189
2189
  var Ba = !1;
2190
2190
  if (Ee) {
2191
- var Jr;
2191
+ var Tr;
2192
2192
  if (Ee) {
2193
2193
  var Qr = "oninput" in document;
2194
2194
  if (!Qr) {
2195
- var ks = document.createElement("div");
2196
- ks.setAttribute("oninput", "return;"), Qr = typeof ks.oninput == "function";
2195
+ var Ss = document.createElement("div");
2196
+ Ss.setAttribute("oninput", "return;"), Qr = typeof Ss.oninput == "function";
2197
2197
  }
2198
- Jr = Qr;
2198
+ Tr = Qr;
2199
2199
  } else
2200
- Jr = !1;
2201
- Ba = Jr && (!document.documentMode || 9 < document.documentMode);
2200
+ Tr = !1;
2201
+ Ba = Tr && (!document.documentMode || 9 < document.documentMode);
2202
2202
  }
2203
2203
  function Bs() {
2204
- Vn && (Vn.detachEvent("onpropertychange", Ra), En = Vn = null);
2204
+ Kn && (Kn.detachEvent("onpropertychange", Ra), En = Kn = null);
2205
2205
  }
2206
2206
  function Ra(e) {
2207
- if (e.propertyName === "value" && vr(En)) {
2207
+ if (e.propertyName === "value" && wr(En)) {
2208
2208
  var t = [];
2209
- ka(t, En, e, yo(e)), pa(sp, t);
2209
+ Sa(t, En, e, yo(e)), pa(sp, t);
2210
2210
  }
2211
2211
  }
2212
2212
  function ap(e, t, n) {
2213
- e === "focusin" ? (Bs(), Vn = t, En = n, Vn.attachEvent("onpropertychange", Ra)) : e === "focusout" && Bs();
2213
+ e === "focusin" ? (Bs(), Kn = t, En = n, Kn.attachEvent("onpropertychange", Ra)) : e === "focusout" && Bs();
2214
2214
  }
2215
2215
  function cp(e) {
2216
2216
  if (e === "selectionchange" || e === "keyup" || e === "keydown")
2217
- return vr(En);
2217
+ return wr(En);
2218
2218
  }
2219
2219
  function dp(e, t) {
2220
2220
  if (e === "click")
2221
- return vr(t);
2221
+ return wr(t);
2222
2222
  }
2223
2223
  function gp(e, t) {
2224
2224
  if (e === "input" || e === "change")
2225
- return vr(t);
2225
+ return wr(t);
2226
2226
  }
2227
2227
  function pp(e, t) {
2228
2228
  return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
2229
2229
  }
2230
- var Ke = typeof Object.is == "function" ? Object.is : pp;
2230
+ var Ve = typeof Object.is == "function" ? Object.is : pp;
2231
2231
  function Un(e, t) {
2232
- if (Ke(e, t))
2232
+ if (Ve(e, t))
2233
2233
  return !0;
2234
2234
  if (typeof e != "object" || e === null || typeof t != "object" || t === null)
2235
2235
  return !1;
@@ -2238,7 +2238,7 @@ function Un(e, t) {
2238
2238
  return !1;
2239
2239
  for (i = 0; i < n.length; i++) {
2240
2240
  var r = n[i];
2241
- if (!gl.call(t, r) || !Ke(e[r], t[r]))
2241
+ if (!gl.call(t, r) || !Ve(e[r], t[r]))
2242
2242
  return !1;
2243
2243
  }
2244
2244
  return !0;
@@ -2248,7 +2248,7 @@ function Rs(e) {
2248
2248
  e = e.firstChild;
2249
2249
  return e;
2250
2250
  }
2251
- function Vs(e, t) {
2251
+ function Ks(e, t) {
2252
2252
  var n = Rs(e);
2253
2253
  e = 0;
2254
2254
  for (var i; n; ) {
@@ -2270,11 +2270,11 @@ function Vs(e, t) {
2270
2270
  n = Rs(n);
2271
2271
  }
2272
2272
  }
2273
- function Va(e, t) {
2274
- return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? Va(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2273
+ function Ka(e, t) {
2274
+ return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? Ka(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2275
2275
  }
2276
- function Ka() {
2277
- for (var e = window, t = Ti(); t instanceof e.HTMLIFrameElement; ) {
2276
+ function Va() {
2277
+ for (var e = window, t = Di(); t instanceof e.HTMLIFrameElement; ) {
2278
2278
  try {
2279
2279
  var n = typeof t.contentWindow.location.href == "string";
2280
2280
  } catch {
@@ -2284,7 +2284,7 @@ function Ka() {
2284
2284
  e = t.contentWindow;
2285
2285
  else
2286
2286
  break;
2287
- t = Ti(e.document);
2287
+ t = Di(e.document);
2288
2288
  }
2289
2289
  return t;
2290
2290
  }
@@ -2293,16 +2293,16 @@ function Yo(e) {
2293
2293
  return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
2294
2294
  }
2295
2295
  function mp(e) {
2296
- var t = Ka(), n = e.focusedElem, i = e.selectionRange;
2297
- if (t !== n && n && n.ownerDocument && Va(n.ownerDocument.documentElement, n)) {
2296
+ var t = Va(), n = e.focusedElem, i = e.selectionRange;
2297
+ if (t !== n && n && n.ownerDocument && Ka(n.ownerDocument.documentElement, n)) {
2298
2298
  if (i !== null && Yo(n)) {
2299
2299
  if (t = i.start, e = i.end, e === void 0 && (e = t), "selectionStart" in n)
2300
2300
  n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length);
2301
2301
  else if (e = (t = n.ownerDocument || document) && t.defaultView || window, e.getSelection) {
2302
2302
  e = e.getSelection();
2303
2303
  var r = n.textContent.length, l = Math.min(i.start, r);
2304
- i = i.end === void 0 ? l : Math.min(i.end, r), !e.extend && l > i && (r = i, i = l, l = r), r = Vs(n, l);
2305
- var o = Vs(
2304
+ i = i.end === void 0 ? l : Math.min(i.end, r), !e.extend && l > i && (r = i, i = l, l = r), r = Ks(n, l);
2305
+ var o = Ks(
2306
2306
  n,
2307
2307
  i
2308
2308
  );
@@ -2315,54 +2315,54 @@ function mp(e) {
2315
2315
  e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
2316
2316
  }
2317
2317
  }
2318
- var fp = Ee && "documentMode" in document && 11 >= document.documentMode, Dt = null, Sl = null, Kn = null, kl = !1;
2319
- function Ks(e, t, n) {
2318
+ var fp = Ee && "documentMode" in document && 11 >= document.documentMode, Jt = null, kl = null, Vn = null, Sl = !1;
2319
+ function Vs(e, t, n) {
2320
2320
  var i = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
2321
- kl || Dt == null || Dt !== Ti(i) || (i = Dt, "selectionStart" in i && Yo(i) ? i = { start: i.selectionStart, end: i.selectionEnd } : (i = (i.ownerDocument && i.ownerDocument.defaultView || window).getSelection(), i = { anchorNode: i.anchorNode, anchorOffset: i.anchorOffset, focusNode: i.focusNode, focusOffset: i.focusOffset }), Kn && Un(Kn, i) || (Kn = i, i = _i(Sl, "onSelect"), 0 < i.length && (t = new Lo("onSelect", "select", null, t, n), e.push({ event: t, listeners: i }), t.target = Dt)));
2321
+ Sl || Jt == null || Jt !== Di(i) || (i = Jt, "selectionStart" in i && Yo(i) ? i = { start: i.selectionStart, end: i.selectionEnd } : (i = (i.ownerDocument && i.ownerDocument.defaultView || window).getSelection(), i = { anchorNode: i.anchorNode, anchorOffset: i.anchorOffset, focusNode: i.focusNode, focusOffset: i.focusOffset }), Vn && Un(Vn, i) || (Vn = i, i = _i(kl, "onSelect"), 0 < i.length && (t = new Lo("onSelect", "select", null, t, n), e.push({ event: t, listeners: i }), t.target = Jt)));
2322
2322
  }
2323
- function vi(e, t) {
2323
+ function wi(e, t) {
2324
2324
  var n = {};
2325
2325
  return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
2326
2326
  }
2327
- var Jt = { animationend: vi("Animation", "AnimationEnd"), animationiteration: vi("Animation", "AnimationIteration"), animationstart: vi("Animation", "AnimationStart"), transitionend: vi("Transition", "TransitionEnd") }, Er = {}, Oa = {};
2328
- Ee && (Oa = document.createElement("div").style, "AnimationEvent" in window || (delete Jt.animationend.animation, delete Jt.animationiteration.animation, delete Jt.animationstart.animation), "TransitionEvent" in window || delete Jt.transitionend.transition);
2329
- function wr(e) {
2327
+ var Tt = { animationend: wi("Animation", "AnimationEnd"), animationiteration: wi("Animation", "AnimationIteration"), animationstart: wi("Animation", "AnimationStart"), transitionend: wi("Transition", "TransitionEnd") }, Er = {}, Oa = {};
2328
+ Ee && (Oa = document.createElement("div").style, "AnimationEvent" in window || (delete Tt.animationend.animation, delete Tt.animationiteration.animation, delete Tt.animationstart.animation), "TransitionEvent" in window || delete Tt.transitionend.transition);
2329
+ function vr(e) {
2330
2330
  if (Er[e])
2331
2331
  return Er[e];
2332
- if (!Jt[e])
2332
+ if (!Tt[e])
2333
2333
  return e;
2334
- var t = Jt[e], n;
2334
+ var t = Tt[e], n;
2335
2335
  for (n in t)
2336
2336
  if (t.hasOwnProperty(n) && n in Oa)
2337
2337
  return Er[e] = t[n];
2338
2338
  return e;
2339
2339
  }
2340
- var Ma = wr("animationend"), Ha = wr("animationiteration"), ja = wr("animationstart"), Fa = wr("transitionend"), za = /* @__PURE__ */ new Map(), Os = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
2340
+ var Ma = vr("animationend"), ja = vr("animationiteration"), Fa = vr("animationstart"), Ha = vr("transitionend"), za = /* @__PURE__ */ new Map(), Os = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
2341
2341
  function Ct(e, t) {
2342
- za.set(e, t), Vt(t, [e]);
2342
+ za.set(e, t), Kt(t, [e]);
2343
2343
  }
2344
2344
  for (var Ur = 0; Ur < Os.length; Ur++) {
2345
2345
  var Pr = Os[Ur], hp = Pr.toLowerCase(), Cp = Pr[0].toUpperCase() + Pr.slice(1);
2346
2346
  Ct(hp, "on" + Cp);
2347
2347
  }
2348
2348
  Ct(Ma, "onAnimationEnd");
2349
- Ct(Ha, "onAnimationIteration");
2350
- Ct(ja, "onAnimationStart");
2349
+ Ct(ja, "onAnimationIteration");
2350
+ Ct(Fa, "onAnimationStart");
2351
2351
  Ct("dblclick", "onDoubleClick");
2352
2352
  Ct("focusin", "onFocus");
2353
2353
  Ct("focusout", "onBlur");
2354
- Ct(Fa, "onTransitionEnd");
2354
+ Ct(Ha, "onTransitionEnd");
2355
2355
  sn("onMouseEnter", ["mouseout", "mouseover"]);
2356
2356
  sn("onMouseLeave", ["mouseout", "mouseover"]);
2357
2357
  sn("onPointerEnter", ["pointerout", "pointerover"]);
2358
2358
  sn("onPointerLeave", ["pointerout", "pointerover"]);
2359
- Vt("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" "));
2360
- Vt("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));
2361
- Vt("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
2362
- Vt("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
2363
- Vt("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
2364
- Vt("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
2365
- var Sn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Ip = new Set("cancel close invalid load scroll toggle".split(" ").concat(Sn));
2359
+ Kt("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" "));
2360
+ Kt("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));
2361
+ Kt("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
2362
+ Kt("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
2363
+ Kt("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
2364
+ Kt("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
2365
+ var kn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Ip = new Set("cancel close invalid load scroll toggle".split(" ").concat(kn));
2366
2366
  function Ms(e, t, n) {
2367
2367
  var i = e.type || "unknown-event";
2368
2368
  e.currentTarget = n, hg(i, t, void 0, e), e.currentTarget = null;
@@ -2389,39 +2389,39 @@ function xa(e, t) {
2389
2389
  }
2390
2390
  }
2391
2391
  }
2392
- if (Ji)
2393
- throw e = Gl, Ji = !1, Gl = null, e;
2392
+ if (Ti)
2393
+ throw e = Gl, Ti = !1, Gl = null, e;
2394
2394
  }
2395
- function V(e, t) {
2395
+ function K(e, t) {
2396
2396
  var n = t[Ol];
2397
2397
  n === void 0 && (n = t[Ol] = /* @__PURE__ */ new Set());
2398
2398
  var i = e + "__bubble";
2399
- n.has(i) || (Ta(t, e, 2, !1), n.add(i));
2399
+ n.has(i) || (Da(t, e, 2, !1), n.add(i));
2400
2400
  }
2401
2401
  function _r(e, t, n) {
2402
2402
  var i = 0;
2403
- t && (i |= 4), Ta(n, e, i, t);
2403
+ t && (i |= 4), Da(n, e, i, t);
2404
2404
  }
2405
- var wi = "_reactListening" + Math.random().toString(36).slice(2);
2405
+ var vi = "_reactListening" + Math.random().toString(36).slice(2);
2406
2406
  function Pn(e) {
2407
- if (!e[wi]) {
2408
- e[wi] = !0, _u.forEach(function(n) {
2407
+ if (!e[vi]) {
2408
+ e[vi] = !0, _u.forEach(function(n) {
2409
2409
  n !== "selectionchange" && (Ip.has(n) || _r(n, !1, e), _r(n, !0, e));
2410
2410
  });
2411
2411
  var t = e.nodeType === 9 ? e : e.ownerDocument;
2412
- t === null || t[wi] || (t[wi] = !0, _r("selectionchange", !1, t));
2412
+ t === null || t[vi] || (t[vi] = !0, _r("selectionchange", !1, t));
2413
2413
  }
2414
2414
  }
2415
- function Ta(e, t, n, i) {
2415
+ function Da(e, t, n, i) {
2416
2416
  switch (Ga(t)) {
2417
2417
  case 1:
2418
- var r = kg;
2418
+ var r = Sg;
2419
2419
  break;
2420
2420
  case 4:
2421
2421
  r = Bg;
2422
2422
  break;
2423
2423
  default:
2424
- r = wo;
2424
+ r = vo;
2425
2425
  }
2426
2426
  n = r.bind(null, t, n, e), r = void 0, !Xl || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (r = !0), i ? r !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: r }) : e.addEventListener(t, n, !0) : r !== void 0 ? e.addEventListener(t, n, { passive: r }) : e.addEventListener(t, n, !1);
2427
2427
  }
@@ -2464,21 +2464,21 @@ function $r(e, t, n, i, r) {
2464
2464
  var I = Lo, C = e;
2465
2465
  switch (e) {
2466
2466
  case "keypress":
2467
- if (Ki(n) === 0)
2467
+ if (Vi(n) === 0)
2468
2468
  break e;
2469
2469
  case "keydown":
2470
2470
  case "keyup":
2471
2471
  I = Eg;
2472
2472
  break;
2473
2473
  case "focusin":
2474
- C = "focus", I = Dr;
2474
+ C = "focus", I = Jr;
2475
2475
  break;
2476
2476
  case "focusout":
2477
- C = "blur", I = Dr;
2477
+ C = "blur", I = Jr;
2478
2478
  break;
2479
2479
  case "beforeblur":
2480
2480
  case "afterblur":
2481
- I = Dr;
2481
+ I = Jr;
2482
2482
  break;
2483
2483
  case "click":
2484
2484
  if (n.button === 2)
@@ -2501,7 +2501,7 @@ function $r(e, t, n, i, r) {
2501
2501
  case "dragover":
2502
2502
  case "dragstart":
2503
2503
  case "drop":
2504
- I = Kg;
2504
+ I = Vg;
2505
2505
  break;
2506
2506
  case "touchcancel":
2507
2507
  case "touchend":
@@ -2510,11 +2510,11 @@ function $r(e, t, n, i, r) {
2510
2510
  I = _g;
2511
2511
  break;
2512
2512
  case Ma:
2513
- case Ha:
2514
2513
  case ja:
2515
- I = Hg;
2516
- break;
2517
2514
  case Fa:
2515
+ I = jg;
2516
+ break;
2517
+ case Ha:
2518
2518
  I = qg;
2519
2519
  break;
2520
2520
  case "scroll":
@@ -2526,7 +2526,7 @@ function $r(e, t, n, i, r) {
2526
2526
  case "copy":
2527
2527
  case "cut":
2528
2528
  case "paste":
2529
- I = Fg;
2529
+ I = Hg;
2530
2530
  break;
2531
2531
  case "gotpointercapture":
2532
2532
  case "lostpointercapture":
@@ -2543,7 +2543,7 @@ function $r(e, t, n, i, r) {
2543
2543
  for (var d = a, f; d !== null; ) {
2544
2544
  f = d;
2545
2545
  var h = f.stateNode;
2546
- if (f.tag === 5 && h !== null && (f = h, p !== null && (h = Tn(d, p), h != null && y.push(_n(d, h, f)))), G)
2546
+ if (f.tag === 5 && h !== null && (f = h, p !== null && (h = Dn(d, p), h != null && y.push(_n(d, h, f)))), G)
2547
2547
  break;
2548
2548
  d = d.return;
2549
2549
  }
@@ -2554,70 +2554,70 @@ function $r(e, t, n, i, r) {
2554
2554
  e: {
2555
2555
  if (c = e === "mouseover" || e === "pointerover", I = e === "mouseout" || e === "pointerout", c && n !== Wl && (C = n.relatedTarget || n.fromElement) && (Lt(C) || C[Ue]))
2556
2556
  break e;
2557
- if ((I || c) && (c = g.window === g ? g : (c = g.ownerDocument) ? c.defaultView || c.parentWindow : window, I ? (C = n.relatedTarget || n.toElement, I = a, C = C ? Lt(C) : null, C !== null && (G = Kt(C), C !== G || C.tag !== 5 && C.tag !== 6) && (C = null)) : (I = null, C = a), I !== C)) {
2557
+ if ((I || c) && (c = g.window === g ? g : (c = g.ownerDocument) ? c.defaultView || c.parentWindow : window, I ? (C = n.relatedTarget || n.toElement, I = a, C = C ? Lt(C) : null, C !== null && (G = Vt(C), C !== G || C.tag !== 5 && C.tag !== 6) && (C = null)) : (I = null, C = a), I !== C)) {
2558
2558
  if (y = Xs, h = "onMouseLeave", p = "onMouseEnter", d = "mouse", (e === "pointerout" || e === "pointerover") && (y = Ys, h = "onPointerLeave", p = "onPointerEnter", d = "pointer"), G = I == null ? c : Qt(I), f = C == null ? c : Qt(C), c = new y(h, d + "leave", I, n, g), c.target = G, c.relatedTarget = f, h = null, Lt(g) === a && (y = new y(p, d + "enter", C, n, g), y.target = f, y.relatedTarget = G, h = y), G = h, I && C)
2559
2559
  t: {
2560
- for (y = I, p = C, d = 0, f = y; f; f = Ht(f))
2560
+ for (y = I, p = C, d = 0, f = y; f; f = jt(f))
2561
2561
  d++;
2562
- for (f = 0, h = p; h; h = Ht(h))
2562
+ for (f = 0, h = p; h; h = jt(h))
2563
2563
  f++;
2564
2564
  for (; 0 < d - f; )
2565
- y = Ht(y), d--;
2565
+ y = jt(y), d--;
2566
2566
  for (; 0 < f - d; )
2567
- p = Ht(p), f--;
2567
+ p = jt(p), f--;
2568
2568
  for (; d--; ) {
2569
2569
  if (y === p || p !== null && y === p.alternate)
2570
2570
  break t;
2571
- y = Ht(y), p = Ht(p);
2571
+ y = jt(y), p = jt(p);
2572
2572
  }
2573
2573
  y = null;
2574
2574
  }
2575
2575
  else
2576
2576
  y = null;
2577
- I !== null && Hs(m, c, I, y, !1), C !== null && G !== null && Hs(m, G, C, y, !0);
2577
+ I !== null && js(m, c, I, y, !1), C !== null && G !== null && js(m, G, C, y, !0);
2578
2578
  }
2579
2579
  }
2580
2580
  e: {
2581
2581
  if (c = a ? Qt(a) : window, I = c.nodeName && c.nodeName.toLowerCase(), I === "select" || I === "input" && c.type === "file")
2582
2582
  var Z = up;
2583
- else if (Ss(c))
2583
+ else if (ks(c))
2584
2584
  if (Ba)
2585
2585
  Z = gp;
2586
2586
  else {
2587
2587
  Z = cp;
2588
- var v = ap;
2588
+ var w = ap;
2589
2589
  }
2590
2590
  else
2591
2591
  (I = c.nodeName) && I.toLowerCase() === "input" && (c.type === "checkbox" || c.type === "radio") && (Z = dp);
2592
2592
  if (Z && (Z = Z(e, a))) {
2593
- ka(m, Z, n, g);
2593
+ Sa(m, Z, n, g);
2594
2594
  break e;
2595
2595
  }
2596
- v && v(e, c, a), e === "focusout" && (v = c._wrapperState) && v.controlled && c.type === "number" && yl(c, "number", c.value);
2596
+ w && w(e, c, a), e === "focusout" && (w = c._wrapperState) && w.controlled && c.type === "number" && yl(c, "number", c.value);
2597
2597
  }
2598
- switch (v = a ? Qt(a) : window, e) {
2598
+ switch (w = a ? Qt(a) : window, e) {
2599
2599
  case "focusin":
2600
- (Ss(v) || v.contentEditable === "true") && (Dt = v, Sl = a, Kn = null);
2600
+ (ks(w) || w.contentEditable === "true") && (Jt = w, kl = a, Vn = null);
2601
2601
  break;
2602
2602
  case "focusout":
2603
- Kn = Sl = Dt = null;
2603
+ Vn = kl = Jt = null;
2604
2604
  break;
2605
2605
  case "mousedown":
2606
- kl = !0;
2606
+ Sl = !0;
2607
2607
  break;
2608
2608
  case "contextmenu":
2609
2609
  case "mouseup":
2610
2610
  case "dragend":
2611
- kl = !1, Ks(m, n, g);
2611
+ Sl = !1, Vs(m, n, g);
2612
2612
  break;
2613
2613
  case "selectionchange":
2614
2614
  if (fp)
2615
2615
  break;
2616
2616
  case "keydown":
2617
2617
  case "keyup":
2618
- Ks(m, n, g);
2618
+ Vs(m, n, g);
2619
2619
  }
2620
- var w;
2620
+ var v;
2621
2621
  if (Go)
2622
2622
  e: {
2623
2623
  switch (e) {
@@ -2634,8 +2634,8 @@ function $r(e, t, n, i, r) {
2634
2634
  X = void 0;
2635
2635
  }
2636
2636
  else
2637
- Tt ? Aa(e, n) && (X = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (X = "onCompositionStart");
2638
- X && (Na && n.locale !== "ko" && (Tt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Tt && (w = Ya()) : (lt = g, Wo = "value" in lt ? lt.value : lt.textContent, Tt = !0)), v = _i(a, X), 0 < v.length && (X = new Gs(X, e, null, n, g), m.push({ event: X, listeners: v }), w ? X.data = w : (w = Sa(n), w !== null && (X.data = w)))), (w = ip ? rp(e, n) : lp(e, n)) && (a = _i(a, "onBeforeInput"), 0 < a.length && (g = new Gs("onBeforeInput", "beforeinput", null, n, g), m.push({ event: g, listeners: a }), g.data = w));
2637
+ Dt ? Aa(e, n) && (X = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (X = "onCompositionStart");
2638
+ X && (Na && n.locale !== "ko" && (Dt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Dt && (v = Ya()) : (lt = g, Wo = "value" in lt ? lt.value : lt.textContent, Dt = !0)), w = _i(a, X), 0 < w.length && (X = new Gs(X, e, null, n, g), m.push({ event: X, listeners: w }), v ? X.data = v : (v = ka(n), v !== null && (X.data = v)))), (v = ip ? rp(e, n) : lp(e, n)) && (a = _i(a, "onBeforeInput"), 0 < a.length && (g = new Gs("onBeforeInput", "beforeinput", null, n, g), m.push({ event: g, listeners: a }), g.data = v));
2639
2639
  }
2640
2640
  xa(m, t);
2641
2641
  });
@@ -2646,11 +2646,11 @@ function _n(e, t, n) {
2646
2646
  function _i(e, t) {
2647
2647
  for (var n = t + "Capture", i = []; e !== null; ) {
2648
2648
  var r = e, l = r.stateNode;
2649
- r.tag === 5 && l !== null && (r = l, l = Tn(e, n), l != null && i.unshift(_n(e, l, r)), l = Tn(e, t), l != null && i.push(_n(e, l, r))), e = e.return;
2649
+ r.tag === 5 && l !== null && (r = l, l = Dn(e, n), l != null && i.unshift(_n(e, l, r)), l = Dn(e, t), l != null && i.push(_n(e, l, r))), e = e.return;
2650
2650
  }
2651
2651
  return i;
2652
2652
  }
2653
- function Ht(e) {
2653
+ function jt(e) {
2654
2654
  if (e === null)
2655
2655
  return null;
2656
2656
  do
@@ -2658,34 +2658,34 @@ function Ht(e) {
2658
2658
  while (e && e.tag !== 5);
2659
2659
  return e || null;
2660
2660
  }
2661
- function Hs(e, t, n, i, r) {
2661
+ function js(e, t, n, i, r) {
2662
2662
  for (var l = t._reactName, o = []; n !== null && n !== i; ) {
2663
2663
  var s = n, u = s.alternate, a = s.stateNode;
2664
2664
  if (u !== null && u === i)
2665
2665
  break;
2666
- s.tag === 5 && a !== null && (s = a, r ? (u = Tn(n, l), u != null && o.unshift(_n(n, u, s))) : r || (u = Tn(n, l), u != null && o.push(_n(n, u, s)))), n = n.return;
2666
+ s.tag === 5 && a !== null && (s = a, r ? (u = Dn(n, l), u != null && o.unshift(_n(n, u, s))) : r || (u = Dn(n, l), u != null && o.push(_n(n, u, s)))), n = n.return;
2667
2667
  }
2668
2668
  o.length !== 0 && e.push({ event: t, listeners: o });
2669
2669
  }
2670
2670
  var yp = /\r\n?/g, bp = /\u0000|\uFFFD/g;
2671
- function js(e) {
2671
+ function Fs(e) {
2672
2672
  return (typeof e == "string" ? e : "" + e).replace(yp, `
2673
2673
  `).replace(bp, "");
2674
2674
  }
2675
2675
  function Wi(e, t, n) {
2676
- if (t = js(t), js(e) !== t && n)
2676
+ if (t = Fs(t), Fs(e) !== t && n)
2677
2677
  throw Error(b(425));
2678
2678
  }
2679
2679
  function $i() {
2680
2680
  }
2681
2681
  var Bl = null, Rl = null;
2682
- function Vl(e, t) {
2682
+ function Kl(e, t) {
2683
2683
  return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
2684
2684
  }
2685
- var Kl = typeof setTimeout == "function" ? setTimeout : void 0, Zp = typeof clearTimeout == "function" ? clearTimeout : void 0, Fs = typeof Promise == "function" ? Promise : void 0, vp = typeof queueMicrotask == "function" ? queueMicrotask : typeof Fs < "u" ? function(e) {
2686
- return Fs.resolve(null).then(e).catch(wp);
2687
- } : Kl;
2688
- function wp(e) {
2685
+ var Vl = typeof setTimeout == "function" ? setTimeout : void 0, Zp = typeof clearTimeout == "function" ? clearTimeout : void 0, Hs = typeof Promise == "function" ? Promise : void 0, wp = typeof queueMicrotask == "function" ? queueMicrotask : typeof Hs < "u" ? function(e) {
2686
+ return Hs.resolve(null).then(e).catch(vp);
2687
+ } : Vl;
2688
+ function vp(e) {
2689
2689
  setTimeout(function() {
2690
2690
  throw e;
2691
2691
  });
@@ -2737,16 +2737,16 @@ function zs(e) {
2737
2737
  }
2738
2738
  return null;
2739
2739
  }
2740
- var hn = Math.random().toString(36).slice(2), He = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Ol = "__reactEvents$" + hn, Wp = "__reactListeners$" + hn, Lp = "__reactHandles$" + hn;
2740
+ var hn = Math.random().toString(36).slice(2), je = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Ol = "__reactEvents$" + hn, Wp = "__reactListeners$" + hn, Lp = "__reactHandles$" + hn;
2741
2741
  function Lt(e) {
2742
- var t = e[He];
2742
+ var t = e[je];
2743
2743
  if (t)
2744
2744
  return t;
2745
2745
  for (var n = e.parentNode; n; ) {
2746
- if (t = n[Ue] || n[He]) {
2746
+ if (t = n[Ue] || n[je]) {
2747
2747
  if (n = t.alternate, t.child !== null || n !== null && n.child !== null)
2748
2748
  for (e = zs(e); e !== null; ) {
2749
- if (n = e[He])
2749
+ if (n = e[je])
2750
2750
  return n;
2751
2751
  e = zs(e);
2752
2752
  }
@@ -2757,7 +2757,7 @@ function Lt(e) {
2757
2757
  return null;
2758
2758
  }
2759
2759
  function ci(e) {
2760
- return e = e[He] || e[Ue], !e || e.tag !== 5 && e.tag !== 6 && e.tag !== 13 && e.tag !== 3 ? null : e;
2760
+ return e = e[je] || e[Ue], !e || e.tag !== 5 && e.tag !== 6 && e.tag !== 13 && e.tag !== 3 ? null : e;
2761
2761
  }
2762
2762
  function Qt(e) {
2763
2763
  if (e.tag === 5 || e.tag === 6)
@@ -2771,7 +2771,7 @@ var Ml = [], Et = -1;
2771
2771
  function It(e) {
2772
2772
  return { current: e };
2773
2773
  }
2774
- function K(e) {
2774
+ function V(e) {
2775
2775
  0 > Et || (e.current = Ml[Et], Ml[Et] = null, Et--);
2776
2776
  }
2777
2777
  function R(e, t) {
@@ -2794,14 +2794,14 @@ function me(e) {
2794
2794
  return e = e.childContextTypes, e != null;
2795
2795
  }
2796
2796
  function qi() {
2797
- K(pe), K(le);
2797
+ V(pe), V(le);
2798
2798
  }
2799
2799
  function xs(e, t, n) {
2800
2800
  if (le.current !== ht)
2801
2801
  throw Error(b(168));
2802
2802
  R(le, t), R(pe, n);
2803
2803
  }
2804
- function Da(e, t, n) {
2804
+ function Ja(e, t, n) {
2805
2805
  var i = e.stateNode;
2806
2806
  if (t = t.childContextTypes, typeof i.getChildContext != "function")
2807
2807
  return n;
@@ -2809,77 +2809,77 @@ function Da(e, t, n) {
2809
2809
  for (var r in i)
2810
2810
  if (!(r in t))
2811
2811
  throw Error(b(108, ag(e) || "Unknown", r));
2812
- return F({}, n, i);
2812
+ return H({}, n, i);
2813
2813
  }
2814
2814
  function er(e) {
2815
2815
  return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || ht, At = le.current, R(le, e), R(pe, pe.current), !0;
2816
2816
  }
2817
- function Ts(e, t, n) {
2817
+ function Ds(e, t, n) {
2818
2818
  var i = e.stateNode;
2819
2819
  if (!i)
2820
2820
  throw Error(b(169));
2821
- n ? (e = Da(e, t, At), i.__reactInternalMemoizedMergedChildContext = e, K(pe), K(le), R(le, e)) : K(pe), R(pe, n);
2821
+ n ? (e = Ja(e, t, At), i.__reactInternalMemoizedMergedChildContext = e, V(pe), V(le), R(le, e)) : V(pe), R(pe, n);
2822
2822
  }
2823
- var Te = null, Lr = !1, el = !1;
2824
- function Ja(e) {
2825
- Te === null ? Te = [e] : Te.push(e);
2823
+ var De = null, Lr = !1, el = !1;
2824
+ function Ta(e) {
2825
+ De === null ? De = [e] : De.push(e);
2826
2826
  }
2827
2827
  function Xp(e) {
2828
- Lr = !0, Ja(e);
2828
+ Lr = !0, Ta(e);
2829
2829
  }
2830
2830
  function yt() {
2831
- if (!el && Te !== null) {
2831
+ if (!el && De !== null) {
2832
2832
  el = !0;
2833
2833
  var e = 0, t = B;
2834
2834
  try {
2835
- var n = Te;
2835
+ var n = De;
2836
2836
  for (B = 1; e < n.length; e++) {
2837
2837
  var i = n[e];
2838
2838
  do
2839
2839
  i = i(!0);
2840
2840
  while (i !== null);
2841
2841
  }
2842
- Te = null, Lr = !1;
2842
+ De = null, Lr = !1;
2843
2843
  } catch (r) {
2844
- throw Te !== null && (Te = Te.slice(e + 1)), Ca(bo, yt), r;
2844
+ throw De !== null && (De = De.slice(e + 1)), Ca(bo, yt), r;
2845
2845
  } finally {
2846
2846
  B = t, el = !1;
2847
2847
  }
2848
2848
  }
2849
2849
  return null;
2850
2850
  }
2851
- var Ut = [], Pt = 0, tr = null, nr = 0, we = [], We = 0, St = null, De = 1, Je = "";
2852
- function wt(e, t) {
2851
+ var Ut = [], Pt = 0, tr = null, nr = 0, ve = [], We = 0, kt = null, Je = 1, Te = "";
2852
+ function vt(e, t) {
2853
2853
  Ut[Pt++] = nr, Ut[Pt++] = tr, tr = e, nr = t;
2854
2854
  }
2855
2855
  function Qa(e, t, n) {
2856
- we[We++] = De, we[We++] = Je, we[We++] = St, St = e;
2857
- var i = De;
2858
- e = Je;
2856
+ ve[We++] = Je, ve[We++] = Te, ve[We++] = kt, kt = e;
2857
+ var i = Je;
2858
+ e = Te;
2859
2859
  var r = 32 - Re(i) - 1;
2860
2860
  i &= ~(1 << r), n += 1;
2861
2861
  var l = 32 - Re(t) + r;
2862
2862
  if (30 < l) {
2863
2863
  var o = r - r % 5;
2864
- l = (i & (1 << o) - 1).toString(32), i >>= o, r -= o, De = 1 << 32 - Re(t) + r | n << r | i, Je = l + e;
2864
+ l = (i & (1 << o) - 1).toString(32), i >>= o, r -= o, Je = 1 << 32 - Re(t) + r | n << r | i, Te = l + e;
2865
2865
  } else
2866
- De = 1 << l | n << r | i, Je = e;
2866
+ Je = 1 << l | n << r | i, Te = e;
2867
2867
  }
2868
2868
  function No(e) {
2869
- e.return !== null && (wt(e, 1), Qa(e, 1, 0));
2869
+ e.return !== null && (vt(e, 1), Qa(e, 1, 0));
2870
2870
  }
2871
2871
  function Ao(e) {
2872
2872
  for (; e === tr; )
2873
2873
  tr = Ut[--Pt], Ut[Pt] = null, nr = Ut[--Pt], Ut[Pt] = null;
2874
- for (; e === St; )
2875
- St = we[--We], we[We] = null, Je = we[--We], we[We] = null, De = we[--We], we[We] = null;
2874
+ for (; e === kt; )
2875
+ kt = ve[--We], ve[We] = null, Te = ve[--We], ve[We] = null, Je = ve[--We], ve[We] = null;
2876
2876
  }
2877
2877
  var Ie = null, Ce = null, O = !1, Be = null;
2878
2878
  function Ea(e, t) {
2879
2879
  var n = Le(5, null, null, 0);
2880
2880
  n.elementType = "DELETED", n.stateNode = t, n.return = e, t = e.deletions, t === null ? (e.deletions = [n], e.flags |= 16) : t.push(n);
2881
2881
  }
2882
- function Ds(e, t) {
2882
+ function Js(e, t) {
2883
2883
  switch (e.tag) {
2884
2884
  case 5:
2885
2885
  var n = e.type;
@@ -2887,34 +2887,34 @@ function Ds(e, t) {
2887
2887
  case 6:
2888
2888
  return t = e.pendingProps === "" || t.nodeType !== 3 ? null : t, t !== null ? (e.stateNode = t, Ie = e, Ce = null, !0) : !1;
2889
2889
  case 13:
2890
- return t = t.nodeType !== 8 ? null : t, t !== null ? (n = St !== null ? { id: De, overflow: Je } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Le(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ie = e, Ce = null, !0) : !1;
2890
+ return t = t.nodeType !== 8 ? null : t, t !== null ? (n = kt !== null ? { id: Je, overflow: Te } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Le(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, Ie = e, Ce = null, !0) : !1;
2891
2891
  default:
2892
2892
  return !1;
2893
2893
  }
2894
2894
  }
2895
- function Hl(e) {
2895
+ function jl(e) {
2896
2896
  return (e.mode & 1) !== 0 && (e.flags & 128) === 0;
2897
2897
  }
2898
- function jl(e) {
2898
+ function Fl(e) {
2899
2899
  if (O) {
2900
2900
  var t = Ce;
2901
2901
  if (t) {
2902
2902
  var n = t;
2903
- if (!Ds(e, t)) {
2904
- if (Hl(e))
2903
+ if (!Js(e, t)) {
2904
+ if (jl(e))
2905
2905
  throw Error(b(418));
2906
2906
  t = ct(n.nextSibling);
2907
2907
  var i = Ie;
2908
- t && Ds(e, t) ? Ea(i, n) : (e.flags = e.flags & -4097 | 2, O = !1, Ie = e);
2908
+ t && Js(e, t) ? Ea(i, n) : (e.flags = e.flags & -4097 | 2, O = !1, Ie = e);
2909
2909
  }
2910
2910
  } else {
2911
- if (Hl(e))
2911
+ if (jl(e))
2912
2912
  throw Error(b(418));
2913
2913
  e.flags = e.flags & -4097 | 2, O = !1, Ie = e;
2914
2914
  }
2915
2915
  }
2916
2916
  }
2917
- function Js(e) {
2917
+ function Ts(e) {
2918
2918
  for (e = e.return; e !== null && e.tag !== 5 && e.tag !== 3 && e.tag !== 13; )
2919
2919
  e = e.return;
2920
2920
  Ie = e;
@@ -2923,15 +2923,15 @@ function Li(e) {
2923
2923
  if (e !== Ie)
2924
2924
  return !1;
2925
2925
  if (!O)
2926
- return Js(e), O = !0, !1;
2926
+ return Ts(e), O = !0, !1;
2927
2927
  var t;
2928
- if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !Vl(e.type, e.memoizedProps)), t && (t = Ce)) {
2929
- if (Hl(e))
2928
+ if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !Kl(e.type, e.memoizedProps)), t && (t = Ce)) {
2929
+ if (jl(e))
2930
2930
  throw Ua(), Error(b(418));
2931
2931
  for (; t; )
2932
2932
  Ea(e, t), t = ct(t.nextSibling);
2933
2933
  }
2934
- if (Js(e), e.tag === 13) {
2934
+ if (Ts(e), e.tag === 13) {
2935
2935
  if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e)
2936
2936
  throw Error(b(317));
2937
2937
  e: {
@@ -2962,28 +2962,28 @@ function Ua() {
2962
2962
  function an() {
2963
2963
  Ce = Ie = null, O = !1;
2964
2964
  }
2965
- function So(e) {
2965
+ function ko(e) {
2966
2966
  Be === null ? Be = [e] : Be.push(e);
2967
2967
  }
2968
2968
  var Gp = $e.ReactCurrentBatchConfig;
2969
- function Se(e, t) {
2969
+ function ke(e, t) {
2970
2970
  if (e && e.defaultProps) {
2971
- t = F({}, t), e = e.defaultProps;
2971
+ t = H({}, t), e = e.defaultProps;
2972
2972
  for (var n in e)
2973
2973
  t[n] === void 0 && (t[n] = e[n]);
2974
2974
  return t;
2975
2975
  }
2976
2976
  return t;
2977
2977
  }
2978
- var ir = It(null), rr = null, _t = null, ko = null;
2978
+ var ir = It(null), rr = null, _t = null, So = null;
2979
2979
  function Bo() {
2980
- ko = _t = rr = null;
2980
+ So = _t = rr = null;
2981
2981
  }
2982
2982
  function Ro(e) {
2983
2983
  var t = ir.current;
2984
- K(ir), e._currentValue = t;
2984
+ V(ir), e._currentValue = t;
2985
2985
  }
2986
- function Fl(e, t, n) {
2986
+ function Hl(e, t, n) {
2987
2987
  for (; e !== null; ) {
2988
2988
  var i = e.alternate;
2989
2989
  if ((e.childLanes & t) !== t ? (e.childLanes |= t, i !== null && (i.childLanes |= t)) : i !== null && (i.childLanes & t) !== t && (i.childLanes |= t), e === n)
@@ -2992,11 +2992,11 @@ function Fl(e, t, n) {
2992
2992
  }
2993
2993
  }
2994
2994
  function ln(e, t) {
2995
- rr = e, ko = _t = null, e = e.dependencies, e !== null && e.firstContext !== null && (e.lanes & t && (ge = !0), e.firstContext = null);
2995
+ rr = e, So = _t = null, e = e.dependencies, e !== null && e.firstContext !== null && (e.lanes & t && (ge = !0), e.firstContext = null);
2996
2996
  }
2997
2997
  function Ge(e) {
2998
2998
  var t = e._currentValue;
2999
- if (ko !== e)
2999
+ if (So !== e)
3000
3000
  if (e = { context: e, memoizedValue: t, next: null }, _t === null) {
3001
3001
  if (rr === null)
3002
3002
  throw Error(b(308));
@@ -3006,12 +3006,12 @@ function Ge(e) {
3006
3006
  return t;
3007
3007
  }
3008
3008
  var Xt = null;
3009
- function Vo(e) {
3009
+ function Ko(e) {
3010
3010
  Xt === null ? Xt = [e] : Xt.push(e);
3011
3011
  }
3012
3012
  function Pa(e, t, n, i) {
3013
3013
  var r = t.interleaved;
3014
- return r === null ? (n.next = n, Vo(t)) : (n.next = r.next, r.next = n), t.interleaved = n, Pe(e, i);
3014
+ return r === null ? (n.next = n, Ko(t)) : (n.next = r.next, r.next = n), t.interleaved = n, Pe(e, i);
3015
3015
  }
3016
3016
  function Pe(e, t) {
3017
3017
  e.lanes |= t;
@@ -3021,7 +3021,7 @@ function Pe(e, t) {
3021
3021
  return n.tag === 3 ? n.stateNode : null;
3022
3022
  }
3023
3023
  var nt = !1;
3024
- function Ko(e) {
3024
+ function Vo(e) {
3025
3025
  e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
3026
3026
  }
3027
3027
  function _a(e, t) {
@@ -3034,11 +3034,11 @@ function dt(e, t, n) {
3034
3034
  var i = e.updateQueue;
3035
3035
  if (i === null)
3036
3036
  return null;
3037
- if (i = i.shared, k & 2) {
3037
+ if (i = i.shared, S & 2) {
3038
3038
  var r = i.pending;
3039
3039
  return r === null ? t.next = t : (t.next = r.next, r.next = t), i.pending = t, Pe(e, n);
3040
3040
  }
3041
- return r = i.interleaved, r === null ? (t.next = t, Vo(i)) : (t.next = r.next, r.next = t), i.interleaved = t, Pe(e, n);
3041
+ return r = i.interleaved, r === null ? (t.next = t, Ko(i)) : (t.next = r.next, r.next = t), i.interleaved = t, Pe(e, n);
3042
3042
  }
3043
3043
  function Oi(e, t, n) {
3044
3044
  if (t = t.updateQueue, t !== null && (t = t.shared, (n & 4194240) !== 0)) {
@@ -3103,7 +3103,7 @@ function lr(e, t, n, i) {
3103
3103
  case 0:
3104
3104
  if (C = y.payload, c = typeof C == "function" ? C.call(I, m, c) : C, c == null)
3105
3105
  break e;
3106
- m = F({}, m, c);
3106
+ m = H({}, m, c);
3107
3107
  break e;
3108
3108
  case 2:
3109
3109
  nt = !0;
@@ -3141,22 +3141,22 @@ function Es(e, t, n) {
3141
3141
  }
3142
3142
  var $a = new Pu.Component().refs;
3143
3143
  function zl(e, t, n, i) {
3144
- t = e.memoizedState, n = n(i, t), n = n == null ? t : F({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
3144
+ t = e.memoizedState, n = n(i, t), n = n == null ? t : H({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
3145
3145
  }
3146
3146
  var Xr = { isMounted: function(e) {
3147
- return (e = e._reactInternals) ? Kt(e) === e : !1;
3147
+ return (e = e._reactInternals) ? Vt(e) === e : !1;
3148
3148
  }, enqueueSetState: function(e, t, n) {
3149
3149
  e = e._reactInternals;
3150
3150
  var i = ue(), r = pt(e), l = Qe(i, r);
3151
- l.payload = t, n != null && (l.callback = n), t = dt(e, l, r), t !== null && (Ve(t, e, r, i), Oi(t, e, r));
3151
+ l.payload = t, n != null && (l.callback = n), t = dt(e, l, r), t !== null && (Ke(t, e, r, i), Oi(t, e, r));
3152
3152
  }, enqueueReplaceState: function(e, t, n) {
3153
3153
  e = e._reactInternals;
3154
3154
  var i = ue(), r = pt(e), l = Qe(i, r);
3155
- l.tag = 1, l.payload = t, n != null && (l.callback = n), t = dt(e, l, r), t !== null && (Ve(t, e, r, i), Oi(t, e, r));
3155
+ l.tag = 1, l.payload = t, n != null && (l.callback = n), t = dt(e, l, r), t !== null && (Ke(t, e, r, i), Oi(t, e, r));
3156
3156
  }, enqueueForceUpdate: function(e, t) {
3157
3157
  e = e._reactInternals;
3158
3158
  var n = ue(), i = pt(e), r = Qe(n, i);
3159
- r.tag = 2, t != null && (r.callback = t), t = dt(e, r, i), t !== null && (Ve(t, e, i, n), Oi(t, e, i));
3159
+ r.tag = 2, t != null && (r.callback = t), t = dt(e, r, i), t !== null && (Ke(t, e, i, n), Oi(t, e, i));
3160
3160
  } };
3161
3161
  function Us(e, t, n, i, r, l, o) {
3162
3162
  return e = e.stateNode, typeof e.shouldComponentUpdate == "function" ? e.shouldComponentUpdate(i, l, o) : t.prototype && t.prototype.isPureReactComponent ? !Un(n, i) || !Un(r, l) : !0;
@@ -3170,11 +3170,11 @@ function Ps(e, t, n, i) {
3170
3170
  }
3171
3171
  function xl(e, t, n, i) {
3172
3172
  var r = e.stateNode;
3173
- r.props = n, r.state = e.memoizedState, r.refs = $a, Ko(e);
3173
+ r.props = n, r.state = e.memoizedState, r.refs = $a, Vo(e);
3174
3174
  var l = t.contextType;
3175
3175
  typeof l == "object" && l !== null ? r.context = Ge(l) : (l = me(t) ? At : le.current, r.context = un(e, l)), r.state = e.memoizedState, l = t.getDerivedStateFromProps, typeof l == "function" && (zl(e, t, l, n), r.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof r.getSnapshotBeforeUpdate == "function" || typeof r.UNSAFE_componentWillMount != "function" && typeof r.componentWillMount != "function" || (t = r.state, typeof r.componentWillMount == "function" && r.componentWillMount(), typeof r.UNSAFE_componentWillMount == "function" && r.UNSAFE_componentWillMount(), t !== r.state && Xr.enqueueReplaceState(r, r.state, null), lr(e, n, r, i), r.state = e.memoizedState), typeof r.componentDidMount == "function" && (e.flags |= 4194308);
3176
3176
  }
3177
- function vn(e, t, n) {
3177
+ function wn(e, t, n) {
3178
3178
  if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
3179
3179
  if (n._owner) {
3180
3180
  if (n = n._owner, n) {
@@ -3237,7 +3237,7 @@ function ec(e) {
3237
3237
  }
3238
3238
  function u(p, d, f, h) {
3239
3239
  var Z = f.type;
3240
- return Z === xt ? g(p, d, f.props.children, h, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && _s(Z) === d.type) ? (h = r(d, f.props), h.ref = vn(p, d, f), h.return = p, h) : (h = xi(f.type, f.key, f.props, null, p.mode, h), h.ref = vn(p, d, f), h.return = p, h);
3240
+ return Z === xt ? g(p, d, f.props.children, h, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && _s(Z) === d.type) ? (h = r(d, f.props), h.ref = wn(p, d, f), h.return = p, h) : (h = xi(f.type, f.key, f.props, null, p.mode, h), h.ref = wn(p, d, f), h.return = p, h);
3241
3241
  }
3242
3242
  function a(p, d, f, h) {
3243
3243
  return d === null || d.tag !== 4 || d.stateNode.containerInfo !== f.containerInfo || d.stateNode.implementation !== f.implementation ? (d = ul(f, p.mode, h), d.return = p, d) : (d = r(d, f.children || []), d.return = p, d);
@@ -3251,7 +3251,7 @@ function ec(e) {
3251
3251
  if (typeof d == "object" && d !== null) {
3252
3252
  switch (d.$$typeof) {
3253
3253
  case fi:
3254
- return f = xi(d.type, d.key, d.props, null, p.mode, f), f.ref = vn(p, null, d), f.return = p, f;
3254
+ return f = xi(d.type, d.key, d.props, null, p.mode, f), f.ref = wn(p, null, d), f.return = p, f;
3255
3255
  case zt:
3256
3256
  return d = ul(d, p.mode, f), d.return = p, d;
3257
3257
  case tt:
@@ -3298,8 +3298,8 @@ function ec(e) {
3298
3298
  case zt:
3299
3299
  return p = p.get(h.key === null ? f : h.key) || null, a(d, p, h, Z);
3300
3300
  case tt:
3301
- var v = h._init;
3302
- return I(p, d, f, v(h._payload), Z);
3301
+ var w = h._init;
3302
+ return I(p, d, f, w(h._payload), Z);
3303
3303
  }
3304
3304
  if (Nn(h) || Cn(h))
3305
3305
  return p = p.get(f) || null, g(d, p, h, Z, null);
@@ -3308,27 +3308,27 @@ function ec(e) {
3308
3308
  return null;
3309
3309
  }
3310
3310
  function C(p, d, f, h) {
3311
- for (var Z = null, v = null, w = d, X = d = 0, M = null; w !== null && X < f.length; X++) {
3312
- w.index > X ? (M = w, w = null) : M = w.sibling;
3313
- var N = c(p, w, f[X], h);
3311
+ for (var Z = null, w = null, v = d, X = d = 0, M = null; v !== null && X < f.length; X++) {
3312
+ v.index > X ? (M = v, v = null) : M = v.sibling;
3313
+ var N = c(p, v, f[X], h);
3314
3314
  if (N === null) {
3315
- w === null && (w = M);
3315
+ v === null && (v = M);
3316
3316
  break;
3317
3317
  }
3318
- e && w && N.alternate === null && t(p, w), d = l(N, d, X), v === null ? Z = N : v.sibling = N, v = N, w = M;
3318
+ e && v && N.alternate === null && t(p, v), d = l(N, d, X), w === null ? Z = N : w.sibling = N, w = N, v = M;
3319
3319
  }
3320
3320
  if (X === f.length)
3321
- return n(p, w), O && wt(p, X), Z;
3322
- if (w === null) {
3321
+ return n(p, v), O && vt(p, X), Z;
3322
+ if (v === null) {
3323
3323
  for (; X < f.length; X++)
3324
- w = m(p, f[X], h), w !== null && (d = l(w, d, X), v === null ? Z = w : v.sibling = w, v = w);
3325
- return O && wt(p, X), Z;
3324
+ v = m(p, f[X], h), v !== null && (d = l(v, d, X), w === null ? Z = v : w.sibling = v, w = v);
3325
+ return O && vt(p, X), Z;
3326
3326
  }
3327
- for (w = i(p, w); X < f.length; X++)
3328
- M = I(w, p, X, f[X], h), M !== null && (e && M.alternate !== null && w.delete(M.key === null ? X : M.key), d = l(M, d, X), v === null ? Z = M : v.sibling = M, v = M);
3329
- return e && w.forEach(function(ve) {
3330
- return t(p, ve);
3331
- }), O && wt(p, X), Z;
3327
+ for (v = i(p, v); X < f.length; X++)
3328
+ M = I(v, p, X, f[X], h), M !== null && (e && M.alternate !== null && v.delete(M.key === null ? X : M.key), d = l(M, d, X), w === null ? Z = M : w.sibling = M, w = M);
3329
+ return e && v.forEach(function(we) {
3330
+ return t(p, we);
3331
+ }), O && vt(p, X), Z;
3332
3332
  }
3333
3333
  function y(p, d, f, h) {
3334
3334
  var Z = Cn(f);
@@ -3336,60 +3336,60 @@ function ec(e) {
3336
3336
  throw Error(b(150));
3337
3337
  if (f = Z.call(f), f == null)
3338
3338
  throw Error(b(151));
3339
- for (var v = Z = null, w = d, X = d = 0, M = null, N = f.next(); w !== null && !N.done; X++, N = f.next()) {
3340
- w.index > X ? (M = w, w = null) : M = w.sibling;
3341
- var ve = c(p, w, N.value, h);
3342
- if (ve === null) {
3343
- w === null && (w = M);
3339
+ for (var w = Z = null, v = d, X = d = 0, M = null, N = f.next(); v !== null && !N.done; X++, N = f.next()) {
3340
+ v.index > X ? (M = v, v = null) : M = v.sibling;
3341
+ var we = c(p, v, N.value, h);
3342
+ if (we === null) {
3343
+ v === null && (v = M);
3344
3344
  break;
3345
3345
  }
3346
- e && w && ve.alternate === null && t(p, w), d = l(ve, d, X), v === null ? Z = ve : v.sibling = ve, v = ve, w = M;
3346
+ e && v && we.alternate === null && t(p, v), d = l(we, d, X), w === null ? Z = we : w.sibling = we, w = we, v = M;
3347
3347
  }
3348
3348
  if (N.done)
3349
3349
  return n(
3350
3350
  p,
3351
- w
3352
- ), O && wt(p, X), Z;
3353
- if (w === null) {
3351
+ v
3352
+ ), O && vt(p, X), Z;
3353
+ if (v === null) {
3354
3354
  for (; !N.done; X++, N = f.next())
3355
- N = m(p, N.value, h), N !== null && (d = l(N, d, X), v === null ? Z = N : v.sibling = N, v = N);
3356
- return O && wt(p, X), Z;
3355
+ N = m(p, N.value, h), N !== null && (d = l(N, d, X), w === null ? Z = N : w.sibling = N, w = N);
3356
+ return O && vt(p, X), Z;
3357
3357
  }
3358
- for (w = i(p, w); !N.done; X++, N = f.next())
3359
- N = I(w, p, X, N.value, h), N !== null && (e && N.alternate !== null && w.delete(N.key === null ? X : N.key), d = l(N, d, X), v === null ? Z = N : v.sibling = N, v = N);
3360
- return e && w.forEach(function(bt) {
3358
+ for (v = i(p, v); !N.done; X++, N = f.next())
3359
+ N = I(v, p, X, N.value, h), N !== null && (e && N.alternate !== null && v.delete(N.key === null ? X : N.key), d = l(N, d, X), w === null ? Z = N : w.sibling = N, w = N);
3360
+ return e && v.forEach(function(bt) {
3361
3361
  return t(p, bt);
3362
- }), O && wt(p, X), Z;
3362
+ }), O && vt(p, X), Z;
3363
3363
  }
3364
3364
  function G(p, d, f, h) {
3365
3365
  if (typeof f == "object" && f !== null && f.type === xt && f.key === null && (f = f.props.children), typeof f == "object" && f !== null) {
3366
3366
  switch (f.$$typeof) {
3367
3367
  case fi:
3368
3368
  e: {
3369
- for (var Z = f.key, v = d; v !== null; ) {
3370
- if (v.key === Z) {
3369
+ for (var Z = f.key, w = d; w !== null; ) {
3370
+ if (w.key === Z) {
3371
3371
  if (Z = f.type, Z === xt) {
3372
- if (v.tag === 7) {
3373
- n(p, v.sibling), d = r(v, f.props.children), d.return = p, p = d;
3372
+ if (w.tag === 7) {
3373
+ n(p, w.sibling), d = r(w, f.props.children), d.return = p, p = d;
3374
3374
  break e;
3375
3375
  }
3376
- } else if (v.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && _s(Z) === v.type) {
3377
- n(p, v.sibling), d = r(v, f.props), d.ref = vn(p, v, f), d.return = p, p = d;
3376
+ } else if (w.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && _s(Z) === w.type) {
3377
+ n(p, w.sibling), d = r(w, f.props), d.ref = wn(p, w, f), d.return = p, p = d;
3378
3378
  break e;
3379
3379
  }
3380
- n(p, v);
3380
+ n(p, w);
3381
3381
  break;
3382
3382
  } else
3383
- t(p, v);
3384
- v = v.sibling;
3383
+ t(p, w);
3384
+ w = w.sibling;
3385
3385
  }
3386
- f.type === xt ? (d = Nt(f.props.children, p.mode, h, f.key), d.return = p, p = d) : (h = xi(f.type, f.key, f.props, null, p.mode, h), h.ref = vn(p, d, f), h.return = p, p = h);
3386
+ f.type === xt ? (d = Nt(f.props.children, p.mode, h, f.key), d.return = p, p = d) : (h = xi(f.type, f.key, f.props, null, p.mode, h), h.ref = wn(p, d, f), h.return = p, p = h);
3387
3387
  }
3388
3388
  return o(p);
3389
3389
  case zt:
3390
3390
  e: {
3391
- for (v = f.key; d !== null; ) {
3392
- if (d.key === v)
3391
+ for (w = f.key; d !== null; ) {
3392
+ if (d.key === w)
3393
3393
  if (d.tag === 4 && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {
3394
3394
  n(p, d.sibling), d = r(d, f.children || []), d.return = p, p = d;
3395
3395
  break e;
@@ -3405,7 +3405,7 @@ function ec(e) {
3405
3405
  }
3406
3406
  return o(p);
3407
3407
  case tt:
3408
- return v = f._init, G(p, d, v(f._payload), h);
3408
+ return w = f._init, G(p, d, w(f._payload), h);
3409
3409
  }
3410
3410
  if (Nn(f))
3411
3411
  return C(p, d, f, h);
@@ -3432,10 +3432,10 @@ function Oo(e, t) {
3432
3432
  default:
3433
3433
  e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = Zl(t, e);
3434
3434
  }
3435
- K(ze), R(ze, t);
3435
+ V(ze), R(ze, t);
3436
3436
  }
3437
3437
  function dn() {
3438
- K(ze), K(qn), K(ei);
3438
+ V(ze), V(qn), V(ei);
3439
3439
  }
3440
3440
  function nc(e) {
3441
3441
  Gt(ei.current);
@@ -3443,9 +3443,9 @@ function nc(e) {
3443
3443
  t !== n && (R(qn, e), R(ze, n));
3444
3444
  }
3445
3445
  function Mo(e) {
3446
- qn.current === e && (K(ze), K(qn));
3446
+ qn.current === e && (V(ze), V(qn));
3447
3447
  }
3448
- var H = It(0);
3448
+ var j = It(0);
3449
3449
  function or(e) {
3450
3450
  for (var t = e; t !== null; ) {
3451
3451
  if (t.tag === 13) {
@@ -3471,25 +3471,25 @@ function or(e) {
3471
3471
  return null;
3472
3472
  }
3473
3473
  var tl = [];
3474
- function Ho() {
3474
+ function jo() {
3475
3475
  for (var e = 0; e < tl.length; e++)
3476
3476
  tl[e]._workInProgressVersionPrimary = null;
3477
3477
  tl.length = 0;
3478
3478
  }
3479
- var Mi = $e.ReactCurrentDispatcher, nl = $e.ReactCurrentBatchConfig, kt = 0, j = null, Q = null, P = null, sr = !1, On = !1, ti = 0, Yp = 0;
3479
+ var Mi = $e.ReactCurrentDispatcher, nl = $e.ReactCurrentBatchConfig, St = 0, F = null, Q = null, P = null, sr = !1, On = !1, ti = 0, Yp = 0;
3480
3480
  function ne() {
3481
3481
  throw Error(b(321));
3482
3482
  }
3483
- function jo(e, t) {
3483
+ function Fo(e, t) {
3484
3484
  if (t === null)
3485
3485
  return !1;
3486
3486
  for (var n = 0; n < t.length && n < e.length; n++)
3487
- if (!Ke(e[n], t[n]))
3487
+ if (!Ve(e[n], t[n]))
3488
3488
  return !1;
3489
3489
  return !0;
3490
3490
  }
3491
- function Fo(e, t, n, i, r, l) {
3492
- if (kt = l, j = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Mi.current = e === null || e.memoizedState === null ? kp : Bp, e = n(i, r), On) {
3491
+ function Ho(e, t, n, i, r, l) {
3492
+ if (St = l, F = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Mi.current = e === null || e.memoizedState === null ? Sp : Bp, e = n(i, r), On) {
3493
3493
  l = 0;
3494
3494
  do {
3495
3495
  if (On = !1, ti = 0, 25 <= l)
@@ -3497,7 +3497,7 @@ function Fo(e, t, n, i, r, l) {
3497
3497
  l += 1, P = Q = null, t.updateQueue = null, Mi.current = Rp, e = n(i, r);
3498
3498
  } while (On);
3499
3499
  }
3500
- if (Mi.current = ur, t = Q !== null && Q.next !== null, kt = 0, P = Q = j = null, sr = !1, t)
3500
+ if (Mi.current = ur, t = Q !== null && Q.next !== null, St = 0, P = Q = F = null, sr = !1, t)
3501
3501
  throw Error(b(300));
3502
3502
  return e;
3503
3503
  }
@@ -3507,21 +3507,21 @@ function zo() {
3507
3507
  }
3508
3508
  function Me() {
3509
3509
  var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
3510
- return P === null ? j.memoizedState = P = e : P = P.next = e, P;
3510
+ return P === null ? F.memoizedState = P = e : P = P.next = e, P;
3511
3511
  }
3512
3512
  function Ye() {
3513
3513
  if (Q === null) {
3514
- var e = j.alternate;
3514
+ var e = F.alternate;
3515
3515
  e = e !== null ? e.memoizedState : null;
3516
3516
  } else
3517
3517
  e = Q.next;
3518
- var t = P === null ? j.memoizedState : P.next;
3518
+ var t = P === null ? F.memoizedState : P.next;
3519
3519
  if (t !== null)
3520
3520
  P = t, Q = e;
3521
3521
  else {
3522
3522
  if (e === null)
3523
3523
  throw Error(b(310));
3524
- Q = e, e = { memoizedState: Q.memoizedState, baseState: Q.baseState, baseQueue: Q.baseQueue, queue: Q.queue, next: null }, P === null ? j.memoizedState = P = e : P = P.next = e;
3524
+ Q = e, e = { memoizedState: Q.memoizedState, baseState: Q.baseState, baseQueue: Q.baseQueue, queue: Q.queue, next: null }, P === null ? F.memoizedState = P = e : P = P.next = e;
3525
3525
  }
3526
3526
  return P;
3527
3527
  }
@@ -3546,7 +3546,7 @@ function il(e) {
3546
3546
  var s = o = null, u = null, a = l;
3547
3547
  do {
3548
3548
  var g = a.lane;
3549
- if ((kt & g) === g)
3549
+ if ((St & g) === g)
3550
3550
  u !== null && (u = u.next = { lane: 0, action: a.action, hasEagerState: a.hasEagerState, eagerState: a.eagerState, next: null }), i = a.hasEagerState ? a.eagerState : e(i, a.action);
3551
3551
  else {
3552
3552
  var m = {
@@ -3556,16 +3556,16 @@ function il(e) {
3556
3556
  eagerState: a.eagerState,
3557
3557
  next: null
3558
3558
  };
3559
- u === null ? (s = u = m, o = i) : u = u.next = m, j.lanes |= g, Bt |= g;
3559
+ u === null ? (s = u = m, o = i) : u = u.next = m, F.lanes |= g, Bt |= g;
3560
3560
  }
3561
3561
  a = a.next;
3562
3562
  } while (a !== null && a !== l);
3563
- u === null ? o = i : u.next = s, Ke(i, t.memoizedState) || (ge = !0), t.memoizedState = i, t.baseState = o, t.baseQueue = u, n.lastRenderedState = i;
3563
+ u === null ? o = i : u.next = s, Ve(i, t.memoizedState) || (ge = !0), t.memoizedState = i, t.baseState = o, t.baseQueue = u, n.lastRenderedState = i;
3564
3564
  }
3565
3565
  if (e = n.interleaved, e !== null) {
3566
3566
  r = e;
3567
3567
  do
3568
- l = r.lane, j.lanes |= l, Bt |= l, r = r.next;
3568
+ l = r.lane, F.lanes |= l, Bt |= l, r = r.next;
3569
3569
  while (r !== e);
3570
3570
  } else
3571
3571
  r === null && (n.lanes = 0);
@@ -3583,23 +3583,23 @@ function rl(e) {
3583
3583
  do
3584
3584
  l = e(l, o.action), o = o.next;
3585
3585
  while (o !== r);
3586
- Ke(l, t.memoizedState) || (ge = !0), t.memoizedState = l, t.baseQueue === null && (t.baseState = l), n.lastRenderedState = l;
3586
+ Ve(l, t.memoizedState) || (ge = !0), t.memoizedState = l, t.baseQueue === null && (t.baseState = l), n.lastRenderedState = l;
3587
3587
  }
3588
3588
  return [l, i];
3589
3589
  }
3590
3590
  function ic() {
3591
3591
  }
3592
3592
  function rc(e, t) {
3593
- var n = j, i = Ye(), r = t(), l = !Ke(i.memoizedState, r);
3593
+ var n = F, i = Ye(), r = t(), l = !Ve(i.memoizedState, r);
3594
3594
  if (l && (i.memoizedState = r, ge = !0), i = i.queue, xo(sc.bind(null, n, i, e), [e]), i.getSnapshot !== t || l || P !== null && P.memoizedState.tag & 1) {
3595
3595
  if (n.flags |= 2048, ii(9, oc.bind(null, n, i, r, t), void 0, null), _ === null)
3596
3596
  throw Error(b(349));
3597
- kt & 30 || lc(n, t, r);
3597
+ St & 30 || lc(n, t, r);
3598
3598
  }
3599
3599
  return r;
3600
3600
  }
3601
3601
  function lc(e, t, n) {
3602
- e.flags |= 16384, e = { getSnapshot: t, value: n }, t = j.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, j.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
3602
+ e.flags |= 16384, e = { getSnapshot: t, value: n }, t = F.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, F.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
3603
3603
  }
3604
3604
  function oc(e, t, n, i) {
3605
3605
  t.value = n, t.getSnapshot = i, uc(t) && ac(e);
@@ -3614,28 +3614,28 @@ function uc(e) {
3614
3614
  e = e.value;
3615
3615
  try {
3616
3616
  var n = t();
3617
- return !Ke(e, n);
3617
+ return !Ve(e, n);
3618
3618
  } catch {
3619
3619
  return !0;
3620
3620
  }
3621
3621
  }
3622
3622
  function ac(e) {
3623
3623
  var t = Pe(e, 1);
3624
- t !== null && Ve(t, e, 1, -1);
3624
+ t !== null && Ke(t, e, 1, -1);
3625
3625
  }
3626
3626
  function $s(e) {
3627
3627
  var t = Me();
3628
- return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch = Sp.bind(null, j, e), [t.memoizedState, e];
3628
+ return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch = kp.bind(null, F, e), [t.memoizedState, e];
3629
3629
  }
3630
3630
  function ii(e, t, n, i) {
3631
- return e = { tag: e, create: t, destroy: n, deps: i, next: null }, t = j.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, j.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (i = n.next, n.next = e, e.next = i, t.lastEffect = e)), e;
3631
+ return e = { tag: e, create: t, destroy: n, deps: i, next: null }, t = F.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, F.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (i = n.next, n.next = e, e.next = i, t.lastEffect = e)), e;
3632
3632
  }
3633
3633
  function cc() {
3634
3634
  return Ye().memoizedState;
3635
3635
  }
3636
- function Hi(e, t, n, i) {
3636
+ function ji(e, t, n, i) {
3637
3637
  var r = Me();
3638
- j.flags |= e, r.memoizedState = ii(1 | t, n, void 0, i === void 0 ? null : i);
3638
+ F.flags |= e, r.memoizedState = ii(1 | t, n, void 0, i === void 0 ? null : i);
3639
3639
  }
3640
3640
  function Gr(e, t, n, i) {
3641
3641
  var r = Ye();
@@ -3643,15 +3643,15 @@ function Gr(e, t, n, i) {
3643
3643
  var l = void 0;
3644
3644
  if (Q !== null) {
3645
3645
  var o = Q.memoizedState;
3646
- if (l = o.destroy, i !== null && jo(i, o.deps)) {
3646
+ if (l = o.destroy, i !== null && Fo(i, o.deps)) {
3647
3647
  r.memoizedState = ii(t, n, l, i);
3648
3648
  return;
3649
3649
  }
3650
3650
  }
3651
- j.flags |= e, r.memoizedState = ii(1 | t, n, l, i);
3651
+ F.flags |= e, r.memoizedState = ii(1 | t, n, l, i);
3652
3652
  }
3653
3653
  function qs(e, t) {
3654
- return Hi(8390656, 8, e, t);
3654
+ return ji(8390656, 8, e, t);
3655
3655
  }
3656
3656
  function xo(e, t) {
3657
3657
  return Gr(2048, 8, e, t);
@@ -3675,22 +3675,22 @@ function pc(e, t) {
3675
3675
  function mc(e, t, n) {
3676
3676
  return n = n != null ? n.concat([e]) : null, Gr(4, 4, pc.bind(null, t, e), n);
3677
3677
  }
3678
- function To() {
3678
+ function Do() {
3679
3679
  }
3680
3680
  function fc(e, t) {
3681
3681
  var n = Ye();
3682
3682
  t = t === void 0 ? null : t;
3683
3683
  var i = n.memoizedState;
3684
- return i !== null && t !== null && jo(t, i[1]) ? i[0] : (n.memoizedState = [e, t], e);
3684
+ return i !== null && t !== null && Fo(t, i[1]) ? i[0] : (n.memoizedState = [e, t], e);
3685
3685
  }
3686
3686
  function hc(e, t) {
3687
3687
  var n = Ye();
3688
3688
  t = t === void 0 ? null : t;
3689
3689
  var i = n.memoizedState;
3690
- return i !== null && t !== null && jo(t, i[1]) ? i[0] : (e = e(), n.memoizedState = [e, t], e);
3690
+ return i !== null && t !== null && Fo(t, i[1]) ? i[0] : (e = e(), n.memoizedState = [e, t], e);
3691
3691
  }
3692
3692
  function Cc(e, t, n) {
3693
- return kt & 21 ? (Ke(n, t) || (n = ba(), j.lanes |= n, Bt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, ge = !0), e.memoizedState = n);
3693
+ return St & 21 ? (Ve(n, t) || (n = ba(), F.lanes |= n, Bt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, ge = !0), e.memoizedState = n);
3694
3694
  }
3695
3695
  function Np(e, t) {
3696
3696
  var n = B;
@@ -3712,10 +3712,10 @@ function Ap(e, t, n) {
3712
3712
  bc(t, n);
3713
3713
  else if (n = Pa(e, t, n, i), n !== null) {
3714
3714
  var r = ue();
3715
- Ve(n, e, i, r), Zc(n, t, i);
3715
+ Ke(n, e, i, r), Zc(n, t, i);
3716
3716
  }
3717
3717
  }
3718
- function Sp(e, t, n) {
3718
+ function kp(e, t, n) {
3719
3719
  var i = pt(e), r = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null };
3720
3720
  if (yc(e))
3721
3721
  bc(t, r);
@@ -3724,20 +3724,20 @@ function Sp(e, t, n) {
3724
3724
  if (e.lanes === 0 && (l === null || l.lanes === 0) && (l = t.lastRenderedReducer, l !== null))
3725
3725
  try {
3726
3726
  var o = t.lastRenderedState, s = l(o, n);
3727
- if (r.hasEagerState = !0, r.eagerState = s, Ke(s, o)) {
3727
+ if (r.hasEagerState = !0, r.eagerState = s, Ve(s, o)) {
3728
3728
  var u = t.interleaved;
3729
- u === null ? (r.next = r, Vo(t)) : (r.next = u.next, u.next = r), t.interleaved = r;
3729
+ u === null ? (r.next = r, Ko(t)) : (r.next = u.next, u.next = r), t.interleaved = r;
3730
3730
  return;
3731
3731
  }
3732
3732
  } catch {
3733
3733
  } finally {
3734
3734
  }
3735
- n = Pa(e, t, r, i), n !== null && (r = ue(), Ve(n, e, i, r), Zc(n, t, i));
3735
+ n = Pa(e, t, r, i), n !== null && (r = ue(), Ke(n, e, i, r), Zc(n, t, i));
3736
3736
  }
3737
3737
  }
3738
3738
  function yc(e) {
3739
3739
  var t = e.alternate;
3740
- return e === j || t !== null && t === j;
3740
+ return e === F || t !== null && t === F;
3741
3741
  }
3742
3742
  function bc(e, t) {
3743
3743
  On = sr = !0;
@@ -3750,36 +3750,36 @@ function Zc(e, t, n) {
3750
3750
  i &= e.pendingLanes, n |= i, t.lanes = n, Zo(e, n);
3751
3751
  }
3752
3752
  }
3753
- var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 }, kp = { readContext: Ge, useCallback: function(e, t) {
3753
+ var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 }, Sp = { readContext: Ge, useCallback: function(e, t) {
3754
3754
  return Me().memoizedState = [e, t === void 0 ? null : t], e;
3755
3755
  }, useContext: Ge, useEffect: qs, useImperativeHandle: function(e, t, n) {
3756
- return n = n != null ? n.concat([e]) : null, Hi(
3756
+ return n = n != null ? n.concat([e]) : null, ji(
3757
3757
  4194308,
3758
3758
  4,
3759
3759
  pc.bind(null, t, e),
3760
3760
  n
3761
3761
  );
3762
3762
  }, useLayoutEffect: function(e, t) {
3763
- return Hi(4194308, 4, e, t);
3763
+ return ji(4194308, 4, e, t);
3764
3764
  }, useInsertionEffect: function(e, t) {
3765
- return Hi(4, 2, e, t);
3765
+ return ji(4, 2, e, t);
3766
3766
  }, useMemo: function(e, t) {
3767
3767
  var n = Me();
3768
3768
  return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
3769
3769
  }, useReducer: function(e, t, n) {
3770
3770
  var i = Me();
3771
- return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = Ap.bind(null, j, e), [i.memoizedState, e];
3771
+ return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = Ap.bind(null, F, e), [i.memoizedState, e];
3772
3772
  }, useRef: function(e) {
3773
3773
  var t = Me();
3774
3774
  return e = { current: e }, t.memoizedState = e;
3775
- }, useState: $s, useDebugValue: To, useDeferredValue: function(e) {
3775
+ }, useState: $s, useDebugValue: Do, useDeferredValue: function(e) {
3776
3776
  return Me().memoizedState = e;
3777
3777
  }, useTransition: function() {
3778
3778
  var e = $s(!1), t = e[0];
3779
3779
  return e = Np.bind(null, e[1]), Me().memoizedState = e, [t, e];
3780
3780
  }, useMutableSource: function() {
3781
3781
  }, useSyncExternalStore: function(e, t, n) {
3782
- var i = j, r = Me();
3782
+ var i = F, r = Me();
3783
3783
  if (O) {
3784
3784
  if (n === void 0)
3785
3785
  throw Error(b(407));
@@ -3787,7 +3787,7 @@ var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useI
3787
3787
  } else {
3788
3788
  if (n = t(), _ === null)
3789
3789
  throw Error(b(349));
3790
- kt & 30 || lc(i, t, n);
3790
+ St & 30 || lc(i, t, n);
3791
3791
  }
3792
3792
  r.memoizedState = n;
3793
3793
  var l = { value: n, getSnapshot: t };
@@ -3800,7 +3800,7 @@ var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useI
3800
3800
  }, useId: function() {
3801
3801
  var e = Me(), t = _.identifierPrefix;
3802
3802
  if (O) {
3803
- var n = Je, i = De;
3803
+ var n = Te, i = Je;
3804
3804
  n = (i & ~(1 << 32 - Re(i) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = ti++, 0 < n && (t += "H" + n.toString(32)), t += ":";
3805
3805
  } else
3806
3806
  n = Yp++, t = ":" + t + "r" + n.toString(32) + ":";
@@ -3819,7 +3819,7 @@ var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useI
3819
3819
  useState: function() {
3820
3820
  return il(ni);
3821
3821
  },
3822
- useDebugValue: To,
3822
+ useDebugValue: Do,
3823
3823
  useDeferredValue: function(e) {
3824
3824
  var t = Ye();
3825
3825
  return Cc(t, Q.memoizedState, e);
@@ -3834,7 +3834,7 @@ var ur = { readContext: Ge, useCallback: ne, useContext: ne, useEffect: ne, useI
3834
3834
  unstable_isNewReconciler: !1
3835
3835
  }, Rp = { readContext: Ge, useCallback: fc, useContext: Ge, useEffect: xo, useImperativeHandle: mc, useInsertionEffect: dc, useLayoutEffect: gc, useMemo: hc, useReducer: rl, useRef: cc, useState: function() {
3836
3836
  return rl(ni);
3837
- }, useDebugValue: To, useDeferredValue: function(e) {
3837
+ }, useDebugValue: Do, useDeferredValue: function(e) {
3838
3838
  var t = Ye();
3839
3839
  return Q === null ? t.memoizedState = e : Cc(t, Q.memoizedState, e);
3840
3840
  }, useTransition: function() {
@@ -3858,7 +3858,7 @@ Error generating stack: ` + l.message + `
3858
3858
  function ll(e, t, n) {
3859
3859
  return { value: e, source: null, stack: n ?? null, digest: t ?? null };
3860
3860
  }
3861
- function Tl(e, t) {
3861
+ function Dl(e, t) {
3862
3862
  try {
3863
3863
  console.error(t.value);
3864
3864
  } catch (n) {
@@ -3867,15 +3867,15 @@ function Tl(e, t) {
3867
3867
  });
3868
3868
  }
3869
3869
  }
3870
- var Vp = typeof WeakMap == "function" ? WeakMap : Map;
3871
- function vc(e, t, n) {
3870
+ var Kp = typeof WeakMap == "function" ? WeakMap : Map;
3871
+ function wc(e, t, n) {
3872
3872
  n = Qe(-1, n), n.tag = 3, n.payload = { element: null };
3873
3873
  var i = t.value;
3874
3874
  return n.callback = function() {
3875
- cr || (cr = !0, eo = i), Tl(e, t);
3875
+ cr || (cr = !0, eo = i), Dl(e, t);
3876
3876
  }, n;
3877
3877
  }
3878
- function wc(e, t, n) {
3878
+ function vc(e, t, n) {
3879
3879
  n = Qe(-1, n), n.tag = 3;
3880
3880
  var i = e.type.getDerivedStateFromError;
3881
3881
  if (typeof i == "function") {
@@ -3883,12 +3883,12 @@ function wc(e, t, n) {
3883
3883
  n.payload = function() {
3884
3884
  return i(r);
3885
3885
  }, n.callback = function() {
3886
- Tl(e, t);
3886
+ Dl(e, t);
3887
3887
  };
3888
3888
  }
3889
3889
  var l = e.stateNode;
3890
3890
  return l !== null && typeof l.componentDidCatch == "function" && (n.callback = function() {
3891
- Tl(e, t), typeof i != "function" && (gt === null ? gt = /* @__PURE__ */ new Set([this]) : gt.add(this));
3891
+ Dl(e, t), typeof i != "function" && (gt === null ? gt = /* @__PURE__ */ new Set([this]) : gt.add(this));
3892
3892
  var o = t.stack;
3893
3893
  this.componentDidCatch(t.value, { componentStack: o !== null ? o : "" });
3894
3894
  }), n;
@@ -3896,7 +3896,7 @@ function wc(e, t, n) {
3896
3896
  function eu(e, t, n) {
3897
3897
  var i = e.pingCache;
3898
3898
  if (i === null) {
3899
- i = e.pingCache = new Vp();
3899
+ i = e.pingCache = new Kp();
3900
3900
  var r = /* @__PURE__ */ new Set();
3901
3901
  i.set(t, r);
3902
3902
  } else
@@ -3915,14 +3915,14 @@ function tu(e) {
3915
3915
  function nu(e, t, n, i, r) {
3916
3916
  return e.mode & 1 ? (e.flags |= 65536, e.lanes = r, e) : (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, n.tag === 1 && (n.alternate === null ? n.tag = 17 : (t = Qe(-1, 1), t.tag = 2, dt(n, t, 1))), n.lanes |= 1), e);
3917
3917
  }
3918
- var Kp = $e.ReactCurrentOwner, ge = !1;
3918
+ var Vp = $e.ReactCurrentOwner, ge = !1;
3919
3919
  function se(e, t, n, i) {
3920
3920
  t.child = e === null ? tc(t, null, n, i) : cn(t, e.child, n, i);
3921
3921
  }
3922
3922
  function iu(e, t, n, i, r) {
3923
3923
  n = n.render;
3924
3924
  var l = t.ref;
3925
- return ln(t, r), i = Fo(e, t, n, i, l, r), n = zo(), e !== null && !ge ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~r, _e(e, t, r)) : (O && n && No(t), t.flags |= 1, se(e, t, i, r), t.child);
3925
+ return ln(t, r), i = Ho(e, t, n, i, l, r), n = zo(), e !== null && !ge ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~r, _e(e, t, r)) : (O && n && No(t), t.flags |= 1, se(e, t, i, r), t.child);
3926
3926
  }
3927
3927
  function ru(e, t, n, i, r) {
3928
3928
  if (e === null) {
@@ -3945,7 +3945,7 @@ function Wc(e, t, n, i, r) {
3945
3945
  else
3946
3946
  return t.lanes = e.lanes, _e(e, t, r);
3947
3947
  }
3948
- return Dl(e, t, n, i, r);
3948
+ return Jl(e, t, n, i, r);
3949
3949
  }
3950
3950
  function Lc(e, t, n) {
3951
3951
  var i = t.pendingProps, r = i.children, l = e !== null ? e.memoizedState : null;
@@ -3965,9 +3965,9 @@ function Xc(e, t) {
3965
3965
  var n = t.ref;
3966
3966
  (e === null && n !== null || e !== null && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152);
3967
3967
  }
3968
- function Dl(e, t, n, i, r) {
3968
+ function Jl(e, t, n, i, r) {
3969
3969
  var l = me(n) ? At : le.current;
3970
- return l = un(t, l), ln(t, r), n = Fo(e, t, n, i, l, r), i = zo(), e !== null && !ge ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~r, _e(e, t, r)) : (O && i && No(t), t.flags |= 1, se(e, t, n, r), t.child);
3970
+ return l = un(t, l), ln(t, r), n = Ho(e, t, n, i, l, r), i = zo(), e !== null && !ge ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~r, _e(e, t, r)) : (O && i && No(t), t.flags |= 1, se(e, t, n, r), t.child);
3971
3971
  }
3972
3972
  function lu(e, t, n, i, r) {
3973
3973
  if (me(n)) {
@@ -3976,7 +3976,7 @@ function lu(e, t, n, i, r) {
3976
3976
  } else
3977
3977
  l = !1;
3978
3978
  if (ln(t, r), t.stateNode === null)
3979
- ji(e, t), qa(t, n, i), xl(t, n, i, r), i = !0;
3979
+ Fi(e, t), qa(t, n, i), xl(t, n, i, r), i = !0;
3980
3980
  else if (e === null) {
3981
3981
  var o = t.stateNode, s = t.memoizedProps;
3982
3982
  o.props = s;
@@ -3987,38 +3987,38 @@ function lu(e, t, n, i, r) {
3987
3987
  var c = t.memoizedState;
3988
3988
  o.state = c, lr(t, i, o, r), u = t.memoizedState, s !== i || c !== u || pe.current || nt ? (typeof g == "function" && (zl(t, n, g, i), u = t.memoizedState), (s = nt || Us(t, n, s, i, c, u, a)) ? (m || typeof o.UNSAFE_componentWillMount != "function" && typeof o.componentWillMount != "function" || (typeof o.componentWillMount == "function" && o.componentWillMount(), typeof o.UNSAFE_componentWillMount == "function" && o.UNSAFE_componentWillMount()), typeof o.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof o.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = i, t.memoizedState = u), o.props = i, o.state = u, o.context = a, i = s) : (typeof o.componentDidMount == "function" && (t.flags |= 4194308), i = !1);
3989
3989
  } else {
3990
- o = t.stateNode, _a(e, t), s = t.memoizedProps, a = t.type === t.elementType ? s : Se(t.type, s), o.props = a, m = t.pendingProps, c = o.context, u = n.contextType, typeof u == "object" && u !== null ? u = Ge(u) : (u = me(n) ? At : le.current, u = un(t, u));
3990
+ o = t.stateNode, _a(e, t), s = t.memoizedProps, a = t.type === t.elementType ? s : ke(t.type, s), o.props = a, m = t.pendingProps, c = o.context, u = n.contextType, typeof u == "object" && u !== null ? u = Ge(u) : (u = me(n) ? At : le.current, u = un(t, u));
3991
3991
  var I = n.getDerivedStateFromProps;
3992
3992
  (g = typeof I == "function" || typeof o.getSnapshotBeforeUpdate == "function") || typeof o.UNSAFE_componentWillReceiveProps != "function" && typeof o.componentWillReceiveProps != "function" || (s !== m || c !== u) && Ps(t, o, i, u), nt = !1, c = t.memoizedState, o.state = c, lr(t, i, o, r);
3993
3993
  var C = t.memoizedState;
3994
3994
  s !== m || c !== C || pe.current || nt ? (typeof I == "function" && (zl(t, n, I, i), C = t.memoizedState), (a = nt || Us(t, n, a, i, c, C, u) || !1) ? (g || typeof o.UNSAFE_componentWillUpdate != "function" && typeof o.componentWillUpdate != "function" || (typeof o.componentWillUpdate == "function" && o.componentWillUpdate(i, C, u), typeof o.UNSAFE_componentWillUpdate == "function" && o.UNSAFE_componentWillUpdate(i, C, u)), typeof o.componentDidUpdate == "function" && (t.flags |= 4), typeof o.getSnapshotBeforeUpdate == "function" && (t.flags |= 1024)) : (typeof o.componentDidUpdate != "function" || s === e.memoizedProps && c === e.memoizedState || (t.flags |= 4), typeof o.getSnapshotBeforeUpdate != "function" || s === e.memoizedProps && c === e.memoizedState || (t.flags |= 1024), t.memoizedProps = i, t.memoizedState = C), o.props = i, o.state = C, o.context = u, i = a) : (typeof o.componentDidUpdate != "function" || s === e.memoizedProps && c === e.memoizedState || (t.flags |= 4), typeof o.getSnapshotBeforeUpdate != "function" || s === e.memoizedProps && c === e.memoizedState || (t.flags |= 1024), i = !1);
3995
3995
  }
3996
- return Jl(e, t, n, i, l, r);
3996
+ return Tl(e, t, n, i, l, r);
3997
3997
  }
3998
- function Jl(e, t, n, i, r, l) {
3998
+ function Tl(e, t, n, i, r, l) {
3999
3999
  Xc(e, t);
4000
4000
  var o = (t.flags & 128) !== 0;
4001
4001
  if (!i && !o)
4002
- return r && Ts(t, n, !1), _e(e, t, l);
4003
- i = t.stateNode, Kp.current = t;
4002
+ return r && Ds(t, n, !1), _e(e, t, l);
4003
+ i = t.stateNode, Vp.current = t;
4004
4004
  var s = o && typeof n.getDerivedStateFromError != "function" ? null : i.render();
4005
- return t.flags |= 1, e !== null && o ? (t.child = cn(t, e.child, null, l), t.child = cn(t, null, s, l)) : se(e, t, s, l), t.memoizedState = i.state, r && Ts(t, n, !0), t.child;
4005
+ return t.flags |= 1, e !== null && o ? (t.child = cn(t, e.child, null, l), t.child = cn(t, null, s, l)) : se(e, t, s, l), t.memoizedState = i.state, r && Ds(t, n, !0), t.child;
4006
4006
  }
4007
4007
  function Gc(e) {
4008
4008
  var t = e.stateNode;
4009
4009
  t.pendingContext ? xs(e, t.pendingContext, t.pendingContext !== t.context) : t.context && xs(e, t.context, !1), Oo(e, t.containerInfo);
4010
4010
  }
4011
4011
  function ou(e, t, n, i, r) {
4012
- return an(), So(r), t.flags |= 256, se(e, t, n, i), t.child;
4012
+ return an(), ko(r), t.flags |= 256, se(e, t, n, i), t.child;
4013
4013
  }
4014
4014
  var Ql = { dehydrated: null, treeContext: null, retryLane: 0 };
4015
4015
  function El(e) {
4016
4016
  return { baseLanes: e, cachePool: null, transitions: null };
4017
4017
  }
4018
4018
  function Yc(e, t, n) {
4019
- var i = t.pendingProps, r = H.current, l = !1, o = (t.flags & 128) !== 0, s;
4020
- if ((s = o) || (s = e !== null && e.memoizedState === null ? !1 : (r & 2) !== 0), s ? (l = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (r |= 1), R(H, r & 1), e === null)
4021
- return jl(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (o = i.children, e = i.fallback, l ? (i = t.mode, l = t.child, o = { mode: "hidden", children: o }, !(i & 1) && l !== null ? (l.childLanes = 0, l.pendingProps = o) : l = Ar(o, i, 0, null), e = Nt(e, i, n, null), l.return = t, e.return = t, l.sibling = e, t.child = l, t.child.memoizedState = El(n), t.memoizedState = Ql, e) : Do(t, o));
4019
+ var i = t.pendingProps, r = j.current, l = !1, o = (t.flags & 128) !== 0, s;
4020
+ if ((s = o) || (s = e !== null && e.memoizedState === null ? !1 : (r & 2) !== 0), s ? (l = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (r |= 1), R(j, r & 1), e === null)
4021
+ return Fl(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (o = i.children, e = i.fallback, l ? (i = t.mode, l = t.child, o = { mode: "hidden", children: o }, !(i & 1) && l !== null ? (l.childLanes = 0, l.pendingProps = o) : l = Ar(o, i, 0, null), e = Nt(e, i, n, null), l.return = t, e.return = t, l.sibling = e, t.child = l, t.child.memoizedState = El(n), t.memoizedState = Ql, e) : Jo(t, o));
4022
4022
  if (r = e.memoizedState, r !== null && (s = r.dehydrated, s !== null))
4023
4023
  return Op(e, t, o, i, s, r, n);
4024
4024
  if (l) {
@@ -4028,11 +4028,11 @@ function Yc(e, t, n) {
4028
4028
  }
4029
4029
  return l = e.child, e = l.sibling, i = mt(l, { mode: "visible", children: i.children }), !(t.mode & 1) && (i.lanes = n), i.return = t, i.sibling = null, e !== null && (n = t.deletions, n === null ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = i, t.memoizedState = null, i;
4030
4030
  }
4031
- function Do(e, t) {
4031
+ function Jo(e, t) {
4032
4032
  return t = Ar({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
4033
4033
  }
4034
4034
  function Gi(e, t, n, i) {
4035
- return i !== null && So(i), cn(t, e.child, null, n), e = Do(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4035
+ return i !== null && ko(i), cn(t, e.child, null, n), e = Jo(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4036
4036
  }
4037
4037
  function Op(e, t, n, i, r, l, o) {
4038
4038
  if (n)
@@ -4082,16 +4082,16 @@ function Op(e, t, n, i, r, l, o) {
4082
4082
  default:
4083
4083
  r = 0;
4084
4084
  }
4085
- r = r & (i.suspendedLanes | o) ? 0 : r, r !== 0 && r !== l.retryLane && (l.retryLane = r, Pe(e, r), Ve(i, e, r, -1));
4085
+ r = r & (i.suspendedLanes | o) ? 0 : r, r !== 0 && r !== l.retryLane && (l.retryLane = r, Pe(e, r), Ke(i, e, r, -1));
4086
4086
  }
4087
4087
  return _o(), i = ll(Error(b(421))), Gi(e, t, o, i);
4088
4088
  }
4089
- return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Pp.bind(null, e), r._reactRetry = t, null) : (e = l.treeContext, Ce = ct(r.nextSibling), Ie = t, O = !0, Be = null, e !== null && (we[We++] = De, we[We++] = Je, we[We++] = St, De = e.id, Je = e.overflow, St = t), t = Do(t, i.children), t.flags |= 4096, t);
4089
+ return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Pp.bind(null, e), r._reactRetry = t, null) : (e = l.treeContext, Ce = ct(r.nextSibling), Ie = t, O = !0, Be = null, e !== null && (ve[We++] = Je, ve[We++] = Te, ve[We++] = kt, Je = e.id, Te = e.overflow, kt = t), t = Jo(t, i.children), t.flags |= 4096, t);
4090
4090
  }
4091
4091
  function su(e, t, n) {
4092
4092
  e.lanes |= t;
4093
4093
  var i = e.alternate;
4094
- i !== null && (i.lanes |= t), Fl(e.return, t, n);
4094
+ i !== null && (i.lanes |= t), Hl(e.return, t, n);
4095
4095
  }
4096
4096
  function ol(e, t, n, i, r) {
4097
4097
  var l = e.memoizedState;
@@ -4099,7 +4099,7 @@ function ol(e, t, n, i, r) {
4099
4099
  }
4100
4100
  function Nc(e, t, n) {
4101
4101
  var i = t.pendingProps, r = i.revealOrder, l = i.tail;
4102
- if (se(e, t, i.children, n), i = H.current, i & 2)
4102
+ if (se(e, t, i.children, n), i = j.current, i & 2)
4103
4103
  i = i & 1 | 2, t.flags |= 128;
4104
4104
  else {
4105
4105
  if (e !== null && e.flags & 128)
@@ -4124,7 +4124,7 @@ function Nc(e, t, n) {
4124
4124
  }
4125
4125
  i &= 1;
4126
4126
  }
4127
- if (R(H, i), !(t.mode & 1))
4127
+ if (R(j, i), !(t.mode & 1))
4128
4128
  t.memoizedState = null;
4129
4129
  else
4130
4130
  switch (r) {
@@ -4151,7 +4151,7 @@ function Nc(e, t, n) {
4151
4151
  }
4152
4152
  return t.child;
4153
4153
  }
4154
- function ji(e, t) {
4154
+ function Fi(e, t) {
4155
4155
  !(t.mode & 1) && e !== null && (e.alternate = null, t.alternate = null, t.flags |= 2);
4156
4156
  }
4157
4157
  function _e(e, t, n) {
@@ -4186,8 +4186,8 @@ function Mp(e, t, n) {
4186
4186
  break;
4187
4187
  case 13:
4188
4188
  if (i = t.memoizedState, i !== null)
4189
- return i.dehydrated !== null ? (R(H, H.current & 1), t.flags |= 128, null) : n & t.child.childLanes ? Yc(e, t, n) : (R(H, H.current & 1), e = _e(e, t, n), e !== null ? e.sibling : null);
4190
- R(H, H.current & 1);
4189
+ return i.dehydrated !== null ? (R(j, j.current & 1), t.flags |= 128, null) : n & t.child.childLanes ? Yc(e, t, n) : (R(j, j.current & 1), e = _e(e, t, n), e !== null ? e.sibling : null);
4190
+ R(j, j.current & 1);
4191
4191
  break;
4192
4192
  case 19:
4193
4193
  if (i = (n & t.childLanes) !== 0, e.flags & 128) {
@@ -4195,7 +4195,7 @@ function Mp(e, t, n) {
4195
4195
  return Nc(e, t, n);
4196
4196
  t.flags |= 128;
4197
4197
  }
4198
- if (r = t.memoizedState, r !== null && (r.rendering = null, r.tail = null, r.lastEffect = null), R(H, H.current), i)
4198
+ if (r = t.memoizedState, r !== null && (r.rendering = null, r.tail = null, r.lastEffect = null), R(j, j.current), i)
4199
4199
  break;
4200
4200
  return null;
4201
4201
  case 22:
@@ -4204,7 +4204,7 @@ function Mp(e, t, n) {
4204
4204
  }
4205
4205
  return _e(e, t, n);
4206
4206
  }
4207
- var Ac, Ul, Sc, kc;
4207
+ var Ac, Ul, kc, Sc;
4208
4208
  Ac = function(e, t) {
4209
4209
  for (var n = t.child; n !== null; ) {
4210
4210
  if (n.tag === 5 || n.tag === 6)
@@ -4225,7 +4225,7 @@ Ac = function(e, t) {
4225
4225
  };
4226
4226
  Ul = function() {
4227
4227
  };
4228
- Sc = function(e, t, n, i) {
4228
+ kc = function(e, t, n, i) {
4229
4229
  var r = e.memoizedProps;
4230
4230
  if (r !== i) {
4231
4231
  e = t.stateNode, Gt(ze.current);
@@ -4235,7 +4235,7 @@ Sc = function(e, t, n, i) {
4235
4235
  r = Cl(e, r), i = Cl(e, i), l = [];
4236
4236
  break;
4237
4237
  case "select":
4238
- r = F({}, r, { value: void 0 }), i = F({}, i, { value: void 0 }), l = [];
4238
+ r = H({}, r, { value: void 0 }), i = H({}, i, { value: void 0 }), l = [];
4239
4239
  break;
4240
4240
  case "textarea":
4241
4241
  r = bl(e, r), i = bl(e, i), l = [];
@@ -4243,7 +4243,7 @@ Sc = function(e, t, n, i) {
4243
4243
  default:
4244
4244
  typeof r.onClick != "function" && typeof i.onClick == "function" && (e.onclick = $i);
4245
4245
  }
4246
- vl(n, i);
4246
+ wl(n, i);
4247
4247
  var o;
4248
4248
  n = null;
4249
4249
  for (a in r)
@@ -4269,17 +4269,17 @@ Sc = function(e, t, n, i) {
4269
4269
  n
4270
4270
  )), n = u;
4271
4271
  else
4272
- a === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, s = s ? s.__html : void 0, u != null && s !== u && (l = l || []).push(a, u)) : a === "children" ? typeof u != "string" && typeof u != "number" || (l = l || []).push(a, "" + u) : a !== "suppressContentEditableWarning" && a !== "suppressHydrationWarning" && (zn.hasOwnProperty(a) ? (u != null && a === "onScroll" && V("scroll", e), l || s === u || (l = [])) : (l = l || []).push(a, u));
4272
+ a === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, s = s ? s.__html : void 0, u != null && s !== u && (l = l || []).push(a, u)) : a === "children" ? typeof u != "string" && typeof u != "number" || (l = l || []).push(a, "" + u) : a !== "suppressContentEditableWarning" && a !== "suppressHydrationWarning" && (zn.hasOwnProperty(a) ? (u != null && a === "onScroll" && K("scroll", e), l || s === u || (l = [])) : (l = l || []).push(a, u));
4273
4273
  }
4274
4274
  n && (l = l || []).push("style", n);
4275
4275
  var a = l;
4276
4276
  (t.updateQueue = a) && (t.flags |= 4);
4277
4277
  }
4278
4278
  };
4279
- kc = function(e, t, n, i) {
4279
+ Sc = function(e, t, n, i) {
4280
4280
  n !== i && (t.flags |= 4);
4281
4281
  };
4282
- function wn(e, t) {
4282
+ function vn(e, t) {
4283
4283
  if (!O)
4284
4284
  switch (e.tailMode) {
4285
4285
  case "hidden":
@@ -4305,7 +4305,7 @@ function ie(e) {
4305
4305
  n |= r.lanes | r.childLanes, i |= r.subtreeFlags, i |= r.flags, r.return = e, r = r.sibling;
4306
4306
  return e.subtreeFlags |= i, e.childLanes = n, t;
4307
4307
  }
4308
- function Hp(e, t, n) {
4308
+ function jp(e, t, n) {
4309
4309
  var i = t.pendingProps;
4310
4310
  switch (Ao(t), t.tag) {
4311
4311
  case 2:
@@ -4322,12 +4322,12 @@ function Hp(e, t, n) {
4322
4322
  case 1:
4323
4323
  return me(t.type) && qi(), ie(t), null;
4324
4324
  case 3:
4325
- return i = t.stateNode, dn(), K(pe), K(le), Ho(), i.pendingContext && (i.context = i.pendingContext, i.pendingContext = null), (e === null || e.child === null) && (Li(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, Be !== null && (io(Be), Be = null))), Ul(e, t), ie(t), null;
4325
+ return i = t.stateNode, dn(), V(pe), V(le), jo(), i.pendingContext && (i.context = i.pendingContext, i.pendingContext = null), (e === null || e.child === null) && (Li(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, Be !== null && (io(Be), Be = null))), Ul(e, t), ie(t), null;
4326
4326
  case 5:
4327
4327
  Mo(t);
4328
4328
  var r = Gt(ei.current);
4329
4329
  if (n = t.type, e !== null && t.stateNode != null)
4330
- Sc(e, t, n, i, r), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152);
4330
+ kc(e, t, n, i, r), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152);
4331
4331
  else {
4332
4332
  if (!i) {
4333
4333
  if (t.stateNode === null)
@@ -4337,44 +4337,44 @@ function Hp(e, t, n) {
4337
4337
  if (e = Gt(ze.current), Li(t)) {
4338
4338
  i = t.stateNode, n = t.type;
4339
4339
  var l = t.memoizedProps;
4340
- switch (i[He] = t, i[$n] = l, e = (t.mode & 1) !== 0, n) {
4340
+ switch (i[je] = t, i[$n] = l, e = (t.mode & 1) !== 0, n) {
4341
4341
  case "dialog":
4342
- V("cancel", i), V("close", i);
4342
+ K("cancel", i), K("close", i);
4343
4343
  break;
4344
4344
  case "iframe":
4345
4345
  case "object":
4346
4346
  case "embed":
4347
- V("load", i);
4347
+ K("load", i);
4348
4348
  break;
4349
4349
  case "video":
4350
4350
  case "audio":
4351
- for (r = 0; r < Sn.length; r++)
4352
- V(Sn[r], i);
4351
+ for (r = 0; r < kn.length; r++)
4352
+ K(kn[r], i);
4353
4353
  break;
4354
4354
  case "source":
4355
- V("error", i);
4355
+ K("error", i);
4356
4356
  break;
4357
4357
  case "img":
4358
4358
  case "image":
4359
4359
  case "link":
4360
- V(
4360
+ K(
4361
4361
  "error",
4362
4362
  i
4363
- ), V("load", i);
4363
+ ), K("load", i);
4364
4364
  break;
4365
4365
  case "details":
4366
- V("toggle", i);
4366
+ K("toggle", i);
4367
4367
  break;
4368
4368
  case "input":
4369
- hs(i, l), V("invalid", i);
4369
+ hs(i, l), K("invalid", i);
4370
4370
  break;
4371
4371
  case "select":
4372
- i._wrapperState = { wasMultiple: !!l.multiple }, V("invalid", i);
4372
+ i._wrapperState = { wasMultiple: !!l.multiple }, K("invalid", i);
4373
4373
  break;
4374
4374
  case "textarea":
4375
- Is(i, l), V("invalid", i);
4375
+ Is(i, l), K("invalid", i);
4376
4376
  }
4377
- vl(n, l), r = null;
4377
+ wl(n, l), r = null;
4378
4378
  for (var o in l)
4379
4379
  if (l.hasOwnProperty(o)) {
4380
4380
  var s = l[o];
@@ -4382,7 +4382,7 @@ function Hp(e, t, n) {
4382
4382
  i.textContent,
4383
4383
  s,
4384
4384
  e
4385
- ), r = ["children", "" + s]) : zn.hasOwnProperty(o) && s != null && o === "onScroll" && V("scroll", i);
4385
+ ), r = ["children", "" + s]) : zn.hasOwnProperty(o) && s != null && o === "onScroll" && K("scroll", i);
4386
4386
  }
4387
4387
  switch (n) {
4388
4388
  case "input":
@@ -4399,57 +4399,57 @@ function Hp(e, t, n) {
4399
4399
  }
4400
4400
  i = r, t.updateQueue = i, i !== null && (t.flags |= 4);
4401
4401
  } else {
4402
- o = r.nodeType === 9 ? r : r.ownerDocument, e === "http://www.w3.org/1999/xhtml" && (e = la(n)), e === "http://www.w3.org/1999/xhtml" ? n === "script" ? (e = o.createElement("div"), e.innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : typeof i.is == "string" ? e = o.createElement(n, { is: i.is }) : (e = o.createElement(n), n === "select" && (o = e, i.multiple ? o.multiple = !0 : i.size && (o.size = i.size))) : e = o.createElementNS(e, n), e[He] = t, e[$n] = i, Ac(e, t, !1, !1), t.stateNode = e;
4402
+ o = r.nodeType === 9 ? r : r.ownerDocument, e === "http://www.w3.org/1999/xhtml" && (e = la(n)), e === "http://www.w3.org/1999/xhtml" ? n === "script" ? (e = o.createElement("div"), e.innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : typeof i.is == "string" ? e = o.createElement(n, { is: i.is }) : (e = o.createElement(n), n === "select" && (o = e, i.multiple ? o.multiple = !0 : i.size && (o.size = i.size))) : e = o.createElementNS(e, n), e[je] = t, e[$n] = i, Ac(e, t, !1, !1), t.stateNode = e;
4403
4403
  e: {
4404
- switch (o = wl(n, i), n) {
4404
+ switch (o = vl(n, i), n) {
4405
4405
  case "dialog":
4406
- V("cancel", e), V("close", e), r = i;
4406
+ K("cancel", e), K("close", e), r = i;
4407
4407
  break;
4408
4408
  case "iframe":
4409
4409
  case "object":
4410
4410
  case "embed":
4411
- V("load", e), r = i;
4411
+ K("load", e), r = i;
4412
4412
  break;
4413
4413
  case "video":
4414
4414
  case "audio":
4415
- for (r = 0; r < Sn.length; r++)
4416
- V(Sn[r], e);
4415
+ for (r = 0; r < kn.length; r++)
4416
+ K(kn[r], e);
4417
4417
  r = i;
4418
4418
  break;
4419
4419
  case "source":
4420
- V("error", e), r = i;
4420
+ K("error", e), r = i;
4421
4421
  break;
4422
4422
  case "img":
4423
4423
  case "image":
4424
4424
  case "link":
4425
- V(
4425
+ K(
4426
4426
  "error",
4427
4427
  e
4428
- ), V("load", e), r = i;
4428
+ ), K("load", e), r = i;
4429
4429
  break;
4430
4430
  case "details":
4431
- V("toggle", e), r = i;
4431
+ K("toggle", e), r = i;
4432
4432
  break;
4433
4433
  case "input":
4434
- hs(e, i), r = Cl(e, i), V("invalid", e);
4434
+ hs(e, i), r = Cl(e, i), K("invalid", e);
4435
4435
  break;
4436
4436
  case "option":
4437
4437
  r = i;
4438
4438
  break;
4439
4439
  case "select":
4440
- e._wrapperState = { wasMultiple: !!i.multiple }, r = F({}, i, { value: void 0 }), V("invalid", e);
4440
+ e._wrapperState = { wasMultiple: !!i.multiple }, r = H({}, i, { value: void 0 }), K("invalid", e);
4441
4441
  break;
4442
4442
  case "textarea":
4443
- Is(e, i), r = bl(e, i), V("invalid", e);
4443
+ Is(e, i), r = bl(e, i), K("invalid", e);
4444
4444
  break;
4445
4445
  default:
4446
4446
  r = i;
4447
4447
  }
4448
- vl(n, r), s = r;
4448
+ wl(n, r), s = r;
4449
4449
  for (l in s)
4450
4450
  if (s.hasOwnProperty(l)) {
4451
4451
  var u = s[l];
4452
- l === "style" ? ua(e, u) : l === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && oa(e, u)) : l === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && xn(e, u) : typeof u == "number" && xn(e, "" + u) : l !== "suppressContentEditableWarning" && l !== "suppressHydrationWarning" && l !== "autoFocus" && (zn.hasOwnProperty(l) ? u != null && l === "onScroll" && V("scroll", e) : u != null && fo(e, l, u, o));
4452
+ l === "style" ? ua(e, u) : l === "dangerouslySetInnerHTML" ? (u = u ? u.__html : void 0, u != null && oa(e, u)) : l === "children" ? typeof u == "string" ? (n !== "textarea" || u !== "") && xn(e, u) : typeof u == "number" && xn(e, "" + u) : l !== "suppressContentEditableWarning" && l !== "suppressHydrationWarning" && l !== "autoFocus" && (zn.hasOwnProperty(l) ? u != null && l === "onScroll" && K("scroll", e) : u != null && fo(e, l, u, o));
4453
4453
  }
4454
4454
  switch (n) {
4455
4455
  case "input":
@@ -4493,12 +4493,12 @@ function Hp(e, t, n) {
4493
4493
  return ie(t), null;
4494
4494
  case 6:
4495
4495
  if (e && t.stateNode != null)
4496
- kc(e, t, e.memoizedProps, i);
4496
+ Sc(e, t, e.memoizedProps, i);
4497
4497
  else {
4498
4498
  if (typeof i != "string" && t.stateNode === null)
4499
4499
  throw Error(b(166));
4500
4500
  if (n = Gt(ei.current), Gt(ze.current), Li(t)) {
4501
- if (i = t.stateNode, n = t.memoizedProps, i[He] = t, (l = i.nodeValue !== n) && (e = Ie, e !== null))
4501
+ if (i = t.stateNode, n = t.memoizedProps, i[je] = t, (l = i.nodeValue !== n) && (e = Ie, e !== null))
4502
4502
  switch (e.tag) {
4503
4503
  case 3:
4504
4504
  Wi(i.nodeValue, n, (e.mode & 1) !== 0);
@@ -4508,11 +4508,11 @@ function Hp(e, t, n) {
4508
4508
  }
4509
4509
  l && (t.flags |= 4);
4510
4510
  } else
4511
- i = (n.nodeType === 9 ? n : n.ownerDocument).createTextNode(i), i[He] = t, t.stateNode = i;
4511
+ i = (n.nodeType === 9 ? n : n.ownerDocument).createTextNode(i), i[je] = t, t.stateNode = i;
4512
4512
  }
4513
4513
  return ie(t), null;
4514
4514
  case 13:
4515
- if (K(H), i = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
4515
+ if (V(j), i = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
4516
4516
  if (O && Ce !== null && t.mode & 1 && !(t.flags & 128))
4517
4517
  Ua(), an(), t.flags |= 98560, l = !1;
4518
4518
  else if (l = Li(t), i !== null && i.dehydrated !== null) {
@@ -4521,7 +4521,7 @@ function Hp(e, t, n) {
4521
4521
  throw Error(b(318));
4522
4522
  if (l = t.memoizedState, l = l !== null ? l.dehydrated : null, !l)
4523
4523
  throw Error(b(317));
4524
- l[He] = t;
4524
+ l[je] = t;
4525
4525
  } else
4526
4526
  an(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
4527
4527
  ie(t), l = !1;
@@ -4530,7 +4530,7 @@ function Hp(e, t, n) {
4530
4530
  if (!l)
4531
4531
  return t.flags & 65536 ? t : null;
4532
4532
  }
4533
- return t.flags & 128 ? (t.lanes = n, t) : (i = i !== null, i !== (e !== null && e.memoizedState !== null) && i && (t.child.flags |= 8192, t.mode & 1 && (e === null || H.current & 1 ? E === 0 && (E = 3) : _o())), t.updateQueue !== null && (t.flags |= 4), ie(t), null);
4533
+ return t.flags & 128 ? (t.lanes = n, t) : (i = i !== null, i !== (e !== null && e.memoizedState !== null) && i && (t.child.flags |= 8192, t.mode & 1 && (e === null || j.current & 1 ? E === 0 && (E = 3) : _o())), t.updateQueue !== null && (t.flags |= 4), ie(t), null);
4534
4534
  case 4:
4535
4535
  return dn(), Ul(e, t), e === null && Pn(t.stateNode.containerInfo), ie(t), null;
4536
4536
  case 10:
@@ -4538,33 +4538,33 @@ function Hp(e, t, n) {
4538
4538
  case 17:
4539
4539
  return me(t.type) && qi(), ie(t), null;
4540
4540
  case 19:
4541
- if (K(H), l = t.memoizedState, l === null)
4541
+ if (V(j), l = t.memoizedState, l === null)
4542
4542
  return ie(t), null;
4543
4543
  if (i = (t.flags & 128) !== 0, o = l.rendering, o === null)
4544
4544
  if (i)
4545
- wn(l, !1);
4545
+ vn(l, !1);
4546
4546
  else {
4547
4547
  if (E !== 0 || e !== null && e.flags & 128)
4548
4548
  for (e = t.child; e !== null; ) {
4549
4549
  if (o = or(e), o !== null) {
4550
- for (t.flags |= 128, wn(l, !1), i = o.updateQueue, i !== null && (t.updateQueue = i, t.flags |= 4), t.subtreeFlags = 0, i = n, n = t.child; n !== null; )
4550
+ for (t.flags |= 128, vn(l, !1), i = o.updateQueue, i !== null && (t.updateQueue = i, t.flags |= 4), t.subtreeFlags = 0, i = n, n = t.child; n !== null; )
4551
4551
  l = n, e = i, l.flags &= 14680066, o = l.alternate, o === null ? (l.childLanes = 0, l.lanes = e, l.child = null, l.subtreeFlags = 0, l.memoizedProps = null, l.memoizedState = null, l.updateQueue = null, l.dependencies = null, l.stateNode = null) : (l.childLanes = o.childLanes, l.lanes = o.lanes, l.child = o.child, l.subtreeFlags = 0, l.deletions = null, l.memoizedProps = o.memoizedProps, l.memoizedState = o.memoizedState, l.updateQueue = o.updateQueue, l.type = o.type, e = o.dependencies, l.dependencies = e === null ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling;
4552
- return R(H, H.current & 1 | 2), t.child;
4552
+ return R(j, j.current & 1 | 2), t.child;
4553
4553
  }
4554
4554
  e = e.sibling;
4555
4555
  }
4556
- l.tail !== null && D() > pn && (t.flags |= 128, i = !0, wn(l, !1), t.lanes = 4194304);
4556
+ l.tail !== null && J() > pn && (t.flags |= 128, i = !0, vn(l, !1), t.lanes = 4194304);
4557
4557
  }
4558
4558
  else {
4559
4559
  if (!i)
4560
4560
  if (e = or(o), e !== null) {
4561
- if (t.flags |= 128, i = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), wn(l, !0), l.tail === null && l.tailMode === "hidden" && !o.alternate && !O)
4561
+ if (t.flags |= 128, i = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), vn(l, !0), l.tail === null && l.tailMode === "hidden" && !o.alternate && !O)
4562
4562
  return ie(t), null;
4563
4563
  } else
4564
- 2 * D() - l.renderingStartTime > pn && n !== 1073741824 && (t.flags |= 128, i = !0, wn(l, !1), t.lanes = 4194304);
4564
+ 2 * J() - l.renderingStartTime > pn && n !== 1073741824 && (t.flags |= 128, i = !0, vn(l, !1), t.lanes = 4194304);
4565
4565
  l.isBackwards ? (o.sibling = t.child, t.child = o) : (n = l.last, n !== null ? n.sibling = o : t.child = o, l.last = o);
4566
4566
  }
4567
- return l.tail !== null ? (t = l.tail, l.rendering = t, l.tail = t.sibling, l.renderingStartTime = D(), t.sibling = null, n = H.current, R(H, i ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4567
+ return l.tail !== null ? (t = l.tail, l.rendering = t, l.tail = t.sibling, l.renderingStartTime = J(), t.sibling = null, n = j.current, R(j, i ? n & 1 | 2 : n & 1), t) : (ie(t), null);
4568
4568
  case 22:
4569
4569
  case 23:
4570
4570
  return Po(), i = t.memoizedState !== null, e !== null && e.memoizedState !== null !== i && (t.flags |= 8192), i && t.mode & 1 ? he & 1073741824 && (ie(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : ie(t), null;
@@ -4575,23 +4575,23 @@ function Hp(e, t, n) {
4575
4575
  }
4576
4576
  throw Error(b(156, t.tag));
4577
4577
  }
4578
- function jp(e, t) {
4578
+ function Fp(e, t) {
4579
4579
  switch (Ao(t), t.tag) {
4580
4580
  case 1:
4581
4581
  return me(t.type) && qi(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
4582
4582
  case 3:
4583
- return dn(), K(pe), K(le), Ho(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
4583
+ return dn(), V(pe), V(le), jo(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
4584
4584
  case 5:
4585
4585
  return Mo(t), null;
4586
4586
  case 13:
4587
- if (K(H), e = t.memoizedState, e !== null && e.dehydrated !== null) {
4587
+ if (V(j), e = t.memoizedState, e !== null && e.dehydrated !== null) {
4588
4588
  if (t.alternate === null)
4589
4589
  throw Error(b(340));
4590
4590
  an();
4591
4591
  }
4592
4592
  return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
4593
4593
  case 19:
4594
- return K(H), null;
4594
+ return V(j), null;
4595
4595
  case 4:
4596
4596
  return dn(), null;
4597
4597
  case 10:
@@ -4605,7 +4605,7 @@ function jp(e, t) {
4605
4605
  return null;
4606
4606
  }
4607
4607
  }
4608
- var Yi = !1, re = !1, Fp = typeof WeakSet == "function" ? WeakSet : Set, L = null;
4608
+ var Yi = !1, re = !1, Hp = typeof WeakSet == "function" ? WeakSet : Set, L = null;
4609
4609
  function $t(e, t) {
4610
4610
  var n = e.ref;
4611
4611
  if (n !== null)
@@ -4627,7 +4627,7 @@ function Pl(e, t, n) {
4627
4627
  }
4628
4628
  var uu = !1;
4629
4629
  function zp(e, t) {
4630
- if (Bl = Ui, e = Ka(), Yo(e)) {
4630
+ if (Bl = Ui, e = Va(), Yo(e)) {
4631
4631
  if ("selectionStart" in e)
4632
4632
  var n = { start: e.selectionStart, end: e.selectionEnd };
4633
4633
  else
@@ -4681,7 +4681,7 @@ function zp(e, t) {
4681
4681
  break;
4682
4682
  case 1:
4683
4683
  if (C !== null) {
4684
- var y = C.memoizedProps, G = C.memoizedState, p = t.stateNode, d = p.getSnapshotBeforeUpdate(t.elementType === t.type ? y : Se(t.type, y), G);
4684
+ var y = C.memoizedProps, G = C.memoizedState, p = t.stateNode, d = p.getSnapshotBeforeUpdate(t.elementType === t.type ? y : ke(t.type, y), G);
4685
4685
  p.__reactInternalSnapshotBeforeUpdate = d;
4686
4686
  }
4687
4687
  break;
@@ -4749,7 +4749,7 @@ function _l(e) {
4749
4749
  }
4750
4750
  function Bc(e) {
4751
4751
  var t = e.alternate;
4752
- t !== null && (e.alternate = null, Bc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[He], delete t[$n], delete t[Ol], delete t[Wp], delete t[Lp])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4752
+ t !== null && (e.alternate = null, Bc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[je], delete t[$n], delete t[Ol], delete t[Wp], delete t[Lp])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4753
4753
  }
4754
4754
  function Rc(e) {
4755
4755
  return e.tag === 5 || e.tag === 3 || e.tag === 4;
@@ -4787,29 +4787,29 @@ function ql(e, t, n) {
4787
4787
  for (ql(e, t, n), e = e.sibling; e !== null; )
4788
4788
  ql(e, t, n), e = e.sibling;
4789
4789
  }
4790
- var q = null, ke = !1;
4790
+ var q = null, Se = !1;
4791
4791
  function et(e, t, n) {
4792
4792
  for (n = n.child; n !== null; )
4793
- Vc(e, t, n), n = n.sibling;
4793
+ Kc(e, t, n), n = n.sibling;
4794
4794
  }
4795
- function Vc(e, t, n) {
4796
- if (Fe && typeof Fe.onCommitFiberUnmount == "function")
4795
+ function Kc(e, t, n) {
4796
+ if (He && typeof He.onCommitFiberUnmount == "function")
4797
4797
  try {
4798
- Fe.onCommitFiberUnmount(br, n);
4798
+ He.onCommitFiberUnmount(br, n);
4799
4799
  } catch {
4800
4800
  }
4801
4801
  switch (n.tag) {
4802
4802
  case 5:
4803
4803
  re || $t(n, t);
4804
4804
  case 6:
4805
- var i = q, r = ke;
4806
- q = null, et(e, t, n), q = i, ke = r, q !== null && (ke ? (e = q, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : q.removeChild(n.stateNode));
4805
+ var i = q, r = Se;
4806
+ q = null, et(e, t, n), q = i, Se = r, q !== null && (Se ? (e = q, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : q.removeChild(n.stateNode));
4807
4807
  break;
4808
4808
  case 18:
4809
- q !== null && (ke ? (e = q, n = n.stateNode, e.nodeType === 8 ? qr(e.parentNode, n) : e.nodeType === 1 && qr(e, n), Qn(e)) : qr(q, n.stateNode));
4809
+ q !== null && (Se ? (e = q, n = n.stateNode, e.nodeType === 8 ? qr(e.parentNode, n) : e.nodeType === 1 && qr(e, n), Qn(e)) : qr(q, n.stateNode));
4810
4810
  break;
4811
4811
  case 4:
4812
- i = q, r = ke, q = n.stateNode.containerInfo, ke = !0, et(e, t, n), q = i, ke = r;
4812
+ i = q, r = Se, q = n.stateNode.containerInfo, Se = !0, et(e, t, n), q = i, Se = r;
4813
4813
  break;
4814
4814
  case 0:
4815
4815
  case 11:
@@ -4848,7 +4848,7 @@ function cu(e) {
4848
4848
  if (t !== null) {
4849
4849
  e.updateQueue = null;
4850
4850
  var n = e.stateNode;
4851
- n === null && (n = e.stateNode = new Fp()), t.forEach(function(i) {
4851
+ n === null && (n = e.stateNode = new Hp()), t.forEach(function(i) {
4852
4852
  var r = _p.bind(null, e, i);
4853
4853
  n.has(i) || (n.add(i), i.then(r, r));
4854
4854
  });
@@ -4865,20 +4865,20 @@ function Ae(e, t) {
4865
4865
  for (; s !== null; ) {
4866
4866
  switch (s.tag) {
4867
4867
  case 5:
4868
- q = s.stateNode, ke = !1;
4868
+ q = s.stateNode, Se = !1;
4869
4869
  break e;
4870
4870
  case 3:
4871
- q = s.stateNode.containerInfo, ke = !0;
4871
+ q = s.stateNode.containerInfo, Se = !0;
4872
4872
  break e;
4873
4873
  case 4:
4874
- q = s.stateNode.containerInfo, ke = !0;
4874
+ q = s.stateNode.containerInfo, Se = !0;
4875
4875
  break e;
4876
4876
  }
4877
4877
  s = s.return;
4878
4878
  }
4879
4879
  if (q === null)
4880
4880
  throw Error(b(160));
4881
- Vc(l, o, r), q = null, ke = !1;
4881
+ Kc(l, o, r), q = null, Se = !1;
4882
4882
  var u = r.alternate;
4883
4883
  u !== null && (u.return = null), r.return = null;
4884
4884
  } catch (a) {
@@ -4887,9 +4887,9 @@ function Ae(e, t) {
4887
4887
  }
4888
4888
  if (t.subtreeFlags & 12854)
4889
4889
  for (t = t.child; t !== null; )
4890
- Kc(t, e), t = t.sibling;
4890
+ Vc(t, e), t = t.sibling;
4891
4891
  }
4892
- function Kc(e, t) {
4892
+ function Vc(e, t) {
4893
4893
  var n = e.alternate, i = e.flags;
4894
4894
  switch (e.tag) {
4895
4895
  case 0:
@@ -4925,8 +4925,8 @@ function Kc(e, t) {
4925
4925
  var l = e.memoizedProps, o = n !== null ? n.memoizedProps : l, s = e.type, u = e.updateQueue;
4926
4926
  if (e.updateQueue = null, u !== null)
4927
4927
  try {
4928
- s === "input" && l.type === "radio" && l.name != null && ia(r, l), wl(s, o);
4929
- var a = wl(s, l);
4928
+ s === "input" && l.type === "radio" && l.name != null && ia(r, l), vl(s, o);
4929
+ var a = vl(s, l);
4930
4930
  for (o = 0; o < u.length; o += 2) {
4931
4931
  var g = u[o], m = u[o + 1];
4932
4932
  g === "style" ? ua(r, m) : g === "dangerouslySetInnerHTML" ? oa(r, m) : g === "children" ? xn(r, m) : fo(r, g, m, a);
@@ -4979,7 +4979,7 @@ function Kc(e, t) {
4979
4979
  Ae(t, e), Oe(e);
4980
4980
  break;
4981
4981
  case 13:
4982
- Ae(t, e), Oe(e), r = e.child, r.flags & 8192 && (l = r.memoizedState !== null, r.stateNode.isHidden = l, !l || r.alternate !== null && r.alternate.memoizedState !== null || (Eo = D())), i & 4 && cu(e);
4982
+ Ae(t, e), Oe(e), r = e.child, r.flags & 8192 && (l = r.memoizedState !== null, r.stateNode.isHidden = l, !l || r.alternate !== null && r.alternate.memoizedState !== null || (Eo = J())), i & 4 && cu(e);
4983
4983
  break;
4984
4984
  case 22:
4985
4985
  if (g = n !== null && n.memoizedState !== null, e.mode & 1 ? (re = (a = re) || g, Ae(t, e), re = a) : Ae(t, e), Oe(e), i & 8192) {
@@ -5142,7 +5142,7 @@ function du(e) {
5142
5142
  if (n === null)
5143
5143
  i.componentDidMount();
5144
5144
  else {
5145
- var r = t.elementType === t.type ? n.memoizedProps : Se(t.type, n.memoizedProps);
5145
+ var r = t.elementType === t.type ? n.memoizedProps : ke(t.type, n.memoizedProps);
5146
5146
  i.componentDidUpdate(r, n.memoizedState, i.__reactInternalSnapshotBeforeUpdate);
5147
5147
  }
5148
5148
  var l = t.updateQueue;
@@ -5293,28 +5293,28 @@ function pu(e) {
5293
5293
  L = t.return;
5294
5294
  }
5295
5295
  }
5296
- var Tp = Math.ceil, ar = $e.ReactCurrentDispatcher, Jo = $e.ReactCurrentOwner, Xe = $e.ReactCurrentBatchConfig, k = 0, _ = null, J = null, ee = 0, he = 0, qt = It(0), E = 0, ri = null, Bt = 0, Nr = 0, Qo = 0, Hn = null, de = null, Eo = 0, pn = 1 / 0, xe = null, cr = !1, eo = null, gt = null, Ni = !1, ot = null, dr = 0, jn = 0, to = null, Fi = -1, zi = 0;
5296
+ var Dp = Math.ceil, ar = $e.ReactCurrentDispatcher, To = $e.ReactCurrentOwner, Xe = $e.ReactCurrentBatchConfig, S = 0, _ = null, T = null, ee = 0, he = 0, qt = It(0), E = 0, ri = null, Bt = 0, Nr = 0, Qo = 0, jn = null, de = null, Eo = 0, pn = 1 / 0, xe = null, cr = !1, eo = null, gt = null, Ni = !1, ot = null, dr = 0, Fn = 0, to = null, Hi = -1, zi = 0;
5297
5297
  function ue() {
5298
- return k & 6 ? D() : Fi !== -1 ? Fi : Fi = D();
5298
+ return S & 6 ? J() : Hi !== -1 ? Hi : Hi = J();
5299
5299
  }
5300
5300
  function pt(e) {
5301
- return e.mode & 1 ? k & 2 && ee !== 0 ? ee & -ee : Gp.transition !== null ? (zi === 0 && (zi = ba()), zi) : (e = B, e !== 0 || (e = window.event, e = e === void 0 ? 16 : Ga(e.type)), e) : 1;
5301
+ return e.mode & 1 ? S & 2 && ee !== 0 ? ee & -ee : Gp.transition !== null ? (zi === 0 && (zi = ba()), zi) : (e = B, e !== 0 || (e = window.event, e = e === void 0 ? 16 : Ga(e.type)), e) : 1;
5302
5302
  }
5303
- function Ve(e, t, n, i) {
5304
- if (50 < jn)
5305
- throw jn = 0, to = null, Error(b(185));
5306
- ui(e, n, i), (!(k & 2) || e !== _) && (e === _ && (!(k & 2) && (Nr |= n), E === 4 && rt(e, ee)), fe(e, i), n === 1 && k === 0 && !(t.mode & 1) && (pn = D() + 500, Lr && yt()));
5303
+ function Ke(e, t, n, i) {
5304
+ if (50 < Fn)
5305
+ throw Fn = 0, to = null, Error(b(185));
5306
+ ui(e, n, i), (!(S & 2) || e !== _) && (e === _ && (!(S & 2) && (Nr |= n), E === 4 && rt(e, ee)), fe(e, i), n === 1 && S === 0 && !(t.mode & 1) && (pn = J() + 500, Lr && yt()));
5307
5307
  }
5308
5308
  function fe(e, t) {
5309
5309
  var n = e.callbackNode;
5310
5310
  Gg(e, t);
5311
5311
  var i = Ei(e, e === _ ? ee : 0);
5312
5312
  if (i === 0)
5313
- n !== null && vs(n), e.callbackNode = null, e.callbackPriority = 0;
5313
+ n !== null && ws(n), e.callbackNode = null, e.callbackPriority = 0;
5314
5314
  else if (t = i & -i, e.callbackPriority !== t) {
5315
- if (n != null && vs(n), t === 1)
5316
- e.tag === 0 ? Xp(mu.bind(null, e)) : Ja(mu.bind(null, e)), vp(function() {
5317
- !(k & 6) && yt();
5315
+ if (n != null && ws(n), t === 1)
5316
+ e.tag === 0 ? Xp(mu.bind(null, e)) : Ta(mu.bind(null, e)), wp(function() {
5317
+ !(S & 6) && yt();
5318
5318
  }), n = null;
5319
5319
  else {
5320
5320
  switch (Za(i)) {
@@ -5333,13 +5333,13 @@ function fe(e, t) {
5333
5333
  default:
5334
5334
  n = Qi;
5335
5335
  }
5336
- n = Dc(n, Mc.bind(null, e));
5336
+ n = Jc(n, Mc.bind(null, e));
5337
5337
  }
5338
5338
  e.callbackPriority = t, e.callbackNode = n;
5339
5339
  }
5340
5340
  }
5341
5341
  function Mc(e, t) {
5342
- if (Fi = -1, zi = 0, k & 6)
5342
+ if (Hi = -1, zi = 0, S & 6)
5343
5343
  throw Error(b(327));
5344
5344
  var n = e.callbackNode;
5345
5345
  if (on() && e.callbackNode !== n)
@@ -5351,28 +5351,28 @@ function Mc(e, t) {
5351
5351
  t = gr(e, i);
5352
5352
  else {
5353
5353
  t = i;
5354
- var r = k;
5355
- k |= 2;
5356
- var l = jc();
5357
- (_ !== e || ee !== t) && (xe = null, pn = D() + 500, Yt(e, t));
5354
+ var r = S;
5355
+ S |= 2;
5356
+ var l = Fc();
5357
+ (_ !== e || ee !== t) && (xe = null, pn = J() + 500, Yt(e, t));
5358
5358
  do
5359
5359
  try {
5360
5360
  Qp();
5361
5361
  break;
5362
5362
  } catch (s) {
5363
- Hc(e, s);
5363
+ jc(e, s);
5364
5364
  }
5365
5365
  while (1);
5366
- Bo(), ar.current = l, k = r, J !== null ? t = 0 : (_ = null, ee = 0, t = E);
5366
+ Bo(), ar.current = l, S = r, T !== null ? t = 0 : (_ = null, ee = 0, t = E);
5367
5367
  }
5368
5368
  if (t !== 0) {
5369
5369
  if (t === 2 && (r = Yl(e), r !== 0 && (i = r, t = no(e, r))), t === 1)
5370
- throw n = ri, Yt(e, 0), rt(e, i), fe(e, D()), n;
5370
+ throw n = ri, Yt(e, 0), rt(e, i), fe(e, J()), n;
5371
5371
  if (t === 6)
5372
5372
  rt(e, i);
5373
5373
  else {
5374
- if (r = e.current.alternate, !(i & 30) && !Dp(r) && (t = gr(e, i), t === 2 && (l = Yl(e), l !== 0 && (i = l, t = no(e, l))), t === 1))
5375
- throw n = ri, Yt(e, 0), rt(e, i), fe(e, D()), n;
5374
+ if (r = e.current.alternate, !(i & 30) && !Jp(r) && (t = gr(e, i), t === 2 && (l = Yl(e), l !== 0 && (i = l, t = no(e, l))), t === 1))
5375
+ throw n = ri, Yt(e, 0), rt(e, i), fe(e, J()), n;
5376
5376
  switch (e.finishedWork = r, e.finishedLanes = i, t) {
5377
5377
  case 0:
5378
5378
  case 1:
@@ -5381,14 +5381,14 @@ function Mc(e, t) {
5381
5381
  Wt(e, de, xe);
5382
5382
  break;
5383
5383
  case 3:
5384
- if (rt(e, i), (i & 130023424) === i && (t = Eo + 500 - D(), 10 < t)) {
5384
+ if (rt(e, i), (i & 130023424) === i && (t = Eo + 500 - J(), 10 < t)) {
5385
5385
  if (Ei(e, 0) !== 0)
5386
5386
  break;
5387
5387
  if (r = e.suspendedLanes, (r & i) !== i) {
5388
5388
  ue(), e.pingedLanes |= e.suspendedLanes & r;
5389
5389
  break;
5390
5390
  }
5391
- e.timeoutHandle = Kl(Wt.bind(null, e, de, xe), t);
5391
+ e.timeoutHandle = Vl(Wt.bind(null, e, de, xe), t);
5392
5392
  break;
5393
5393
  }
5394
5394
  Wt(e, de, xe);
@@ -5400,8 +5400,8 @@ function Mc(e, t) {
5400
5400
  var o = 31 - Re(i);
5401
5401
  l = 1 << o, o = t[o], o > r && (r = o), i &= ~l;
5402
5402
  }
5403
- if (i = r, i = D() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * Tp(i / 1960)) - i, 10 < i) {
5404
- e.timeoutHandle = Kl(Wt.bind(null, e, de, xe), i);
5403
+ if (i = r, i = J() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * Dp(i / 1960)) - i, 10 < i) {
5404
+ e.timeoutHandle = Vl(Wt.bind(null, e, de, xe), i);
5405
5405
  break;
5406
5406
  }
5407
5407
  Wt(e, de, xe);
@@ -5414,16 +5414,16 @@ function Mc(e, t) {
5414
5414
  }
5415
5415
  }
5416
5416
  }
5417
- return fe(e, D()), e.callbackNode === n ? Mc.bind(null, e) : null;
5417
+ return fe(e, J()), e.callbackNode === n ? Mc.bind(null, e) : null;
5418
5418
  }
5419
5419
  function no(e, t) {
5420
- var n = Hn;
5420
+ var n = jn;
5421
5421
  return e.current.memoizedState.isDehydrated && (Yt(e, t).flags |= 256), e = gr(e, t), e !== 2 && (t = de, de = n, t !== null && io(t)), e;
5422
5422
  }
5423
5423
  function io(e) {
5424
5424
  de === null ? de = e : de.push.apply(de, e);
5425
5425
  }
5426
- function Dp(e) {
5426
+ function Jp(e) {
5427
5427
  for (var t = e; ; ) {
5428
5428
  if (t.flags & 16384) {
5429
5429
  var n = t.updateQueue;
@@ -5432,7 +5432,7 @@ function Dp(e) {
5432
5432
  var r = n[i], l = r.getSnapshot;
5433
5433
  r = r.value;
5434
5434
  try {
5435
- if (!Ke(l(), r))
5435
+ if (!Ve(l(), r))
5436
5436
  return !1;
5437
5437
  } catch {
5438
5438
  return !1;
@@ -5461,59 +5461,59 @@ function rt(e, t) {
5461
5461
  }
5462
5462
  }
5463
5463
  function mu(e) {
5464
- if (k & 6)
5464
+ if (S & 6)
5465
5465
  throw Error(b(327));
5466
5466
  on();
5467
5467
  var t = Ei(e, 0);
5468
5468
  if (!(t & 1))
5469
- return fe(e, D()), null;
5469
+ return fe(e, J()), null;
5470
5470
  var n = gr(e, t);
5471
5471
  if (e.tag !== 0 && n === 2) {
5472
5472
  var i = Yl(e);
5473
5473
  i !== 0 && (t = i, n = no(e, i));
5474
5474
  }
5475
5475
  if (n === 1)
5476
- throw n = ri, Yt(e, 0), rt(e, t), fe(e, D()), n;
5476
+ throw n = ri, Yt(e, 0), rt(e, t), fe(e, J()), n;
5477
5477
  if (n === 6)
5478
5478
  throw Error(b(345));
5479
- return e.finishedWork = e.current.alternate, e.finishedLanes = t, Wt(e, de, xe), fe(e, D()), null;
5479
+ return e.finishedWork = e.current.alternate, e.finishedLanes = t, Wt(e, de, xe), fe(e, J()), null;
5480
5480
  }
5481
5481
  function Uo(e, t) {
5482
- var n = k;
5483
- k |= 1;
5482
+ var n = S;
5483
+ S |= 1;
5484
5484
  try {
5485
5485
  return e(t);
5486
5486
  } finally {
5487
- k = n, k === 0 && (pn = D() + 500, Lr && yt());
5487
+ S = n, S === 0 && (pn = J() + 500, Lr && yt());
5488
5488
  }
5489
5489
  }
5490
5490
  function Rt(e) {
5491
- ot !== null && ot.tag === 0 && !(k & 6) && on();
5492
- var t = k;
5493
- k |= 1;
5491
+ ot !== null && ot.tag === 0 && !(S & 6) && on();
5492
+ var t = S;
5493
+ S |= 1;
5494
5494
  var n = Xe.transition, i = B;
5495
5495
  try {
5496
5496
  if (Xe.transition = null, B = 1, e)
5497
5497
  return e();
5498
5498
  } finally {
5499
- B = i, Xe.transition = n, k = t, !(k & 6) && yt();
5499
+ B = i, Xe.transition = n, S = t, !(S & 6) && yt();
5500
5500
  }
5501
5501
  }
5502
5502
  function Po() {
5503
- he = qt.current, K(qt);
5503
+ he = qt.current, V(qt);
5504
5504
  }
5505
5505
  function Yt(e, t) {
5506
5506
  e.finishedWork = null, e.finishedLanes = 0;
5507
5507
  var n = e.timeoutHandle;
5508
- if (n !== -1 && (e.timeoutHandle = -1, Zp(n)), J !== null)
5509
- for (n = J.return; n !== null; ) {
5508
+ if (n !== -1 && (e.timeoutHandle = -1, Zp(n)), T !== null)
5509
+ for (n = T.return; n !== null; ) {
5510
5510
  var i = n;
5511
5511
  switch (Ao(i), i.tag) {
5512
5512
  case 1:
5513
5513
  i = i.type.childContextTypes, i != null && qi();
5514
5514
  break;
5515
5515
  case 3:
5516
- dn(), K(pe), K(le), Ho();
5516
+ dn(), V(pe), V(le), jo();
5517
5517
  break;
5518
5518
  case 5:
5519
5519
  Mo(i);
@@ -5522,10 +5522,10 @@ function Yt(e, t) {
5522
5522
  dn();
5523
5523
  break;
5524
5524
  case 13:
5525
- K(H);
5525
+ V(j);
5526
5526
  break;
5527
5527
  case 19:
5528
- K(H);
5528
+ V(j);
5529
5529
  break;
5530
5530
  case 10:
5531
5531
  Ro(i.type._context);
@@ -5536,7 +5536,7 @@ function Yt(e, t) {
5536
5536
  }
5537
5537
  n = n.return;
5538
5538
  }
5539
- if (_ = e, J = e = mt(e.current, null), ee = he = t, E = 0, ri = null, Qo = Nr = Bt = 0, de = Hn = null, Xt !== null) {
5539
+ if (_ = e, T = e = mt(e.current, null), ee = he = t, E = 0, ri = null, Qo = Nr = Bt = 0, de = jn = null, Xt !== null) {
5540
5540
  for (t = 0; t < Xt.length; t++)
5541
5541
  if (n = Xt[t], i = n.interleaved, i !== null) {
5542
5542
  n.interleaved = null;
@@ -5551,19 +5551,19 @@ function Yt(e, t) {
5551
5551
  }
5552
5552
  return e;
5553
5553
  }
5554
- function Hc(e, t) {
5554
+ function jc(e, t) {
5555
5555
  do {
5556
- var n = J;
5556
+ var n = T;
5557
5557
  try {
5558
5558
  if (Bo(), Mi.current = ur, sr) {
5559
- for (var i = j.memoizedState; i !== null; ) {
5559
+ for (var i = F.memoizedState; i !== null; ) {
5560
5560
  var r = i.queue;
5561
5561
  r !== null && (r.pending = null), i = i.next;
5562
5562
  }
5563
5563
  sr = !1;
5564
5564
  }
5565
- if (kt = 0, P = Q = j = null, On = !1, ti = 0, Jo.current = null, n === null || n.return === null) {
5566
- E = 1, ri = t, J = null;
5565
+ if (St = 0, P = Q = F = null, On = !1, ti = 0, To.current = null, n === null || n.return === null) {
5566
+ E = 1, ri = t, T = null;
5567
5567
  break;
5568
5568
  }
5569
5569
  e: {
@@ -5594,16 +5594,16 @@ function Hc(e, t) {
5594
5594
  } else if (O && s.mode & 1) {
5595
5595
  var G = tu(o);
5596
5596
  if (G !== null) {
5597
- !(G.flags & 65536) && (G.flags |= 256), nu(G, o, s, l, t), So(gn(u, s));
5597
+ !(G.flags & 65536) && (G.flags |= 256), nu(G, o, s, l, t), ko(gn(u, s));
5598
5598
  break e;
5599
5599
  }
5600
5600
  }
5601
- l = u = gn(u, s), E !== 4 && (E = 2), Hn === null ? Hn = [l] : Hn.push(l), l = o;
5601
+ l = u = gn(u, s), E !== 4 && (E = 2), jn === null ? jn = [l] : jn.push(l), l = o;
5602
5602
  do {
5603
5603
  switch (l.tag) {
5604
5604
  case 3:
5605
5605
  l.flags |= 65536, t &= -t, l.lanes |= t;
5606
- var p = vc(l, u, t);
5606
+ var p = wc(l, u, t);
5607
5607
  Qs(l, p);
5608
5608
  break e;
5609
5609
  case 1:
@@ -5611,7 +5611,7 @@ function Hc(e, t) {
5611
5611
  var d = l.type, f = l.stateNode;
5612
5612
  if (!(l.flags & 128) && (typeof d.getDerivedStateFromError == "function" || f !== null && typeof f.componentDidCatch == "function" && (gt === null || !gt.has(f)))) {
5613
5613
  l.flags |= 65536, t &= -t, l.lanes |= t;
5614
- var h = wc(l, s, t);
5614
+ var h = vc(l, s, t);
5615
5615
  Qs(l, h);
5616
5616
  break e;
5617
5617
  }
@@ -5621,13 +5621,13 @@ function Hc(e, t) {
5621
5621
  }
5622
5622
  zc(n);
5623
5623
  } catch (Z) {
5624
- t = Z, J === n && n !== null && (J = n = n.return);
5624
+ t = Z, T === n && n !== null && (T = n = n.return);
5625
5625
  continue;
5626
5626
  }
5627
5627
  break;
5628
5628
  } while (1);
5629
5629
  }
5630
- function jc() {
5630
+ function Fc() {
5631
5631
  var e = ar.current;
5632
5632
  return ar.current = ur, e === null ? ur : e;
5633
5633
  }
@@ -5635,58 +5635,58 @@ function _o() {
5635
5635
  (E === 0 || E === 3 || E === 2) && (E = 4), _ === null || !(Bt & 268435455) && !(Nr & 268435455) || rt(_, ee);
5636
5636
  }
5637
5637
  function gr(e, t) {
5638
- var n = k;
5639
- k |= 2;
5640
- var i = jc();
5638
+ var n = S;
5639
+ S |= 2;
5640
+ var i = Fc();
5641
5641
  (_ !== e || ee !== t) && (xe = null, Yt(e, t));
5642
5642
  do
5643
5643
  try {
5644
- Jp();
5644
+ Tp();
5645
5645
  break;
5646
5646
  } catch (r) {
5647
- Hc(e, r);
5647
+ jc(e, r);
5648
5648
  }
5649
5649
  while (1);
5650
- if (Bo(), k = n, ar.current = i, J !== null)
5650
+ if (Bo(), S = n, ar.current = i, T !== null)
5651
5651
  throw Error(b(261));
5652
5652
  return _ = null, ee = 0, E;
5653
5653
  }
5654
- function Jp() {
5655
- for (; J !== null; )
5656
- Fc(J);
5654
+ function Tp() {
5655
+ for (; T !== null; )
5656
+ Hc(T);
5657
5657
  }
5658
5658
  function Qp() {
5659
- for (; J !== null && !Ig(); )
5660
- Fc(J);
5659
+ for (; T !== null && !Ig(); )
5660
+ Hc(T);
5661
5661
  }
5662
- function Fc(e) {
5663
- var t = Tc(e.alternate, e, he);
5664
- e.memoizedProps = e.pendingProps, t === null ? zc(e) : J = t, Jo.current = null;
5662
+ function Hc(e) {
5663
+ var t = Dc(e.alternate, e, he);
5664
+ e.memoizedProps = e.pendingProps, t === null ? zc(e) : T = t, To.current = null;
5665
5665
  }
5666
5666
  function zc(e) {
5667
5667
  var t = e;
5668
5668
  do {
5669
5669
  var n = t.alternate;
5670
5670
  if (e = t.return, t.flags & 32768) {
5671
- if (n = jp(n, t), n !== null) {
5672
- n.flags &= 32767, J = n;
5671
+ if (n = Fp(n, t), n !== null) {
5672
+ n.flags &= 32767, T = n;
5673
5673
  return;
5674
5674
  }
5675
5675
  if (e !== null)
5676
5676
  e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null;
5677
5677
  else {
5678
- E = 6, J = null;
5678
+ E = 6, T = null;
5679
5679
  return;
5680
5680
  }
5681
- } else if (n = Hp(n, t, he), n !== null) {
5682
- J = n;
5681
+ } else if (n = jp(n, t, he), n !== null) {
5682
+ T = n;
5683
5683
  return;
5684
5684
  }
5685
5685
  if (t = t.sibling, t !== null) {
5686
- J = t;
5686
+ T = t;
5687
5687
  return;
5688
5688
  }
5689
- J = t = e;
5689
+ T = t = e;
5690
5690
  } while (t !== null);
5691
5691
  E === 0 && (E = 5);
5692
5692
  }
@@ -5703,7 +5703,7 @@ function Ep(e, t, n, i) {
5703
5703
  do
5704
5704
  on();
5705
5705
  while (ot !== null);
5706
- if (k & 6)
5706
+ if (S & 6)
5707
5707
  throw Error(b(327));
5708
5708
  n = e.finishedWork;
5709
5709
  var r = e.finishedLanes;
@@ -5713,22 +5713,22 @@ function Ep(e, t, n, i) {
5713
5713
  throw Error(b(177));
5714
5714
  e.callbackNode = null, e.callbackPriority = 0;
5715
5715
  var l = n.lanes | n.childLanes;
5716
- if (Yg(e, l), e === _ && (J = _ = null, ee = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Ni || (Ni = !0, Dc(Qi, function() {
5716
+ if (Yg(e, l), e === _ && (T = _ = null, ee = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Ni || (Ni = !0, Jc(Qi, function() {
5717
5717
  return on(), null;
5718
5718
  })), l = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || l) {
5719
5719
  l = Xe.transition, Xe.transition = null;
5720
5720
  var o = B;
5721
5721
  B = 1;
5722
- var s = k;
5723
- k |= 4, Jo.current = null, zp(e, n), Kc(n, e), mp(Rl), Ui = !!Bl, Rl = Bl = null, e.current = n, xp(n), yg(), k = s, B = o, Xe.transition = l;
5722
+ var s = S;
5723
+ S |= 4, To.current = null, zp(e, n), Vc(n, e), mp(Rl), Ui = !!Bl, Rl = Bl = null, e.current = n, xp(n), yg(), S = s, B = o, Xe.transition = l;
5724
5724
  } else
5725
5725
  e.current = n;
5726
- if (Ni && (Ni = !1, ot = e, dr = r), l = e.pendingLanes, l === 0 && (gt = null), vg(n.stateNode), fe(e, D()), t !== null)
5726
+ if (Ni && (Ni = !1, ot = e, dr = r), l = e.pendingLanes, l === 0 && (gt = null), wg(n.stateNode), fe(e, J()), t !== null)
5727
5727
  for (i = e.onRecoverableError, n = 0; n < t.length; n++)
5728
5728
  r = t[n], i(r.value, { componentStack: r.stack, digest: r.digest });
5729
5729
  if (cr)
5730
5730
  throw cr = !1, e = eo, eo = null, e;
5731
- return dr & 1 && e.tag !== 0 && on(), l = e.pendingLanes, l & 1 ? e === to ? jn++ : (jn = 0, to = e) : jn = 0, yt(), null;
5731
+ return dr & 1 && e.tag !== 0 && on(), l = e.pendingLanes, l & 1 ? e === to ? Fn++ : (Fn = 0, to = e) : Fn = 0, yt(), null;
5732
5732
  }
5733
5733
  function on() {
5734
5734
  if (ot !== null) {
@@ -5737,10 +5737,10 @@ function on() {
5737
5737
  if (Xe.transition = null, B = 16 > e ? 16 : e, ot === null)
5738
5738
  var i = !1;
5739
5739
  else {
5740
- if (e = ot, ot = null, dr = 0, k & 6)
5740
+ if (e = ot, ot = null, dr = 0, S & 6)
5741
5741
  throw Error(b(331));
5742
- var r = k;
5743
- for (k |= 4, L = e.current; L !== null; ) {
5742
+ var r = S;
5743
+ for (S |= 4, L = e.current; L !== null; ) {
5744
5744
  var l = L, o = l.child;
5745
5745
  if (L.flags & 16) {
5746
5746
  var s = l.deletions;
@@ -5840,9 +5840,9 @@ function on() {
5840
5840
  L = s.return;
5841
5841
  }
5842
5842
  }
5843
- if (k = r, yt(), Fe && typeof Fe.onPostCommitFiberRoot == "function")
5843
+ if (S = r, yt(), He && typeof He.onPostCommitFiberRoot == "function")
5844
5844
  try {
5845
- Fe.onPostCommitFiberRoot(br, e);
5845
+ He.onPostCommitFiberRoot(br, e);
5846
5846
  } catch {
5847
5847
  }
5848
5848
  i = !0;
@@ -5855,7 +5855,7 @@ function on() {
5855
5855
  return !1;
5856
5856
  }
5857
5857
  function fu(e, t, n) {
5858
- t = gn(n, t), t = vc(e, t, 1), e = dt(e, t, 1), t = ue(), e !== null && (ui(e, 1, t), fe(e, t));
5858
+ t = gn(n, t), t = wc(e, t, 1), e = dt(e, t, 1), t = ue(), e !== null && (ui(e, 1, t), fe(e, t));
5859
5859
  }
5860
5860
  function z(e, t, n) {
5861
5861
  if (e.tag === 3)
@@ -5868,7 +5868,7 @@ function z(e, t, n) {
5868
5868
  } else if (t.tag === 1) {
5869
5869
  var i = t.stateNode;
5870
5870
  if (typeof t.type.getDerivedStateFromError == "function" || typeof i.componentDidCatch == "function" && (gt === null || !gt.has(i))) {
5871
- e = gn(n, e), e = wc(t, e, 1), t = dt(t, e, 1), e = ue(), t !== null && (ui(t, 1, e), fe(t, e));
5871
+ e = gn(n, e), e = vc(t, e, 1), t = dt(t, e, 1), e = ue(), t !== null && (ui(t, 1, e), fe(t, e));
5872
5872
  break;
5873
5873
  }
5874
5874
  }
@@ -5877,7 +5877,7 @@ function z(e, t, n) {
5877
5877
  }
5878
5878
  function Up(e, t, n) {
5879
5879
  var i = e.pingCache;
5880
- i !== null && i.delete(t), t = ue(), e.pingedLanes |= e.suspendedLanes & n, _ === e && (ee & n) === n && (E === 4 || E === 3 && (ee & 130023424) === ee && 500 > D() - Eo ? Yt(e, 0) : Qo |= n), fe(e, t);
5880
+ i !== null && i.delete(t), t = ue(), e.pingedLanes |= e.suspendedLanes & n, _ === e && (ee & n) === n && (E === 4 || E === 3 && (ee & 130023424) === ee && 500 > J() - Eo ? Yt(e, 0) : Qo |= n), fe(e, t);
5881
5881
  }
5882
5882
  function xc(e, t) {
5883
5883
  t === 0 && (e.mode & 1 ? (t = yi, yi <<= 1, !(yi & 130023424) && (yi = 4194304)) : t = 1);
@@ -5903,8 +5903,8 @@ function _p(e, t) {
5903
5903
  }
5904
5904
  i !== null && i.delete(t), xc(e, n);
5905
5905
  }
5906
- var Tc;
5907
- Tc = function(e, t, n) {
5906
+ var Dc;
5907
+ Dc = function(e, t, n) {
5908
5908
  if (e !== null)
5909
5909
  if (e.memoizedProps !== t.pendingProps || pe.current)
5910
5910
  ge = !0;
@@ -5918,17 +5918,17 @@ Tc = function(e, t, n) {
5918
5918
  switch (t.lanes = 0, t.tag) {
5919
5919
  case 2:
5920
5920
  var i = t.type;
5921
- ji(e, t), e = t.pendingProps;
5921
+ Fi(e, t), e = t.pendingProps;
5922
5922
  var r = un(t, le.current);
5923
- ln(t, n), r = Fo(null, t, i, e, r, n);
5923
+ ln(t, n), r = Ho(null, t, i, e, r, n);
5924
5924
  var l = zo();
5925
- return t.flags |= 1, typeof r == "object" && r !== null && typeof r.render == "function" && r.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, me(i) ? (l = !0, er(t)) : l = !1, t.memoizedState = r.state !== null && r.state !== void 0 ? r.state : null, Ko(t), r.updater = Xr, t.stateNode = r, r._reactInternals = t, xl(t, i, e, n), t = Jl(null, t, i, !0, l, n)) : (t.tag = 0, O && l && No(t), se(null, t, r, n), t = t.child), t;
5925
+ return t.flags |= 1, typeof r == "object" && r !== null && typeof r.render == "function" && r.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, me(i) ? (l = !0, er(t)) : l = !1, t.memoizedState = r.state !== null && r.state !== void 0 ? r.state : null, Vo(t), r.updater = Xr, t.stateNode = r, r._reactInternals = t, xl(t, i, e, n), t = Tl(null, t, i, !0, l, n)) : (t.tag = 0, O && l && No(t), se(null, t, r, n), t = t.child), t;
5926
5926
  case 16:
5927
5927
  i = t.elementType;
5928
5928
  e: {
5929
- switch (ji(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag = qp(i), e = Se(i, e), r) {
5929
+ switch (Fi(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag = qp(i), e = ke(i, e), r) {
5930
5930
  case 0:
5931
- t = Dl(null, t, i, e, n);
5931
+ t = Jl(null, t, i, e, n);
5932
5932
  break e;
5933
5933
  case 1:
5934
5934
  t = lu(null, t, i, e, n);
@@ -5937,7 +5937,7 @@ Tc = function(e, t, n) {
5937
5937
  t = iu(null, t, i, e, n);
5938
5938
  break e;
5939
5939
  case 14:
5940
- t = ru(null, t, i, Se(i.type, e), n);
5940
+ t = ru(null, t, i, ke(i.type, e), n);
5941
5941
  break e;
5942
5942
  }
5943
5943
  throw Error(b(
@@ -5948,9 +5948,9 @@ Tc = function(e, t, n) {
5948
5948
  }
5949
5949
  return t;
5950
5950
  case 0:
5951
- return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : Se(i, r), Dl(e, t, i, r, n);
5951
+ return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : ke(i, r), Jl(e, t, i, r, n);
5952
5952
  case 1:
5953
- return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : Se(i, r), lu(e, t, i, r, n);
5953
+ return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : ke(i, r), lu(e, t, i, r, n);
5954
5954
  case 3:
5955
5955
  e: {
5956
5956
  if (Gc(t), e === null)
@@ -5978,15 +5978,15 @@ Tc = function(e, t, n) {
5978
5978
  }
5979
5979
  return t;
5980
5980
  case 5:
5981
- return nc(t), e === null && jl(t), i = t.type, r = t.pendingProps, l = e !== null ? e.memoizedProps : null, o = r.children, Vl(i, r) ? o = null : l !== null && Vl(i, l) && (t.flags |= 32), Xc(e, t), se(e, t, o, n), t.child;
5981
+ return nc(t), e === null && Fl(t), i = t.type, r = t.pendingProps, l = e !== null ? e.memoizedProps : null, o = r.children, Kl(i, r) ? o = null : l !== null && Kl(i, l) && (t.flags |= 32), Xc(e, t), se(e, t, o, n), t.child;
5982
5982
  case 6:
5983
- return e === null && jl(t), null;
5983
+ return e === null && Fl(t), null;
5984
5984
  case 13:
5985
5985
  return Yc(e, t, n);
5986
5986
  case 4:
5987
5987
  return Oo(t, t.stateNode.containerInfo), i = t.pendingProps, e === null ? t.child = cn(t, null, i, n) : se(e, t, i, n), t.child;
5988
5988
  case 11:
5989
- return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : Se(i, r), iu(e, t, i, r, n);
5989
+ return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : ke(i, r), iu(e, t, i, r, n);
5990
5990
  case 7:
5991
5991
  return se(e, t, t.pendingProps, n), t.child;
5992
5992
  case 8:
@@ -5996,7 +5996,7 @@ Tc = function(e, t, n) {
5996
5996
  case 10:
5997
5997
  e: {
5998
5998
  if (i = t.type._context, r = t.pendingProps, l = t.memoizedProps, o = r.value, R(ir, i._currentValue), i._currentValue = o, l !== null)
5999
- if (Ke(l.value, o)) {
5999
+ if (Ve(l.value, o)) {
6000
6000
  if (l.children === r.children && !pe.current) {
6001
6001
  t = _e(e, t, n);
6002
6002
  break e;
@@ -6017,7 +6017,7 @@ Tc = function(e, t, n) {
6017
6017
  g === null ? u.next = u : (u.next = g.next, g.next = u), a.pending = u;
6018
6018
  }
6019
6019
  }
6020
- l.lanes |= n, u = l.alternate, u !== null && (u.lanes |= n), Fl(
6020
+ l.lanes |= n, u = l.alternate, u !== null && (u.lanes |= n), Hl(
6021
6021
  l.return,
6022
6022
  n,
6023
6023
  t
@@ -6031,7 +6031,7 @@ Tc = function(e, t, n) {
6031
6031
  else if (l.tag === 18) {
6032
6032
  if (o = l.return, o === null)
6033
6033
  throw Error(b(341));
6034
- o.lanes |= n, s = o.alternate, s !== null && (s.lanes |= n), Fl(o, n, t), o = l.sibling;
6034
+ o.lanes |= n, s = o.alternate, s !== null && (s.lanes |= n), Hl(o, n, t), o = l.sibling;
6035
6035
  } else
6036
6036
  o = l.child;
6037
6037
  if (o !== null)
@@ -6056,11 +6056,11 @@ Tc = function(e, t, n) {
6056
6056
  case 9:
6057
6057
  return r = t.type, i = t.pendingProps.children, ln(t, n), r = Ge(r), i = i(r), t.flags |= 1, se(e, t, i, n), t.child;
6058
6058
  case 14:
6059
- return i = t.type, r = Se(i, t.pendingProps), r = Se(i.type, r), ru(e, t, i, r, n);
6059
+ return i = t.type, r = ke(i, t.pendingProps), r = ke(i.type, r), ru(e, t, i, r, n);
6060
6060
  case 15:
6061
6061
  return Wc(e, t, t.type, t.pendingProps, n);
6062
6062
  case 17:
6063
- return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : Se(i, r), ji(e, t), t.tag = 1, me(i) ? (e = !0, er(t)) : e = !1, ln(t, n), qa(t, i, r), xl(t, i, r, n), Jl(null, t, i, !0, e, n);
6063
+ return i = t.type, r = t.pendingProps, r = t.elementType === i ? r : ke(i, r), Fi(e, t), t.tag = 1, me(i) ? (e = !0, er(t)) : e = !1, ln(t, n), qa(t, i, r), xl(t, i, r, n), Tl(null, t, i, !0, e, n);
6064
6064
  case 19:
6065
6065
  return Nc(e, t, n);
6066
6066
  case 22:
@@ -6068,7 +6068,7 @@ Tc = function(e, t, n) {
6068
6068
  }
6069
6069
  throw Error(b(156, t.tag));
6070
6070
  };
6071
- function Dc(e, t) {
6071
+ function Jc(e, t) {
6072
6072
  return Ca(e, t);
6073
6073
  }
6074
6074
  function $p(e, t, n, i) {
@@ -6156,18 +6156,18 @@ function em(e, t, n, i, r) {
6156
6156
  this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = zr(0), this.expirationTimes = zr(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = zr(0), this.identifierPrefix = i, this.onRecoverableError = r, this.mutableSourceEagerHydrationData = null;
6157
6157
  }
6158
6158
  function qo(e, t, n, i, r, l, o, s, u) {
6159
- return e = new em(e, t, n, s, u), t === 1 ? (t = 1, l === !0 && (t |= 8)) : t = 0, l = Le(3, null, null, t), e.current = l, l.stateNode = e, l.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Ko(l), e;
6159
+ return e = new em(e, t, n, s, u), t === 1 ? (t = 1, l === !0 && (t |= 8)) : t = 0, l = Le(3, null, null, t), e.current = l, l.stateNode = e, l.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Vo(l), e;
6160
6160
  }
6161
6161
  function tm(e, t, n) {
6162
6162
  var i = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
6163
6163
  return { $$typeof: zt, key: i == null ? null : "" + i, children: e, containerInfo: t, implementation: n };
6164
6164
  }
6165
- function Jc(e) {
6165
+ function Tc(e) {
6166
6166
  if (!e)
6167
6167
  return ht;
6168
6168
  e = e._reactInternals;
6169
6169
  e: {
6170
- if (Kt(e) !== e || e.tag !== 1)
6170
+ if (Vt(e) !== e || e.tag !== 1)
6171
6171
  throw Error(b(170));
6172
6172
  var t = e;
6173
6173
  do {
@@ -6188,16 +6188,16 @@ function Jc(e) {
6188
6188
  if (e.tag === 1) {
6189
6189
  var n = e.type;
6190
6190
  if (me(n))
6191
- return Da(e, n, t);
6191
+ return Ja(e, n, t);
6192
6192
  }
6193
6193
  return t;
6194
6194
  }
6195
6195
  function Qc(e, t, n, i, r, l, o, s, u) {
6196
- return e = qo(n, i, !0, e, r, l, o, s, u), e.context = Jc(null), n = e.current, i = ue(), r = pt(n), l = Qe(i, r), l.callback = t ?? null, dt(n, l, r), e.current.lanes = r, ui(e, r, i), fe(e, i), e;
6196
+ return e = qo(n, i, !0, e, r, l, o, s, u), e.context = Tc(null), n = e.current, i = ue(), r = pt(n), l = Qe(i, r), l.callback = t ?? null, dt(n, l, r), e.current.lanes = r, ui(e, r, i), fe(e, i), e;
6197
6197
  }
6198
- function Sr(e, t, n, i) {
6198
+ function kr(e, t, n, i) {
6199
6199
  var r = t.current, l = ue(), o = pt(r);
6200
- return n = Jc(n), t.context === null ? t.context = n : t.pendingContext = n, t = Qe(l, o), t.payload = { element: e }, i = i === void 0 ? null : i, i !== null && (t.callback = i), e = dt(r, t, o), e !== null && (Ve(e, r, o, l), Oi(e, r, o)), o;
6200
+ return n = Tc(n), t.context === null ? t.context = n : t.pendingContext = n, t = Qe(l, o), t.payload = { element: e }, i = i === void 0 ? null : i, i !== null && (t.callback = i), e = dt(r, t, o), e !== null && (Ke(e, r, o, l), Oi(e, r, o)), o;
6201
6201
  }
6202
6202
  function pr(e) {
6203
6203
  if (e = e.current, !e.child)
@@ -6227,26 +6227,26 @@ var Ec = typeof reportError == "function" ? reportError : function(e) {
6227
6227
  function ts(e) {
6228
6228
  this._internalRoot = e;
6229
6229
  }
6230
- kr.prototype.render = ts.prototype.render = function(e) {
6230
+ Sr.prototype.render = ts.prototype.render = function(e) {
6231
6231
  var t = this._internalRoot;
6232
6232
  if (t === null)
6233
6233
  throw Error(b(409));
6234
- Sr(e, t, null, null);
6234
+ kr(e, t, null, null);
6235
6235
  };
6236
- kr.prototype.unmount = ts.prototype.unmount = function() {
6236
+ Sr.prototype.unmount = ts.prototype.unmount = function() {
6237
6237
  var e = this._internalRoot;
6238
6238
  if (e !== null) {
6239
6239
  this._internalRoot = null;
6240
6240
  var t = e.containerInfo;
6241
6241
  Rt(function() {
6242
- Sr(null, e, null, null);
6242
+ kr(null, e, null, null);
6243
6243
  }), t[Ue] = null;
6244
6244
  }
6245
6245
  };
6246
- function kr(e) {
6246
+ function Sr(e) {
6247
6247
  this._internalRoot = e;
6248
6248
  }
6249
- kr.prototype.unstable_scheduleHydration = function(e) {
6249
+ Sr.prototype.unstable_scheduleHydration = function(e) {
6250
6250
  if (e) {
6251
6251
  var t = Wa();
6252
6252
  e = { blockedOn: null, target: e, priority: t };
@@ -6286,7 +6286,7 @@ function im(e, t, n, i, r) {
6286
6286
  }
6287
6287
  var u = qo(e, 0, !1, null, null, !1, !1, "", Cu);
6288
6288
  return e._reactRootContainer = u, e[Ue] = u.current, Pn(e.nodeType === 8 ? e.parentNode : e), Rt(function() {
6289
- Sr(t, u, n, i);
6289
+ kr(t, u, n, i);
6290
6290
  }), u;
6291
6291
  }
6292
6292
  function Rr(e, t, n, i, r) {
@@ -6300,18 +6300,18 @@ function Rr(e, t, n, i, r) {
6300
6300
  s.call(u);
6301
6301
  };
6302
6302
  }
6303
- Sr(t, o, e, r);
6303
+ kr(t, o, e, r);
6304
6304
  } else
6305
6305
  o = im(n, t, e, r, i);
6306
6306
  return pr(o);
6307
6307
  }
6308
- va = function(e) {
6308
+ wa = function(e) {
6309
6309
  switch (e.tag) {
6310
6310
  case 3:
6311
6311
  var t = e.stateNode;
6312
6312
  if (t.current.memoizedState.isDehydrated) {
6313
6313
  var n = An(t.pendingLanes);
6314
- n !== 0 && (Zo(t, n | 1), fe(t, D()), !(k & 6) && (pn = D() + 500, yt()));
6314
+ n !== 0 && (Zo(t, n | 1), fe(t, J()), !(S & 6) && (pn = J() + 500, yt()));
6315
6315
  }
6316
6316
  break;
6317
6317
  case 13:
@@ -6319,27 +6319,27 @@ va = function(e) {
6319
6319
  var i = Pe(e, 1);
6320
6320
  if (i !== null) {
6321
6321
  var r = ue();
6322
- Ve(i, e, 1, r);
6322
+ Ke(i, e, 1, r);
6323
6323
  }
6324
6324
  }), es(e, 1);
6325
6325
  }
6326
6326
  };
6327
- vo = function(e) {
6327
+ wo = function(e) {
6328
6328
  if (e.tag === 13) {
6329
6329
  var t = Pe(e, 134217728);
6330
6330
  if (t !== null) {
6331
6331
  var n = ue();
6332
- Ve(t, e, 134217728, n);
6332
+ Ke(t, e, 134217728, n);
6333
6333
  }
6334
6334
  es(e, 134217728);
6335
6335
  }
6336
6336
  };
6337
- wa = function(e) {
6337
+ va = function(e) {
6338
6338
  if (e.tag === 13) {
6339
6339
  var t = pt(e), n = Pe(e, t);
6340
6340
  if (n !== null) {
6341
6341
  var i = ue();
6342
- Ve(n, e, t, i);
6342
+ Ke(n, e, t, i);
6343
6343
  }
6344
6344
  es(e, t);
6345
6345
  }
@@ -6388,7 +6388,7 @@ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
6388
6388
  var Ai = __REACT_DEVTOOLS_GLOBAL_HOOK__;
6389
6389
  if (!Ai.isDisabled && Ai.supportsFiber)
6390
6390
  try {
6391
- br = Ai.inject(lm), Fe = Ai;
6391
+ br = Ai.inject(lm), He = Ai;
6392
6392
  } catch {
6393
6393
  }
6394
6394
  }
@@ -6433,7 +6433,7 @@ be.hydrateRoot = function(e, t, n) {
6433
6433
  n,
6434
6434
  r
6435
6435
  );
6436
- return new kr(t);
6436
+ return new Sr(t);
6437
6437
  };
6438
6438
  be.render = function(e, t, n) {
6439
6439
  if (!Br(t))
@@ -6526,8 +6526,8 @@ class mr {
6526
6526
  return t = t || this.options, t.prefix = t.prefix || this.prefix, new mr(this.logger, t);
6527
6527
  }
6528
6528
  }
6529
- var je = new mr();
6530
- class Vr {
6529
+ var Fe = new mr();
6530
+ class Kr {
6531
6531
  constructor() {
6532
6532
  this.observers = {};
6533
6533
  }
@@ -6620,7 +6620,7 @@ function _c(e, t, n) {
6620
6620
  i !== "__proto__" && i !== "constructor" && (i in e ? typeof e[i] == "string" || e[i] instanceof String || typeof t[i] == "string" || t[i] instanceof String ? n && (e[i] = t[i]) : _c(e[i], t[i], n) : e[i] = t[i]);
6621
6621
  return e;
6622
6622
  }
6623
- function jt(e) {
6623
+ function Ft(e) {
6624
6624
  return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
6625
6625
  }
6626
6626
  var mm = {
@@ -6683,7 +6683,7 @@ function hr(e, t) {
6683
6683
  function Cr(e) {
6684
6684
  return e && e.indexOf("_") > 0 ? e.replace("_", "-") : e;
6685
6685
  }
6686
- class Zu extends Vr {
6686
+ class Zu extends Kr {
6687
6687
  constructor(t) {
6688
6688
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
6689
6689
  ns: ["translation"],
@@ -6768,11 +6768,11 @@ var $c = {
6768
6768
  }), t;
6769
6769
  }
6770
6770
  };
6771
- const vu = {};
6772
- class Ir extends Vr {
6771
+ const wu = {};
6772
+ class Ir extends Kr {
6773
6773
  constructor(t) {
6774
6774
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6775
- super(), dm(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], t, this), this.options = n, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = je.create("translator");
6775
+ super(), dm(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], t, this), this.options = n, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = Fe.create("translator");
6776
6776
  }
6777
6777
  changeLanguage(t) {
6778
6778
  t && (this.language = t);
@@ -6851,15 +6851,15 @@ class Ir extends Vr {
6851
6851
  return r ? (m.res = h, m.usedParams = this.getUsedParamsDetails(n), m) : h;
6852
6852
  }
6853
6853
  if (l) {
6854
- const h = y === "[object Array]", Z = h ? [] : {}, v = h ? C : I;
6855
- for (const w in c)
6856
- if (Object.prototype.hasOwnProperty.call(c, w)) {
6857
- const X = `${v}${l}${w}`;
6858
- Z[w] = this.translate(X, {
6854
+ const h = y === "[object Array]", Z = h ? [] : {}, w = h ? C : I;
6855
+ for (const v in c)
6856
+ if (Object.prototype.hasOwnProperty.call(c, v)) {
6857
+ const X = `${w}${l}${v}`;
6858
+ Z[v] = this.translate(X, {
6859
6859
  ...n,
6860
6860
  joinArrays: !1,
6861
6861
  ns: s
6862
- }), Z[w] === X && (Z[w] = c[w]);
6862
+ }), Z[v] === X && (Z[v] = c[v]);
6863
6863
  }
6864
6864
  c = Z;
6865
6865
  }
@@ -6867,11 +6867,11 @@ class Ir extends Vr {
6867
6867
  c = c.join(p), c && (c = this.extendTranslation(c, t, n, i));
6868
6868
  else {
6869
6869
  let h = !1, Z = !1;
6870
- const v = n.count !== void 0 && typeof n.count != "string", w = Ir.hasDefaultValue(n), X = v ? this.pluralResolver.getSuffix(a, n.count, n) : "", M = n.ordinal && v ? this.pluralResolver.getSuffix(a, n.count, {
6870
+ const w = n.count !== void 0 && typeof n.count != "string", v = Ir.hasDefaultValue(n), X = w ? this.pluralResolver.getSuffix(a, n.count, n) : "", M = n.ordinal && w ? this.pluralResolver.getSuffix(a, n.count, {
6871
6871
  ordinal: !1
6872
6872
  }) : "", N = n[`defaultValue${X}`] || n[`defaultValue${M}`] || n.defaultValue;
6873
- !this.isValidLookup(c) && w && (h = !0, c = N), this.isValidLookup(c) || (Z = !0, c = o);
6874
- const bt = (n.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey) && Z ? void 0 : c, Ne = w && N !== c && this.options.updateMissing;
6873
+ !this.isValidLookup(c) && v && (h = !0, c = N), this.isValidLookup(c) || (Z = !0, c = o);
6874
+ const bt = (n.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey) && Z ? void 0 : c, Ne = v && N !== c && this.options.updateMissing;
6875
6875
  if (Z || h || Ne) {
6876
6876
  if (this.logger.log(Ne ? "updateKey" : "missingKey", a, u, o, Ne ? N : c), l) {
6877
6877
  const $ = this.resolve(o, {
@@ -6888,10 +6888,10 @@ class Ir extends Vr {
6888
6888
  else
6889
6889
  this.options.saveMissingTo === "all" ? qe = this.languageUtils.toResolveHierarchy(n.lng || this.language) : qe.push(n.lng || this.language);
6890
6890
  const Mt = ($, W, Y) => {
6891
- const A = w && Y !== c ? Y : bt;
6891
+ const A = v && Y !== c ? Y : bt;
6892
6892
  this.options.missingKeyHandler ? this.options.missingKeyHandler($, u, W, A, Ne, n) : this.backendConnector && this.backendConnector.saveMissing && this.backendConnector.saveMissing($, u, W, A, Ne, n), this.emit("missingKey", $, u, W, c);
6893
6893
  };
6894
- this.options.saveMissing && (this.options.saveMissingPlurals && v ? qe.forEach(($) => {
6894
+ this.options.saveMissing && (this.options.saveMissingPlurals && w ? qe.forEach(($) => {
6895
6895
  this.pluralResolver.getSuffixes($, n).forEach((W) => {
6896
6896
  Mt([$], o + W, n[`defaultValue${W}`] || N);
6897
6897
  });
@@ -6958,7 +6958,7 @@ class Ir extends Vr {
6958
6958
  this.options.fallbackNS && (m = m.concat(this.options.fallbackNS));
6959
6959
  const c = n.count !== void 0 && typeof n.count != "string", I = c && !n.ordinal && n.count === 0 && this.pluralResolver.shouldUseIntlApi(), C = n.context !== void 0 && (typeof n.context == "string" || typeof n.context == "number") && n.context !== "", y = n.lngs ? n.lngs : this.languageUtils.toResolveHierarchy(n.lng || this.language, n.fallbackLng);
6960
6960
  m.forEach((G) => {
6961
- this.isValidLookup(i) || (s = G, !vu[`${y[0]}-${G}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(s) && (vu[`${y[0]}-${G}`] = !0, this.logger.warn(`key "${r}" for languages "${y.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), y.forEach((p) => {
6961
+ this.isValidLookup(i) || (s = G, !wu[`${y[0]}-${G}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(s) && (wu[`${y[0]}-${G}`] = !0, this.logger.warn(`key "${r}" for languages "${y.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), y.forEach((p) => {
6962
6962
  if (this.isValidLookup(i))
6963
6963
  return;
6964
6964
  o = p;
@@ -6968,10 +6968,10 @@ class Ir extends Vr {
6968
6968
  else {
6969
6969
  let h;
6970
6970
  c && (h = this.pluralResolver.getSuffix(p, n.count, n));
6971
- const Z = `${this.options.pluralSeparator}zero`, v = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
6972
- if (c && (d.push(g + h), n.ordinal && h.indexOf(v) === 0 && d.push(g + h.replace(v, this.options.pluralSeparator)), I && d.push(g + Z)), C) {
6973
- const w = `${g}${this.options.contextSeparator}${n.context}`;
6974
- d.push(w), c && (d.push(w + h), n.ordinal && h.indexOf(v) === 0 && d.push(w + h.replace(v, this.options.pluralSeparator)), I && d.push(w + Z));
6971
+ const Z = `${this.options.pluralSeparator}zero`, w = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
6972
+ if (c && (d.push(g + h), n.ordinal && h.indexOf(w) === 0 && d.push(g + h.replace(w, this.options.pluralSeparator)), I && d.push(g + Z)), C) {
6973
+ const v = `${g}${this.options.contextSeparator}${n.context}`;
6974
+ d.push(v), c && (d.push(v + h), n.ordinal && h.indexOf(w) === 0 && d.push(v + h.replace(w, this.options.pluralSeparator)), I && d.push(v + Z));
6975
6975
  }
6976
6976
  }
6977
6977
  let f;
@@ -7021,9 +7021,9 @@ class Ir extends Vr {
7021
7021
  function al(e) {
7022
7022
  return e.charAt(0).toUpperCase() + e.slice(1);
7023
7023
  }
7024
- class wu {
7024
+ class vu {
7025
7025
  constructor(t) {
7026
- this.options = t, this.supportedLngs = this.options.supportedLngs || !1, this.logger = je.create("languageUtils");
7026
+ this.options = t, this.supportedLngs = this.options.supportedLngs || !1, this.logger = Fe.create("languageUtils");
7027
7027
  }
7028
7028
  getScriptPartFromCode(t) {
7029
7029
  if (t = Cr(t), !t || t.indexOf("-") < 0)
@@ -7258,7 +7258,7 @@ const bm = ["v1", "v2", "v3"], Zm = ["v4"], Wu = {
7258
7258
  many: 4,
7259
7259
  other: 5
7260
7260
  };
7261
- function vm() {
7261
+ function wm() {
7262
7262
  const e = {};
7263
7263
  return Im.forEach((t) => {
7264
7264
  t.lngs.forEach((n) => {
@@ -7269,10 +7269,10 @@ function vm() {
7269
7269
  });
7270
7270
  }), e;
7271
7271
  }
7272
- class wm {
7272
+ class vm {
7273
7273
  constructor(t) {
7274
7274
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7275
- this.languageUtils = t, this.options = n, this.logger = je.create("pluralResolver"), (!this.options.compatibilityJSON || Zm.includes(this.options.compatibilityJSON)) && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = vm();
7275
+ this.languageUtils = t, this.options = n, this.logger = Fe.create("pluralResolver"), (!this.options.compatibilityJSON || Zm.includes(this.options.compatibilityJSON)) && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = wm();
7276
7276
  }
7277
7277
  addRule(t, n) {
7278
7278
  this.rules[t] = n;
@@ -7326,7 +7326,7 @@ function Lu(e, t, n) {
7326
7326
  class Wm {
7327
7327
  constructor() {
7328
7328
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7329
- this.logger = je.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || ((n) => n), this.init(t);
7329
+ this.logger = Fe.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || ((n) => n), this.init(t);
7330
7330
  }
7331
7331
  init() {
7332
7332
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
@@ -7334,7 +7334,7 @@ class Wm {
7334
7334
  escapeValue: !0
7335
7335
  });
7336
7336
  const n = t.interpolation;
7337
- this.escape = n.escape !== void 0 ? n.escape : fm, this.escapeValue = n.escapeValue !== void 0 ? n.escapeValue : !0, this.useRawValueToEscape = n.useRawValueToEscape !== void 0 ? n.useRawValueToEscape : !1, this.prefix = n.prefix ? jt(n.prefix) : n.prefixEscaped || "{{", this.suffix = n.suffix ? jt(n.suffix) : n.suffixEscaped || "}}", this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ",", this.unescapePrefix = n.unescapeSuffix ? "" : n.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : n.unescapeSuffix || "", this.nestingPrefix = n.nestingPrefix ? jt(n.nestingPrefix) : n.nestingPrefixEscaped || jt("$t("), this.nestingSuffix = n.nestingSuffix ? jt(n.nestingSuffix) : n.nestingSuffixEscaped || jt(")"), this.nestingOptionsSeparator = n.nestingOptionsSeparator ? n.nestingOptionsSeparator : n.nestingOptionsSeparator || ",", this.maxReplaces = n.maxReplaces ? n.maxReplaces : 1e3, this.alwaysFormat = n.alwaysFormat !== void 0 ? n.alwaysFormat : !1, this.resetRegExp();
7337
+ this.escape = n.escape !== void 0 ? n.escape : fm, this.escapeValue = n.escapeValue !== void 0 ? n.escapeValue : !0, this.useRawValueToEscape = n.useRawValueToEscape !== void 0 ? n.useRawValueToEscape : !1, this.prefix = n.prefix ? Ft(n.prefix) : n.prefixEscaped || "{{", this.suffix = n.suffix ? Ft(n.suffix) : n.suffixEscaped || "}}", this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ",", this.unescapePrefix = n.unescapeSuffix ? "" : n.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : n.unescapeSuffix || "", this.nestingPrefix = n.nestingPrefix ? Ft(n.nestingPrefix) : n.nestingPrefixEscaped || Ft("$t("), this.nestingSuffix = n.nestingSuffix ? Ft(n.nestingSuffix) : n.nestingSuffixEscaped || Ft(")"), this.nestingOptionsSeparator = n.nestingOptionsSeparator ? n.nestingOptionsSeparator : n.nestingOptionsSeparator || ",", this.maxReplaces = n.maxReplaces ? n.maxReplaces : 1e3, this.alwaysFormat = n.alwaysFormat !== void 0 ? n.alwaysFormat : !1, this.resetRegExp();
7338
7338
  }
7339
7339
  reset() {
7340
7340
  this.options && this.init(this.options);
@@ -7459,7 +7459,7 @@ function Lm(e) {
7459
7459
  formatOptions: n
7460
7460
  };
7461
7461
  }
7462
- function Ft(e) {
7462
+ function Ht(e) {
7463
7463
  const t = {};
7464
7464
  return function(i, r, l) {
7465
7465
  const o = r + JSON.stringify(l);
@@ -7470,33 +7470,33 @@ function Ft(e) {
7470
7470
  class Xm {
7471
7471
  constructor() {
7472
7472
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7473
- this.logger = je.create("formatter"), this.options = t, this.formats = {
7474
- number: Ft((n, i) => {
7473
+ this.logger = Fe.create("formatter"), this.options = t, this.formats = {
7474
+ number: Ht((n, i) => {
7475
7475
  const r = new Intl.NumberFormat(n, {
7476
7476
  ...i
7477
7477
  });
7478
7478
  return (l) => r.format(l);
7479
7479
  }),
7480
- currency: Ft((n, i) => {
7480
+ currency: Ht((n, i) => {
7481
7481
  const r = new Intl.NumberFormat(n, {
7482
7482
  ...i,
7483
7483
  style: "currency"
7484
7484
  });
7485
7485
  return (l) => r.format(l);
7486
7486
  }),
7487
- datetime: Ft((n, i) => {
7487
+ datetime: Ht((n, i) => {
7488
7488
  const r = new Intl.DateTimeFormat(n, {
7489
7489
  ...i
7490
7490
  });
7491
7491
  return (l) => r.format(l);
7492
7492
  }),
7493
- relativetime: Ft((n, i) => {
7493
+ relativetime: Ht((n, i) => {
7494
7494
  const r = new Intl.RelativeTimeFormat(n, {
7495
7495
  ...i
7496
7496
  });
7497
7497
  return (l) => r.format(l, i.range || "day");
7498
7498
  }),
7499
- list: Ft((n, i) => {
7499
+ list: Ht((n, i) => {
7500
7500
  const r = new Intl.ListFormat(n, {
7501
7501
  ...i
7502
7502
  });
@@ -7514,7 +7514,7 @@ class Xm {
7514
7514
  this.formats[t.toLowerCase().trim()] = n;
7515
7515
  }
7516
7516
  addCached(t, n) {
7517
- this.formats[t.toLowerCase().trim()] = Ft(n);
7517
+ this.formats[t.toLowerCase().trim()] = Ht(n);
7518
7518
  }
7519
7519
  format(t, n, i) {
7520
7520
  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
@@ -7545,10 +7545,10 @@ class Xm {
7545
7545
  function Gm(e, t) {
7546
7546
  e.pending[t] !== void 0 && (delete e.pending[t], e.pendingCount--);
7547
7547
  }
7548
- class Ym extends Vr {
7548
+ class Ym extends Kr {
7549
7549
  constructor(t, n, i) {
7550
7550
  let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
7551
- super(), this.backend = t, this.store = n, this.services = i, this.languageUtils = i.languageUtils, this.options = r, this.logger = je.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = r.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5, this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350, this.state = {}, this.queue = [], this.backend && this.backend.init && this.backend.init(i, r.backend, r);
7551
+ super(), this.backend = t, this.store = n, this.services = i, this.languageUtils = i.languageUtils, this.options = r, this.logger = Fe.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = r.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5, this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350, this.state = {}, this.queue = [], this.backend && this.backend.init && this.backend.init(i, r.backend, r);
7552
7552
  }
7553
7553
  queueLoad(t, n, i, r) {
7554
7554
  const l = {}, o = {}, s = {}, u = {};
@@ -7741,17 +7741,17 @@ function Xu() {
7741
7741
  function Gu(e) {
7742
7742
  return typeof e.ns == "string" && (e.ns = [e.ns]), typeof e.fallbackLng == "string" && (e.fallbackLng = [e.fallbackLng]), typeof e.fallbackNS == "string" && (e.fallbackNS = [e.fallbackNS]), e.supportedLngs && e.supportedLngs.indexOf("cimode") < 0 && (e.supportedLngs = e.supportedLngs.concat(["cimode"])), e;
7743
7743
  }
7744
- function Si() {
7744
+ function ki() {
7745
7745
  }
7746
7746
  function Nm(e) {
7747
7747
  Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((n) => {
7748
7748
  typeof e[n] == "function" && (e[n] = e[n].bind(e));
7749
7749
  });
7750
7750
  }
7751
- class li extends Vr {
7751
+ class li extends Kr {
7752
7752
  constructor() {
7753
7753
  let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0;
7754
- if (super(), this.options = Gu(t), this.services = {}, this.logger = je, this.modules = {
7754
+ if (super(), this.options = Gu(t), this.services = {}, this.logger = Fe, this.modules = {
7755
7755
  external: []
7756
7756
  }, Nm(this), n && !this.isInitialized && !t.isClone) {
7757
7757
  if (!this.options.initImmediate)
@@ -7778,13 +7778,13 @@ class li extends Vr {
7778
7778
  return g ? typeof g == "function" ? new g() : g : null;
7779
7779
  }
7780
7780
  if (!this.options.isClone) {
7781
- this.modules.logger ? je.init(l(this.modules.logger), this.options) : je.init(null, this.options);
7781
+ this.modules.logger ? Fe.init(l(this.modules.logger), this.options) : Fe.init(null, this.options);
7782
7782
  let g;
7783
7783
  this.modules.formatter ? g = this.modules.formatter : typeof Intl < "u" && (g = Xm);
7784
- const m = new wu(this.options);
7784
+ const m = new vu(this.options);
7785
7785
  this.store = new Zu(this.options.resources, this.options);
7786
7786
  const c = this.services;
7787
- c.logger = je, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new wm(m, {
7787
+ c.logger = Fe, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new vm(m, {
7788
7788
  prepend: this.options.pluralSeparator,
7789
7789
  compatibilityJSON: this.options.compatibilityJSON,
7790
7790
  simplifyPluralSuffix: this.options.simplifyPluralSuffix
@@ -7802,7 +7802,7 @@ class li extends Vr {
7802
7802
  I.init && I.init(this);
7803
7803
  });
7804
7804
  }
7805
- if (this.format = this.options.interpolation.format, i || (i = Si), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
7805
+ if (this.format = this.options.interpolation.format, i || (i = ki), this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
7806
7806
  const g = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
7807
7807
  g.length > 0 && g[0] !== "dev" && (this.options.lng = g[0]);
7808
7808
  }
@@ -7826,7 +7826,7 @@ class li extends Vr {
7826
7826
  return this.options.resources || !this.options.initImmediate ? a() : setTimeout(a, 0), u;
7827
7827
  }
7828
7828
  loadResources(t) {
7829
- let i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Si;
7829
+ let i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ki;
7830
7830
  const r = typeof t == "string" ? t : this.language;
7831
7831
  if (typeof t == "function" && (i = t), !this.options.resources || this.options.partialBundledLanguages) {
7832
7832
  if (r && r.toLowerCase() === "cimode" && (!this.options.preload || this.options.preload.length === 0))
@@ -7846,7 +7846,7 @@ class li extends Vr {
7846
7846
  }
7847
7847
  reloadResources(t, n, i) {
7848
7848
  const r = Ln();
7849
- return t || (t = this.languages), n || (n = this.options.ns), i || (i = Si), this.services.backendConnector.reload(t, n, (l) => {
7849
+ return t || (t = this.languages), n || (n = this.options.ns), i || (i = ki), this.services.backendConnector.reload(t, n, (l) => {
7850
7850
  r.resolve(), i(l);
7851
7851
  }), r;
7852
7852
  }
@@ -7956,7 +7956,7 @@ class li extends Vr {
7956
7956
  dir(t) {
7957
7957
  if (t || (t = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language)), !t)
7958
7958
  return "rtl";
7959
- const n = ["ar", "shu", "sqr", "ssh", "xaa", "yhd", "yud", "aao", "abh", "abv", "acm", "acq", "acw", "acx", "acy", "adf", "ads", "aeb", "aec", "afb", "ajp", "apc", "apd", "arb", "arq", "ars", "ary", "arz", "auz", "avl", "ayh", "ayl", "ayn", "ayp", "bbz", "pga", "he", "iw", "ps", "pbt", "pbu", "pst", "prp", "prd", "ug", "ur", "ydd", "yds", "yih", "ji", "yi", "hbo", "men", "xmn", "fa", "jpr", "peo", "pes", "prs", "dv", "sam", "ckb"], i = this.services && this.services.languageUtils || new wu(Xu());
7959
+ const n = ["ar", "shu", "sqr", "ssh", "xaa", "yhd", "yud", "aao", "abh", "abv", "acm", "acq", "acw", "acx", "acy", "adf", "ads", "aeb", "aec", "afb", "ajp", "apc", "apd", "arb", "arq", "ars", "ary", "arz", "auz", "avl", "ayh", "ayl", "ayn", "ayp", "bbz", "pga", "he", "iw", "ps", "pbt", "pbu", "pst", "prp", "prd", "ug", "ur", "ydd", "yds", "yih", "ji", "yi", "hbo", "men", "xmn", "fa", "jpr", "peo", "pes", "prs", "dv", "sam", "ckb"], i = this.services && this.services.languageUtils || new vu(Xu());
7960
7960
  return n.indexOf(i.getLanguagePartFromCode(t)) > -1 || t.toLowerCase().indexOf("-arab") > 1 ? "rtl" : "ltr";
7961
7961
  }
7962
7962
  static createInstance() {
@@ -7964,7 +7964,7 @@ class li extends Vr {
7964
7964
  return new li(t, n);
7965
7965
  }
7966
7966
  cloneInstance() {
7967
- let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Si;
7967
+ let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ki;
7968
7968
  const i = t.forkResourceStore;
7969
7969
  i && delete t.forkResourceStore;
7970
7970
  const r = {
@@ -8024,7 +8024,7 @@ function oi(e) {
8024
8024
  return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
8025
8025
  }, oi(e);
8026
8026
  }
8027
- function Sm(e, t) {
8027
+ function km(e, t) {
8028
8028
  if (oi(e) !== "object" || e === null)
8029
8029
  return e;
8030
8030
  var n = e[Symbol.toPrimitive];
@@ -8036,14 +8036,14 @@ function Sm(e, t) {
8036
8036
  }
8037
8037
  return (t === "string" ? String : Number)(e);
8038
8038
  }
8039
- function km(e) {
8040
- var t = Sm(e, "string");
8039
+ function Sm(e) {
8040
+ var t = km(e, "string");
8041
8041
  return oi(t) === "symbol" ? t : String(t);
8042
8042
  }
8043
8043
  function Yu(e, t) {
8044
8044
  for (var n = 0; n < t.length; n++) {
8045
8045
  var i = t[n];
8046
- i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, km(i.key), i);
8046
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, Sm(i.key), i);
8047
8047
  }
8048
8048
  }
8049
8049
  function Bm(e, t, n) {
@@ -8051,9 +8051,9 @@ function Bm(e, t, n) {
8051
8051
  writable: !1
8052
8052
  }), e;
8053
8053
  }
8054
- var qc = [], Rm = qc.forEach, Vm = qc.slice;
8055
- function Km(e) {
8056
- return Rm.call(Vm.call(arguments, 1), function(t) {
8054
+ var qc = [], Rm = qc.forEach, Km = qc.slice;
8055
+ function Vm(e) {
8056
+ return Rm.call(Km.call(arguments, 1), function(t) {
8057
8057
  if (t)
8058
8058
  for (var n in t)
8059
8059
  e[n] === void 0 && (e[n] = t[n]);
@@ -8137,7 +8137,7 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8137
8137
  cacheUserLanguage: function(t, n) {
8138
8138
  n.lookupCookie && typeof document < "u" && Au.create(n.lookupCookie, t, n.cookieMinutes, n.cookieDomain, n.cookieOptions);
8139
8139
  }
8140
- }, Hm = {
8140
+ }, jm = {
8141
8141
  name: "querystring",
8142
8142
  lookup: function(t) {
8143
8143
  var n;
@@ -8154,7 +8154,7 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8154
8154
  }
8155
8155
  return n;
8156
8156
  }
8157
- }, Xn = null, Su = function() {
8157
+ }, Xn = null, ku = function() {
8158
8158
  if (Xn !== null)
8159
8159
  return Xn;
8160
8160
  try {
@@ -8165,20 +8165,20 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8165
8165
  Xn = !1;
8166
8166
  }
8167
8167
  return Xn;
8168
- }, jm = {
8168
+ }, Fm = {
8169
8169
  name: "localStorage",
8170
8170
  lookup: function(t) {
8171
8171
  var n;
8172
- if (t.lookupLocalStorage && Su()) {
8172
+ if (t.lookupLocalStorage && ku()) {
8173
8173
  var i = window.localStorage.getItem(t.lookupLocalStorage);
8174
8174
  i && (n = i);
8175
8175
  }
8176
8176
  return n;
8177
8177
  },
8178
8178
  cacheUserLanguage: function(t, n) {
8179
- n.lookupLocalStorage && Su() && window.localStorage.setItem(n.lookupLocalStorage, t);
8179
+ n.lookupLocalStorage && ku() && window.localStorage.setItem(n.lookupLocalStorage, t);
8180
8180
  }
8181
- }, Gn = null, ku = function() {
8181
+ }, Gn = null, Su = function() {
8182
8182
  if (Gn !== null)
8183
8183
  return Gn;
8184
8184
  try {
@@ -8189,18 +8189,18 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8189
8189
  Gn = !1;
8190
8190
  }
8191
8191
  return Gn;
8192
- }, Fm = {
8192
+ }, Hm = {
8193
8193
  name: "sessionStorage",
8194
8194
  lookup: function(t) {
8195
8195
  var n;
8196
- if (t.lookupSessionStorage && ku()) {
8196
+ if (t.lookupSessionStorage && Su()) {
8197
8197
  var i = window.sessionStorage.getItem(t.lookupSessionStorage);
8198
8198
  i && (n = i);
8199
8199
  }
8200
8200
  return n;
8201
8201
  },
8202
8202
  cacheUserLanguage: function(t, n) {
8203
- n.lookupSessionStorage && ku() && window.sessionStorage.setItem(n.lookupSessionStorage, t);
8203
+ n.lookupSessionStorage && Su() && window.sessionStorage.setItem(n.lookupSessionStorage, t);
8204
8204
  }
8205
8205
  }, zm = {
8206
8206
  name: "navigator",
@@ -8220,7 +8220,7 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8220
8220
  var n, i = t.htmlTag || (typeof document < "u" ? document.documentElement : null);
8221
8221
  return i && typeof i.getAttribute == "function" && (n = i.getAttribute("lang")), n;
8222
8222
  }
8223
- }, Tm = {
8223
+ }, Dm = {
8224
8224
  name: "path",
8225
8225
  lookup: function(t) {
8226
8226
  var n;
@@ -8236,7 +8236,7 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8236
8236
  }
8237
8237
  return n;
8238
8238
  }
8239
- }, Dm = {
8239
+ }, Jm = {
8240
8240
  name: "subdomain",
8241
8241
  lookup: function(t) {
8242
8242
  var n = typeof t.lookupFromSubdomainIndex == "number" ? t.lookupFromSubdomainIndex + 1 : 1, i = typeof window < "u" && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);
@@ -8244,7 +8244,7 @@ var Nu = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Om = function(t, n, i) {
8244
8244
  return i[n];
8245
8245
  }
8246
8246
  };
8247
- function Jm() {
8247
+ function Tm() {
8248
8248
  return {
8249
8249
  order: ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"],
8250
8250
  lookupQuerystring: "lng",
@@ -8272,9 +8272,9 @@ var ed = /* @__PURE__ */ function() {
8272
8272
  var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
8273
8273
  this.services = n || {
8274
8274
  languageUtils: {}
8275
- }, this.options = Km(i, this.options || {}, Jm()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(l) {
8275
+ }, this.options = Vm(i, this.options || {}, Tm()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(l) {
8276
8276
  return l.replace("-", "_");
8277
- }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(Mm), this.addDetector(Hm), this.addDetector(jm), this.addDetector(Fm), this.addDetector(zm), this.addDetector(xm), this.addDetector(Tm), this.addDetector(Dm);
8277
+ }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(Mm), this.addDetector(jm), this.addDetector(Fm), this.addDetector(Hm), this.addDetector(zm), this.addDetector(xm), this.addDetector(Dm), this.addDetector(Jm);
8278
8278
  }
8279
8279
  }, {
8280
8280
  key: "addDetector",
@@ -8360,7 +8360,7 @@ const Qm = "Se connecter", Em = "Se déconnecter", Um = "Gérer le profil", Pm =
8360
8360
  payment: yf,
8361
8361
  giftCards: bf
8362
8362
  };
8363
- oe.use(ed).use(Vd).init({
8363
+ oe.use(ed).use(Kd).init({
8364
8364
  detection: { order: ["htmlTag", "navigator"] },
8365
8365
  debug: !1,
8366
8366
  supportedLngs: ["nl", "fr"],
@@ -8373,17 +8373,17 @@ oe.use(ed).use(Vd).init({
8373
8373
  fallbackLng: "nl",
8374
8374
  interpolation: { escapeValue: !1 }
8375
8375
  }).catch((e) => console.error(e));
8376
- const vf = ({ apiUrl: e, redirectUrl: t, trackingInfo: n }) => {
8376
+ const wf = ({ apiUrl: e, redirectUrl: t, trackingInfo: n }) => {
8377
8377
  const i = new URLSearchParams({ redirectUrl: t });
8378
8378
  n && i.append("trackingInfo", n);
8379
8379
  const r = `${e}/login?${i.toString()}`, l = `${e}/logout?${i.toString()}`;
8380
8380
  return { loginUrl: r, logoutUrl: l };
8381
- }, wf = (e) => {
8381
+ }, vf = (e) => {
8382
8382
  const t = document.createElement("link");
8383
8383
  return t.rel = "stylesheet", t.href = e, t;
8384
8384
  }, Wf = (e) => {
8385
8385
  [um, am, ng, sm].forEach((t) => {
8386
- const n = wf(t);
8386
+ const n = vf(t);
8387
8387
  return e.prepend(n);
8388
8388
  });
8389
8389
  };
@@ -8392,9 +8392,9 @@ class Lf extends HTMLElement {
8392
8392
  async connectedCallback() {
8393
8393
  const t = this.attachShadow({ mode: "open" });
8394
8394
  Wf(t);
8395
- const n = Pc(t), i = (await import("./App-94ca6f99.mjs")).default;
8395
+ const n = Pc(t), i = (await import("./App-5cbf8f46.mjs")).default;
8396
8396
  n.render(
8397
- /* @__PURE__ */ Fn.jsx(
8397
+ /* @__PURE__ */ Hn.jsx(
8398
8398
  i,
8399
8399
  {
8400
8400
  environment: ro,
@@ -8415,19 +8415,19 @@ const Af = (e) => {
8415
8415
  if (!Object.values(go).includes(e.environment))
8416
8416
  throw new Qd(ro);
8417
8417
  return ro = e.environment, oo = e.apiUrl, lo = e.redirectUrl ?? window.location.href, td = e.position ?? "right", nd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", Lf), { loginWithXtra: () => {
8418
- const { loginUrl: i } = vf({ apiUrl: oo, redirectUrl: lo });
8418
+ const { loginUrl: i } = wf({ apiUrl: oo, redirectUrl: lo });
8419
8419
  window.location.replace(i);
8420
8420
  } };
8421
8421
  };
8422
8422
  export {
8423
8423
  Xf as E,
8424
8424
  eg as P,
8425
- Du as a,
8425
+ Ju as a,
8426
8426
  Gf as b,
8427
8427
  Yf as c,
8428
8428
  Af as d,
8429
- vf as g,
8430
- Fn as j,
8429
+ wf as g,
8430
+ Hn as j,
8431
8431
  x as r,
8432
8432
  Nf as u
8433
8433
  };