bry-biometric-collector 2.1.1 → 2.2.0-RC01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -133,6 +133,13 @@ Currently supported tag parameters:
133
133
 
134
134
  Example: `show_unconformities=false`
135
135
 
136
+ - **video_filter**: Camera filter/color outside the oval area. Possible values are `"blur", "none", "white",
137
+ "blue", "red", "green", "gray", "yellow", "black"`. HTML colors are also accepted.
138
+
139
+ Default: `blur`
140
+
141
+ Example: `video_filter=white`
142
+
136
143
  ### **Run-time Configuration**
137
144
 
138
145
  #### **Functions**
@@ -0,0 +1,629 @@
1
+ import { aw as lt, S as Z, r as j, t as H, w as U, x as r, y as T, B as g, D as z, G as q, a8 as K, b5 as C, b6 as D, b7 as V, aG as A, aK as I, aL as d, aM as b, aV as f, b0 as k, aH as E, b8 as O, aN as M, aZ as y, b9 as S, ba as F, aq as B, ad as G, aI as at, bb as nt, aO as ot, aU as it, aS as ct, aW as ut, ac as rt } from "./main_68a840b8_2.2.0-RC01.js";
2
+ var N = /* @__PURE__ */ ((i) => (i.OK = "OK", i.DEVICE_NOT_FOUND_ERROR = "DEVICE_NOT_FOUND_ERROR", i.CAMERA_DENIED_ERROR = "CAMERA_DENIED_ERROR", i.CAMERA_IN_USE_ERROR = "CAMERA_IN_USE_ERROR", i.CAMERA_CLOSED_ERROR = "CAMERA_CLOSED_ERROR", i.CAMERA_UNSUPPORTED = "CAMERA_UNSUPPORTED", i.CAMERA_ORIENTATION_PORTRAIT = "CAMERA_ORIENTATION_PORTRAIT", i.CAMERA_ORIENTATION_LANDSCAPE = "CAMERA_ORIENTATION_LANDSCAPE", i))(N || {});
3
+ const P = lt(
4
+ "OK"
5
+ /* OK */
6
+ ), w = "src/lib/faceTab/cameraStatus/CameraStatus.svelte";
7
+ function W(i) {
8
+ let e, c, u, n, v, s, m, l, p, R, x = [
9
+ { class: "text-[8em] mx-auto" },
10
+ { xmlns: "http://www.w3.org/2000/svg" },
11
+ { width: "1em" },
12
+ { height: "1em" },
13
+ { viewBox: "0 0 256 256" },
14
+ /*$$props*/
15
+ i[2]
16
+ ], _ = {};
17
+ for (let o = 0; o < x.length; o += 1)
18
+ _ = C(_, x[o]);
19
+ const h = {
20
+ c: function() {
21
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "O dispositivo precisa estar na posição paisagem.", v = E(), s = A("span"), s.textContent = "Por favor, pressione o botão abaixo para ajustar.", m = E(), l = A("button"), l.textContent = "Ajustar Orientação", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 173, 6, 8304), O(e, _), b(e, w, 165, 4, 8129), d(n, "class", "text-xl font-bold text-center"), b(n, w, 178, 4, 8833), d(s, "class", "m-auto text-base block text-center"), b(s, w, 179, 4, 8937), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 180, 4, 9047);
22
+ },
23
+ m: function(t, a) {
24
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
25
+ l,
26
+ "click",
27
+ /*click_handler_6*/
28
+ i[9],
29
+ !1,
30
+ !1,
31
+ !1,
32
+ !1
33
+ ), p = !0);
34
+ },
35
+ p: function(t, a) {
36
+ O(e, _ = S(x, [
37
+ { class: "text-[8em] mx-auto" },
38
+ { xmlns: "http://www.w3.org/2000/svg" },
39
+ { width: "1em" },
40
+ { height: "1em" },
41
+ { viewBox: "0 0 256 256" },
42
+ a & /*$$props*/
43
+ 4 && /*$$props*/
44
+ t[2]
45
+ ]));
46
+ },
47
+ d: function(t) {
48
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
49
+ }
50
+ };
51
+ return g("SvelteRegisterBlock", {
52
+ block: h,
53
+ id: W.name,
54
+ type: "if",
55
+ source: "(164:81) ",
56
+ ctx: i
57
+ }), h;
58
+ }
59
+ function J(i) {
60
+ let e, c, u, n, v, s, m, l, p, R, x = [
61
+ { class: "text-[8em] mx-auto" },
62
+ { xmlns: "http://www.w3.org/2000/svg" },
63
+ { width: "1em" },
64
+ { height: "1em" },
65
+ { viewBox: "0 0 256 256" },
66
+ /*$$props*/
67
+ i[2]
68
+ ], _ = {};
69
+ for (let o = 0; o < x.length; o += 1)
70
+ _ = C(_, x[o]);
71
+ const h = {
72
+ c: function() {
73
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "O dispositivo precisa estar na posição retrato.", v = E(), s = A("span"), s.textContent = "Por favor, pressione o botão abaixo para ajustar.", m = E(), l = A("button"), l.textContent = "Ajustar Orientação", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 150, 6, 7078), O(e, _), b(e, w, 142, 4, 6903), d(n, "class", "text-xl font-bold text-center"), b(n, w, 155, 4, 7607), d(s, "class", "m-auto text-base block text-center"), b(s, w, 156, 4, 7710), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 157, 4, 7820);
74
+ },
75
+ m: function(t, a) {
76
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
77
+ l,
78
+ "click",
79
+ /*click_handler_5*/
80
+ i[8],
81
+ !1,
82
+ !1,
83
+ !1,
84
+ !1
85
+ ), p = !0);
86
+ },
87
+ p: function(t, a) {
88
+ O(e, _ = S(x, [
89
+ { class: "text-[8em] mx-auto" },
90
+ { xmlns: "http://www.w3.org/2000/svg" },
91
+ { width: "1em" },
92
+ { height: "1em" },
93
+ { viewBox: "0 0 256 256" },
94
+ a & /*$$props*/
95
+ 4 && /*$$props*/
96
+ t[2]
97
+ ]));
98
+ },
99
+ d: function(t) {
100
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
101
+ }
102
+ };
103
+ return g("SvelteRegisterBlock", {
104
+ block: h,
105
+ id: J.name,
106
+ type: "if",
107
+ source: "(141:80) ",
108
+ ctx: i
109
+ }), h;
110
+ }
111
+ function Q(i) {
112
+ let e, c, u, n, v, s, m, l, p, R, x = [
113
+ { class: "text-[8em] mx-auto" },
114
+ { xmlns: "http://www.w3.org/2000/svg" },
115
+ { width: "1em" },
116
+ { height: "1em" },
117
+ { viewBox: "0 0 256 256" },
118
+ /*$$props*/
119
+ i[2]
120
+ ], _ = {};
121
+ for (let o = 0; o < x.length; o += 1)
122
+ _ = C(_, x[o]);
123
+ const h = {
124
+ c: function() {
125
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "A câmera não atende os requisitos necessários.", v = E(), s = A("span"), s.textContent = "Por favor, conecte outra câmera e tente novamente.", m = E(), l = A("button"), l.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 127, 6, 5942), O(e, _), b(e, w, 119, 4, 5767), d(n, "class", "text-xl font-bold text-center"), b(n, w, 132, 4, 6398), d(s, "class", "m-auto text-base block text-center"), b(s, w, 133, 4, 6500), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 134, 4, 6611);
126
+ },
127
+ m: function(t, a) {
128
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
129
+ l,
130
+ "click",
131
+ /*click_handler_4*/
132
+ i[7],
133
+ !1,
134
+ !1,
135
+ !1,
136
+ !1
137
+ ), p = !0);
138
+ },
139
+ p: function(t, a) {
140
+ O(e, _ = S(x, [
141
+ { class: "text-[8em] mx-auto" },
142
+ { xmlns: "http://www.w3.org/2000/svg" },
143
+ { width: "1em" },
144
+ { height: "1em" },
145
+ { viewBox: "0 0 256 256" },
146
+ a & /*$$props*/
147
+ 4 && /*$$props*/
148
+ t[2]
149
+ ]));
150
+ },
151
+ d: function(t) {
152
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
153
+ }
154
+ };
155
+ return g("SvelteRegisterBlock", {
156
+ block: h,
157
+ id: Q.name,
158
+ type: "if",
159
+ source: "(118:71) ",
160
+ ctx: i
161
+ }), h;
162
+ }
163
+ function X(i) {
164
+ let e, c, u, n, v, s, m, l, p, R, x = [
165
+ { class: "text-[8em] mx-auto" },
166
+ { xmlns: "http://www.w3.org/2000/svg" },
167
+ { width: "1em" },
168
+ { height: "1em" },
169
+ { viewBox: "0 0 256 256" },
170
+ /*$$props*/
171
+ i[2]
172
+ ], _ = {};
173
+ for (let o = 0; o < x.length; o += 1)
174
+ _ = C(_, x[o]);
175
+ const h = {
176
+ c: function() {
177
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "Por favor, permaneça na mesma aba durante a coleta biométrica.", v = E(), s = A("span"), s.textContent = "Clique no botão Reiniciar para capturar novamente.", m = E(), l = A("button"), l.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 104, 6, 4756), O(e, _), b(e, w, 96, 4, 4581), d(n, "class", "text-xl font-bold text-center"), b(n, w, 109, 4, 5255), d(s, "class", "m-auto text-base block text-center"), b(s, w, 110, 4, 5373), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 111, 4, 5484);
178
+ },
179
+ m: function(t, a) {
180
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
181
+ l,
182
+ "click",
183
+ /*click_handler_3*/
184
+ i[6],
185
+ !1,
186
+ !1,
187
+ !1,
188
+ !1
189
+ ), p = !0);
190
+ },
191
+ p: function(t, a) {
192
+ O(e, _ = S(x, [
193
+ { class: "text-[8em] mx-auto" },
194
+ { xmlns: "http://www.w3.org/2000/svg" },
195
+ { width: "1em" },
196
+ { height: "1em" },
197
+ { viewBox: "0 0 256 256" },
198
+ a & /*$$props*/
199
+ 4 && /*$$props*/
200
+ t[2]
201
+ ]));
202
+ },
203
+ d: function(t) {
204
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
205
+ }
206
+ };
207
+ return g("SvelteRegisterBlock", {
208
+ block: h,
209
+ id: X.name,
210
+ type: "if",
211
+ source: "(95:72) ",
212
+ ctx: i
213
+ }), h;
214
+ }
215
+ function Y(i) {
216
+ let e, c, u, n, v, s, m, l, p, R, x = [
217
+ { class: "text-[8em] mx-auto" },
218
+ { xmlns: "http://www.w3.org/2000/svg" },
219
+ { width: "1em" },
220
+ { height: "1em" },
221
+ { viewBox: "0 0 256 256" },
222
+ /*$$props*/
223
+ i[2]
224
+ ], _ = {};
225
+ for (let o = 0; o < x.length; o += 1)
226
+ _ = C(_, x[o]);
227
+ const h = {
228
+ c: function() {
229
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "A câmera está em uso.", v = E(), s = A("span"), s.textContent = "Certifique-se de que a câmera não está sendo utilizada por nenhuma outra aplicação e clique no botão abaixo.", m = E(), l = A("button"), l.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 76, 6, 3468), O(e, _), b(e, w, 68, 4, 3293), d(n, "class", "text-xl font-bold text-center"), b(n, w, 81, 4, 3960), d(s, "class", "m-auto text-base block text-center"), b(s, w, 82, 4, 4037), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 85, 4, 4218);
230
+ },
231
+ m: function(t, a) {
232
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
233
+ l,
234
+ "click",
235
+ /*click_handler_2*/
236
+ i[5],
237
+ !1,
238
+ !1,
239
+ !1,
240
+ !1
241
+ ), p = !0);
242
+ },
243
+ p: function(t, a) {
244
+ O(e, _ = S(x, [
245
+ { class: "text-[8em] mx-auto" },
246
+ { xmlns: "http://www.w3.org/2000/svg" },
247
+ { width: "1em" },
248
+ { height: "1em" },
249
+ { viewBox: "0 0 256 256" },
250
+ a & /*$$props*/
251
+ 4 && /*$$props*/
252
+ t[2]
253
+ ]));
254
+ },
255
+ d: function(t) {
256
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
257
+ }
258
+ };
259
+ return g("SvelteRegisterBlock", {
260
+ block: h,
261
+ id: Y.name,
262
+ type: "if",
263
+ source: "(67:72) ",
264
+ ctx: i
265
+ }), h;
266
+ }
267
+ function $(i) {
268
+ let e, c, u, n, v, s, m, l, p, R, x = [
269
+ { class: "text-[8em] mx-auto" },
270
+ { xmlns: "http://www.w3.org/2000/svg" },
271
+ { width: "1em" },
272
+ { height: "1em" },
273
+ { viewBox: "0 0 256 256" },
274
+ /*$$props*/
275
+ i[2]
276
+ ], _ = {};
277
+ for (let o = 0; o < x.length; o += 1)
278
+ _ = C(_, x[o]);
279
+ const h = {
280
+ c: function() {
281
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "A câmera não foi detectada.", v = E(), s = A("span"), s.textContent = "Por favor, conecte a sua câmera, espere alguns instantes e clique no botão Reiniciar.", m = E(), l = A("button"), l.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 47, 6, 1922), O(e, _), b(e, w, 39, 4, 1747), d(n, "class", "text-xl font-bold text-center"), b(n, w, 52, 4, 2654), d(s, "class", "m-auto text-base block text-center"), b(s, w, 53, 4, 2737), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 56, 4, 2895);
282
+ },
283
+ m: function(t, a) {
284
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
285
+ l,
286
+ "click",
287
+ /*click_handler_1*/
288
+ i[4],
289
+ !1,
290
+ !1,
291
+ !1,
292
+ !1
293
+ ), p = !0);
294
+ },
295
+ p: function(t, a) {
296
+ O(e, _ = S(x, [
297
+ { class: "text-[8em] mx-auto" },
298
+ { xmlns: "http://www.w3.org/2000/svg" },
299
+ { width: "1em" },
300
+ { height: "1em" },
301
+ { viewBox: "0 0 256 256" },
302
+ a & /*$$props*/
303
+ 4 && /*$$props*/
304
+ t[2]
305
+ ]));
306
+ },
307
+ d: function(t) {
308
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
309
+ }
310
+ };
311
+ return g("SvelteRegisterBlock", {
312
+ block: h,
313
+ id: $.name,
314
+ type: "if",
315
+ source: "(38:75) ",
316
+ ctx: i
317
+ }), h;
318
+ }
319
+ function tt(i) {
320
+ let e, c, u, n, v, s, m, l, p, R, x = [
321
+ { class: "text-[8em] mx-auto" },
322
+ { xmlns: "http://www.w3.org/2000/svg" },
323
+ { width: "1em" },
324
+ { height: "1em" },
325
+ { viewBox: "0 0 256 256" },
326
+ /*$$props*/
327
+ i[2]
328
+ ], _ = {};
329
+ for (let o = 0; o < x.length; o += 1)
330
+ _ = C(_, x[o]);
331
+ const h = {
332
+ c: function() {
333
+ e = k("svg"), c = k("path"), u = E(), n = A("span"), n.textContent = "Por favor, conceda permissão de acesso à câmera.", v = E(), s = A("span"), s.textContent = "Após conceder a permissão, clique no botão Reiniciar.", m = E(), l = A("button"), l.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "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"), b(c, w, 20, 6, 658), O(e, _), b(e, w, 12, 4, 483), d(n, "class", "text-xl font-bold text-center"), b(n, w, 25, 4, 1114), d(s, "class", "m-auto text-base block text-center"), b(s, w, 26, 4, 1218), d(l, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), b(l, w, 27, 4, 1332);
334
+ },
335
+ m: function(t, a) {
336
+ r(t, e, a), M(e, c), r(t, u, a), r(t, n, a), r(t, v, a), r(t, s, a), r(t, m, a), r(t, l, a), p || (R = y(
337
+ l,
338
+ "click",
339
+ /*click_handler*/
340
+ i[3],
341
+ !1,
342
+ !1,
343
+ !1,
344
+ !1
345
+ ), p = !0);
346
+ },
347
+ p: function(t, a) {
348
+ O(e, _ = S(x, [
349
+ { class: "text-[8em] mx-auto" },
350
+ { xmlns: "http://www.w3.org/2000/svg" },
351
+ { width: "1em" },
352
+ { height: "1em" },
353
+ { viewBox: "0 0 256 256" },
354
+ a & /*$$props*/
355
+ 4 && /*$$props*/
356
+ t[2]
357
+ ]));
358
+ },
359
+ d: function(t) {
360
+ t && f(e), t && f(u), t && f(n), t && f(v), t && f(s), t && f(m), t && f(l), p = !1, R();
361
+ }
362
+ };
363
+ return g("SvelteRegisterBlock", {
364
+ block: h,
365
+ id: tt.name,
366
+ type: "if",
367
+ source: "(11:2) {#if $cameraStatusStore === CameraStatusEnum.CAMERA_DENIED_ERROR}",
368
+ ctx: i
369
+ }), h;
370
+ }
371
+ function et(i) {
372
+ let e;
373
+ function c(s, m) {
374
+ if (
375
+ /*$cameraStatusStore*/
376
+ s[1] === N.CAMERA_DENIED_ERROR
377
+ )
378
+ return tt;
379
+ if (
380
+ /*$cameraStatusStore*/
381
+ s[1] === N.DEVICE_NOT_FOUND_ERROR
382
+ )
383
+ return $;
384
+ if (
385
+ /*$cameraStatusStore*/
386
+ s[1] === N.CAMERA_IN_USE_ERROR
387
+ )
388
+ return Y;
389
+ if (
390
+ /*$cameraStatusStore*/
391
+ s[1] === N.CAMERA_CLOSED_ERROR
392
+ )
393
+ return X;
394
+ if (
395
+ /*$cameraStatusStore*/
396
+ s[1] === N.CAMERA_UNSUPPORTED
397
+ )
398
+ return Q;
399
+ if (
400
+ /*$cameraStatusStore*/
401
+ s[1] === N.CAMERA_ORIENTATION_PORTRAIT
402
+ )
403
+ return J;
404
+ if (
405
+ /*$cameraStatusStore*/
406
+ s[1] === N.CAMERA_ORIENTATION_LANDSCAPE
407
+ )
408
+ return W;
409
+ }
410
+ let u = c(i), n = u && u(i);
411
+ const v = {
412
+ c: function() {
413
+ e = A("div"), n && n.c(), this.c = I, d(e, "class", "flex flex-col gap-4 justify-center absolute -translate-y-1/2 -translate-x-1/2 top-1/2 left-1/2 overflow-visible text-nowrap"), b(e, w, 7, 0, 222);
414
+ },
415
+ l: function(m) {
416
+ throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
417
+ },
418
+ m: function(m, l) {
419
+ r(m, e, l), n && n.m(e, null);
420
+ },
421
+ p: function(m, [l]) {
422
+ u === (u = c(m)) && n ? n.p(m, l) : (n && n.d(1), n = u && u(m), n && (n.c(), n.m(e, null)));
423
+ },
424
+ i: I,
425
+ o: I,
426
+ d: function(m) {
427
+ m && f(e), n && n.d();
428
+ }
429
+ };
430
+ return g("SvelteRegisterBlock", {
431
+ block: v,
432
+ id: et.name,
433
+ type: "component",
434
+ source: "",
435
+ ctx: i
436
+ }), v;
437
+ }
438
+ function ft(i, e, c) {
439
+ let u;
440
+ z(P, "cameraStatusStore"), q(i, P, (o) => c(1, u = o));
441
+ let { $$slots: n = {}, $$scope: v } = e;
442
+ K("camera-status", n, []);
443
+ let { handler: s = () => {
444
+ } } = e;
445
+ const m = () => {
446
+ s(), console.log("canicna", s);
447
+ }, l = () => {
448
+ s(), console.log("canicna", s);
449
+ }, p = () => {
450
+ s(), console.log("canicna", s);
451
+ }, R = () => {
452
+ s();
453
+ }, x = () => {
454
+ s();
455
+ }, _ = () => {
456
+ V(!0);
457
+ }, h = () => {
458
+ V(!1);
459
+ };
460
+ return i.$$set = (o) => {
461
+ c(2, e = C(C({}, e), D(o))), "handler" in o && c(0, s = o.handler);
462
+ }, i.$capture_state = () => ({
463
+ handler: s,
464
+ CameraStatusEnum: N,
465
+ cameraStatusStore: P,
466
+ lockScreen: V,
467
+ $cameraStatusStore: u
468
+ }), i.$inject_state = (o) => {
469
+ c(2, e = C(C({}, e), o)), "handler" in e && c(0, s = o.handler);
470
+ }, e && "$$inject" in e && i.$inject_state(e.$$inject), e = D(e), [
471
+ s,
472
+ u,
473
+ e,
474
+ m,
475
+ l,
476
+ p,
477
+ R,
478
+ x,
479
+ _,
480
+ h
481
+ ];
482
+ }
483
+ class mt extends Z {
484
+ constructor(e) {
485
+ super(), j(
486
+ this,
487
+ {
488
+ target: this.shadowRoot,
489
+ props: U(this.attributes),
490
+ customElement: !0
491
+ },
492
+ ft,
493
+ et,
494
+ H,
495
+ { handler: 0 },
496
+ null
497
+ ), e && (e.target && r(e.target, this, e.anchor), e.props && (this.$set(e.props), T()));
498
+ }
499
+ static get observedAttributes() {
500
+ return ["handler"];
501
+ }
502
+ get handler() {
503
+ return this.$$.ctx[0];
504
+ }
505
+ set handler(e) {
506
+ this.$$set({ handler: e }), T();
507
+ }
508
+ }
509
+ customElements.define("camera-status", mt);
510
+ const L = "src/lib/conf/CameraBtn.svelte";
511
+ function st(i) {
512
+ let e, c, u, n, v, s, m, l, p, R;
513
+ e = new F({ $$inline: !0 });
514
+ let x = [
515
+ { xmlns: "http://www.w3.org/2000/svg" },
516
+ { width: "2em" },
517
+ { height: "2em" },
518
+ { viewBox: "0 0 256 256" },
519
+ /*$$props*/
520
+ i[2]
521
+ ], _ = {};
522
+ for (let o = 0; o < x.length; o += 1)
523
+ _ = C(_, x[o]);
524
+ const h = {
525
+ c: function() {
526
+ at(e.$$.fragment), c = E(), u = A("div"), n = A("label"), v = k("svg"), s = k("path"), this.c = I, d(s, "fill", "currentColor"), d(s, "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"), b(s, L, 23, 6, 831), O(v, _), b(v, L, 22, 5, 724), d(n, "tabindex", "0"), n.hidden = !G(), d(n, "class", "ce-dui-btn ce-dui-btn-ghost m-1"), b(n, L, 21, 2, 637), d(u, "class", m = "ce-dui-dropdown ce-dui-dropdown-top absolute z-10 right-0 sm:block " + /*className*/
527
+ i[0]), nt(u, "margin-bottom", "30px"), b(u, L, 12, 0, 335);
528
+ },
529
+ l: function(t) {
530
+ throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
531
+ },
532
+ m: function(t, a) {
533
+ ot(e, t, a), r(t, c, a), r(t, u, a), M(u, n), M(n, v), M(v, s), l = !0, p || (R = y(
534
+ u,
535
+ "click",
536
+ /*click_handler*/
537
+ i[3],
538
+ !1,
539
+ !1,
540
+ !1,
541
+ !1
542
+ ), p = !0);
543
+ },
544
+ p: function(t, [a]) {
545
+ O(v, _ = S(x, [
546
+ { xmlns: "http://www.w3.org/2000/svg" },
547
+ { width: "2em" },
548
+ { height: "2em" },
549
+ { viewBox: "0 0 256 256" },
550
+ a & /*$$props*/
551
+ 4 && /*$$props*/
552
+ t[2]
553
+ ])), (!l || a & /*className*/
554
+ 1 && m !== (m = "ce-dui-dropdown ce-dui-dropdown-top absolute z-10 right-0 sm:block " + /*className*/
555
+ t[0])) && d(u, "class", m);
556
+ },
557
+ i: function(t) {
558
+ l || (it(e.$$.fragment, t), l = !0);
559
+ },
560
+ o: function(t) {
561
+ ct(e.$$.fragment, t), l = !1;
562
+ },
563
+ d: function(t) {
564
+ ut(e, t), t && f(c), t && f(u), p = !1, R();
565
+ }
566
+ };
567
+ return g("SvelteRegisterBlock", {
568
+ block: h,
569
+ id: st.name,
570
+ type: "component",
571
+ source: "",
572
+ ctx: i
573
+ }), h;
574
+ }
575
+ function dt(i, e, c) {
576
+ let u;
577
+ z(B, "swapCamera"), q(i, B, (l) => c(1, u = l));
578
+ let { $$slots: n = {}, $$scope: v } = e;
579
+ K("camera-btn", n, []);
580
+ let { className: s = "" } = e;
581
+ const m = () => {
582
+ rt(B, u = !u, u);
583
+ };
584
+ return i.$$set = (l) => {
585
+ c(2, e = C(C({}, e), D(l))), "className" in l && c(0, s = l.className);
586
+ }, i.$capture_state = () => ({
587
+ swapCamera: B,
588
+ ConfModal: F,
589
+ isMobile: G,
590
+ className: s,
591
+ $swapCamera: u
592
+ }), i.$inject_state = (l) => {
593
+ c(2, e = C(C({}, e), l)), "className" in e && c(0, s = l.className);
594
+ }, e && "$$inject" in e && i.$inject_state(e.$$inject), e = D(e), [s, u, e, m];
595
+ }
596
+ class _t extends Z {
597
+ constructor(e) {
598
+ super(), j(
599
+ this,
600
+ {
601
+ target: this.shadowRoot,
602
+ props: U(this.attributes),
603
+ customElement: !0
604
+ },
605
+ dt,
606
+ st,
607
+ H,
608
+ { className: 0 },
609
+ null
610
+ ), e && (e.target && r(e.target, this, e.anchor), e.props && (this.$set(e.props), T()));
611
+ }
612
+ static get observedAttributes() {
613
+ return ["className"];
614
+ }
615
+ get className() {
616
+ return this.$$.ctx[0];
617
+ }
618
+ set className(e) {
619
+ this.$$set({ className: e }), T();
620
+ }
621
+ }
622
+ customElements.define("camera-btn", _t);
623
+ export {
624
+ N as C,
625
+ _t as a,
626
+ mt as b,
627
+ P as c
628
+ };
629
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtZXJhQnRuX2ViMjU0MzNkXzIuMi4wLVJDMDEuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvZmFjZVRhYi9jYW1lcmFTdGF0dXMvY2FtZXJhU3RhdHVzU3RvcmUudHMiLCIuLi9zcmMvbGliL2ZhY2VUYWIvY2FtZXJhU3RhdHVzL0NhbWVyYVN0YXR1cy5zdmVsdGUiLCIuLi9zcmMvbGliL2NvbmYvQ2FtZXJhQnRuLnN2ZWx0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3cml0YWJsZSB9IGZyb20gJ3N2ZWx0ZS9zdG9yZSc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIENhbWVyYVN0YXR1c0VudW0ge1xuICBPSyA9ICdPSycsXG4gIERFVklDRV9OT1RfRk9VTkRfRVJST1IgPSAnREVWSUNFX05PVF9GT1VORF9FUlJPUicsXG4gIENBTUVSQV9ERU5JRURfRVJST1IgPSAnQ0FNRVJBX0RFTklFRF9FUlJPUicsIC8vIG9yIGRpc21pc3NlZFxuICBDQU1FUkFfSU5fVVNFX0VSUk9SID0gJ0NBTUVSQV9JTl9VU0VfRVJST1InLFxuICBDQU1FUkFfQ0xPU0VEX0VSUk9SID0gJ0NBTUVSQV9DTE9TRURfRVJST1InLFxuICBDQU1FUkFfVU5TVVBQT1JURUQgPSAnQ0FNRVJBX1VOU1VQUE9SVEVEJyxcbiAgQ0FNRVJBX09SSUVOVEFUSU9OX1BPUlRSQUlUID0gJ0NBTUVSQV9PUklFTlRBVElPTl9QT1JUUkFJVCcsXG4gIENBTUVSQV9PUklFTlRBVElPTl9MQU5EU0NBUEUgPSAnQ0FNRVJBX09SSUVOVEFUSU9OX0xBTkRTQ0FQRScsXG59XG5cbmV4cG9ydCBjb25zdCBjYW1lcmFTdGF0dXNTdG9yZSA9IHdyaXRhYmxlPENhbWVyYVN0YXR1c0VudW0+KENhbWVyYVN0YXR1c0VudW0uT0spO1xuIiwiPHN2ZWx0ZTpvcHRpb25zIHRhZz1cImNhbWVyYS1zdGF0dXNcIiAvPlxuXG48c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBleHBvcnQgbGV0IGhhbmRsZXI6IEZ1bmN0aW9uID0gKCkgPT4ge307XG4gIGltcG9ydCB7IENhbWVyYVN0YXR1c0VudW0sIGNhbWVyYVN0YXR1c1N0b3JlIH0gZnJvbSAnLi9jYW1lcmFTdGF0dXNTdG9yZSc7XG4gIGltcG9ydCB7IGxvY2tTY3JlZW4gfSBmcm9tICcuLi8uLi91dGlsL3V0aWwnO1xuPC9zY3JpcHQ+XG5cbjxkaXZcbiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00IGp1c3RpZnktY2VudGVyIGFic29sdXRlIC10cmFuc2xhdGUteS0xLzIgLXRyYW5zbGF0ZS14LTEvMiB0b3AtMS8yIGxlZnQtMS8yIG92ZXJmbG93LXZpc2libGUgdGV4dC1ub3dyYXBcIlxuPlxuICB7I2lmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfREVOSUVEX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp2aWRlby1jYW1lcmEtc2xhc2gtYm9sZCAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIlxuICAgICAgey4uLiQkcHJvcHN9XG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGQ9XCJNMjQ5LjQ1IDY5LjMxYTEyIDEyIDAgMCAwLTEyLjUxIDFMMjEyIDg4LjQzVjcyYTIwIDIwIDAgMCAwLTIwLTIwaC02OC4xMmExMiAxMiAwIDAgMCAwIDI0SDE4OHY2OGExMiAxMiAwIDAgMCA0LjQ2IDkuMzNjLjE1LjEzLjMxLjI1LjQ4LjM4bDQ0IDMyQTEyIDEyIDAgMCAwIDI1NiAxNzZWODBhMTIgMTIgMCAwIDAtNi41NS0xMC42OU0yMzIgMTUyLjQzbC0yMC0xNC41NHYtMTkuNzhsMjAtMTQuNTRaTTU2Ljg4IDMxLjkzYTEyIDEyIDAgMSAwLTE3Ljc2IDE2LjE0TDQyLjY5IDUySDMyYTIwIDIwIDAgMCAwLTIwIDIwdjExMmEyMCAyMCAwIDAgMCAyMCAyMGgxNDguODdsMTguMjUgMjAuMDdhMTIgMTIgMCAwIDAgMTcuNzYtMTYuMTRaTTM2IDE4MFY3NmgyOC41MWw5NC41NSAxMDRaXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPlBvciBmYXZvciwgY29uY2VkYSBwZXJtaXNzw6NvIGRlIGFjZXNzbyDDoCBjw6JtZXJhLjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIm0tYXV0byB0ZXh0LWJhc2UgYmxvY2sgdGV4dC1jZW50ZXJcIj5BcMOzcyBjb25jZWRlciBhIHBlcm1pc3PDo28sIGNsaXF1ZSBubyBib3TDo28gUmVpbmljaWFyLjwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYW5pY25hJywgaGFuZGxlcik7XG4gICAgICAgIC8vIGNhcHR1cmluZyA9IHRydWU7XG4gICAgICAgIC8vIGNhbWVyYURlbmllZCA9IGZhbHNlO1xuICAgICAgICAvLyBvcGVuQ2FtZXJhKCk7XG4gICAgICB9fT5SZWluaWNpYXI8L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5ERVZJQ0VfTk9UX0ZPVU5EX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp2aWRlby1jYW1lcmEtc2xhc2gtYm9sZCAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIlxuICAgICAgey4uLiQkcHJvcHN9XG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGQ9XCJtMTM3IDE2OGwxMS41Mi0xMS41MWExMiAxMiAwIDAgMC0xNy0xN0wxMjAgMTUxbC0xNS0xNWwxMS41Mi0xMS41MWExMiAxMiAwIDAgMC0xNy0xN0w4OCAxMTlsLTE1LjUxLTE1LjQ5YTEyIDEyIDAgMCAwLTE3IDE3TDU5IDEyNGwtMjAuNDYgMjAuNDlhMzYgMzYgMCAwIDAgMCA1MC45MWwyLjU1IDIuNTRsLTI1LjU4IDI1LjU3YTEyIDEyIDAgMCAwIDE3IDE3bDI1LjU3LTI1LjU4bDIuNTQgMi41NWEzNi4wNiAzNi4wNiAwIDAgMCA1MC45MSAwTDEzMiAxOTdsMy41MSAzLjUyYTEyIDEyIDAgMCAwIDE3LTE3Wm0tNDIuNDYgMzIuNDlhMTIgMTIgMCAwIDEtMTcgMGwtMjIuMDMtMjIuMDZhMTIgMTIgMCAwIDEgMC0xN0w3NiAxNDFsMzkgMzlabTE0Ni0xODVhMTIgMTIgMCAwIDAtMTcgMGwtMjUuNiAyNS42bC0yLjU0LTIuNTVhMzYuMDUgMzYuMDUgMCAwIDAtNTAuOTEgMEwxMjQgNTlsLTMuNTEtMy41MmExMiAxMiAwIDAgMC0xNyAxN2w4MCA4MGExMiAxMiAwIDAgMCAxNy0xN0wxOTcgMTMybDIwLjQ5LTIwLjQ5YTM2IDM2IDAgMCAwIDAtNTAuOTFsLTIuNTUtMi41NGwyNS41OC0yNS41N2ExMiAxMiAwIDAgMC0uMDMtMTYuOThabS00MCA3OUwxODAgMTE1bC0zOS0zOWwyMC40OS0yMC40OWExMiAxMiAwIDAgMSAxNyAwbDIyLjA2IDIyLjA2YTEyIDEyIDAgMCAxIDAgMTdaXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPkEgY8OibWVyYSBuw6NvIGZvaSBkZXRlY3RhZGEuPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiXG4gICAgICA+UG9yIGZhdm9yLCBjb25lY3RlIGEgc3VhIGPDom1lcmEsIGVzcGVyZSBhbGd1bnMgaW5zdGFudGVzIGUgY2xpcXVlIG5vIGJvdMOjbyBSZWluaWNpYXIuPC9zcGFuXG4gICAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ2NhbmljbmEnLCBoYW5kbGVyKTtcbiAgICAgICAgLy8gY2FwdHVyaW5nID0gdHJ1ZTtcbiAgICAgICAgLy8gZGV2aWNlTm90Rm91bmQgPSBmYWxzZTtcbiAgICAgICAgLy8gb3BlbkNhbWVyYSgpO1xuICAgICAgfX0+UmVpbmljaWFyPC9idXR0b25cbiAgICA+XG4gIHs6ZWxzZSBpZiAkY2FtZXJhU3RhdHVzU3RvcmUgPT09IENhbWVyYVN0YXR1c0VudW0uQ0FNRVJBX0lOX1VTRV9FUlJPUn1cbiAgICA8IS0tIGljb25pZnkgcGg6d2FybmluZyAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIlxuICAgICAgey4uLiQkcHJvcHN9XG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGQ9XCJNNTYuODggMzEuOTNhMTIgMTIgMCAxIDAtMTcuNzYgMTYuMTRsNCA0LjM3QTI4IDI4IDAgMCAwIDIwIDgwdjExMmEyOCAyOCAwIDAgMCAyOCAyOGgxNDcuNDJsMy43IDQuMDdhMTIgMTIgMCAwIDAgMTcuNzYtMTYuMTRabTQ5LjM1IDkwTDEzNiAxNTQuNjRhMjQgMjQgMCAwIDEtMjkuNzctMzIuNzVaTTQ4IDE5NmE0IDQgMCAwIDEtNC00VjgwYTQgNCAwIDAgMSA0LTRoMTYuNTFsMjQuOTIgMjcuNDFhNDggNDggMCAwIDAgNjMuMzQgNjkuNjdMMTczLjYgMTk2Wk0yMzYgODB2OTQuMTRhMTIgMTIgMCAwIDEtMjQgMFY4MGE0IDQgMCAwIDAtNC00aC0zMmExMiAxMiAwIDAgMS0xMC01LjM0TDE1My41NyA1MmgtNTEuNTFhMTIgMTIgMCAwIDEgMC0yNEgxNjBhMTIgMTIgMCAwIDEgMTAgNS4zNEwxODIuNDIgNTJIMjA4YTI4IDI4IDAgMCAxIDI4IDI4XCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPkEgY8OibWVyYSBlc3TDoSBlbSB1c28uPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiXG4gICAgICA+Q2VydGlmaXF1ZS1zZSBkZSBxdWUgYSBjw6JtZXJhIG7Do28gZXN0w6Egc2VuZG8gdXRpbGl6YWRhIHBvciBuZW5odW1hIG91dHJhIGFwbGljYcOnw6NvIGUgY2xpcXVlIG5vIGJvdMOjbyBhYmFpeG8uPC9zcGFuXG4gICAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ2NhbmljbmEnLCBoYW5kbGVyKTtcbiAgICAgICAgLy8gY2FwdHVyaW5nID0gdHJ1ZTtcbiAgICAgICAgLy8gb3BlbkNhbWVyYSgpO1xuICAgICAgfX0+UmVpbmljaWFyPC9idXR0b25cbiAgICA+XG4gIHs6ZWxzZSBpZiAkY2FtZXJhU3RhdHVzU3RvcmUgPT09IENhbWVyYVN0YXR1c0VudW0uQ0FNRVJBX0NMT1NFRF9FUlJPUn1cbiAgICA8IS0tIGljb25pZnkgcGg6d2FybmluZyAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIlxuICAgICAgey4uLiQkcHJvcHN9XG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGQ9XCJNMjM2LjggMTg4LjA5TDE0OS4zNSAzNi4yMmEyNC43NiAyNC43NiAwIDAgMC00Mi43IDBMMTkuMiAxODguMDlhMjMuNTEgMjMuNTEgMCAwIDAgMCAyMy43MkEyNC4zNSAyNC4zNSAwIDAgMCA0MC41NSAyMjRoMTc0LjlhMjQuMzUgMjQuMzUgMCAwIDAgMjEuMzMtMTIuMTlhMjMuNTEgMjMuNTEgMCAwIDAgLjAyLTIzLjcybS0xMy44NyAxNS43MWE4LjUgOC41IDAgMCAxLTcuNDggNC4ySDQwLjU1YTguNSA4LjUgMCAwIDEtNy40OC00LjJhNy41OSA3LjU5IDAgMCAxIDAtNy43Mmw4Ny40NS0xNTEuODdhOC43NSA4Ljc1IDAgMCAxIDE1IDBsODcuNDUgMTUxLjg3YTcuNTkgNy41OSAwIDAgMS0uMDQgNy43Mk0xMjAgMTQ0di00MGE4IDggMCAwIDEgMTYgMHY0MGE4IDggMCAwIDEtMTYgMG0yMCAzNmExMiAxMiAwIDEgMS0xMi0xMmExMiAxMiAwIDAgMSAxMiAxMlwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXJcIj5Qb3IgZmF2b3IsIHBlcm1hbmXDp2EgbmEgbWVzbWEgYWJhIGR1cmFudGUgYSBjb2xldGEgYmlvbcOpdHJpY2EuPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPkNsaXF1ZSBubyBib3TDo28gUmVpbmljaWFyIHBhcmEgY2FwdHVyYXIgbm92YW1lbnRlLjwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVyKCk7XG4gICAgICB9fT5SZWluaWNpYXI8L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfVU5TVVBQT1JURUR9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yNDkuNDUgNjkuMzFhMTIgMTIgMCAwIDAtMTIuNTEgMUwyMTIgODguNDNWNzJhMjAgMjAgMCAwIDAtMjAtMjBoLTY4LjEyYTEyIDEyIDAgMCAwIDAgMjRIMTg4djY4YTEyIDEyIDAgMCAwIDQuNDYgOS4zM2MuMTUuMTMuMzEuMjUuNDguMzhsNDQgMzJBMTIgMTIgMCAwIDAgMjU2IDE3NlY4MGExMiAxMiAwIDAgMC02LjU1LTEwLjY5TTIzMiAxNTIuNDNsLTIwLTE0LjU0di0xOS43OGwyMC0xNC41NFpNNTYuODggMzEuOTNhMTIgMTIgMCAxIDAtMTcuNzYgMTYuMTRMNDIuNjkgNTJIMzJhMjAgMjAgMCAwIDAtMjAgMjB2MTEyYTIwIDIwIDAgMCAwIDIwIDIwaDE0OC44N2wxOC4yNSAyMC4wN2ExMiAxMiAwIDAgMCAxNy43Ni0xNi4xNFpNMzYgMTgwVjc2aDI4LjUxbDk0LjU1IDEwNFpcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+QSBjw6JtZXJhIG7Do28gYXRlbmRlIG9zIHJlcXVpc2l0b3MgbmVjZXNzw6FyaW9zLjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cIm0tYXV0byB0ZXh0LWJhc2UgYmxvY2sgdGV4dC1jZW50ZXJcIj5Qb3IgZmF2b3IsIGNvbmVjdGUgb3V0cmEgY8OibWVyYSBlIHRlbnRlIG5vdmFtZW50ZS48L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgfX0+UmVpbmljaWFyPC9idXR0b25cbiAgICA+XG4gIHs6ZWxzZSBpZiAkY2FtZXJhU3RhdHVzU3RvcmUgPT09IENhbWVyYVN0YXR1c0VudW0uQ0FNRVJBX09SSUVOVEFUSU9OX1BPUlRSQUlUfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp2aWRlby1jYW1lcmEtc2xhc2gtYm9sZCAtLT5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cInRleHQtWzhlbV0gbXgtYXV0b1wiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIlxuICAgICAgey4uLiQkcHJvcHN9XG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIGQ9XCJNMjA4IDU2aC0yNy43MmwtMTMuNjMtMjAuNDRBOCA4IDAgMCAwIDE2MCAzMkg5NmE4IDggMCAwIDAtNi42NSAzLjU2TDc1LjcxIDU2SDQ4YTI0IDI0IDAgMCAwLTI0IDI0djExMmEyNCAyNCAwIDAgMCAyNCAyNGgxNjBhMjQgMjQgMCAwIDAgMjQtMjRWODBhMjQgMjQgMCAwIDAtMjQtMjRtLTUxLjE5IDExMC40QTQ4LjIxIDQ4LjIxIDAgMCAxIDk2IDE2My43N1YxNjhhOCA4IDAgMCAxLTE2IDB2LTI0YTggOCAwIDAgMSA4LThoMjRhOCA4IDAgMCAxIDAgMTZoLTUuMTVhMzIuMTIgMzIuMTIgMCAwIDAgNDAuMzQgMS42MWE4IDggMCAwIDEgOS42MiAxMi43OU0xNzYgMTIwYTggOCAwIDAgMS04IDhoLTI0YTggOCAwIDAgMSAwLTE2aDUuMTVhMzIuMTIgMzIuMTIgMCAwIDAtNDAuMzQtMS42MWE4IDggMCAwIDEtOS42Mi0xMi43OWE0OC4yMSA0OC4yMSAwIDAgMSA2MC44MSAyLjYzVjk2YTggOCAwIDAgMSAxNiAwWlwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXJcIj5PIGRpc3Bvc2l0aXZvIHByZWNpc2EgZXN0YXIgbmEgcG9zacOnw6NvIHJldHJhdG8uPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPlBvciBmYXZvciwgcHJlc3Npb25lIG8gYm90w6NvIGFiYWl4byBwYXJhIGFqdXN0YXIuPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGxvY2tTY3JlZW4odHJ1ZSk7XG4gICAgICB9fT5BanVzdGFyIE9yaWVudGHDp8OjbzwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9PUklFTlRBVElPTl9MQU5EU0NBUEV9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yMDggNTZoLTI3LjcybC0xMy42My0yMC40NEE4IDggMCAwIDAgMTYwIDMySDk2YTggOCAwIDAgMC02LjY1IDMuNTZMNzUuNzEgNTZINDhhMjQgMjQgMCAwIDAtMjQgMjR2MTEyYTI0IDI0IDAgMCAwIDI0IDI0aDE2MGEyNCAyNCAwIDAgMCAyNC0yNFY4MGEyNCAyNCAwIDAgMC0yNC0yNG0tNTEuMTkgMTEwLjRBNDguMjEgNDguMjEgMCAwIDEgOTYgMTYzLjc3VjE2OGE4IDggMCAwIDEtMTYgMHYtMjRhOCA4IDAgMCAxIDgtOGgyNGE4IDggMCAwIDEgMCAxNmgtNS4xNWEzMi4xMiAzMi4xMiAwIDAgMCA0MC4zNCAxLjYxYTggOCAwIDAgMSA5LjYyIDEyLjc5TTE3NiAxMjBhOCA4IDAgMCAxLTggOGgtMjRhOCA4IDAgMCAxIDAtMTZoNS4xNWEzMi4xMiAzMi4xMiAwIDAgMC00MC4zNC0xLjYxYTggOCAwIDAgMS05LjYyLTEyLjc5YTQ4LjIxIDQ4LjIxIDAgMCAxIDYwLjgxIDIuNjNWOTZhOCA4IDAgMCAxIDE2IDBaXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPk8gZGlzcG9zaXRpdm8gcHJlY2lzYSBlc3RhciBuYSBwb3Npw6fDo28gcGFpc2FnZW0uPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPlBvciBmYXZvciwgcHJlc3Npb25lIG8gYm90w6NvIGFiYWl4byBwYXJhIGFqdXN0YXIuPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGxvY2tTY3JlZW4oZmFsc2UpO1xuICAgICAgfX0+QWp1c3RhciBPcmllbnRhw6fDo288L2J1dHRvblxuICAgID5cbiAgey9pZn1cbjwvZGl2PlxuIiwiPCEtLSBzdmVsdGUtaWdub3JlIG1pc3NpbmctZGVjbGFyYXRpb24gLS0+XG48c3ZlbHRlOm9wdGlvbnMgdGFnPVwiY2FtZXJhLWJ0blwiIC8+XG5cbjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IHN3YXBDYW1lcmEgfSBmcm9tICcuL2NvbmZTdG9yZSc7XG4gIGltcG9ydCBDb25mTW9kYWwgZnJvbSAnLi9Db25mTW9kYWwuc3ZlbHRlJztcbiAgaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuICBleHBvcnQgbGV0IGNsYXNzTmFtZSA9ICcnO1xuPC9zY3JpcHQ+XG5cbjxDb25mTW9kYWwgLz5cblxuPCEtLSBzdmVsdGUtaWdub3JlIGExMXktY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAtLT5cbjxkaXZcbiAgb246Y2xpY2s9eygpID0+IHtcbiAgICAkc3dhcENhbWVyYSA9ICEkc3dhcENhbWVyYTtcbiAgfX1cbiAgY2xhc3M9XCJjZS1kdWktZHJvcGRvd24gY2UtZHVpLWRyb3Bkb3duLXRvcCBhYnNvbHV0ZSB6LTEwIHJpZ2h0LTAgc206YmxvY2sge2NsYXNzTmFtZX1cIlxuICBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDMwcHg7XCJcbj5cbiAgPCEtLSBzdmVsdGUtaWdub3JlIGExMXktbGFiZWwtaGFzLWFzc29jaWF0ZWQtY29udHJvbCAtLT5cbiAgPCEtLSBzdmVsdGUtaWdub3JlIGExMXktbm8tbm9uaW50ZXJhY3RpdmUtdGFiaW5kZXggLS0+XG4gIDxsYWJlbCB0YWJpbmRleD1cIjBcIiBoaWRkZW49eyFpc01vYmlsZSgpfSAgY2xhc3M9XCJjZS1kdWktYnRuIGNlLWR1aS1idG4tZ2hvc3QgbS0xXCJcbiAgICA+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyZW1cIiBoZWlnaHQ9XCIyZW1cIiB2aWV3Qm94PVwiMCAwIDI1NiAyNTZcIiB7Li4uJCRwcm9wc30+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yMDggNTZoLTI3LjcybC0xMy42My0yMC40NEE4IDggMCAwIDAgMTYwIDMySDk2YTggOCAwIDAgMC02LjY1IDMuNTZMNzUuNzEgNTZINDhhMjQgMjQgMCAwIDAtMjQgMjR2MTEyYTI0IDI0IDAgMCAwIDI0IDI0aDE2MGEyNCAyNCAwIDAgMCAyNC0yNFY4MGEyNCAyNCAwIDAgMC0yNC0yNG0tNTEuMTkgMTEwLjRBNDguMjEgNDguMjEgMCAwIDEgOTYgMTYzLjc3VjE2OGE4IDggMCAwIDEtMTYgMHYtMjRhOCA4IDAgMCAxIDgtOGgyNGE4IDggMCAwIDEgMCAxNmgtNS4xNWEzMi4xMiAzMi4xMiAwIDAgMCA0MC4zNCAxLjYxYTggOCAwIDAgMSA5LjYyIDEyLjc5TTE3NiAxMjBhOCA4IDAgMCAxLTggOGgtMjRhOCA4IDAgMCAxIDAtMTZoNS4xNWEzMi4xMiAzMi4xMiAwIDAgMC00MC4zNC0xLjYxYTggOCAwIDAgMS05LjYyLTEyLjc5YTQ4LjIxIDQ4LjIxIDAgMCAxIDYwLjgxIDIuNjNWOTZhOCA4IDAgMCAxIDE2IDBaXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+PC9sYWJlbFxuICA+XG48L2Rpdj5cbiJdLCJuYW1lcyI6WyJDYW1lcmFTdGF0dXNFbnVtIiwiY2FtZXJhU3RhdHVzU3RvcmUiLCJ3cml0YWJsZSIsImN0eCIsImluc2VydF9kZXYiLCJ0YXJnZXQiLCJzdmciLCJhbmNob3IiLCJhcHBlbmRfZGV2IiwicGF0aCIsInNwYW4wIiwic3BhbjEiLCJidXR0b24iLCJjcmVhdGVfaWZfYmxvY2siLCJjcmVhdGVfaWZfYmxvY2tfMSIsImNyZWF0ZV9pZl9ibG9ja18yIiwiY3JlYXRlX2lmX2Jsb2NrXzMiLCJjcmVhdGVfaWZfYmxvY2tfNCIsImNyZWF0ZV9pZl9ibG9ja181IiwiY3JlYXRlX2lmX2Jsb2NrXzYiLCJkaXYiLCJoYW5kbGVyIiwibG9ja1NjcmVlbiIsImlzTW9iaWxlIiwibGFiZWwiLCJjbGFzc05hbWUiLCIkJHByb3BzIiwic2V0X3N0b3JlX3ZhbHVlIiwic3dhcENhbWVyYSIsIiRzd2FwQ2FtZXJhIl0sIm1hcHBpbmdzIjoiO0FBRWtCLElBQUFBLHNCQUFBQSxPQUNoQkEsRUFBQSxLQUFLLE1BQ0xBLEVBQUEseUJBQXlCLDBCQUN6QkEsRUFBQSxzQkFBc0IsdUJBQ3RCQSxFQUFBLHNCQUFzQix1QkFDdEJBLEVBQUEsc0JBQXNCLHVCQUN0QkEsRUFBQSxxQkFBcUIsc0JBQ3JCQSxFQUFBLDhCQUE4QiwrQkFDOUJBLEVBQUEsK0JBQStCLGdDQVJmQSxJQUFBQSxLQUFBLENBQUEsQ0FBQTtBQVdMLE1BQUFDLElBQW9CQztBQUFBLEVBQTJCO0FBQUE7QUFBbUI7Ozs7Ozs7OztJQytKckVDLEVBQU8sQ0FBQTtBQUFBOzs7Ozs7OztBQU5iLE1BQUFDLEVBWUtDLEdBQUFDLEdBQUFDLENB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