bry-biometric-collector 2.2.17-RC01 → 2.2.17

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,1280 +0,0 @@
1
- import { aK as Te, S as ae, q as ie, r as se, t as oe, w as D, P as Z, x as R, y as Y, B as x, $ as G, T as Q, ab as X, C as ne, O as te, bb as T, bc as le, bd as ue, E as v, H as V, I as j, J as _, N as g, be as p, aV as L, G as E, bf as C, K as A, L as P, bg as W, M as S, bh as me, aF as q, W as ce, D as H, aW as pe, aX as Ce, b0 as F, aY as Re, a_ as Ye, b1 as xe, bi as Ne, X as re, ai as Me, ba as fe, b5 as De, bj as B } from "./main_ee4a3972_2.2.17-RC01.js";
2
- var U = /* @__PURE__ */ ((l) => (l.OK = "OK", l.DEVICE_NOT_FOUND_ERROR = "DEVICE_NOT_FOUND_ERROR", l.CAMERA_DENIED_ERROR = "CAMERA_DENIED_ERROR", l.CAMERA_IN_USE_ERROR = "CAMERA_IN_USE_ERROR", l.CAMERA_CLOSED_ERROR = "CAMERA_CLOSED_ERROR", l.CAMERA_UNSUPPORTED = "CAMERA_UNSUPPORTED", l.CAMERA_ORIENTATION_PORTRAIT = "CAMERA_ORIENTATION_PORTRAIT", l.CAMERA_ORIENTATION_LANDSCAPE = "CAMERA_ORIENTATION_LANDSCAPE", l))(U || {});
3
- const $ = Te(
4
- "OK"
5
- /* OK */
6
- ), y = "src/lib/faceTab/cameraStatus/CameraStatus.svelte";
7
- function je(l) {
8
- let e, t, s, i, c = (
9
- /*$_*/
10
- l[2]("cameraStatus.deviceMustBeInLandscape") + ""
11
- ), r, u, o, n = (
12
- /*$_*/
13
- l[2]("cameraStatus.rotateDeviceOrPressButton") + ""
14
- ), N, h, d, z = (
15
- /*$_*/
16
- l[2]("cameraStatus.adjustOrientation") + ""
17
- ), w, f, m, b = [
18
- { class: "text-[8em] mx-auto" },
19
- { xmlns: "http://www.w3.org/2000/svg" },
20
- { width: "1em" },
21
- { height: "1em" },
22
- { viewBox: "0 0 24 24" },
23
- /*$$props*/
24
- l[5]
25
- ], k = {};
26
- for (let I = 0; I < b.length; I += 1)
27
- k = T(k, b[I]);
28
- const O = {
29
- c: function() {
30
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M9 1H3a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2m0 14H3V3h6zm12-2h-8v2h8v6H9v-1H6v1a2 2 0 0 0 2 2h13a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2m2-3l-4-2l1.91-.91A7.52 7.52 0 0 0 14 2.5V1a9 9 0 0 1 9 9"), _(t, y, 181, 6, 8374), C(e, k), _(e, y, 173, 4, 8201), j(i, "class", "text-xl font-bold text-center"), _(i, y, 186, 4, 8654), j(o, "class", "m-auto text-base block text-center"), _(o, y, 187, 4, 8754), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 188, 4, 8861);
31
- },
32
- m: function(a, M) {
33
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
34
- d,
35
- "click",
36
- /*click_handler_6*/
37
- l[12],
38
- !1,
39
- !1,
40
- !1,
41
- !1
42
- ), f = !0);
43
- },
44
- p: function(a, M) {
45
- C(e, k = W(b, [
46
- { class: "text-[8em] mx-auto" },
47
- { xmlns: "http://www.w3.org/2000/svg" },
48
- { width: "1em" },
49
- { height: "1em" },
50
- { viewBox: "0 0 24 24" },
51
- M & /*$$props*/
52
- 32 && /*$$props*/
53
- a[5]
54
- ])), M & /*$_*/
55
- 4 && c !== (c = /*$_*/
56
- a[2]("cameraStatus.deviceMustBeInLandscape") + "") && S(r, c), M & /*$_*/
57
- 4 && n !== (n = /*$_*/
58
- a[2]("cameraStatus.rotateDeviceOrPressButton") + "") && S(N, n), M & /*$_*/
59
- 4 && z !== (z = /*$_*/
60
- a[2]("cameraStatus.adjustOrientation") + "") && S(w, z);
61
- },
62
- d: function(a) {
63
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
64
- }
65
- };
66
- return R("SvelteRegisterBlock", {
67
- block: O,
68
- id: je.name,
69
- type: "if",
70
- source: "(172:115) ",
71
- ctx: l
72
- }), O;
73
- }
74
- function ge(l) {
75
- let e, t, s, i, c = (
76
- /*$_*/
77
- l[2]("cameraStatus.deviceMustBeInPortrait") + ""
78
- ), r, u, o, n = (
79
- /*$_*/
80
- l[2]("cameraStatus.rotateDeviceOrPressButton") + ""
81
- ), N, h, d, z = (
82
- /*$_*/
83
- l[2]("cameraStatus.adjustOrientation") + ""
84
- ), w, f, m, b = [
85
- { class: "text-[8em] mx-auto" },
86
- { xmlns: "http://www.w3.org/2000/svg" },
87
- { width: "1em" },
88
- { height: "1em" },
89
- { viewBox: "0 0 24 24" },
90
- /*$$props*/
91
- l[5]
92
- ], k = {};
93
- for (let I = 0; I < b.length; I += 1)
94
- k = T(k, b[I]);
95
- const O = {
96
- c: function() {
97
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M9 1H3a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h1v-3H3V3h6v8h2V3a2 2 0 0 0-2-2m14 20v-6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h13a2 2 0 0 0 2-2M9 21v-6h12v6zm14-11h-1.5c0-3-1.81-5.73-4.58-6.91L16 5l-2-4a9 9 0 0 1 9 9"), _(t, y, 157, 6, 7318), C(e, k), _(e, y, 149, 4, 7145), j(i, "class", "text-xl font-bold text-center"), _(i, y, 162, 4, 7602), j(o, "class", "m-auto text-base block text-center"), _(o, y, 163, 4, 7701), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 164, 4, 7808);
98
- },
99
- m: function(a, M) {
100
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
101
- d,
102
- "click",
103
- /*click_handler_5*/
104
- l[11],
105
- !1,
106
- !1,
107
- !1,
108
- !1
109
- ), f = !0);
110
- },
111
- p: function(a, M) {
112
- C(e, k = W(b, [
113
- { class: "text-[8em] mx-auto" },
114
- { xmlns: "http://www.w3.org/2000/svg" },
115
- { width: "1em" },
116
- { height: "1em" },
117
- { viewBox: "0 0 24 24" },
118
- M & /*$$props*/
119
- 32 && /*$$props*/
120
- a[5]
121
- ])), M & /*$_*/
122
- 4 && c !== (c = /*$_*/
123
- a[2]("cameraStatus.deviceMustBeInPortrait") + "") && S(r, c), M & /*$_*/
124
- 4 && n !== (n = /*$_*/
125
- a[2]("cameraStatus.rotateDeviceOrPressButton") + "") && S(N, n), M & /*$_*/
126
- 4 && z !== (z = /*$_*/
127
- a[2]("cameraStatus.adjustOrientation") + "") && S(w, z);
128
- },
129
- d: function(a) {
130
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
131
- }
132
- };
133
- return R("SvelteRegisterBlock", {
134
- block: O,
135
- id: ge.name,
136
- type: "if",
137
- source: "(148:110) ",
138
- ctx: l
139
- }), O;
140
- }
141
- function Ie(l) {
142
- let e, t, s, i, c = (
143
- /*$_*/
144
- l[2]("cameraStatus.cameraNotSupported") + ""
145
- ), r, u, o, n = (
146
- /*$_*/
147
- l[2]("cameraStatus.connectAnotherCamera") + ""
148
- ), N, h, d, z = (
149
- /*$_*/
150
- l[2]("cameraStatus.restart") + ""
151
- ), w, f, m, b = [
152
- { class: "text-[8em] mx-auto" },
153
- { xmlns: "http://www.w3.org/2000/svg" },
154
- { width: "1em" },
155
- { height: "1em" },
156
- { viewBox: "0 0 256 256" },
157
- /*$$props*/
158
- l[5]
159
- ], k = {};
160
- for (let I = 0; I < b.length; I += 1)
161
- k = T(k, b[I]);
162
- const O = {
163
- c: function() {
164
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M249.45 69.31a12 12 0 0 0-12.51 1L212 88.43V72a20 20 0 0 0-20-20h-68.12a12 12 0 0 0 0 24H188v68a12 12 0 0 0 4.46 9.33c.15.13.31.25.48.38l44 32A12 12 0 0 0 256 176V80a12 12 0 0 0-6.55-10.69M232 152.43l-20-14.54v-19.78l20-14.54ZM56.88 31.93a12 12 0 1 0-17.76 16.14L42.69 52H32a20 20 0 0 0-20 20v112a20 20 0 0 0 20 20h148.87l18.25 20.07a12 12 0 0 0 17.76-16.14ZM36 180V76h28.51l94.55 104Z"), _(t, y, 134, 6, 6151), C(e, k), _(e, y, 126, 4, 5976), j(i, "class", "text-xl font-bold text-center"), _(i, y, 139, 4, 6607), j(o, "class", "m-auto text-base block text-center"), _(o, y, 140, 4, 6702), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 141, 4, 6804);
165
- },
166
- m: function(a, M) {
167
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
168
- d,
169
- "click",
170
- /*click_handler_4*/
171
- l[10],
172
- !1,
173
- !1,
174
- !1,
175
- !1
176
- ), f = !0);
177
- },
178
- p: function(a, M) {
179
- C(e, k = W(b, [
180
- { class: "text-[8em] mx-auto" },
181
- { xmlns: "http://www.w3.org/2000/svg" },
182
- { width: "1em" },
183
- { height: "1em" },
184
- { viewBox: "0 0 256 256" },
185
- M & /*$$props*/
186
- 32 && /*$$props*/
187
- a[5]
188
- ])), M & /*$_*/
189
- 4 && c !== (c = /*$_*/
190
- a[2]("cameraStatus.cameraNotSupported") + "") && S(r, c), M & /*$_*/
191
- 4 && n !== (n = /*$_*/
192
- a[2]("cameraStatus.connectAnotherCamera") + "") && S(N, n), M & /*$_*/
193
- 4 && z !== (z = /*$_*/
194
- a[2]("cameraStatus.restart") + "") && S(w, z);
195
- },
196
- d: function(a) {
197
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
198
- }
199
- };
200
- return R("SvelteRegisterBlock", {
201
- block: O,
202
- id: Ie.name,
203
- type: "if",
204
- source: "(125:71) ",
205
- ctx: l
206
- }), O;
207
- }
208
- function _e(l) {
209
- let e, t, s, i, c = (
210
- /*$_*/
211
- l[2]("cameraStatus.stayOnSameTab") + ""
212
- ), r, u, o, n = (
213
- /*$_*/
214
- l[2]("cameraStatus.clickRestartToRecapture") + ""
215
- ), N, h, d, z = (
216
- /*$_*/
217
- l[2]("cameraStatus.restart") + ""
218
- ), w, f, m, b = [
219
- { class: "text-[8em] mx-auto" },
220
- { xmlns: "http://www.w3.org/2000/svg" },
221
- { width: "1em" },
222
- { height: "1em" },
223
- { viewBox: "0 0 256 256" },
224
- /*$$props*/
225
- l[5]
226
- ], k = {};
227
- for (let I = 0; I < b.length; I += 1)
228
- k = T(k, b[I]);
229
- const O = {
230
- c: function() {
231
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M236.8 188.09L149.35 36.22a24.76 24.76 0 0 0-42.7 0L19.2 188.09a23.51 23.51 0 0 0 0 23.72A24.35 24.35 0 0 0 40.55 224h174.9a24.35 24.35 0 0 0 21.33-12.19a23.51 23.51 0 0 0 .02-23.72m-13.87 15.71a8.5 8.5 0 0 1-7.48 4.2H40.55a8.5 8.5 0 0 1-7.48-4.2a7.59 7.59 0 0 1 0-7.72l87.45-151.87a8.75 8.75 0 0 1 15 0l87.45 151.87a7.59 7.59 0 0 1-.04 7.72M120 144v-40a8 8 0 0 1 16 0v40a8 8 0 0 1-16 0m20 36a12 12 0 1 1-12-12a12 12 0 0 1 12 12"), _(t, y, 111, 6, 4980), C(e, k), _(e, y, 103, 4, 4805), j(i, "class", "text-xl font-bold text-center"), _(i, y, 116, 4, 5479), j(o, "class", "m-auto text-base block text-center"), _(o, y, 117, 4, 5569), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 118, 4, 5674);
232
- },
233
- m: function(a, M) {
234
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
235
- d,
236
- "click",
237
- /*click_handler_3*/
238
- l[9],
239
- !1,
240
- !1,
241
- !1,
242
- !1
243
- ), f = !0);
244
- },
245
- p: function(a, M) {
246
- C(e, k = W(b, [
247
- { class: "text-[8em] mx-auto" },
248
- { xmlns: "http://www.w3.org/2000/svg" },
249
- { width: "1em" },
250
- { height: "1em" },
251
- { viewBox: "0 0 256 256" },
252
- M & /*$$props*/
253
- 32 && /*$$props*/
254
- a[5]
255
- ])), M & /*$_*/
256
- 4 && c !== (c = /*$_*/
257
- a[2]("cameraStatus.stayOnSameTab") + "") && S(r, c), M & /*$_*/
258
- 4 && n !== (n = /*$_*/
259
- a[2]("cameraStatus.clickRestartToRecapture") + "") && S(N, n), M & /*$_*/
260
- 4 && z !== (z = /*$_*/
261
- a[2]("cameraStatus.restart") + "") && S(w, z);
262
- },
263
- d: function(a) {
264
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
265
- }
266
- };
267
- return R("SvelteRegisterBlock", {
268
- block: O,
269
- id: _e.name,
270
- type: "if",
271
- source: "(102:72) ",
272
- ctx: l
273
- }), O;
274
- }
275
- function be(l) {
276
- let e, t, s, i, c = (
277
- /*$_*/
278
- l[2]("cameraStatus.cameraInUse") + ""
279
- ), r, u, o, n = (
280
- /*$_*/
281
- l[2]("cameraStatus.ensureCameraNotInUse") + ""
282
- ), N, h, d, z = (
283
- /*$_*/
284
- l[2]("cameraStatus.restart") + ""
285
- ), w, f, m, b = [
286
- { class: "text-[8em] mx-auto" },
287
- { xmlns: "http://www.w3.org/2000/svg" },
288
- { width: "1em" },
289
- { height: "1em" },
290
- { viewBox: "0 0 256 256" },
291
- /*$$props*/
292
- l[5]
293
- ], k = {};
294
- for (let I = 0; I < b.length; I += 1)
295
- k = T(k, b[I]);
296
- const O = {
297
- c: function() {
298
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M56.88 31.93a12 12 0 1 0-17.76 16.14l4 4.37A28 28 0 0 0 20 80v112a28 28 0 0 0 28 28h147.42l3.7 4.07a12 12 0 0 0 17.76-16.14Zm49.35 90L136 154.64a24 24 0 0 1-29.77-32.75ZM48 196a4 4 0 0 1-4-4V80a4 4 0 0 1 4-4h16.51l24.92 27.41a48 48 0 0 0 63.34 69.67L173.6 196ZM236 80v94.14a12 12 0 0 1-24 0V80a4 4 0 0 0-4-4h-32a12 12 0 0 1-10-5.34L153.57 52h-51.51a12 12 0 0 1 0-24H160a12 12 0 0 1 10 5.34L182.42 52H208a28 28 0 0 1 28 28"), _(t, y, 83, 6, 3729), C(e, k), _(e, y, 75, 4, 3554), j(i, "class", "text-xl font-bold text-center"), _(i, y, 88, 4, 4221), j(o, "class", "m-auto text-base block text-center"), _(o, y, 89, 4, 4309), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 92, 4, 4423);
299
- },
300
- m: function(a, M) {
301
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
302
- d,
303
- "click",
304
- /*click_handler_2*/
305
- l[8],
306
- !1,
307
- !1,
308
- !1,
309
- !1
310
- ), f = !0);
311
- },
312
- p: function(a, M) {
313
- C(e, k = W(b, [
314
- { class: "text-[8em] mx-auto" },
315
- { xmlns: "http://www.w3.org/2000/svg" },
316
- { width: "1em" },
317
- { height: "1em" },
318
- { viewBox: "0 0 256 256" },
319
- M & /*$$props*/
320
- 32 && /*$$props*/
321
- a[5]
322
- ])), M & /*$_*/
323
- 4 && c !== (c = /*$_*/
324
- a[2]("cameraStatus.cameraInUse") + "") && S(r, c), M & /*$_*/
325
- 4 && n !== (n = /*$_*/
326
- a[2]("cameraStatus.ensureCameraNotInUse") + "") && S(N, n), M & /*$_*/
327
- 4 && z !== (z = /*$_*/
328
- a[2]("cameraStatus.restart") + "") && S(w, z);
329
- },
330
- d: function(a) {
331
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
332
- }
333
- };
334
- return R("SvelteRegisterBlock", {
335
- block: O,
336
- id: be.name,
337
- type: "if",
338
- source: "(74:72) ",
339
- ctx: l
340
- }), O;
341
- }
342
- function ze(l) {
343
- let e, t, s, i, c = (
344
- /*$_*/
345
- l[2]("cameraStatus.cameraNotDetected") + ""
346
- ), r, u, o, n = (
347
- /*$_*/
348
- l[2]("cameraStatus.connectCameraAndRestart") + ""
349
- ), N, h, d, z = (
350
- /*$_*/
351
- l[2]("cameraStatus.restart") + ""
352
- ), w, f, m, b = [
353
- { class: "text-[8em] mx-auto" },
354
- { xmlns: "http://www.w3.org/2000/svg" },
355
- { width: "1em" },
356
- { height: "1em" },
357
- { viewBox: "0 0 256 256" },
358
- /*$$props*/
359
- l[5]
360
- ], k = {};
361
- for (let I = 0; I < b.length; I += 1)
362
- k = T(k, b[I]);
363
- const O = {
364
- c: function() {
365
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "m137 168l11.52-11.51a12 12 0 0 0-17-17L120 151l-15-15l11.52-11.51a12 12 0 0 0-17-17L88 119l-15.51-15.49a12 12 0 0 0-17 17L59 124l-20.46 20.49a36 36 0 0 0 0 50.91l2.55 2.54l-25.58 25.57a12 12 0 0 0 17 17l25.57-25.58l2.54 2.55a36.06 36.06 0 0 0 50.91 0L132 197l3.51 3.52a12 12 0 0 0 17-17Zm-42.46 32.49a12 12 0 0 1-17 0l-22.03-22.06a12 12 0 0 1 0-17L76 141l39 39Zm146-185a12 12 0 0 0-17 0l-25.6 25.6l-2.54-2.55a36.05 36.05 0 0 0-50.91 0L124 59l-3.51-3.52a12 12 0 0 0-17 17l80 80a12 12 0 0 0 17-17L197 132l20.49-20.49a36 36 0 0 0 0-50.91l-2.55-2.54l25.58-25.57a12 12 0 0 0-.03-16.98Zm-40 79L180 115l-39-39l20.49-20.49a12 12 0 0 1 17 0l22.06 22.06a12 12 0 0 1 0 17Z"), _(t, y, 54, 6, 2194), C(e, k), _(e, y, 46, 4, 2019), j(i, "class", "text-xl font-bold text-center"), _(i, y, 59, 4, 2926), j(o, "class", "m-auto text-base block text-center"), _(o, y, 60, 4, 3020), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 63, 4, 3137);
366
- },
367
- m: function(a, M) {
368
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
369
- d,
370
- "click",
371
- /*click_handler_1*/
372
- l[7],
373
- !1,
374
- !1,
375
- !1,
376
- !1
377
- ), f = !0);
378
- },
379
- p: function(a, M) {
380
- C(e, k = W(b, [
381
- { class: "text-[8em] mx-auto" },
382
- { xmlns: "http://www.w3.org/2000/svg" },
383
- { width: "1em" },
384
- { height: "1em" },
385
- { viewBox: "0 0 256 256" },
386
- M & /*$$props*/
387
- 32 && /*$$props*/
388
- a[5]
389
- ])), M & /*$_*/
390
- 4 && c !== (c = /*$_*/
391
- a[2]("cameraStatus.cameraNotDetected") + "") && S(r, c), M & /*$_*/
392
- 4 && n !== (n = /*$_*/
393
- a[2]("cameraStatus.connectCameraAndRestart") + "") && S(N, n), M & /*$_*/
394
- 4 && z !== (z = /*$_*/
395
- a[2]("cameraStatus.restart") + "") && S(w, z);
396
- },
397
- d: function(a) {
398
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
399
- }
400
- };
401
- return R("SvelteRegisterBlock", {
402
- block: O,
403
- id: ze.name,
404
- type: "if",
405
- source: "(45:75) ",
406
- ctx: l
407
- }), O;
408
- }
409
- function Ae(l) {
410
- let e, t, s, i, c = (
411
- /*$_*/
412
- l[2]("cameraStatus.cameraPermission") + ""
413
- ), r, u, o, n = (
414
- /*$_*/
415
- l[2]("cameraStatus.clickRestartButton") + ""
416
- ), N, h, d, z = (
417
- /*$_*/
418
- l[2]("cameraStatus.restart") + ""
419
- ), w, f, m, b = [
420
- { class: "text-[8em] mx-auto" },
421
- { xmlns: "http://www.w3.org/2000/svg" },
422
- { width: "1em" },
423
- { height: "1em" },
424
- { viewBox: "0 0 256 256" },
425
- /*$$props*/
426
- l[5]
427
- ], k = {};
428
- for (let I = 0; I < b.length; I += 1)
429
- k = T(k, b[I]);
430
- const O = {
431
- c: function() {
432
- e = p("svg"), t = p("path"), s = L(), i = v("span"), r = E(c), u = L(), o = v("span"), N = E(n), h = L(), d = v("button"), w = E(z), j(t, "fill", "currentColor"), j(t, "d", "M249.45 69.31a12 12 0 0 0-12.51 1L212 88.43V72a20 20 0 0 0-20-20h-68.12a12 12 0 0 0 0 24H188v68a12 12 0 0 0 4.46 9.33c.15.13.31.25.48.38l44 32A12 12 0 0 0 256 176V80a12 12 0 0 0-6.55-10.69M232 152.43l-20-14.54v-19.78l20-14.54ZM56.88 31.93a12 12 0 1 0-17.76 16.14L42.69 52H32a20 20 0 0 0-20 20v112a20 20 0 0 0 20 20h148.87l18.25 20.07a12 12 0 0 0 17.76-16.14ZM36 180V76h28.51l94.55 104Z"), _(t, y, 27, 6, 936), C(e, k), _(e, y, 19, 4, 761), j(i, "class", "text-xl font-bold text-center"), _(i, y, 32, 4, 1392), j(o, "class", "m-auto text-base block text-center"), _(o, y, 33, 4, 1485), j(d, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), _(d, y, 34, 4, 1585);
433
- },
434
- m: function(a, M) {
435
- D(a, e, M), A(e, t), D(a, s, M), D(a, i, M), A(i, r), D(a, u, M), D(a, o, M), A(o, N), D(a, h, M), D(a, d, M), A(d, w), f || (m = P(
436
- d,
437
- "click",
438
- /*click_handler*/
439
- l[6],
440
- !1,
441
- !1,
442
- !1,
443
- !1
444
- ), f = !0);
445
- },
446
- p: function(a, M) {
447
- C(e, k = W(b, [
448
- { class: "text-[8em] mx-auto" },
449
- { xmlns: "http://www.w3.org/2000/svg" },
450
- { width: "1em" },
451
- { height: "1em" },
452
- { viewBox: "0 0 256 256" },
453
- M & /*$$props*/
454
- 32 && /*$$props*/
455
- a[5]
456
- ])), M & /*$_*/
457
- 4 && c !== (c = /*$_*/
458
- a[2]("cameraStatus.cameraPermission") + "") && S(r, c), M & /*$_*/
459
- 4 && n !== (n = /*$_*/
460
- a[2]("cameraStatus.clickRestartButton") + "") && S(N, n), M & /*$_*/
461
- 4 && z !== (z = /*$_*/
462
- a[2]("cameraStatus.restart") + "") && S(w, z);
463
- },
464
- d: function(a) {
465
- a && g(e), a && g(s), a && g(i), a && g(u), a && g(o), a && g(h), a && g(d), f = !1, m();
466
- }
467
- };
468
- return R("SvelteRegisterBlock", {
469
- block: O,
470
- id: Ae.name,
471
- type: "if",
472
- source: "(18:2) {#if $cameraStatusStore === CameraStatusEnum.CAMERA_DENIED_ERROR}",
473
- ctx: l
474
- }), O;
475
- }
476
- function he(l) {
477
- let e;
478
- function t(r, u) {
479
- if (
480
- /*$cameraStatusStore*/
481
- r[1] === U.CAMERA_DENIED_ERROR
482
- )
483
- return Ae;
484
- if (
485
- /*$cameraStatusStore*/
486
- r[1] === U.DEVICE_NOT_FOUND_ERROR
487
- )
488
- return ze;
489
- if (
490
- /*$cameraStatusStore*/
491
- r[1] === U.CAMERA_IN_USE_ERROR
492
- )
493
- return be;
494
- if (
495
- /*$cameraStatusStore*/
496
- r[1] === U.CAMERA_CLOSED_ERROR
497
- )
498
- return _e;
499
- if (
500
- /*$cameraStatusStore*/
501
- r[1] === U.CAMERA_UNSUPPORTED
502
- )
503
- return Ie;
504
- if (
505
- /*$cameraStatusStore*/
506
- r[1] === U.CAMERA_ORIENTATION_PORTRAIT && /*$collectorSelect*/
507
- r[3] == "FACE"
508
- )
509
- return ge;
510
- if (
511
- /*$cameraStatusStore*/
512
- r[1] === U.CAMERA_ORIENTATION_LANDSCAPE && /*$collectorSelect*/
513
- r[3] == "DOCUMENT"
514
- )
515
- return je;
516
- }
517
- let s = t(l), i = s && s(l);
518
- const c = {
519
- c: function() {
520
- e = v("div"), i && i.c(), this.c = V, j(e, "class", "flex flex-col gap-4 justify-center relative overflow-visible p-4"), _(e, y, 14, 0, 559);
521
- },
522
- l: function(u) {
523
- throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
524
- },
525
- m: function(u, o) {
526
- D(u, e, o), i && i.m(e, null);
527
- },
528
- p: function(u, [o]) {
529
- s === (s = t(u)) && i ? i.p(u, o) : (i && i.d(1), i = s && s(u), i && (i.c(), i.m(e, null)));
530
- },
531
- i: V,
532
- o: V,
533
- d: function(u) {
534
- u && g(e), i && i.d();
535
- }
536
- };
537
- return R("SvelteRegisterBlock", {
538
- block: c,
539
- id: he.name,
540
- type: "component",
541
- source: "",
542
- ctx: l
543
- }), c;
544
- }
545
- function Ue(l, e, t) {
546
- let s, i, c, r;
547
- Y($, "cameraStatusStore"), x(l, $, (b) => t(1, s = b)), Y(G, "_"), x(l, G, (b) => t(2, i = b)), Y(Q, "collectorSelect"), x(l, Q, (b) => t(3, c = b)), Y(X, "screenLocked"), x(l, X, (b) => t(4, r = b));
548
- let { $$slots: u = {}, $$scope: o } = e;
549
- ne("camera-status", u, []);
550
- let { handler: n = () => {
551
- } } = e;
552
- (s === U.CAMERA_ORIENTATION_LANDSCAPE || s === U.CAMERA_ORIENTATION_PORTRAIT) && setTimeout(
553
- () => {
554
- te($, s = U.OK, s);
555
- },
556
- 8e3
557
- );
558
- const N = () => {
559
- n(), console.log("canicna", n);
560
- }, h = () => {
561
- n(), console.log("canicna", n);
562
- }, d = () => {
563
- n(), console.log("canicna", n);
564
- }, z = () => {
565
- n();
566
- }, w = () => {
567
- n();
568
- }, f = () => {
569
- te(X, r = !0, r), ue(!0);
570
- }, m = () => {
571
- te(X, r = !0, r), ue(!1);
572
- };
573
- return l.$$set = (b) => {
574
- t(5, e = T(T({}, e), le(b))), "handler" in b && t(0, n = b.handler);
575
- }, l.$capture_state = () => ({
576
- handler: n,
577
- CameraStatusEnum: U,
578
- cameraStatusStore: $,
579
- lockScreen: ue,
580
- collectorSelect: Q,
581
- screenLocked: X,
582
- _: G,
583
- $cameraStatusStore: s,
584
- $_: i,
585
- $collectorSelect: c,
586
- $screenLocked: r
587
- }), l.$inject_state = (b) => {
588
- t(5, e = T(T({}, e), b)), "handler" in e && t(0, n = b.handler);
589
- }, e && "$$inject" in e && l.$inject_state(e.$$inject), e = le(e), [
590
- n,
591
- s,
592
- i,
593
- c,
594
- r,
595
- e,
596
- N,
597
- h,
598
- d,
599
- z,
600
- w,
601
- f,
602
- m
603
- ];
604
- }
605
- class Be extends ae {
606
- constructor(e) {
607
- super(), ie(
608
- this,
609
- {
610
- target: this.shadowRoot,
611
- props: oe(this.attributes),
612
- customElement: !0
613
- },
614
- Ue,
615
- he,
616
- se,
617
- { handler: 0 },
618
- null
619
- ), e && (e.target && D(e.target, this, e.anchor), e.props && (this.$set(e.props), Z()));
620
- }
621
- static get observedAttributes() {
622
- return ["handler"];
623
- }
624
- get handler() {
625
- return this.$$.ctx[0];
626
- }
627
- set handler(e) {
628
- this.$$set({ handler: e }), Z();
629
- }
630
- }
631
- customElements.define("camera-status", Be);
632
- const ee = "src/lib/conf/CameraBtn.svelte";
633
- function we(l) {
634
- let e, t, s, i, c, r, u, o, n, N, h;
635
- e = new me({ $$inline: !0 });
636
- let d = [
637
- { xmlns: "http://www.w3.org/2000/svg" },
638
- { width: "2em" },
639
- { height: "2em" },
640
- { viewBox: "0 0 256 256" },
641
- /*$$props*/
642
- l[3]
643
- ], z = {};
644
- for (let f = 0; f < d.length; f += 1)
645
- z = T(z, d[f]);
646
- const w = {
647
- c: function() {
648
- pe(e.$$.fragment), t = L(), s = v("div"), i = v("label"), c = p("svg"), r = p("path"), this.c = V, j(r, "fill", "hsl(var(--n))"), j(r, "d", "M208 56h-27.72l-13.63-20.44A8 8 0 0 0 160 32H96a8 8 0 0 0-6.65 3.56L75.71 56H48a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h160a24 24 0 0 0 24-24V80a24 24 0 0 0-24-24m-51.19 110.4A48.21 48.21 0 0 1 96 163.77V168a8 8 0 0 1-16 0v-24a8 8 0 0 1 8-8h24a8 8 0 0 1 0 16h-5.15a32.12 32.12 0 0 0 40.34 1.61a8 8 0 0 1 9.62 12.79M176 120a8 8 0 0 1-8 8h-24a8 8 0 0 1 0-16h5.15a32.12 32.12 0 0 0-40.34-1.61a8 8 0 0 1-9.62-12.79a48.21 48.21 0 0 1 60.81 2.63V96a8 8 0 0 1 16 0Z"), _(r, ee, 28, 6, 1199), C(c, z), _(c, ee, 27, 5, 1092), j(i, "tabindex", "0"), i.hidden = u = /*$cameraDevicesStore*/
649
- l[2].length <= 1, j(i, "class", "ce-dui-btn ce-dui-btn-ghost"), _(i, ee, 26, 2, 990), j(s, "class", o = H() && /*$collectorSelect*/
650
- l[1] == "DOCUMENT" ? "ce-dui-dropdown ce-dui-dropdown-top absolute right-10 top-10 translate-y-1/2 z-20 rotate-[-90deg]" : H() && /*$collectorSelect*/
651
- l[1] == "FACE" ? "ce-dui-dropdown ce-dui-dropdown-top absolute z-20 right-2 sm:block bottom-10" : "ce-dui-dropdown ce-dui-dropdown-top absolute z-20 right-2 sm:block bottom-2"), _(s, ee, 13, 0, 432);
652
- },
653
- l: function(m) {
654
- throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
655
- },
656
- m: function(m, b) {
657
- Ce(e, m, b), D(m, t, b), D(m, s, b), A(s, i), A(i, c), A(c, r), n = !0, N || (h = P(
658
- s,
659
- "click",
660
- /*click_handler*/
661
- l[4],
662
- !1,
663
- !1,
664
- !1,
665
- !1
666
- ), N = !0);
667
- },
668
- p: function(m, [b]) {
669
- C(c, z = W(d, [
670
- { xmlns: "http://www.w3.org/2000/svg" },
671
- { width: "2em" },
672
- { height: "2em" },
673
- { viewBox: "0 0 256 256" },
674
- b & /*$$props*/
675
- 8 && /*$$props*/
676
- m[3]
677
- ])), (!n || b & /*$cameraDevicesStore*/
678
- 4 && u !== (u = /*$cameraDevicesStore*/
679
- m[2].length <= 1)) && F(i, "hidden", u), (!n || b & /*$collectorSelect*/
680
- 2 && o !== (o = H() && /*$collectorSelect*/
681
- m[1] == "DOCUMENT" ? "ce-dui-dropdown ce-dui-dropdown-top absolute right-10 top-10 translate-y-1/2 z-20 rotate-[-90deg]" : H() && /*$collectorSelect*/
682
- m[1] == "FACE" ? "ce-dui-dropdown ce-dui-dropdown-top absolute z-20 right-2 sm:block bottom-10" : "ce-dui-dropdown ce-dui-dropdown-top absolute z-20 right-2 sm:block bottom-2")) && j(s, "class", o);
683
- },
684
- i: function(m) {
685
- n || (Re(e.$$.fragment, m), n = !0);
686
- },
687
- o: function(m) {
688
- Ye(e.$$.fragment, m), n = !1;
689
- },
690
- d: function(m) {
691
- xe(e, m), m && g(t), m && g(s), N = !1, h();
692
- }
693
- };
694
- return R("SvelteRegisterBlock", {
695
- block: w,
696
- id: we.name,
697
- type: "component",
698
- source: "",
699
- ctx: l
700
- }), w;
701
- }
702
- function Qe(l, e, t) {
703
- let s, i, c;
704
- Y(q, "swapCamera"), x(l, q, (n) => t(0, s = n)), Y(Q, "collectorSelect"), x(l, Q, (n) => t(1, i = n)), Y(ce, "cameraDevicesStore"), x(l, ce, (n) => t(2, c = n));
705
- let { $$slots: r = {}, $$scope: u } = e;
706
- ne("camera-btn", r, []);
707
- const o = () => {
708
- te(q, s = !s, s);
709
- };
710
- return l.$$set = (n) => {
711
- t(3, e = T(T({}, e), le(n)));
712
- }, l.$capture_state = () => ({
713
- isMobile: H,
714
- swapCamera: q,
715
- ConfModal: me,
716
- cameraDevicesStore: ce,
717
- collectorSelect: Q,
718
- $swapCamera: s,
719
- $collectorSelect: i,
720
- $cameraDevicesStore: c
721
- }), l.$inject_state = (n) => {
722
- t(3, e = T(T({}, e), n));
723
- }, e && "$$inject" in e && l.$inject_state(e.$$inject), e = le(e), [s, i, c, e, o];
724
- }
725
- class Pe extends ae {
726
- constructor(e) {
727
- super(), ie(
728
- this,
729
- {
730
- target: this.shadowRoot,
731
- props: oe(this.attributes),
732
- customElement: !0
733
- },
734
- Qe,
735
- we,
736
- se,
737
- {},
738
- null
739
- ), e && (e.target && D(e.target, this, e.anchor), e.props && (this.$set(e.props), Z()));
740
- }
741
- }
742
- customElements.define("camera-btn", Pe);
743
- const K = "src/lib/faceTab/buttons/capture/takePictureBtn/TakePictureBtn.svelte";
744
- function ye(l) {
745
- let e, t, s = (
746
- /*$_*/
747
- l[5]("faceCollector.capture") + ""
748
- ), i, c, r;
749
- const u = {
750
- c: function() {
751
- e = v("div"), t = v("button"), i = E(s), j(
752
- t,
753
- "id",
754
- /*id*/
755
- l[1]
756
- ), t.disabled = /*disabled*/
757
- l[2], t.hidden = /*hidden*/
758
- l[3], j(t, "class", H() ? "ce-dui-btn ce-dui-btn-primary text-xl pb-[2px] absolute z-20 bottom-10" : "ce-dui-btn ce-dui-btn-primary text-xl pb-[2px] absolute z-20 bottom-2"), _(t, K, 35, 4, 1076), j(e, "class", "flex justify-center items-center"), _(e, K, 34, 2, 1025);
759
- },
760
- m: function(n, N) {
761
- D(n, e, N), A(e, t), A(t, i), c || (r = P(
762
- t,
763
- "click",
764
- /*click_handler_2*/
765
- l[8],
766
- !1,
767
- !1,
768
- !1,
769
- !1
770
- ), c = !0);
771
- },
772
- p: function(n, N) {
773
- N & /*$_*/
774
- 32 && s !== (s = /*$_*/
775
- n[5]("faceCollector.capture") + "") && S(i, s), N & /*id*/
776
- 2 && j(
777
- t,
778
- "id",
779
- /*id*/
780
- n[1]
781
- ), N & /*disabled*/
782
- 4 && F(
783
- t,
784
- "disabled",
785
- /*disabled*/
786
- n[2]
787
- ), N & /*hidden*/
788
- 8 && F(
789
- t,
790
- "hidden",
791
- /*hidden*/
792
- n[3]
793
- );
794
- },
795
- d: function(n) {
796
- n && g(e), c = !1, r();
797
- }
798
- };
799
- return R("SvelteRegisterBlock", {
800
- block: u,
801
- id: ye.name,
802
- type: "else",
803
- source: "(34:0) {:else}",
804
- ctx: l
805
- }), u;
806
- }
807
- function ve(l) {
808
- let e, t, s = (
809
- /*$_*/
810
- l[5]("docCollector.capture") + ""
811
- ), i, c, r;
812
- const u = {
813
- c: function() {
814
- e = v("div"), t = v("button"), i = E(s), j(
815
- t,
816
- "id",
817
- /*id*/
818
- l[1]
819
- ), t.disabled = /*disabled*/
820
- l[2], t.hidden = /*hidden*/
821
- l[3], j(t, "class", "ce-dui-btn ce-dui-btn-primary text-xl pb-[2px] absolute z-10 bottom-2"), _(t, K, 24, 4, 772), j(e, "class", "flex justify-center items-center"), _(e, K, 23, 2, 721);
822
- },
823
- m: function(n, N) {
824
- D(n, e, N), A(e, t), A(t, i), c || (r = P(
825
- t,
826
- "click",
827
- /*click_handler_1*/
828
- l[7],
829
- !1,
830
- !1,
831
- !1,
832
- !1
833
- ), c = !0);
834
- },
835
- p: function(n, N) {
836
- N & /*$_*/
837
- 32 && s !== (s = /*$_*/
838
- n[5]("docCollector.capture") + "") && S(i, s), N & /*id*/
839
- 2 && j(
840
- t,
841
- "id",
842
- /*id*/
843
- n[1]
844
- ), N & /*disabled*/
845
- 4 && F(
846
- t,
847
- "disabled",
848
- /*disabled*/
849
- n[2]
850
- ), N & /*hidden*/
851
- 8 && F(
852
- t,
853
- "hidden",
854
- /*hidden*/
855
- n[3]
856
- );
857
- },
858
- d: function(n) {
859
- n && g(e), c = !1, r();
860
- }
861
- };
862
- return R("SvelteRegisterBlock", {
863
- block: u,
864
- id: ve.name,
865
- type: "if",
866
- source: "(23:41) ",
867
- ctx: l
868
- }), u;
869
- }
870
- function ke(l) {
871
- let e, t, s = (
872
- /*$_*/
873
- l[5]("docCollector.capture") + ""
874
- ), i, c, r;
875
- const u = {
876
- c: function() {
877
- e = v("div"), t = v("button"), i = E(s), j(
878
- t,
879
- "id",
880
- /*id*/
881
- l[1]
882
- ), t.disabled = /*disabled*/
883
- l[2], t.hidden = /*hidden*/
884
- l[3], j(t, "class", "ce-dui-btn ce-dui-btn-primary text-xl pb-[2px]"), _(t, K, 13, 4, 457), j(e, "class", "absolute right-2 top-1/2 -translate-y-1/2 z-20 rotate-[-90deg]"), _(e, K, 12, 2, 376);
885
- },
886
- m: function(n, N) {
887
- D(n, e, N), A(e, t), A(t, i), c || (r = P(
888
- t,
889
- "click",
890
- /*click_handler*/
891
- l[6],
892
- !1,
893
- !1,
894
- !1,
895
- !1
896
- ), c = !0);
897
- },
898
- p: function(n, N) {
899
- N & /*$_*/
900
- 32 && s !== (s = /*$_*/
901
- n[5]("docCollector.capture") + "") && S(i, s), N & /*id*/
902
- 2 && j(
903
- t,
904
- "id",
905
- /*id*/
906
- n[1]
907
- ), N & /*disabled*/
908
- 4 && F(
909
- t,
910
- "disabled",
911
- /*disabled*/
912
- n[2]
913
- ), N & /*hidden*/
914
- 8 && F(
915
- t,
916
- "hidden",
917
- /*hidden*/
918
- n[3]
919
- );
920
- },
921
- d: function(n) {
922
- n && g(e), c = !1, r();
923
- }
924
- };
925
- return R("SvelteRegisterBlock", {
926
- block: u,
927
- id: ke.name,
928
- type: "if",
929
- source: "(12:0) {#if isMobile() && $collectorSelect == 'DOCUMENT'}",
930
- ctx: l
931
- }), u;
932
- }
933
- function Ee(l) {
934
- let e, t;
935
- function s(u, o) {
936
- return o & /*$collectorSelect*/
937
- 16 && (e = null), e == null && (e = !!(H() && /*$collectorSelect*/
938
- u[4] == "DOCUMENT")), e ? ke : (
939
- /*$collectorSelect*/
940
- u[4] == "DOCUMENT" ? ve : ye
941
- );
942
- }
943
- let i = s(l, -1), c = i(l);
944
- const r = {
945
- c: function() {
946
- c.c(), t = Ne(), this.c = V;
947
- },
948
- l: function(o) {
949
- throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
950
- },
951
- m: function(o, n) {
952
- c.m(o, n), D(o, t, n);
953
- },
954
- p: function(o, [n]) {
955
- i === (i = s(o, n)) && c ? c.p(o, n) : (c.d(1), c = i(o), c && (c.c(), c.m(t.parentNode, t)));
956
- },
957
- i: V,
958
- o: V,
959
- d: function(o) {
960
- c.d(o), o && g(t);
961
- }
962
- };
963
- return R("SvelteRegisterBlock", {
964
- block: r,
965
- id: Ee.name,
966
- type: "component",
967
- source: "",
968
- ctx: l
969
- }), r;
970
- }
971
- function He(l, e, t) {
972
- let s, i;
973
- Y(Q, "collectorSelect"), x(l, Q, (f) => t(4, s = f)), Y(G, "_"), x(l, G, (f) => t(5, i = f));
974
- let { $$slots: c = {}, $$scope: r } = e;
975
- ne("take-picture-btn", c, []);
976
- let { handler: u = () => {
977
- } } = e, { id: o = "" } = e, { disabled: n = !1 } = e, { hidden: N = !1 } = e;
978
- const h = ["handler", "id", "disabled", "hidden"];
979
- Object.keys(e).forEach((f) => {
980
- !~h.indexOf(f) && f.slice(0, 2) !== "$$" && f !== "slot" && console.warn(`<take-picture-btn> was created with unknown prop '${f}'`);
981
- });
982
- const d = () => u(), z = () => u(), w = () => u();
983
- return l.$$set = (f) => {
984
- "handler" in f && t(0, u = f.handler), "id" in f && t(1, o = f.id), "disabled" in f && t(2, n = f.disabled), "hidden" in f && t(3, N = f.hidden);
985
- }, l.$capture_state = () => ({
986
- _: G,
987
- isMobile: H,
988
- collectorSelect: Q,
989
- handler: u,
990
- id: o,
991
- disabled: n,
992
- hidden: N,
993
- $collectorSelect: s,
994
- $_: i
995
- }), l.$inject_state = (f) => {
996
- "handler" in f && t(0, u = f.handler), "id" in f && t(1, o = f.id), "disabled" in f && t(2, n = f.disabled), "hidden" in f && t(3, N = f.hidden);
997
- }, e && "$$inject" in e && l.$inject_state(e.$$inject), [
998
- u,
999
- o,
1000
- n,
1001
- N,
1002
- s,
1003
- i,
1004
- d,
1005
- z,
1006
- w
1007
- ];
1008
- }
1009
- class Ve extends ae {
1010
- constructor(e) {
1011
- super(), ie(
1012
- this,
1013
- {
1014
- target: this.shadowRoot,
1015
- props: oe(this.attributes),
1016
- customElement: !0
1017
- },
1018
- He,
1019
- Ee,
1020
- se,
1021
- {
1022
- handler: 0,
1023
- id: 1,
1024
- disabled: 2,
1025
- hidden: 3
1026
- },
1027
- null
1028
- ), e && (e.target && D(e.target, this, e.anchor), e.props && (this.$set(e.props), Z()));
1029
- }
1030
- static get observedAttributes() {
1031
- return ["handler", "id", "disabled", "hidden"];
1032
- }
1033
- get handler() {
1034
- return this.$$.ctx[0];
1035
- }
1036
- set handler(e) {
1037
- this.$$set({ handler: e }), Z();
1038
- }
1039
- get id() {
1040
- return this.$$.ctx[1];
1041
- }
1042
- set id(e) {
1043
- this.$$set({ id: e }), Z();
1044
- }
1045
- get disabled() {
1046
- return this.$$.ctx[2];
1047
- }
1048
- set disabled(e) {
1049
- this.$$set({ disabled: e }), Z();
1050
- }
1051
- get hidden() {
1052
- return this.$$.ctx[3];
1053
- }
1054
- set hidden(e) {
1055
- this.$$set({ hidden: e }), Z();
1056
- }
1057
- }
1058
- customElements.define("take-picture-btn", Ve);
1059
- const de = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODUiIGhlaWdodD0iMjUiIHZpZXdCb3g9IjAgMCA4NSAyNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjMzNiAyMFY1LjdIMzQuMjc2QzM1LjIyMjcgNS43IDM2LjA0OTMgNS44NTMzMyAzNi43NTYgNi4xNkMzNy40NjI3IDYuNDY2NjcgMzguMDA5MyA2LjkgMzguMzk2IDcuNDZDMzguNzgyNyA4LjAyIDM4Ljk3NiA4LjY4IDM4Ljk3NiA5LjQ0QzM4Ljk3NiAxMC4xMzMzIDM4Ljc4MjcgMTAuNzUzMyAzOC4zOTYgMTEuM0MzOC4wMDkzIDExLjgzMzMgMzcuNDYyNyAxMi4yNTMzIDM2Ljc1NiAxMi41NkMzNi4wNDkzIDEyLjg2NjcgMzUuMjIyNyAxMy4wMiAzNC4yNzYgMTMuMDJIMzEuMjM2VjEySDM0LjQ1NkMzNS40ODI3IDEyIDM2LjM3NiAxMi4xNiAzNy4xMzYgMTIuNDhDMzcuOTA5MyAxMi43ODY3IDM4LjUwOTMgMTMuMjMzMyAzOC45MzYgMTMuODJDMzkuMzc2IDE0LjM5MzMgMzkuNTk2IDE1LjA4IDM5LjU5NiAxNS44OEMzOS41OTYgMTYuNjkzMyAzOS4zODI3IDE3LjQxMzMgMzguOTU2IDE4LjA0QzM4LjUyOTQgMTguNjY2NyAzNy45MjkzIDE5LjE1MzMgMzcuMTU2IDE5LjVDMzYuMzgyNyAxOS44MzMzIDM1LjQ4MjcgMjAgMzQuNDU2IDIwSDI4LjMzNlpNMzEuMDM2IDE3Ljc0SDM0LjQ3NkMzNS4yMDkzIDE3Ljc0IDM1Ljc4OTMgMTcuNTY2NyAzNi4yMTYgMTcuMjJDMzYuNjQyNyAxNi44NiAzNi44NTYgMTYuMzYgMzYuODU2IDE1LjcyQzM2Ljg1NiAxNS4xMDY3IDM2LjY0MjcgMTQuNjMzMyAzNi4yMTYgMTQuM0MzNS43ODkzIDEzLjk1MzMgMzUuMjA5MyAxMy43OCAzNC40NzYgMTMuNzhIMzAuODM2VjExLjU2SDM0LjEzNkMzNC43ODkzIDExLjU2IDM1LjMwMjcgMTEuNCAzNS42NzYgMTEuMDhDMzYuMDYyNyAxMC43NDY3IDM2LjI1NiAxMC4yOTMzIDM2LjI1NiA5LjcyQzM2LjI1NiA5LjE2IDM2LjA2MjcgOC43MjY2NyAzNS42NzYgOC40MkMzNS4zMDI3IDguMTEzMzMgMzQuNzg5MyA3Ljk2IDM0LjEzNiA3Ljk2SDMxLjAzNlYxNy43NFpNNDcuODMyMSA5Ljc2VjEyLjE2SDQ3LjI5MjFDNDYuNjY1NCAxMi4xNiA0Ni4xMjU0IDEyLjI4NjcgNDUuNjcyMSAxMi41NEM0NS4yMTg4IDEyLjc4IDQ0Ljg1ODggMTMuMTYgNDQuNTkyMSAxMy42OEM0NC4zMzg4IDE0LjIgNDQuMjEyMSAxNC44NzMzIDQ0LjIxMjEgMTUuN1YyMEg0MS41NzIxVjkuOTRINDQuMTkyMVYxMy4ySDQzLjg3MjFDNDMuOTkyMSAxMi4zMDY3IDQ0LjIzODggMTEuNjEzMyA0NC42MTIxIDExLjEyQzQ0Ljk5ODggMTAuNjI2NyA0NS40NDU0IDEwLjI4IDQ1Ljk1MjEgMTAuMDhDNDYuNDcyMSA5Ljg2NjY3IDQ2Ljk3ODggOS43NiA0Ny40NzIxIDkuNzZINDcuODMyMVpNNTcuMjAwOSA5Ljk0SDU5Ljg2MDlMNTUuMDgwOSAyMS4xNkM1NC42OTQyIDIyLjA1MzMgNTQuMjA3NSAyMi43MjY3IDUzLjYyMDkgMjMuMThDNTMuMDM0MiAyMy42NDY3IDUyLjI1NDIgMjMuODggNTEuMjgwOSAyMy44OEg0OS45ODA5VjIxLjcySDUxLjE0MDlDNTEuNTQwOSAyMS43MiA1MS44NzQyIDIxLjYyNjcgNTIuMTQwOSAyMS40NEM1Mi40MjA5IDIxLjI2NjcgNTIuNjQwOSAyMC45ODY3IDUyLjgwMDkgMjAuNkw1My4wMjA5IDIwLjAyTDQ4LjcyMDkgOS45NEg1MS40NjA5TDU0Ljc0MDkgMTguNTJINTMuODgwOUw1Ny4yMDA5IDkuOTRaTTY3LjkwMzUgMjBINjUuMjYzNVY5Ljk0SDY3LjkwMzVWMjBaTTY2LjU4MzUgOC4yQzY2LjE0MzUgOC4yIDY1Ljc2MzUgOC4wNTMzMyA2NS40NDM1IDcuNzZDNjUuMTM2OCA3LjQ1MzMzIDY0Ljk4MzUgNy4wODY2NyA2NC45ODM1IDYuNjZDNjQuOTgzNSA2LjIwNjY3IDY1LjEzNjggNS44MzMzMyA2NS40NDM1IDUuNTRDNjUuNzYzNSA1LjI0NjY3IDY2LjE0MzUgNS4xIDY2LjU4MzUgNS4xQzY3LjAzNjggNS4xIDY3LjQxNjggNS4yNTMzMyA2Ny43MjM1IDUuNTZDNjguMDMwMiA1Ljg1MzMzIDY4LjE4MzUgNi4yMiA2OC4xODM1IDYuNjZDNjguMTgzNSA3LjA4NjY3IDY4LjAzMDIgNy40NTMzMyA2Ny43MjM1IDcuNzZDNjcuNDE2OCA4LjA1MzMzIDY3LjAzNjggOC4yIDY2LjU4MzUgOC4yWk03MC41MDQgMjBWNS43SDc1LjUwNEM3Ny4wMzczIDUuNyA3OC4zNzczIDYuMDA2NjcgNzkuNTI0IDYuNjJDODAuNjg0IDcuMjIgODEuNTg0IDguMDYgODIuMjI0IDkuMTRDODIuODc3MyAxMC4yMDY3IDgzLjIwNCAxMS40NCA4My4yMDQgMTIuODRDODMuMjA0IDE0LjI0IDgyLjg3NzMgMTUuNDggODIuMjI0IDE2LjU2QzgxLjU4NCAxNy42MjY3IDgwLjY4NCAxOC40NjY3IDc5LjUyNCAxOS4wOEM3OC4zNzczIDE5LjY5MzMgNzcuMDM3MyAyMCA3NS41MDQgMjBINzAuNTA0Wk03My4yMDQgMTcuN0g3NS41MDRDNzYuNTA0IDE3LjcgNzcuMzY0IDE3LjUgNzguMDg0IDE3LjFDNzguODE3MyAxNi43IDc5LjM3NzMgMTYuMTQgNzkuNzY0IDE1LjQyQzgwLjE2NCAxNC42ODY3IDgwLjM2NCAxMy44MjY3IDgwLjM2NCAxMi44NEM4MC4zNjQgMTEuODUzMyA4MC4xNjQgMTEgNzkuNzY0IDEwLjI4Qzc5LjM3NzMgOS41NDY2NyA3OC44MTczIDguOTg2NjcgNzguMDg0IDguNkM3Ny4zNjQgOC4yIDc2LjUwNCA4IDc1LjUwNCA4SDczLjIwNFYxNy43WiIgZmlsbD0id2hpdGUiLz4KPGNpcmNsZSBjeD0iMTAiIGN5PSIxMy4zMDYyIiByPSI0IiBmaWxsPSJ3aGl0ZSIvPgo8Y2lyY2xlIGN4PSI5Ljk1OTA1IiBjeT0iMTMuMjUyIiByPSI2Ljc1MjAyIiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik01LjQ3OTE5IDRIMy4xMzI5NUMxLjk1NDk1IDQgMSA0Ljk1NDk1IDEgNi4xMzI5NVY4LjQ3OTE5TTE0LjQzNzYgNEgxNi43ODM4QzE3Ljk2MTggNCAxOC45MTY3IDQuOTU0OTUgMTguOTE2NyA2LjEzMjk1VjguNDc5MTlNMTguOTE2NyAxNy40Mzc2VjE5Ljc4MzhDMTguOTE2NyAyMC45NjE4IDE3Ljk2MTggMjEuOTE2NyAxNi43ODM4IDIxLjkxNjdIMTQuNDM3Nk01LjQ3OTE5IDIxLjkxNjdIMy4xMzI5NUMxLjk1NDk1IDIxLjkxNjcgMSAyMC45NjE4IDEgMTkuNzgzOFYxNy40Mzc2IiBzdHJva2U9IndoaXRlIi8+Cjwvc3ZnPgo=", J = "src/lib/waterMark/WaterMark.svelte";
1060
- function Se(l) {
1061
- let e, t, s, i;
1062
- const c = {
1063
- c: function() {
1064
- e = v("div"), t = v("div"), s = v("img"), De(s.src, i = de) || j(s, "src", i), j(s, "alt", "BryID"), _(s, J, 50, 16, 1769), j(t, "class", "mx-auto my-10 display: flex justify-center items-end p-4"), B(
1065
- t,
1066
- "width",
1067
- /*docWidth*/
1068
- l[3] + "%"
1069
- ), B(
1070
- t,
1071
- "height",
1072
- /*docHeight*/
1073
- l[4] + "%"
1074
- ), B(
1075
- t,
1076
- "margin-top",
1077
- /*docMarginTop*/
1078
- l[5] + "%"
1079
- ), _(t, J, 44, 12, 1539), j(e, "class", "absolute inset-0 z-10"), _(e, J, 42, 8, 1482);
1080
- },
1081
- m: function(u, o) {
1082
- D(u, e, o), A(e, t), A(t, s);
1083
- },
1084
- p: function(u, o) {
1085
- o & /*docWidth*/
1086
- 8 && B(
1087
- t,
1088
- "width",
1089
- /*docWidth*/
1090
- u[3] + "%"
1091
- ), o & /*docHeight*/
1092
- 16 && B(
1093
- t,
1094
- "height",
1095
- /*docHeight*/
1096
- u[4] + "%"
1097
- ), o & /*docMarginTop*/
1098
- 32 && B(
1099
- t,
1100
- "margin-top",
1101
- /*docMarginTop*/
1102
- u[5] + "%"
1103
- );
1104
- },
1105
- d: function(u) {
1106
- u && g(e);
1107
- }
1108
- };
1109
- return R("SvelteRegisterBlock", {
1110
- block: c,
1111
- id: Se.name,
1112
- type: "else",
1113
- source: "(42:4) {:else}",
1114
- ctx: l
1115
- }), c;
1116
- }
1117
- function Le(l) {
1118
- let e, t, s, i;
1119
- const c = {
1120
- c: function() {
1121
- e = v("div"), t = v("div"), s = v("img"), De(s.src, i = de) || j(s, "src", i), j(s, "alt", "BryID"), _(s, J, 37, 12, 1392), j(t, "class", "mx-auto my-10 display: flex justify-center items-end p-4"), B(
1122
- t,
1123
- "width",
1124
- /*ovalWidth*/
1125
- l[0] + "%"
1126
- ), B(
1127
- t,
1128
- "height",
1129
- /*ovalHeight*/
1130
- l[1] + "%"
1131
- ), B(
1132
- t,
1133
- "margin-top",
1134
- /*ovalMarginTop*/
1135
- l[2] + "%"
1136
- ), _(t, J, 31, 8, 1183), j(e, "class", "absolute inset-0 z-10"), _(e, J, 29, 4, 1134);
1137
- },
1138
- m: function(u, o) {
1139
- D(u, e, o), A(e, t), A(t, s);
1140
- },
1141
- p: function(u, o) {
1142
- o & /*ovalWidth*/
1143
- 1 && B(
1144
- t,
1145
- "width",
1146
- /*ovalWidth*/
1147
- u[0] + "%"
1148
- ), o & /*ovalHeight*/
1149
- 2 && B(
1150
- t,
1151
- "height",
1152
- /*ovalHeight*/
1153
- u[1] + "%"
1154
- ), o & /*ovalMarginTop*/
1155
- 4 && B(
1156
- t,
1157
- "margin-top",
1158
- /*ovalMarginTop*/
1159
- u[2] + "%"
1160
- );
1161
- },
1162
- d: function(u) {
1163
- u && g(e);
1164
- }
1165
- };
1166
- return R("SvelteRegisterBlock", {
1167
- block: c,
1168
- id: Le.name,
1169
- type: "if",
1170
- source: "(29:0) {#if $collectorSelect == 'FACE'}",
1171
- ctx: l
1172
- }), c;
1173
- }
1174
- function Oe(l) {
1175
- let e;
1176
- function t(r, u) {
1177
- return (
1178
- /*$collectorSelect*/
1179
- r[6] == "FACE" ? Le : Se
1180
- );
1181
- }
1182
- let s = t(l), i = s(l);
1183
- const c = {
1184
- c: function() {
1185
- i.c(), e = Ne(), this.c = V;
1186
- },
1187
- l: function(u) {
1188
- throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
1189
- },
1190
- m: function(u, o) {
1191
- i.m(u, o), D(u, e, o);
1192
- },
1193
- p: function(u, [o]) {
1194
- s === (s = t(u)) && i ? i.p(u, o) : (i.d(1), i = s(u), i && (i.c(), i.m(e.parentNode, e)));
1195
- },
1196
- i: V,
1197
- o: V,
1198
- d: function(u) {
1199
- i.d(u), u && g(e);
1200
- }
1201
- };
1202
- return R("SvelteRegisterBlock", {
1203
- block: c,
1204
- id: Oe.name,
1205
- type: "component",
1206
- source: "",
1207
- ctx: l
1208
- }), c;
1209
- }
1210
- function Ze(l, e, t) {
1211
- let s, i, c, r;
1212
- Y(re, "videoStore"), x(l, re, (m) => t(7, s = m)), Y(Me, "ovalDimensions"), x(l, Me, (m) => t(8, i = m)), Y(fe, "docDimensions"), x(l, fe, (m) => t(9, c = m)), Y(Q, "collectorSelect"), x(l, Q, (m) => t(6, r = m));
1213
- let { $$slots: u = {}, $$scope: o } = e;
1214
- ne("water-mark", u, []);
1215
- let n, N, h, d, z, w;
1216
- const f = [];
1217
- return Object.keys(e).forEach((m) => {
1218
- !~f.indexOf(m) && m.slice(0, 2) !== "$$" && m !== "slot" && console.warn(`<water-mark> was created with unknown prop '${m}'`);
1219
- }), l.$capture_state = () => ({
1220
- ovalDimensions: Me,
1221
- docDimensions: fe,
1222
- collectorSelect: Q,
1223
- waterMark: de,
1224
- videoStore: re,
1225
- isMobile: H,
1226
- ovalWidth: n,
1227
- ovalHeight: N,
1228
- ovalMarginTop: h,
1229
- docWidth: d,
1230
- docHeight: z,
1231
- docMarginTop: w,
1232
- $videoStore: s,
1233
- $ovalDimensions: i,
1234
- $docDimensions: c,
1235
- $collectorSelect: r
1236
- }), l.$inject_state = (m) => {
1237
- "ovalWidth" in m && t(0, n = m.ovalWidth), "ovalHeight" in m && t(1, N = m.ovalHeight), "ovalMarginTop" in m && t(2, h = m.ovalMarginTop), "docWidth" in m && t(3, d = m.docWidth), "docHeight" in m && t(4, z = m.docHeight), "docMarginTop" in m && t(5, w = m.docMarginTop);
1238
- }, e && "$$inject" in e && l.$inject_state(e.$$inject), l.$$.update = () => {
1239
- l.$$.dirty & /*$videoStore, $ovalDimensions, $docDimensions*/
1240
- 896 && s && (t(0, n = i.width / s.videoWidth * 100), t(1, N = i.height / s.videoHeight * 100), t(2, h = (i.y - i.height / 2) / s.videoHeight * 59), t(3, d = c.width / s.videoWidth * 100), t(4, z = c.height / s.videoHeight * 100), t(5, w = c.y / s.videoHeight * 57), H() && t(2, h = (i.y - i.height / 2) / s.videoHeight * 100));
1241
- }, [
1242
- n,
1243
- N,
1244
- h,
1245
- d,
1246
- z,
1247
- w,
1248
- r,
1249
- s,
1250
- i,
1251
- c
1252
- ];
1253
- }
1254
- class We extends ae {
1255
- constructor(e) {
1256
- super(), ie(
1257
- this,
1258
- {
1259
- target: this.shadowRoot,
1260
- props: oe(this.attributes),
1261
- customElement: !0
1262
- },
1263
- Ze,
1264
- Oe,
1265
- se,
1266
- {},
1267
- null
1268
- ), e && e.target && D(e.target, this, e.anchor);
1269
- }
1270
- }
1271
- customElements.define("water-mark", We);
1272
- export {
1273
- U as C,
1274
- Ve as T,
1275
- We as W,
1276
- Be as a,
1277
- Pe as b,
1278
- $ as c
1279
- };
1280
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2F0ZXJNYXJrXzc0MmRjYjc4XzIuMi4xNy1SQzAxLmpzIiwic291cmNlcyI6WyIuLi9zcmMvbGliL2ZhY2VUYWIvY2FtZXJhU3RhdHVzL2NhbWVyYVN0YXR1c1N0b3JlLnRzIiwiLi4vc3JjL2xpYi9mYWNlVGFiL2NhbWVyYVN0YXR1cy9DYW1lcmFTdGF0dXMuc3ZlbHRlIiwiLi4vc3JjL2xpYi9jb25mL0NhbWVyYUJ0bi5zdmVsdGUiLCIuLi9zcmMvbGliL2ZhY2VUYWIvYnV0dG9ucy9jYXB0dXJlL3Rha2VQaWN0dXJlQnRuL1Rha2VQaWN0dXJlQnRuLnN2ZWx0ZSIsIi4uL3NyYy9hc3NldHMvaW1nL0JyeUlEd2F0ZXJNYXJrLnN2ZyIsIi4uL3NyYy9saWIvd2F0ZXJNYXJrL1dhdGVyTWFyay5zdmVsdGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuXG5leHBvcnQgY29uc3QgZW51bSBDYW1lcmFTdGF0dXNFbnVtIHtcbiAgT0sgPSAnT0snLFxuICBERVZJQ0VfTk9UX0ZPVU5EX0VSUk9SID0gJ0RFVklDRV9OT1RfRk9VTkRfRVJST1InLFxuICBDQU1FUkFfREVOSUVEX0VSUk9SID0gJ0NBTUVSQV9ERU5JRURfRVJST1InLCAvLyBvciBkaXNtaXNzZWRcbiAgQ0FNRVJBX0lOX1VTRV9FUlJPUiA9ICdDQU1FUkFfSU5fVVNFX0VSUk9SJyxcbiAgQ0FNRVJBX0NMT1NFRF9FUlJPUiA9ICdDQU1FUkFfQ0xPU0VEX0VSUk9SJyxcbiAgQ0FNRVJBX1VOU1VQUE9SVEVEID0gJ0NBTUVSQV9VTlNVUFBPUlRFRCcsXG4gIENBTUVSQV9PUklFTlRBVElPTl9QT1JUUkFJVCA9ICdDQU1FUkFfT1JJRU5UQVRJT05fUE9SVFJBSVQnLFxuICBDQU1FUkFfT1JJRU5UQVRJT05fTEFORFNDQVBFID0gJ0NBTUVSQV9PUklFTlRBVElPTl9MQU5EU0NBUEUnLFxufVxuXG5leHBvcnQgY29uc3QgY2FtZXJhU3RhdHVzU3RvcmUgPSB3cml0YWJsZTxDYW1lcmFTdGF0dXNFbnVtPihDYW1lcmFTdGF0dXNFbnVtLk9LKTtcbiIsIjxzdmVsdGU6b3B0aW9ucyB0YWc9XCJjYW1lcmEtc3RhdHVzXCIgLz5cblxuPHNjcmlwdCBsYW5nPVwidHNcIj5cbiAgZXhwb3J0IGxldCBoYW5kbGVyOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBpbXBvcnQgeyBDYW1lcmFTdGF0dXNFbnVtLCBjYW1lcmFTdGF0dXNTdG9yZSB9IGZyb20gJy4vY2FtZXJhU3RhdHVzU3RvcmUnO1xuICBpbXBvcnQgeyBsb2NrU2NyZWVuIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbiAgaW1wb3J0IHsgY29sbGVjdG9yU2VsZWN0LCBzY3JlZW5Mb2NrZWQgfSBmcm9tICcuLi8uLi8uLi9tYWluU3RvcmUnO1xuICBpbXBvcnQgeyBfIH0gZnJvbSAnc3ZlbHRlLWkxOG4nO1xuXG4gIGlmICgkY2FtZXJhU3RhdHVzU3RvcmUgPT09IENhbWVyYVN0YXR1c0VudW0uQ0FNRVJBX09SSUVOVEFUSU9OX0xBTkRTQ0FQRSB8fCAkY2FtZXJhU3RhdHVzU3RvcmUgPT09IENhbWVyYVN0YXR1c0VudW0uQ0FNRVJBX09SSUVOVEFUSU9OX1BPUlRSQUlUKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAkY2FtZXJhU3RhdHVzU3RvcmUgPSBDYW1lcmFTdGF0dXNFbnVtLk9LO1xuICAgIH0sIDgwMDApO1xuICB9XG5cbjwvc2NyaXB0PlxuXG48ZGl2XG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNCBqdXN0aWZ5LWNlbnRlciByZWxhdGl2ZSBvdmVyZmxvdy12aXNpYmxlIHAtNFwiXG4+XG4gIHsjaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9ERU5JRURfRVJST1J9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yNDkuNDUgNjkuMzFhMTIgMTIgMCAwIDAtMTIuNTEgMUwyMTIgODguNDNWNzJhMjAgMjAgMCAwIDAtMjAtMjBoLTY4LjEyYTEyIDEyIDAgMCAwIDAgMjRIMTg4djY4YTEyIDEyIDAgMCAwIDQuNDYgOS4zM2MuMTUuMTMuMzEuMjUuNDguMzhsNDQgMzJBMTIgMTIgMCAwIDAgMjU2IDE3NlY4MGExMiAxMiAwIDAgMC02LjU1LTEwLjY5TTIzMiAxNTIuNDNsLTIwLTE0LjU0di0xOS43OGwyMC0xNC41NFpNNTYuODggMzEuOTNhMTIgMTIgMCAxIDAtMTcuNzYgMTYuMTRMNDIuNjkgNTJIMzJhMjAgMjAgMCAwIDAtMjAgMjB2MTEyYTIwIDIwIDAgMCAwIDIwIDIwaDE0OC44N2wxOC4yNSAyMC4wN2ExMiAxMiAwIDAgMCAxNy43Ni0xNi4xNFpNMzYgMTgwVjc2aDI4LjUxbDk0LjU1IDEwNFpcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuY2FtZXJhUGVybWlzc2lvbicpfTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIm0tYXV0byB0ZXh0LWJhc2UgYmxvY2sgdGV4dC1jZW50ZXJcIj57JF8oJ2NhbWVyYVN0YXR1cy5jbGlja1Jlc3RhcnRCdXR0b24nKX08L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgICBjb25zb2xlLmxvZygnY2FuaWNuYScsIGhhbmRsZXIpO1xuICAgICAgICAvLyBjYXB0dXJpbmcgPSB0cnVlO1xuICAgICAgICAvLyBjYW1lcmFEZW5pZWQgPSBmYWxzZTtcbiAgICAgICAgLy8gb3BlbkNhbWVyYSgpO1xuICAgICAgfX0+eyRfKCdjYW1lcmFTdGF0dXMucmVzdGFydCcpfTwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkRFVklDRV9OT1RfRk9VTkRfRVJST1J9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIm0xMzcgMTY4bDExLjUyLTExLjUxYTEyIDEyIDAgMCAwLTE3LTE3TDEyMCAxNTFsLTE1LTE1bDExLjUyLTExLjUxYTEyIDEyIDAgMCAwLTE3LTE3TDg4IDExOWwtMTUuNTEtMTUuNDlhMTIgMTIgMCAwIDAtMTcgMTdMNTkgMTI0bC0yMC40NiAyMC40OWEzNiAzNiAwIDAgMCAwIDUwLjkxbDIuNTUgMi41NGwtMjUuNTggMjUuNTdhMTIgMTIgMCAwIDAgMTcgMTdsMjUuNTctMjUuNThsMi41NCAyLjU1YTM2LjA2IDM2LjA2IDAgMCAwIDUwLjkxIDBMMTMyIDE5N2wzLjUxIDMuNTJhMTIgMTIgMCAwIDAgMTctMTdabS00Mi40NiAzMi40OWExMiAxMiAwIDAgMS0xNyAwbC0yMi4wMy0yMi4wNmExMiAxMiAwIDAgMSAwLTE3TDc2IDE0MWwzOSAzOVptMTQ2LTE4NWExMiAxMiAwIDAgMC0xNyAwbC0yNS42IDI1LjZsLTIuNTQtMi41NWEzNi4wNSAzNi4wNSAwIDAgMC01MC45MSAwTDEyNCA1OWwtMy41MS0zLjUyYTEyIDEyIDAgMCAwLTE3IDE3bDgwIDgwYTEyIDEyIDAgMCAwIDE3LTE3TDE5NyAxMzJsMjAuNDktMjAuNDlhMzYgMzYgMCAwIDAgMC01MC45MWwtMi41NS0yLjU0bDI1LjU4LTI1LjU3YTEyIDEyIDAgMCAwLS4wMy0xNi45OFptLTQwIDc5TDE4MCAxMTVsLTM5LTM5bDIwLjQ5LTIwLjQ5YTEyIDEyIDAgMCAxIDE3IDBsMjIuMDYgMjIuMDZhMTIgMTIgMCAwIDEgMCAxN1pcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuY2FtZXJhTm90RGV0ZWN0ZWQnKX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCJcbiAgICAgID57JF8oJ2NhbWVyYVN0YXR1cy5jb25uZWN0Q2FtZXJhQW5kUmVzdGFydCcpfTwvc3BhblxuICAgID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYW5pY25hJywgaGFuZGxlcik7XG4gICAgICAgIC8vIGNhcHR1cmluZyA9IHRydWU7XG4gICAgICAgIC8vIGRldmljZU5vdEZvdW5kID0gZmFsc2U7XG4gICAgICAgIC8vIG9wZW5DYW1lcmEoKTtcbiAgICAgIH19PnskXygnY2FtZXJhU3RhdHVzLnJlc3RhcnQnKX08L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfSU5fVVNFX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp3YXJuaW5nIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk01Ni44OCAzMS45M2ExMiAxMiAwIDEgMC0xNy43NiAxNi4xNGw0IDQuMzdBMjggMjggMCAwIDAgMjAgODB2MTEyYTI4IDI4IDAgMCAwIDI4IDI4aDE0Ny40MmwzLjcgNC4wN2ExMiAxMiAwIDAgMCAxNy43Ni0xNi4xNFptNDkuMzUgOTBMMTM2IDE1NC42NGEyNCAyNCAwIDAgMS0yOS43Ny0zMi43NVpNNDggMTk2YTQgNCAwIDAgMS00LTRWODBhNCA0IDAgMCAxIDQtNGgxNi41MWwyNC45MiAyNy40MWE0OCA0OCAwIDAgMCA2My4zNCA2OS42N0wxNzMuNiAxOTZaTTIzNiA4MHY5NC4xNGExMiAxMiAwIDAgMS0yNCAwVjgwYTQgNCAwIDAgMC00LTRoLTMyYTEyIDEyIDAgMCAxLTEwLTUuMzRMMTUzLjU3IDUyaC01MS41MWExMiAxMiAwIDAgMSAwLTI0SDE2MGExMiAxMiAwIDAgMSAxMCA1LjM0TDE4Mi40MiA1MkgyMDhhMjggMjggMCAwIDEgMjggMjhcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuY2FtZXJhSW5Vc2UnKX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCJcbiAgICAgID57JF8oJ2NhbWVyYVN0YXR1cy5lbnN1cmVDYW1lcmFOb3RJblVzZScpfTwvc3BhblxuICAgID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYW5pY25hJywgaGFuZGxlcik7XG4gICAgICAgIC8vIGNhcHR1cmluZyA9IHRydWU7XG4gICAgICAgIC8vIG9wZW5DYW1lcmEoKTtcbiAgICAgIH19PnskXygnY2FtZXJhU3RhdHVzLnJlc3RhcnQnKX08L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfQ0xPU0VEX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp3YXJuaW5nIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yMzYuOCAxODguMDlMMTQ5LjM1IDM2LjIyYTI0Ljc2IDI0Ljc2IDAgMCAwLTQyLjcgMEwxOS4yIDE4OC4wOWEyMy41MSAyMy41MSAwIDAgMCAwIDIzLjcyQTI0LjM1IDI0LjM1IDAgMCAwIDQwLjU1IDIyNGgxNzQuOWEyNC4zNSAyNC4zNSAwIDAgMCAyMS4zMy0xMi4xOWEyMy41MSAyMy41MSAwIDAgMCAuMDItMjMuNzJtLTEzLjg3IDE1LjcxYTguNSA4LjUgMCAwIDEtNy40OCA0LjJINDAuNTVhOC41IDguNSAwIDAgMS03LjQ4LTQuMmE3LjU5IDcuNTkgMCAwIDEgMC03LjcybDg3LjQ1LTE1MS44N2E4Ljc1IDguNzUgMCAwIDEgMTUgMGw4Ny40NSAxNTEuODdhNy41OSA3LjU5IDAgMCAxLS4wNCA3LjcyTTEyMCAxNDR2LTQwYTggOCAwIDAgMSAxNiAwdjQwYTggOCAwIDAgMS0xNiAwbTIwIDM2YTEyIDEyIDAgMSAxLTEyLTEyYTEyIDEyIDAgMCAxIDEyIDEyXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPnskXygnY2FtZXJhU3RhdHVzLnN0YXlPblNhbWVUYWInKX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuY2xpY2tSZXN0YXJ0VG9SZWNhcHR1cmUnKX08L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgfX0+eyRfKCdjYW1lcmFTdGF0dXMucmVzdGFydCcpfTwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9VTlNVUFBPUlRFRH1cbiAgICA8IS0tIGljb25pZnkgcGg6dmlkZW8tY2FtZXJhLXNsYXNoLWJvbGQgLS0+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJ0ZXh0LVs4ZW1dIG14LWF1dG9cIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgdmlld0JveD1cIjAgMCAyNTYgMjU2XCJcbiAgICAgIHsuLi4kJHByb3BzfVxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBkPVwiTTI0OS40NSA2OS4zMWExMiAxMiAwIDAgMC0xMi41MSAxTDIxMiA4OC40M1Y3MmEyMCAyMCAwIDAgMC0yMC0yMGgtNjguMTJhMTIgMTIgMCAwIDAgMCAyNEgxODh2NjhhMTIgMTIgMCAwIDAgNC40NiA5LjMzYy4xNS4xMy4zMS4yNS40OC4zOGw0NCAzMkExMiAxMiAwIDAgMCAyNTYgMTc2VjgwYTEyIDEyIDAgMCAwLTYuNTUtMTAuNjlNMjMyIDE1Mi40M2wtMjAtMTQuNTR2LTE5Ljc4bDIwLTE0LjU0Wk01Ni44OCAzMS45M2ExMiAxMiAwIDEgMC0xNy43NiAxNi4xNEw0Mi42OSA1MkgzMmEyMCAyMCAwIDAgMC0yMCAyMHYxMTJhMjAgMjAgMCAwIDAgMjAgMjBoMTQ4Ljg3bDE4LjI1IDIwLjA3YTEyIDEyIDAgMCAwIDE3Ljc2LTE2LjE0Wk0zNiAxODBWNzZoMjguNTFsOTQuNTUgMTA0WlwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXJcIj57JF8oJ2NhbWVyYVN0YXR1cy5jYW1lcmFOb3RTdXBwb3J0ZWQnKX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuY29ubmVjdEFub3RoZXJDYW1lcmEnKX08L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgfX0+eyRfKCdjYW1lcmFTdGF0dXMucmVzdGFydCcpfTwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9PUklFTlRBVElPTl9QT1JUUkFJVCAmJiAkY29sbGVjdG9yU2VsZWN0ID09ICdGQUNFJ31cbiAgICA8IS0tIGljb25pZnkgcGg6dmlkZW8tY2FtZXJhLXNsYXNoLWJvbGQgLS0+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJ0ZXh0LVs4ZW1dIG14LWF1dG9cIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk05IDFIM2EyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJoMXYtM0gzVjNoNnY4aDJWM2EyIDIgMCAwIDAtMi0ybTE0IDIwdi02YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmgxM2EyIDIgMCAwIDAgMi0yTTkgMjF2LTZoMTJ2NnptMTQtMTFoLTEuNWMwLTMtMS44MS01LjczLTQuNTgtNi45MUwxNiA1bC0yLTRhOSA5IDAgMCAxIDkgOVwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXJcIj57JF8oJ2NhbWVyYVN0YXR1cy5kZXZpY2VNdXN0QmVJblBvcnRyYWl0Jyl9PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPnskXygnY2FtZXJhU3RhdHVzLnJvdGF0ZURldmljZU9yUHJlc3NCdXR0b24nKX08L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgJHNjcmVlbkxvY2tlZCA9IHRydWU7XG4gICAgICAgIGxvY2tTY3JlZW4odHJ1ZSk7XG4gICAgICB9fT57JF8oJ2NhbWVyYVN0YXR1cy5hZGp1c3RPcmllbnRhdGlvbicpfTwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9PUklFTlRBVElPTl9MQU5EU0NBUEUgJiYgJGNvbGxlY3RvclNlbGVjdCA9PSAnRE9DVU1FTlQnfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp2aWRlby1jYW1lcmEtc2xhc2gtYm9sZCAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgIHsuLi4kJHByb3BzfVxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBkPVwiTTkgMUgzYTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJWM2EyIDIgMCAwIDAtMi0ybTAgMTRIM1YzaDZ6bTEyLTJoLTh2Mmg4djZIOXYtMUg2djFhMiAyIDAgMCAwIDIgMmgxM2EyIDIgMCAwIDAgMi0ydi02YTIgMiAwIDAgMC0yLTJtMi0zbC00LTJsMS45MS0uOTFBNy41MiA3LjUyIDAgMCAwIDE0IDIuNVYxYTkgOSAwIDAgMSA5IDlcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMuZGV2aWNlTXVzdEJlSW5MYW5kc2NhcGUnKX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCI+eyRfKCdjYW1lcmFTdGF0dXMucm90YXRlRGV2aWNlT3JQcmVzc0J1dHRvbicpfTwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICAkc2NyZWVuTG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgbG9ja1NjcmVlbihmYWxzZSk7XG4gICAgICB9fT57JF8oJ2NhbWVyYVN0YXR1cy5hZGp1c3RPcmllbnRhdGlvbicpfTwvYnV0dG9uXG4gICAgPlxuICB7L2lmfVxuPC9kaXY+XG4iLCI8IS0tIHN2ZWx0ZS1pZ25vcmUgbWlzc2luZy1kZWNsYXJhdGlvbiAtLT5cbjxzdmVsdGU6b3B0aW9ucyB0YWc9XCJjYW1lcmEtYnRuXCIgLz5cblxuPHNjcmlwdCBsYW5nPVwidHNcIj5cbiAgaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliL3V0aWwvdXRpbCc7XG4gIGltcG9ydCB7IHN3YXBDYW1lcmEgfSBmcm9tICcuL2NvbmZTdG9yZSc7XG4gIGltcG9ydCBDb25mTW9kYWwgZnJvbSAnLi9Db25mTW9kYWwuc3ZlbHRlJztcbiAgaW1wb3J0IHsgY2FtZXJhRGV2aWNlc1N0b3JlIH0gZnJvbSAnLi4vZmFjZVRhYi9mYWNlU3RvcmUnO1xuICBpbXBvcnQgeyBjb2xsZWN0b3JTZWxlY3QgfSBmcm9tICcuLi8uLi9tYWluU3RvcmUnO1xuPC9zY3JpcHQ+XG5cbjxDb25mTW9kYWwgLz5cblxuPCEtLSBzdmVsdGUtaWdub3JlIGExMXktY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAtLT5cbjxkaXZcbiAgb246Y2xpY2s9eygpID0+IHtcbiAgICAkc3dhcENhbWVyYSA9ICEkc3dhcENhbWVyYTtcbiAgfX1cbiAgY2xhc3M9e1xuICBpc01vYmlsZSgpICYmICRjb2xsZWN0b3JTZWxlY3QgPT0gJ0RPQ1VNRU5UJ1xuICA/IGBjZS1kdWktZHJvcGRvd24gY2UtZHVpLWRyb3Bkb3duLXRvcCBhYnNvbHV0ZSByaWdodC0xMCB0b3AtMTAgdHJhbnNsYXRlLXktMS8yIHotMjAgcm90YXRlLVstOTBkZWddYCBcbiAgOiAoaXNNb2JpbGUoKSAmJiAkY29sbGVjdG9yU2VsZWN0ID09ICdGQUNFJyBcbiAgPyBgY2UtZHVpLWRyb3Bkb3duIGNlLWR1aS1kcm9wZG93bi10b3AgYWJzb2x1dGUgei0yMCByaWdodC0yIHNtOmJsb2NrIGJvdHRvbS0xMGBcbiAgOiBgY2UtZHVpLWRyb3Bkb3duIGNlLWR1aS1kcm9wZG93bi10b3AgYWJzb2x1dGUgei0yMCByaWdodC0yIHNtOmJsb2NrIGJvdHRvbS0yYCl9XG4+XG4gIDwhLS0gc3ZlbHRlLWlnbm9yZSBhMTF5LWxhYmVsLWhhcy1hc3NvY2lhdGVkLWNvbnRyb2wgLS0+XG4gIDwhLS0gc3ZlbHRlLWlnbm9yZSBhMTF5LW5vLW5vbmludGVyYWN0aXZlLXRhYmluZGV4IC0tPlxuICA8bGFiZWwgdGFiaW5kZXg9XCIwXCIgaGlkZGVuPXskY2FtZXJhRGV2aWNlc1N0b3JlLmxlbmd0aCA8PSAxfSBjbGFzcz1cImNlLWR1aS1idG4gY2UtZHVpLWJ0bi1naG9zdFwiXG4gICAgPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMmVtXCIgaGVpZ2h0PVwiMmVtXCIgdmlld0JveD1cIjAgMCAyNTYgMjU2XCIgey4uLiQkcHJvcHN9PlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImhzbCh2YXIoLS1uKSlcIlxuICAgICAgICBkPVwiTTIwOCA1NmgtMjcuNzJsLTEzLjYzLTIwLjQ0QTggOCAwIDAgMCAxNjAgMzJIOTZhOCA4IDAgMCAwLTYuNjUgMy41Nkw3NS43MSA1Nkg0OGEyNCAyNCAwIDAgMC0yNCAyNHYxMTJhMjQgMjQgMCAwIDAgMjQgMjRoMTYwYTI0IDI0IDAgMCAwIDI0LTI0VjgwYTI0IDI0IDAgMCAwLTI0LTI0bS01MS4xOSAxMTAuNEE0OC4yMSA0OC4yMSAwIDAgMSA5NiAxNjMuNzdWMTY4YTggOCAwIDAgMS0xNiAwdi0yNGE4IDggMCAwIDEgOC04aDI0YTggOCAwIDAgMSAwIDE2aC01LjE1YTMyLjEyIDMyLjEyIDAgMCAwIDQwLjM0IDEuNjFhOCA4IDAgMCAxIDkuNjIgMTIuNzlNMTc2IDEyMGE4IDggMCAwIDEtOCA4aC0yNGE4IDggMCAwIDEgMC0xNmg1LjE1YTMyLjEyIDMyLjEyIDAgMCAwLTQwLjM0LTEuNjFhOCA4IDAgMCAxLTkuNjItMTIuNzlhNDguMjEgNDguMjEgMCAwIDEgNjAuODEgMi42M1Y5NmE4IDggMCAwIDEgMTYgMFpcIlxuICAgICAgLz5cbiAgICA8L3N2Zz48L2xhYmVsXG4gID5cbjwvZGl2PlxuIiwiPHN2ZWx0ZTpvcHRpb25zIHRhZz1cInRha2UtcGljdHVyZS1idG5cIiAvPlxuXG48c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICAgIGltcG9ydCB7IF8gfSBmcm9tICdzdmVsdGUtaTE4bic7XG4gIGltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbiAgaW1wb3J0IHsgY29sbGVjdG9yU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbWFpblN0b3JlJztcbiAgICBleHBvcnQgbGV0IGhhbmRsZXI6IEZ1bmN0aW9uID0gKCkgPT4ge307XG4gICAgZXhwb3J0IGxldCBpZCA9ICcnO1xuICAgIGV4cG9ydCBsZXQgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBleHBvcnQgbGV0IGhpZGRlbiA9IGZhbHNlO1xuPC9zY3JpcHQ+XG5cbnsjaWYgaXNNb2JpbGUoKSAmJiAkY29sbGVjdG9yU2VsZWN0ID09ICdET0NVTUVOVCd9XG4gIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0yIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB6LTIwIHJvdGF0ZS1bLTkwZGVnXVwiPlxuICAgIDxidXR0b25cbiAgICAgIHtpZH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIGhpZGRlbj17aGlkZGVufVxuICAgICAgY2xhc3M9XCJjZS1kdWktYnRuIGNlLWR1aS1idG4tcHJpbWFyeSB0ZXh0LXhsIHBiLVsycHhdXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiBoYW5kbGVyKCl9PlxuICAgICAgeyRfKCdkb2NDb2xsZWN0b3IuY2FwdHVyZScpfVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbns6ZWxzZSBpZiAkY29sbGVjdG9yU2VsZWN0ID09ICdET0NVTUVOVCd9XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgIDxidXR0b25cbiAgICAgIHtpZH1cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIGhpZGRlbj17aGlkZGVufVxuICAgICAgY2xhc3M9XCJjZS1kdWktYnRuIGNlLWR1aS1idG4tcHJpbWFyeSB0ZXh0LXhsIHBiLVsycHhdIGFic29sdXRlIHotMTAgYm90dG9tLTJcIlxuICAgICAgb246Y2xpY2s9eygpID0+IGhhbmRsZXIoKX0+XG4gICAgICB7JF8oJ2RvY0NvbGxlY3Rvci5jYXB0dXJlJyl9XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuezplbHNlfVxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICB7aWR9XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICBoaWRkZW49e2hpZGRlbn1cbiAgICAgIGNsYXNzPXtcbiAgICAgIGlzTW9iaWxlKClcbiAgICAgID8gXCJjZS1kdWktYnRuIGNlLWR1aS1idG4tcHJpbWFyeSB0ZXh0LXhsIHBiLVsycHhdIGFic29sdXRlIHotMjAgYm90dG9tLTEwXCJcbiAgICAgIDogXCJjZS1kdWktYnRuIGNlLWR1aS1idG4tcHJpbWFyeSB0ZXh0LXhsIHBiLVsycHhdIGFic29sdXRlIHotMjAgYm90dG9tLTJcIn1cbiAgICAgIG9uOmNsaWNrPXsoKSA9PiBoYW5kbGVyKCl9PlxuICAgICAgeyRfKCdmYWNlQ29sbGVjdG9yLmNhcHR1cmUnKX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG57L2lmfSIsImV4cG9ydCBkZWZhdWx0IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpT0RVaUlHaGxhV2RvZEQwaU1qVWlJSFpwWlhkQ2IzZzlJakFnTUNBNE5TQXlOU0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUSTRMak16TmlBeU1GWTFMamRJTXpRdU1qYzJRek0xTGpJeU1qY2dOUzQzSURNMkxqQTBPVE1nTlM0NE5UTXpNeUF6Tmk0M05UWWdOaTR4TmtNek55NDBOakkzSURZdU5EWTJOamNnTXpndU1EQTVNeUEyTGprZ016Z3VNemsySURjdU5EWkRNemd1TnpneU55QTRMakF5SURNNExqazNOaUE0TGpZNElETTRMamszTmlBNUxqUTBRek00TGprM05pQXhNQzR4TXpNeklETTRMamM0TWpjZ01UQXVOelV6TXlBek9DNHpPVFlnTVRFdU0wTXpPQzR3TURreklERXhMamd6TXpNZ016Y3VORFl5TnlBeE1pNHlOVE16SURNMkxqYzFOaUF4TWk0MU5rTXpOaTR3TkRreklERXlMamcyTmpjZ016VXVNakl5TnlBeE15NHdNaUF6TkM0eU56WWdNVE11TURKSU16RXVNak0yVmpFeVNETTBMalExTmtNek5TNDBPREkzSURFeUlETTJMak0zTmlBeE1pNHhOaUF6Tnk0eE16WWdNVEl1TkRoRE16Y3VPVEE1TXlBeE1pNDNPRFkzSURNNExqVXdPVE1nTVRNdU1qTXpNeUF6T0M0NU16WWdNVE11T0RKRE16a3VNemMySURFMExqTTVNek1nTXprdU5UazJJREUxTGpBNElETTVMalU1TmlBeE5TNDRPRU16T1M0MU9UWWdNVFl1Tmprek15QXpPUzR6T0RJM0lERTNMalF4TXpNZ016Z3VPVFUySURFNExqQTBRek00TGpVeU9UUWdNVGd1TmpZMk55QXpOeTQ1TWpreklERTVMakUxTXpNZ016Y3VNVFUySURFNUxqVkRNell1TXpneU55QXhPUzQ0TXpNeklETTFMalE0TWpjZ01qQWdNelF1TkRVMklESXdTREk0TGpNek5scE5NekV1TURNMklERTNMamMwU0RNMExqUTNOa016TlM0eU1Ea3pJREUzTGpjMElETTFMamM0T1RNZ01UY3VOVFkyTnlBek5pNHlNVFlnTVRjdU1qSkRNell1TmpReU55QXhOaTQ0TmlBek5pNDROVFlnTVRZdU16WWdNell1T0RVMklERTFMamN5UXpNMkxqZzFOaUF4TlM0eE1EWTNJRE0yTGpZME1qY2dNVFF1TmpNek15QXpOaTR5TVRZZ01UUXVNME16TlM0M09Ea3pJREV6TGprMU16TWdNelV1TWpBNU15QXhNeTQzT0NBek5DNDBOellnTVRNdU56aElNekF1T0RNMlZqRXhMalUyU0RNMExqRXpOa016TkM0M09Ea3pJREV4TGpVMklETTFMak13TWpjZ01URXVOQ0F6TlM0Mk56WWdNVEV1TURoRE16WXVNRFl5TnlBeE1DNDNORFkzSURNMkxqSTFOaUF4TUM0eU9UTXpJRE0yTGpJMU5pQTVMamN5UXpNMkxqSTFOaUE1TGpFMklETTJMakEyTWpjZ09DNDNNalkyTnlBek5TNDJOellnT0M0ME1rTXpOUzR6TURJM0lEZ3VNVEV6TXpNZ016UXVOemc1TXlBM0xqazJJRE0wTGpFek5pQTNMamsyU0RNeExqQXpObFl4Tnk0M05GcE5ORGN1T0RNeU1TQTVMamMyVmpFeUxqRTJTRFEzTGpJNU1qRkRORFl1TmpZMU5DQXhNaTR4TmlBME5pNHhNalUwSURFeUxqSTROamNnTkRVdU5qY3lNU0F4TWk0MU5FTTBOUzR5TVRnNElERXlMamM0SURRMExqZzFPRGdnTVRNdU1UWWdORFF1TlRreU1TQXhNeTQyT0VNME5DNHpNemc0SURFMExqSWdORFF1TWpFeU1TQXhOQzQ0TnpNeklEUTBMakl4TWpFZ01UVXVOMVl5TUVnME1TNDFOekl4VmprdU9UUklORFF1TVRreU1WWXhNeTR5U0RRekxqZzNNakZETkRNdU9Ua3lNU0F4TWk0ek1EWTNJRFEwTGpJek9EZ2dNVEV1TmpFek15QTBOQzQyTVRJeElERXhMakV5UXpRMExqazVPRGdnTVRBdU5qSTJOeUEwTlM0ME5EVTBJREV3TGpJNElEUTFMamsxTWpFZ01UQXVNRGhETkRZdU5EY3lNU0E1TGpnMk5qWTNJRFEyTGprM09EZ2dPUzQzTmlBME55NDBOekl4SURrdU56WklORGN1T0RNeU1WcE5OVGN1TWpBd09TQTVMamswU0RVNUxqZzJNRGxNTlRVdU1EZ3dPU0F5TVM0eE5rTTFOQzQyT1RReUlESXlMakExTXpNZ05UUXVNakEzTlNBeU1pNDNNalkzSURVekxqWXlNRGtnTWpNdU1UaEROVE11TURNME1pQXlNeTQyTkRZM0lEVXlMakkxTkRJZ01qTXVPRGdnTlRFdU1qZ3dPU0F5TXk0NE9FZzBPUzQ1T0RBNVZqSXhMamN5U0RVeExqRTBNRGxETlRFdU5UUXdPU0F5TVM0M01pQTFNUzQ0TnpReUlESXhMall5TmpjZ05USXVNVFF3T1NBeU1TNDBORU0xTWk0ME1qQTVJREl4TGpJMk5qY2dOVEl1TmpRd09TQXlNQzQ1T0RZM0lEVXlMamd3TURrZ01qQXVOa3cxTXk0d01qQTVJREl3TGpBeVREUTRMamN5TURrZ09TNDVORWcxTVM0ME5qQTVURFUwTGpjME1Ea2dNVGd1TlRKSU5UTXVPRGd3T1V3MU55NHlNREE1SURrdU9UUmFUVFkzTGprd016VWdNakJJTmpVdU1qWXpOVlk1TGprMFNEWTNMamt3TXpWV01qQmFUVFkyTGpVNE16VWdPQzR5UXpZMkxqRTBNelVnT0M0eUlEWTFMamMyTXpVZ09DNHdOVE16TXlBMk5TNDBORE0xSURjdU56WkROalV1TVRNMk9DQTNMalExTXpNeklEWTBMams0TXpVZ055NHdPRFkyTnlBMk5DNDVPRE0xSURZdU5qWkROalF1T1Rnek5TQTJMakl3TmpZM0lEWTFMakV6TmpnZ05TNDRNek16TXlBMk5TNDBORE0xSURVdU5UUkROalV1TnpZek5TQTFMakkwTmpZM0lEWTJMakUwTXpVZ05TNHhJRFkyTGpVNE16VWdOUzR4UXpZM0xqQXpOamdnTlM0eElEWTNMalF4TmpnZ05TNHlOVE16TXlBMk55NDNNak0xSURVdU5UWkROamd1TURNd01pQTFMamcxTXpNeklEWTRMakU0TXpVZ05pNHlNaUEyT0M0eE9ETTFJRFl1TmpaRE5qZ3VNVGd6TlNBM0xqQTROalkzSURZNExqQXpNRElnTnk0ME5UTXpNeUEyTnk0M01qTTFJRGN1TnpaRE5qY3VOREUyT0NBNExqQTFNek16SURZM0xqQXpOamdnT0M0eUlEWTJMalU0TXpVZ09DNHlXazAzTUM0MU1EUWdNakJXTlM0M1NEYzFMalV3TkVNM055NHdNemN6SURVdU55QTNPQzR6TnpjeklEWXVNREEyTmpjZ056a3VOVEkwSURZdU5qSkRPREF1TmpnMElEY3VNaklnT0RFdU5UZzBJRGd1TURZZ09ESXVNakkwSURrdU1UUkRPREl1T0RjM015QXhNQzR5TURZM0lEZ3pMakl3TkNBeE1TNDBOQ0E0TXk0eU1EUWdNVEl1T0RSRE9ETXVNakEwSURFMExqSTBJRGd5TGpnM056TWdNVFV1TkRnZ09ESXVNakkwSURFMkxqVTJRemd4TGpVNE5DQXhOeTQyTWpZM0lEZ3dMalk0TkNBeE9DNDBOalkzSURjNUxqVXlOQ0F4T1M0d09FTTNPQzR6TnpjeklERTVMalk1TXpNZ056Y3VNRE0zTXlBeU1DQTNOUzQxTURRZ01qQklOekF1TlRBMFdrMDNNeTR5TURRZ01UY3VOMGczTlM0MU1EUkROell1TlRBMElERTNMamNnTnpjdU16WTBJREUzTGpVZ056Z3VNRGcwSURFM0xqRkROemd1T0RFM015QXhOaTQzSURjNUxqTTNOek1nTVRZdU1UUWdOemt1TnpZMElERTFMalF5UXpnd0xqRTJOQ0F4TkM0Mk9EWTNJRGd3TGpNMk5DQXhNeTQ0TWpZM0lEZ3dMak0yTkNBeE1pNDRORU00TUM0ek5qUWdNVEV1T0RVek15QTRNQzR4TmpRZ01URWdOemt1TnpZMElERXdMakk0UXpjNUxqTTNOek1nT1M0MU5EWTJOeUEzT0M0NE1UY3pJRGd1T1RnMk5qY2dOemd1TURnMElEZ3VOa00zTnk0ek5qUWdPQzR5SURjMkxqVXdOQ0E0SURjMUxqVXdOQ0E0U0RjekxqSXdORll4Tnk0M1dpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BHTnBjbU5zWlNCamVEMGlNVEFpSUdONVBTSXhNeTR6TURZeUlpQnlQU0kwSWlCbWFXeHNQU0ozYUdsMFpTSXZQZ284WTJseVkyeGxJR040UFNJNUxqazFPVEExSWlCamVUMGlNVE11TWpVeUlpQnlQU0kyTGpjMU1qQXlJaUJ6ZEhKdmEyVTlJbmRvYVhSbElpOCtDanh3WVhSb0lHUTlJazAxTGpRM09URTVJRFJJTXk0eE16STVOVU14TGprMU5EazFJRFFnTVNBMExqazFORGsxSURFZ05pNHhNekk1TlZZNExqUTNPVEU1VFRFMExqUXpOellnTkVneE5pNDNPRE00UXpFM0xqazJNVGdnTkNBeE9DNDVNVFkzSURRdU9UVTBPVFVnTVRndU9URTJOeUEyTGpFek1qazFWamd1TkRjNU1UbE5NVGd1T1RFMk55QXhOeTQwTXpjMlZqRTVMamM0TXpoRE1UZ3VPVEUyTnlBeU1DNDVOakU0SURFM0xqazJNVGdnTWpFdU9URTJOeUF4Tmk0M09ETTRJREl4TGpreE5qZElNVFF1TkRNM05rMDFMalEzT1RFNUlESXhMamt4TmpkSU15NHhNekk1TlVNeExqazFORGsxSURJeExqa3hOamNnTVNBeU1DNDVOakU0SURFZ01Ua3VOemd6T0ZZeE55NDBNemMySWlCemRISnZhMlU5SW5kb2FYUmxJaTgrQ2p3dmMzWm5QZ289XCIiLCI8IS0tIHN2ZWx0ZS1pZ25vcmUgbWlzc2luZy1kZWNsYXJhdGlvbiAtLT5cbjxzdmVsdGU6b3B0aW9ucyB0YWc9XCJ3YXRlci1tYXJrXCIgLz5cblxuPHNjcmlwdCBsYW5nPVwidHNcIj5cbiAgICBpbXBvcnQgeyBvdmFsRGltZW5zaW9ucywgZG9jRGltZW5zaW9ucyB9IGZyb20gXCIuLi9mYWNlVGFiL2ZhY2VBcGlTdG9yZVwiO1xuICAgIGltcG9ydCB7IGNvbGxlY3RvclNlbGVjdCB9IGZyb20gXCIuLi8uLi9tYWluU3RvcmVcIjtcbiAgICBpbXBvcnQgd2F0ZXJNYXJrIGZyb20gXCIuLi8uLi9hc3NldHMvaW1nL0JyeUlEd2F0ZXJNYXJrLnN2Z1wiO1xuICAgIGltcG9ydCB7IHZpZGVvU3RvcmUgfSBmcm9tIFwiLi4vZmFjZVRhYi9mYWNlU3RvcmVcIjtcbiAgICBpbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbiAgICBsZXQgb3ZhbFdpZHRoOiBudW1iZXI7XG4gICAgbGV0IG92YWxIZWlnaHQ6IG51bWJlcjtcbiAgICBsZXQgb3ZhbE1hcmdpblRvcDogbnVtYmVyO1xuICAgIGxldCBkb2NXaWR0aDogbnVtYmVyO1xuICAgIGxldCBkb2NIZWlnaHQ6IG51bWJlcjtcbiAgICBsZXQgZG9jTWFyZ2luVG9wOiBudW1iZXI7XG5cbiAgICAkOiBpZiAoJHZpZGVvU3RvcmUpIHtcbiAgICAgICAgb3ZhbFdpZHRoID0gJG92YWxEaW1lbnNpb25zLndpZHRoIC8gJHZpZGVvU3RvcmUudmlkZW9XaWR0aCAqIDEwMDtcbiAgICAgICAgb3ZhbEhlaWdodCA9ICRvdmFsRGltZW5zaW9ucy5oZWlnaHQgLyAkdmlkZW9TdG9yZS52aWRlb0hlaWdodCAqIDEwMDtcbiAgICAgICAgb3ZhbE1hcmdpblRvcCA9ICgkb3ZhbERpbWVuc2lvbnMueSAtICgkb3ZhbERpbWVuc2lvbnMuaGVpZ2h0IC8gMikpIC8gJHZpZGVvU3RvcmUudmlkZW9IZWlnaHQgKiA1OVxuXG4gICAgICAgIGRvY1dpZHRoID0gJGRvY0RpbWVuc2lvbnMud2lkdGggLyAkdmlkZW9TdG9yZS52aWRlb1dpZHRoICogMTAwO1xuICAgICAgICBkb2NIZWlnaHQgPSAkZG9jRGltZW5zaW9ucy5oZWlnaHQgLyAkdmlkZW9TdG9yZS52aWRlb0hlaWdodCAqIDEwMDtcbiAgICAgICAgZG9jTWFyZ2luVG9wID0gJGRvY0RpbWVuc2lvbnMueSAvICR2aWRlb1N0b3JlLnZpZGVvSGVpZ2h0ICogNTdcblxuICAgICAgICBpZiAoaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgb3ZhbE1hcmdpblRvcCA9ICgkb3ZhbERpbWVuc2lvbnMueSAtICgkb3ZhbERpbWVuc2lvbnMuaGVpZ2h0IC8gMikpIC8gJHZpZGVvU3RvcmUudmlkZW9IZWlnaHQgKiAxMDBcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG5cbnsjaWYgJGNvbGxlY3RvclNlbGVjdCA9PSAnRkFDRSd9XG4gICAgPGRpdiBcbiAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LTAgei0xMFwiPlxuICAgICAgICA8ZGl2IFxuICAgICAgICBjbGFzcz1cIm14LWF1dG8gbXktMTAgZGlzcGxheTogZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1lbmQgcC00XCJcbiAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgd2lkdGg6IHtvdmFsV2lkdGh9JTsgXG4gICAgICAgIGhlaWdodDoge292YWxIZWlnaHR9JTsgXG4gICAgICAgIG1hcmdpbi10b3A6IHtvdmFsTWFyZ2luVG9wfSU7XCI+XG4gICAgICAgICAgICA8aW1nIHNyYz17d2F0ZXJNYXJrfSBhbHQ9XCJCcnlJRFwiPiAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIHs6ZWxzZX1cbiAgICAgICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wIHotMTBcIj5cbiAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cIm14LWF1dG8gbXktMTAgZGlzcGxheTogZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1lbmQgcC00XCJcbiAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICB3aWR0aDoge2RvY1dpZHRofSU7IFxuICAgICAgICAgICAgaGVpZ2h0OiB7ZG9jSGVpZ2h0fSU7IFxuICAgICAgICAgICAgbWFyZ2luLXRvcDoge2RvY01hcmdpblRvcH0lO1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPXt3YXRlck1hcmt9IGFsdD1cIkJyeUlEXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG57L2lmfSJdLCJuYW1lcyI6WyJDYW1lcmFTdGF0dXNFbnVtIiwiY2FtZXJhU3RhdHVzU3RvcmUiLCJ3cml0YWJsZSIsInQxX3ZhbHVlIiwiY3R4IiwidDNfdmFsdWUiLCJ0NV92YWx1ZSIsImluc2VydF9kZXYiLCJ0YXJnZXQiLCJzdmciLCJhbmNob3IiLCJhcHBlbmRfZGV2IiwicGF0aCIsInNwYW4wIiwic3BhbjEiLCJidXR0b24iLCJkaXJ0eSIsInNldF9kYXRhX2RldiIsInQxIiwidDMiLCJ0NSIsImNyZWF0ZV9pZl9ibG9jayIsImNyZWF0ZV9pZl9ibG9ja18xIiwiY3JlYXRlX2lmX2Jsb2NrXzIiLCJjcmVhdGVfaWZfYmxvY2tfMyIsImNyZWF0ZV9pZl9ibG9ja180IiwiY3JlYXRlX2lmX2Jsb2NrXzUiLCJjcmVhdGVfaWZfYmxvY2tfNiIsImRpdiIsImhhbmRsZXIiLCIkY2FtZXJhU3RhdHVzU3RvcmUiLCJzZXRfc3RvcmVfdmFsdWUiLCJzY3JlZW5Mb2NrZWQiLCIkc2NyZWVuTG9ja2VkIiwibG9ja1NjcmVlbiIsImlzTW9iaWxlIiwibGFiZWwiLCJzd2FwQ2FtZXJhIiwiJHN3YXBDYW1lcmEiLCJ0X3ZhbHVlIiwidCIsImlkIiwiJCRwcm9wcyIsImRpc2FibGVkIiwiaGlkZGVuIiwid2F0ZXJNYXJrIiwiYXR0cl9kZXYiLCJpbWciLCJpbWdfc3JjX3ZhbHVlIiwiZGl2MSIsImRpdjAiLCJvdmFsV2lkdGgiLCJvdmFsSGVpZ2h0Iiwib3ZhbE1hcmdpblRvcCIsImRvY1dpZHRoIiwiZG9jSGVpZ2h0IiwiZG9jTWFyZ2luVG9wIiwiJHZpZGVvU3RvcmUiLCIkb3ZhbERpbWVuc2lvbnMiLCIkJGludmFsaWRhdGUiLCIkZG9jRGltZW5zaW9ucyJdLCJtYXBwaW5n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