@ukwhatn/wikidot 1.0.10 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +227 -79
  2. package/dist/errors.cjs +114 -0
  3. package/dist/errors.d.cts +94 -0
  4. package/dist/errors.d.ts +94 -0
  5. package/dist/errors.js +81 -0
  6. package/dist/index.cjs +4624 -0
  7. package/dist/index.d.cts +2106 -0
  8. package/dist/index.d.ts +2106 -1
  9. package/dist/index.js +2651 -6
  10. package/dist/shared/index-7dqqxq7x.js +105 -0
  11. package/dist/shared/index-f2eh3ykk.js +172 -0
  12. package/dist/shared/index-kka6e8cb.js +627 -0
  13. package/dist/shared/index-ytknx2hn.js +980 -0
  14. package/package.json +64 -40
  15. package/.eslintrc.js +0 -23
  16. package/.github/dependabot.yml +0 -12
  17. package/.prettierrc +0 -6
  18. package/Makefile +0 -24
  19. package/dist/common/exceptions.d.ts +0 -95
  20. package/dist/common/exceptions.js +0 -146
  21. package/dist/common/exceptions.js.map +0 -1
  22. package/dist/common/index.d.ts +0 -1
  23. package/dist/common/index.js +0 -6
  24. package/dist/common/index.js.map +0 -1
  25. package/dist/common/logger.d.ts +0 -2
  26. package/dist/common/logger.js +0 -19
  27. package/dist/common/logger.js.map +0 -1
  28. package/dist/connector/ajax.d.ts +0 -142
  29. package/dist/connector/ajax.js +0 -260
  30. package/dist/connector/ajax.js.map +0 -1
  31. package/dist/connector/api.d.ts +0 -11
  32. package/dist/connector/api.js +0 -17
  33. package/dist/connector/api.js.map +0 -1
  34. package/dist/connector/index.d.ts +0 -0
  35. package/dist/connector/index.js +0 -2
  36. package/dist/connector/index.js.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/module/auth.d.ts +0 -8
  39. package/dist/module/auth.js +0 -80
  40. package/dist/module/auth.js.map +0 -1
  41. package/dist/module/client.d.ts +0 -39
  42. package/dist/module/client.js +0 -96
  43. package/dist/module/client.js.map +0 -1
  44. package/dist/module/index.d.ts +0 -0
  45. package/dist/module/index.js +0 -2
  46. package/dist/module/index.js.map +0 -1
  47. package/dist/module/page.d.ts +0 -102
  48. package/dist/module/page.js +0 -402
  49. package/dist/module/page.js.map +0 -1
  50. package/dist/module/pageRevision.d.ts +0 -29
  51. package/dist/module/pageRevision.js +0 -114
  52. package/dist/module/pageRevision.js.map +0 -1
  53. package/dist/module/pageSource.d.ts +0 -7
  54. package/dist/module/pageSource.js +0 -11
  55. package/dist/module/pageSource.js.map +0 -1
  56. package/dist/module/pageVote.d.ts +0 -14
  57. package/dist/module/pageVote.js +0 -20
  58. package/dist/module/pageVote.js.map +0 -1
  59. package/dist/module/privateMessage.d.ts +0 -29
  60. package/dist/module/privateMessage.js +0 -132
  61. package/dist/module/privateMessage.js.map +0 -1
  62. package/dist/module/site.d.ts +0 -32
  63. package/dist/module/site.js +0 -117
  64. package/dist/module/site.js.map +0 -1
  65. package/dist/module/siteApplication.d.ts +0 -14
  66. package/dist/module/siteApplication.js +0 -100
  67. package/dist/module/siteApplication.js.map +0 -1
  68. package/dist/module/user.d.ts +0 -56
  69. package/dist/module/user.js +0 -115
  70. package/dist/module/user.js.map +0 -1
  71. package/dist/util/index.d.ts +0 -3
  72. package/dist/util/index.js +0 -10
  73. package/dist/util/index.js.map +0 -1
  74. package/dist/util/parser/index.d.ts +0 -1
  75. package/dist/util/parser/index.js +0 -18
  76. package/dist/util/parser/index.js.map +0 -1
  77. package/dist/util/parser/odate.d.ts +0 -12
  78. package/dist/util/parser/odate.js +0 -25
  79. package/dist/util/parser/odate.js.map +0 -1
  80. package/dist/util/parser/user.d.ts +0 -16
  81. package/dist/util/parser/user.js +0 -36
  82. package/dist/util/parser/user.js.map +0 -1
  83. package/dist/util/quickModule.d.ts +0 -96
  84. package/dist/util/quickModule.js +0 -137
  85. package/dist/util/quickModule.js.map +0 -1
  86. package/dist/util/requestUtil.d.ts +0 -26
  87. package/dist/util/requestUtil.js +0 -69
  88. package/dist/util/requestUtil.js.map +0 -1
  89. package/dist/util/stringUtil.d.ts +0 -21
  90. package/dist/util/stringUtil.js +0 -64
  91. package/dist/util/stringUtil.js.map +0 -1
  92. package/dist/util/table/charTable.d.ts +0 -3
  93. package/dist/util/table/charTable.js +0 -472
  94. package/dist/util/table/charTable.js.map +0 -1
  95. package/dist/util/table/index.d.ts +0 -1
  96. package/dist/util/table/index.js +0 -18
  97. package/dist/util/table/index.js.map +0 -1
@@ -0,0 +1,627 @@
1
+ import {
2
+ NoElementError,
3
+ NotFoundException,
4
+ UnexpectedError,
5
+ fromPromise
6
+ } from "./index-7dqqxq7x.js";
7
+
8
+ // src/module/user/user.ts
9
+ import * as cheerio from "cheerio";
10
+
11
+ // src/util/table/char-table.ts
12
+ var specialCharMap = {
13
+ "À": "a",
14
+ "Á": "a",
15
+ "Â": "a",
16
+ "Ã": "a",
17
+ "Ä": "ae",
18
+ "Å": "a",
19
+ "Æ": "ae",
20
+ "Ç": "c",
21
+ "È": "e",
22
+ "É": "e",
23
+ "Ê": "e",
24
+ "Ë": "e",
25
+ "Ì": "i",
26
+ "Í": "i",
27
+ "Î": "i",
28
+ "Ï": "i",
29
+ "Ð": "d",
30
+ "Ñ": "n",
31
+ "Ò": "o",
32
+ "Ó": "o",
33
+ "Ô": "o",
34
+ "Õ": "o",
35
+ "Ö": "oe",
36
+ "Ø": "o",
37
+ "Ù": "u",
38
+ "Ú": "u",
39
+ "Û": "u",
40
+ "Ü": "ue",
41
+ "Ý": "y",
42
+ "Þ": "t",
43
+ "ß": "ss",
44
+ "à": "a",
45
+ "á": "a",
46
+ "â": "a",
47
+ "ã": "a",
48
+ "ä": "ae",
49
+ "å": "a",
50
+ "æ": "ae",
51
+ "ç": "c",
52
+ "è": "e",
53
+ "é": "e",
54
+ "ê": "e",
55
+ "ë": "e",
56
+ "ì": "i",
57
+ "í": "i",
58
+ "î": "i",
59
+ "ï": "i",
60
+ "ð": "d",
61
+ "ñ": "n",
62
+ "ò": "o",
63
+ "ó": "o",
64
+ "ô": "o",
65
+ "õ": "o",
66
+ "ö": "oe",
67
+ "ø": "o",
68
+ "ù": "u",
69
+ "ú": "u",
70
+ "û": "u",
71
+ "ü": "ue",
72
+ "ý": "y",
73
+ "þ": "t",
74
+ "ÿ": "y",
75
+ "Ā": "a",
76
+ "ā": "a",
77
+ "Ă": "a",
78
+ "ă": "a",
79
+ "Ą": "a",
80
+ "ą": "a",
81
+ "Ć": "c",
82
+ "ć": "c",
83
+ "Ĉ": "c",
84
+ "ĉ": "c",
85
+ "Ċ": "c",
86
+ "ċ": "c",
87
+ "Č": "c",
88
+ "č": "c",
89
+ "Ď": "d",
90
+ "ď": "d",
91
+ "Đ": "d",
92
+ "đ": "d",
93
+ "Ē": "e",
94
+ "ē": "e",
95
+ "Ĕ": "e",
96
+ "ĕ": "e",
97
+ "Ė": "e",
98
+ "ė": "e",
99
+ "Ę": "e",
100
+ "ę": "e",
101
+ "Ě": "e",
102
+ "ě": "e",
103
+ "Ĝ": "g",
104
+ "ĝ": "g",
105
+ "Ğ": "g",
106
+ "ğ": "g",
107
+ "Ġ": "g",
108
+ "ġ": "g",
109
+ "Ģ": "g",
110
+ "ģ": "g",
111
+ "Ĥ": "h",
112
+ "ĥ": "h",
113
+ "Ħ": "h",
114
+ "ħ": "h",
115
+ "Ĩ": "i",
116
+ "ĩ": "i",
117
+ "Ī": "i",
118
+ "ī": "i",
119
+ "Ĭ": "i",
120
+ "ĭ": "i",
121
+ "Į": "i",
122
+ "į": "i",
123
+ "İ": "i",
124
+ "ı": "i",
125
+ "IJ": "ij",
126
+ "ij": "ij",
127
+ "Ĵ": "j",
128
+ "ĵ": "j",
129
+ "Ķ": "k",
130
+ "ķ": "k",
131
+ "ĸ": "k",
132
+ "Ĺ": "l",
133
+ "ĺ": "l",
134
+ "Ļ": "l",
135
+ "ļ": "l",
136
+ "Ľ": "l",
137
+ "ľ": "l",
138
+ "Ŀ": "l",
139
+ "ŀ": "l",
140
+ "Ł": "l",
141
+ "ł": "l",
142
+ "Ń": "n",
143
+ "ń": "n",
144
+ "Ņ": "n",
145
+ "ņ": "n",
146
+ "Ň": "n",
147
+ "ň": "n",
148
+ "ʼn": "n",
149
+ "Ŋ": "n",
150
+ "ŋ": "n",
151
+ "Ō": "o",
152
+ "ō": "o",
153
+ "Ŏ": "o",
154
+ "ŏ": "o",
155
+ "Ő": "o",
156
+ "ő": "o",
157
+ "Œ": "oe",
158
+ "œ": "oe",
159
+ "Ŕ": "r",
160
+ "ŕ": "r",
161
+ "Ŗ": "r",
162
+ "ŗ": "r",
163
+ "Ř": "r",
164
+ "ř": "r",
165
+ "Ś": "s",
166
+ "ś": "s",
167
+ "Ŝ": "s",
168
+ "ŝ": "s",
169
+ "Ş": "s",
170
+ "ş": "s",
171
+ "Š": "s",
172
+ "š": "s",
173
+ "Ţ": "t",
174
+ "ţ": "t",
175
+ "Ť": "t",
176
+ "ť": "t",
177
+ "Ŧ": "t",
178
+ "ŧ": "t",
179
+ "Ũ": "u",
180
+ "ũ": "u",
181
+ "Ū": "u",
182
+ "ū": "u",
183
+ "Ŭ": "u",
184
+ "ŭ": "u",
185
+ "Ů": "u",
186
+ "ů": "u",
187
+ "Ű": "u",
188
+ "ű": "u",
189
+ "Ų": "u",
190
+ "ų": "u",
191
+ "Ŵ": "w",
192
+ "ŵ": "w",
193
+ "Ŷ": "y",
194
+ "ŷ": "y",
195
+ "Ÿ": "y",
196
+ "Ź": "z",
197
+ "ź": "z",
198
+ "Ż": "z",
199
+ "ż": "z",
200
+ "Ž": "z",
201
+ "ž": "z",
202
+ "ſ": "ss",
203
+ "Ƒ": "f",
204
+ "ƒ": "f",
205
+ "Ș": "s",
206
+ "ș": "s",
207
+ "Ț": "t",
208
+ "ț": "t",
209
+ "Ά": "a",
210
+ "Έ": "e",
211
+ "Ή": "i",
212
+ "Ί": "i",
213
+ "Ό": "o",
214
+ "Ύ": "y",
215
+ "Ώ": "o",
216
+ "ΐ": "i",
217
+ "Α": "a",
218
+ "Β": "v",
219
+ "Γ": "g",
220
+ "Δ": "d",
221
+ "Ε": "e",
222
+ "Ζ": "z",
223
+ "Η": "i",
224
+ "Θ": "th",
225
+ "Ι": "i",
226
+ "Κ": "k",
227
+ "Λ": "l",
228
+ "Μ": "m",
229
+ "Ν": "n",
230
+ "Ξ": "x",
231
+ "Ο": "o",
232
+ "Π": "p",
233
+ "Ρ": "r",
234
+ "Σ": "s",
235
+ "Τ": "t",
236
+ "Υ": "y",
237
+ "Φ": "f",
238
+ "Χ": "ch",
239
+ "Ψ": "ps",
240
+ "Ω": "o",
241
+ "Ϊ": "i",
242
+ "Ϋ": "y",
243
+ "ά": "a",
244
+ "έ": "e",
245
+ "ή": "i",
246
+ "ί": "i",
247
+ "ΰ": "y",
248
+ "α": "a",
249
+ "β": "v",
250
+ "γ": "g",
251
+ "δ": "d",
252
+ "ε": "e",
253
+ "ζ": "z",
254
+ "η": "i",
255
+ "θ": "th",
256
+ "ι": "i",
257
+ "κ": "k",
258
+ "λ": "l",
259
+ "μ": "m",
260
+ "ν": "n",
261
+ "ξ": "x",
262
+ "ο": "o",
263
+ "π": "p",
264
+ "ρ": "r",
265
+ "ς": "s",
266
+ "σ": "s",
267
+ "τ": "t",
268
+ "υ": "y",
269
+ "φ": "f",
270
+ "χ": "ch",
271
+ "ψ": "ps",
272
+ "ω": "o",
273
+ "ϊ": "i",
274
+ "ϋ": "y",
275
+ "ό": "o",
276
+ "ύ": "y",
277
+ "ώ": "o",
278
+ "ϑ": "th",
279
+ "Ё": "e",
280
+ "Ђ": "d",
281
+ "Ѓ": "g",
282
+ "Є": "e",
283
+ "Ѕ": "z",
284
+ "І": "i",
285
+ "Ї": "i",
286
+ "Ј": "j",
287
+ "Љ": "l",
288
+ "Њ": "n",
289
+ "Ћ": "c",
290
+ "Ќ": "k",
291
+ "Ў": "u",
292
+ "Џ": "d",
293
+ "А": "a",
294
+ "Б": "b",
295
+ "В": "v",
296
+ "Г": "g",
297
+ "Д": "d",
298
+ "Е": "e",
299
+ "Ж": "z",
300
+ "З": "z",
301
+ "И": "i",
302
+ "Й": "j",
303
+ "К": "k",
304
+ "Л": "l",
305
+ "М": "m",
306
+ "Н": "n",
307
+ "О": "o",
308
+ "П": "p",
309
+ "Р": "r",
310
+ "С": "s",
311
+ "Т": "t",
312
+ "У": "u",
313
+ "Ф": "f",
314
+ "Х": "h",
315
+ "Ц": "c",
316
+ "Ч": "c",
317
+ "Ш": "s",
318
+ "Щ": "s",
319
+ "Ы": "y",
320
+ "Э": "e",
321
+ "Ю": "u",
322
+ "Я": "a",
323
+ "а": "a",
324
+ "б": "b",
325
+ "в": "v",
326
+ "г": "g",
327
+ "д": "d",
328
+ "е": "e",
329
+ "ж": "z",
330
+ "з": "z",
331
+ "и": "i",
332
+ "й": "j",
333
+ "к": "k",
334
+ "л": "l",
335
+ "м": "m",
336
+ "н": "n",
337
+ "о": "o",
338
+ "п": "p",
339
+ "р": "r",
340
+ "с": "s",
341
+ "т": "t",
342
+ "у": "u",
343
+ "ф": "f",
344
+ "х": "h",
345
+ "ц": "c",
346
+ "ч": "c",
347
+ "ш": "s",
348
+ "щ": "s",
349
+ "ы": "y",
350
+ "э": "e",
351
+ "ю": "u",
352
+ "я": "a",
353
+ "ё": "e",
354
+ "ђ": "d",
355
+ "ѓ": "g",
356
+ "є": "e",
357
+ "ѕ": "z",
358
+ "і": "i",
359
+ "ї": "i",
360
+ "ј": "j",
361
+ "љ": "l",
362
+ "њ": "n",
363
+ "ћ": "c",
364
+ "ќ": "k",
365
+ "ў": "u",
366
+ "џ": "d",
367
+ "Ѣ": "e",
368
+ "ѣ": "e",
369
+ "Ѫ": "a",
370
+ "ѫ": "a",
371
+ "Ѳ": "f",
372
+ "ѳ": "f",
373
+ "Ѵ": "y",
374
+ "ѵ": "y",
375
+ "Ґ": "g",
376
+ "ґ": "g",
377
+ "Ғ": "g",
378
+ "ғ": "g",
379
+ "Ҕ": "g",
380
+ "ҕ": "g",
381
+ "Җ": "z",
382
+ "җ": "z",
383
+ "Қ": "k",
384
+ "қ": "k",
385
+ "Ҝ": "k",
386
+ "ҝ": "k",
387
+ "Ҟ": "k",
388
+ "ҟ": "k",
389
+ "Ҡ": "k",
390
+ "ҡ": "k",
391
+ "Ң": "n",
392
+ "ң": "n",
393
+ "Ҥ": "n",
394
+ "ҥ": "n",
395
+ "Ҧ": "p",
396
+ "ҧ": "p",
397
+ "Ҩ": "o",
398
+ "ҩ": "o",
399
+ "Ҫ": "s",
400
+ "ҫ": "s",
401
+ "Ҭ": "t",
402
+ "ҭ": "t",
403
+ "Ү": "u",
404
+ "ү": "u",
405
+ "Ұ": "u",
406
+ "ұ": "u",
407
+ "Ҳ": "h",
408
+ "ҳ": "h",
409
+ "Ҵ": "c",
410
+ "ҵ": "c",
411
+ "Ҷ": "c",
412
+ "ҷ": "c",
413
+ "Ҹ": "c",
414
+ "ҹ": "c",
415
+ "Һ": "h",
416
+ "һ": "h",
417
+ "Ҽ": "c",
418
+ "ҽ": "c",
419
+ "Ҿ": "c",
420
+ "ҿ": "c",
421
+ "Ӂ": "z",
422
+ "ӂ": "z",
423
+ "Ӄ": "k",
424
+ "ӄ": "k",
425
+ "Ӆ": "l",
426
+ "ӆ": "l",
427
+ "Ӈ": "n",
428
+ "ӈ": "n",
429
+ "Ӊ": "n",
430
+ "ӊ": "n",
431
+ "Ӌ": "c",
432
+ "ӌ": "c",
433
+ "Ӑ": "a",
434
+ "ӑ": "a",
435
+ "Ӓ": "a",
436
+ "ӓ": "a",
437
+ "Ӕ": "ae",
438
+ "ӕ": "ae",
439
+ "Ӗ": "e",
440
+ "ӗ": "e",
441
+ "Ә": "a",
442
+ "ә": "a",
443
+ "Ӛ": "a",
444
+ "ӛ": "a",
445
+ "Ӝ": "z",
446
+ "ӝ": "z",
447
+ "Ӟ": "z",
448
+ "ӟ": "z",
449
+ "Ӡ": "z",
450
+ "ӡ": "z",
451
+ "Ӣ": "i",
452
+ "ӣ": "i",
453
+ "Ӥ": "i",
454
+ "ӥ": "i",
455
+ "Ӧ": "o",
456
+ "ӧ": "o",
457
+ "Ө": "o",
458
+ "ө": "o",
459
+ "Ӫ": "o",
460
+ "ӫ": "o",
461
+ "Ӯ": "u",
462
+ "ӯ": "u",
463
+ "Ӱ": "u",
464
+ "ӱ": "u",
465
+ "Ӳ": "u",
466
+ "ӳ": "u",
467
+ "Ӵ": "c",
468
+ "ӵ": "c",
469
+ "Ӹ": "y",
470
+ "ӹ": "y",
471
+ "Ԋ": "n",
472
+ "ԋ": "n",
473
+ "Ԏ": "t",
474
+ "ԏ": "t",
475
+ "Ԛ": "q",
476
+ "ԛ": "q",
477
+ "Ԝ": "w",
478
+ "ԝ": "w"
479
+ };
480
+
481
+ // src/util/string-util.ts
482
+ function toUnix(targetStr) {
483
+ let result = "";
484
+ for (const char of targetStr) {
485
+ const mapped = specialCharMap[char];
486
+ result += mapped !== undefined ? mapped : char;
487
+ }
488
+ result = result.toLowerCase();
489
+ result = result.replace(/[^a-z0-9\-:_]/g, "-");
490
+ result = result.replace(/^_/, ":_");
491
+ result = result.replace(/(?<!:)_/g, "-");
492
+ result = result.replace(/^-*/, "");
493
+ result = result.replace(/-*$/, "");
494
+ result = result.replace(/-{2,}/g, "-");
495
+ result = result.replace(/:{2,}/g, ":");
496
+ result = result.replace(/:-/g, ":");
497
+ result = result.replace(/-:/g, ":");
498
+ result = result.replace(/_-/g, "_");
499
+ result = result.replace(/-_/g, "_");
500
+ result = result.replace(/^:/, "");
501
+ result = result.replace(/:$/, "");
502
+ return result;
503
+ }
504
+
505
+ // src/module/user/user-collection.ts
506
+ class UserCollection extends Array {
507
+ constructor(users) {
508
+ super();
509
+ if (users) {
510
+ this.push(...users);
511
+ }
512
+ }
513
+ findByName(name) {
514
+ const lowerName = name.toLowerCase();
515
+ for (const user of this) {
516
+ if (user && user.name.toLowerCase() === lowerName) {
517
+ return user;
518
+ }
519
+ }
520
+ return;
521
+ }
522
+ findById(id) {
523
+ for (const user of this) {
524
+ if (user && user.id === id) {
525
+ return user;
526
+ }
527
+ }
528
+ return;
529
+ }
530
+ filterNonNull() {
531
+ return this.filter((user) => user !== null);
532
+ }
533
+ }
534
+
535
+ // src/module/user/user.ts
536
+ class User {
537
+ client;
538
+ id;
539
+ name;
540
+ displayName;
541
+ avatarUrl;
542
+ unixName;
543
+ ip = null;
544
+ userType = "user";
545
+ constructor(client, data) {
546
+ this.client = client;
547
+ this.id = data.id;
548
+ this.name = data.name;
549
+ this.displayName = data.displayName ?? null;
550
+ this.avatarUrl = data.avatarUrl ?? `https://www.wikidot.com/avatar.php?userid=${data.id}`;
551
+ this.unixName = data.unixName ?? toUnix(data.name);
552
+ }
553
+ static fromName(client, name) {
554
+ return fromPromise((async () => {
555
+ const unixName = toUnix(name);
556
+ const url = `https://www.wikidot.com/user:info/${unixName}`;
557
+ const response = await fetch(url);
558
+ if (!response.ok) {
559
+ throw new UnexpectedError(`Failed to fetch user info: ${response.status}`);
560
+ }
561
+ const html = await response.text();
562
+ const $ = cheerio.load(html);
563
+ if ($("div.error-block").length > 0) {
564
+ return null;
565
+ }
566
+ const userIdElem = $("a.btn.btn-default.btn-xs");
567
+ if (userIdElem.length === 0) {
568
+ throw new NoElementError("User ID element not found");
569
+ }
570
+ const href = userIdElem.attr("href");
571
+ if (!href) {
572
+ throw new NoElementError("User ID href not found");
573
+ }
574
+ const userId = Number.parseInt(href.split("/").pop() ?? "0", 10);
575
+ const nameElem = $("h1.profile-title");
576
+ if (nameElem.length === 0) {
577
+ throw new NoElementError("User name element not found");
578
+ }
579
+ const userName = nameElem.text().trim();
580
+ return new User(client, {
581
+ id: userId,
582
+ name: userName,
583
+ unixName
584
+ });
585
+ })(), (error) => {
586
+ if (error instanceof NotFoundException || error instanceof NoElementError) {
587
+ return error;
588
+ }
589
+ return new UnexpectedError(`Failed to get user: ${String(error)}`);
590
+ });
591
+ }
592
+ static fromNames(client, names) {
593
+ return fromPromise((async () => {
594
+ const results = await Promise.all(names.map(async (name) => {
595
+ const result = await User.fromName(client, name);
596
+ return result.isOk() ? result.value : null;
597
+ }));
598
+ return new UserCollection(results);
599
+ })(), (error) => new UnexpectedError(`Failed to get users: ${String(error)}`));
600
+ }
601
+ isUser() {
602
+ return true;
603
+ }
604
+ isDeletedUser() {
605
+ return false;
606
+ }
607
+ isAnonymousUser() {
608
+ return false;
609
+ }
610
+ isGuestUser() {
611
+ return false;
612
+ }
613
+ isWikidotUser() {
614
+ return false;
615
+ }
616
+ toString() {
617
+ return `User(id=${this.id}, name=${this.name}, unixName=${this.unixName})`;
618
+ }
619
+ }
620
+ export {
621
+ User
622
+ };
623
+
624
+ export { UserCollection, User };
625
+
626
+ //# debugId=686B106FBEC9EAF764756E2164756E21
627
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL21vZHVsZS91c2VyL3VzZXIudHMiLCAic3JjL3V0aWwvdGFibGUvY2hhci10YWJsZS50cyIsICJzcmMvdXRpbC9zdHJpbmctdXRpbC50cyIsICJzcmMvbW9kdWxlL3VzZXIvdXNlci1jb2xsZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCAqIGFzIGNoZWVyaW8gZnJvbSAnY2hlZXJpbyc7XG5pbXBvcnQgeyBOb0VsZW1lbnRFcnJvciwgTm90Rm91bmRFeGNlcHRpb24sIFVuZXhwZWN0ZWRFcnJvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9lcnJvcnMnO1xuaW1wb3J0IHsgZnJvbVByb21pc2UsIHR5cGUgV2lraWRvdFJlc3VsdEFzeW5jIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IHRvVW5peCB9IGZyb20gJy4uLy4uL3V0aWwvc3RyaW5nLXV0aWwnO1xuaW1wb3J0IHR5cGUgeyBDbGllbnRSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0VXNlciwgVXNlclR5cGUgfSBmcm9tICcuL2Fic3RyYWN0LXVzZXInO1xuaW1wb3J0IHsgVXNlckNvbGxlY3Rpb24gfSBmcm9tICcuL3VzZXItY29sbGVjdGlvbic7XG5cbi8qKlxuICog44Om44O844K244O844OH44O844K/XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckRhdGEge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgYXZhdGFyVXJsPzogc3RyaW5nIHwgbnVsbDtcbiAgdW5peE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICog6YCa5bi444Om44O844K244O8XG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyIGltcGxlbWVudHMgQWJzdHJhY3RVc2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IGNsaWVudDogQ2xpZW50UmVmO1xuXG4gIC8qKiDjg6bjg7zjgrbjg7xJRCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IG51bWJlcjtcblxuICAvKiog44Om44O844K244O85ZCNICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIOihqOekuuWQjSAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheU5hbWU6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqIOOCouODkOOCv+ODvFVSTCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXZhdGFyVXJsOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKiBVTklY5b2i5byP44Gu44Om44O844K244O85ZCNICovXG4gIHB1YmxpYyByZWFkb25seSB1bml4TmFtZTogc3RyaW5nO1xuXG4gIC8qKiBJUOOCouODieODrOOCue+8iOmAmuW4uOODpuODvOOCtuODvOOBp+OBr251bGzvvIkgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiog44Om44O844K244O856iu5YilICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyVHlwZTogVXNlclR5cGUgPSAndXNlcic7XG5cbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnRSZWYsIGRhdGE6IFVzZXJEYXRhKSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XG4gICAgdGhpcy5uYW1lID0gZGF0YS5uYW1lO1xuICAgIHRoaXMuZGlzcGxheU5hbWUgPSBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGw7XG4gICAgdGhpcy5hdmF0YXJVcmwgPSBkYXRhLmF2YXRhclVybCA/PyBgaHR0cHM6Ly93d3cud2lraWRvdC5jb20vYXZhdGFyLnBocD91c2VyaWQ9JHtkYXRhLmlkfWA7XG4gICAgdGhpcy51bml4TmFtZSA9IGRhdGEudW5peE5hbWUgPz8gdG9Vbml4KGRhdGEubmFtZSk7XG4gIH1cblxuICAvKipcbiAgICog44Om44O844K244O85ZCN44GL44KJ44Om44O844K244O844KS5Y+W5b6X44GZ44KLXG4gICAqIEBwYXJhbSBjbGllbnQgLSDjgq/jg6njgqTjgqLjg7Pjg4hcbiAgICogQHBhcmFtIG5hbWUgLSDjg6bjg7zjgrbjg7zlkI1cbiAgICogQHJldHVybnMg44Om44O844K244O877yI5a2Y5Zyo44GX44Gq44GE5aC05ZCI44GvbnVsbO+8iVxuICAgKi9cbiAgc3RhdGljIGZyb21OYW1lKGNsaWVudDogQ2xpZW50UmVmLCBuYW1lOiBzdHJpbmcpOiBXaWtpZG90UmVzdWx0QXN5bmM8VXNlciB8IG51bGw+IHtcbiAgICByZXR1cm4gZnJvbVByb21pc2UoXG4gICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCB1bml4TmFtZSA9IHRvVW5peChuYW1lKTtcbiAgICAgICAgY29uc3QgdXJsID0gYGh0dHBzOi8vd3d3Lndpa2lkb3QuY29tL3VzZXI6aW5mby8ke3VuaXhOYW1lfWA7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRFcnJvcihgRmFpbGVkIHRvIGZldGNoIHVzZXIgaW5mbzogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodG1sID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgICBjb25zdCAkID0gY2hlZXJpby5sb2FkKGh0bWwpO1xuXG4gICAgICAgIC8vIOWtmOWcqOODgeOCp+ODg+OCr1xuICAgICAgICBpZiAoJCgnZGl2LmVycm9yLWJsb2NrJykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWTlj5blvpdcbiAgICAgICAgY29uc3QgdXNlcklkRWxlbSA9ICQoJ2EuYnRuLmJ0bi1kZWZhdWx0LmJ0bi14cycpO1xuICAgICAgICBpZiAodXNlcklkRWxlbS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTm9FbGVtZW50RXJyb3IoJ1VzZXIgSUQgZWxlbWVudCBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBocmVmID0gdXNlcklkRWxlbS5hdHRyKCdocmVmJyk7XG4gICAgICAgIGlmICghaHJlZikge1xuICAgICAgICAgIHRocm93IG5ldyBOb0VsZW1lbnRFcnJvcignVXNlciBJRCBocmVmIG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVzZXJJZCA9IE51bWJlci5wYXJzZUludChocmVmLnNwbGl0KCcvJykucG9wKCkgPz8gJzAnLCAxMCk7XG5cbiAgICAgICAgLy8gbmFtZeWPluW+l1xuICAgICAgICBjb25zdCBuYW1lRWxlbSA9ICQoJ2gxLnByb2ZpbGUtdGl0bGUnKTtcbiAgICAgICAgaWYgKG5hbWVFbGVtLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRocm93IG5ldyBOb0VsZW1lbnRFcnJvcignVXNlciBuYW1lIGVsZW1lbnQgbm90IGZvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXNlck5hbWUgPSBuYW1lRWxlbS50ZXh0KCkudHJpbSgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVXNlcihjbGllbnQsIHtcbiAgICAgICAgICBpZDogdXNlcklkLFxuICAgICAgICAgIG5hbWU6IHVzZXJOYW1lLFxuICAgICAgICAgIHVuaXhOYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH0pKCksXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgTm90Rm91bmRFeGNlcHRpb24gfHwgZXJyb3IgaW5zdGFuY2VvZiBOb0VsZW1lbnRFcnJvcikge1xuICAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFVuZXhwZWN0ZWRFcnJvcihgRmFpbGVkIHRvIGdldCB1c2VyOiAke1N0cmluZyhlcnJvcil9YCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDopIfmlbDjg6bjg7zjgrbjg7zlkI3jgYvjgonjg6bjg7zjgrbjg7zjgpLlj5blvpfjgZnjgotcbiAgICogQHBhcmFtIGNsaWVudCAtIOOCr+ODqeOCpOOCouODs+ODiFxuICAgKiBAcGFyYW0gbmFtZXMgLSDjg6bjg7zjgrbjg7zlkI3phY3liJdcbiAgICogQHJldHVybnMg44Om44O844K244O844Kz44Os44Kv44K344On44OzXG4gICAqL1xuICBzdGF0aWMgZnJvbU5hbWVzKGNsaWVudDogQ2xpZW50UmVmLCBuYW1lczogc3RyaW5nW10pOiBXaWtpZG90UmVzdWx0QXN5bmM8VXNlckNvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gZnJvbVByb21pc2UoXG4gICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgbmFtZXMubWFwKGFzeW5jIChuYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBVc2VyLmZyb21OYW1lKGNsaWVudCwgbmFtZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LmlzT2soKSA/IHJlc3VsdC52YWx1ZSA6IG51bGw7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyQ29sbGVjdGlvbihyZXN1bHRzKTtcbiAgICAgIH0pKCksXG4gICAgICAoZXJyb3IpID0+IG5ldyBVbmV4cGVjdGVkRXJyb3IoYEZhaWxlZCB0byBnZXQgdXNlcnM6ICR7U3RyaW5nKGVycm9yKX1gKVxuICAgICk7XG4gIH1cblxuICAvLyBBYnN0cmFjdFVzZXLlrp/oo4VcbiAgaXNVc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlzRGVsZXRlZFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlzQW5vbnltb3VzVXNlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaXNHdWVzdFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlzV2lraWRvdFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVzZXIoaWQ9JHt0aGlzLmlkfSwgbmFtZT0ke3RoaXMubmFtZX0sIHVuaXhOYW1lPSR7dGhpcy51bml4TmFtZX0pYDtcbiAgfVxufVxuIiwKICAgICIvKipcbiAqIOeJueauiuiomOWPt+ODu+mdnuiLseiqnuOCouODq+ODleOCoeODmeODg+ODiOOCkuiLseiqnuOCouODq+ODleOCoeODmeODg+ODiOOBq+WkieaPm+OBmeOCi+OBn+OCgeOBruODnuODg+ODlOODs+OCsOODhuODvOODluODq1xuICpcbiAqIOmdnkFTQ0lJ5paH5a2X44KS5a++5b+c44GZ44KLQVNDSUnmloflrZfjgavlpInmj5vjgZnjgovjgZ/jgoHjga7jg57jg4Pjg5Tjg7PjgrDjgpLmj5DkvpvjgZnjgovjgIJcbiAqIOS4u+OBq1VSTOeUn+aIkOOChOODmuODvOOCuOWQjeOBrnVuaXjlvaLlvI/jgbjjga7lpInmj5vmmYLjgavkvb/nlKjjgZXjgozjgovjgIJcbiAqL1xuXG5leHBvcnQgY29uc3Qgc3BlY2lhbENoYXJNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdcXHUwMEMwJzogJ2EnLFxuICAnXFx1MDBDMSc6ICdhJyxcbiAgJ1xcdTAwQzInOiAnYScsXG4gICdcXHUwMEMzJzogJ2EnLFxuICAnXFx1MDBDNCc6ICdhZScsXG4gICdcXHUwMEM1JzogJ2EnLFxuICAnXFx1MDBDNic6ICdhZScsXG4gICdcXHUwMEM3JzogJ2MnLFxuICAnXFx1MDBDOCc6ICdlJyxcbiAgJ1xcdTAwQzknOiAnZScsXG4gICdcXHUwMENBJzogJ2UnLFxuICAnXFx1MDBDQic6ICdlJyxcbiAgJ1xcdTAwQ0MnOiAnaScsXG4gICdcXHUwMENEJzogJ2knLFxuICAnXFx1MDBDRSc6ICdpJyxcbiAgJ1xcdTAwQ0YnOiAnaScsXG4gICdcXHUwMEQwJzogJ2QnLFxuICAnXFx1MDBEMSc6ICduJyxcbiAgJ1xcdTAwRDInOiAnbycsXG4gICdcXHUwMEQzJzogJ28nLFxuICAnXFx1MDBENCc6ICdvJyxcbiAgJ1xcdTAwRDUnOiAnbycsXG4gICdcXHUwMEQ2JzogJ29lJyxcbiAgJ1xcdTAwRDgnOiAnbycsXG4gICdcXHUwMEQ5JzogJ3UnLFxuICAnXFx1MDBEQSc6ICd1JyxcbiAgJ1xcdTAwREInOiAndScsXG4gICdcXHUwMERDJzogJ3VlJyxcbiAgJ1xcdTAwREQnOiAneScsXG4gICdcXHUwMERFJzogJ3QnLFxuICAnXFx1MDBERic6ICdzcycsXG4gICdcXHUwMEUwJzogJ2EnLFxuICAnXFx1MDBFMSc6ICdhJyxcbiAgJ1xcdTAwRTInOiAnYScsXG4gICdcXHUwMEUzJzogJ2EnLFxuICAnXFx1MDBFNCc6ICdhZScsXG4gICdcXHUwMEU1JzogJ2EnLFxuICAnXFx1MDBFNic6ICdhZScsXG4gICdcXHUwMEU3JzogJ2MnLFxuICAnXFx1MDBFOCc6ICdlJyxcbiAgJ1xcdTAwRTknOiAnZScsXG4gICdcXHUwMEVBJzogJ2UnLFxuICAnXFx1MDBFQic6ICdlJyxcbiAgJ1xcdTAwRUMnOiAnaScsXG4gICdcXHUwMEVEJzogJ2knLFxuICAnXFx1MDBFRSc6ICdpJyxcbiAgJ1xcdTAwRUYnOiAnaScsXG4gICdcXHUwMEYwJzogJ2QnLFxuICAnXFx1MDBGMSc6ICduJyxcbiAgJ1xcdTAwRjInOiAnbycsXG4gICdcXHUwMEYzJzogJ28nLFxuICAnXFx1MDBGNCc6ICdvJyxcbiAgJ1xcdTAwRjUnOiAnbycsXG4gICdcXHUwMEY2JzogJ29lJyxcbiAgJ1xcdTAwRjgnOiAnbycsXG4gICdcXHUwMEY5JzogJ3UnLFxuICAnXFx1MDBGQSc6ICd1JyxcbiAgJ1xcdTAwRkInOiAndScsXG4gICdcXHUwMEZDJzogJ3VlJyxcbiAgJ1xcdTAwRkQnOiAneScsXG4gICdcXHUwMEZFJzogJ3QnLFxuICAnXFx1MDBGRic6ICd5JyxcbiAgJ1xcdTAxMDAnOiAnYScsXG4gICdcXHUwMTAxJzogJ2EnLFxuICAnXFx1MDEwMic6ICdhJyxcbiAgJ1xcdTAxMDMnOiAnYScsXG4gICdcXHUwMTA0JzogJ2EnLFxuICAnXFx1MDEwNSc6ICdhJyxcbiAgJ1xcdTAxMDYnOiAnYycsXG4gICdcXHUwMTA3JzogJ2MnLFxuICAnXFx1MDEwOCc6ICdjJyxcbiAgJ1xcdTAxMDknOiAnYycsXG4gICdcXHUwMTBBJzogJ2MnLFxuICAnXFx1MDEwQic6ICdjJyxcbiAgJ1xcdTAxMEMnOiAnYycsXG4gICdcXHUwMTBEJzogJ2MnLFxuICAnXFx1MDEwRSc6ICdkJyxcbiAgJ1xcdTAxMEYnOiAnZCcsXG4gICdcXHUwMTEwJzogJ2QnLFxuICAnXFx1MDExMSc6ICdkJyxcbiAgJ1xcdTAxMTInOiAnZScsXG4gICdcXHUwMTEzJzogJ2UnLFxuICAnXFx1MDExNCc6ICdlJyxcbiAgJ1xcdTAxMTUnOiAnZScsXG4gICdcXHUwMTE2JzogJ2UnLFxuICAnXFx1MDExNyc6ICdlJyxcbiAgJ1xcdTAxMTgnOiAnZScsXG4gICdcXHUwMTE5JzogJ2UnLFxuICAnXFx1MDExQSc6ICdlJyxcbiAgJ1xcdTAxMUInOiAnZScsXG4gICdcXHUwMTFDJzogJ2cnLFxuICAnXFx1MDExRCc6ICdnJyxcbiAgJ1xcdTAxMUUnOiAnZycsXG4gICdcXHUwMTFGJzogJ2cnLFxuICAnXFx1MDEyMCc6ICdnJyxcbiAgJ1xcdTAxMjEnOiAnZycsXG4gICdcXHUwMTIyJzogJ2cnLFxuICAnXFx1MDEyMyc6ICdnJyxcbiAgJ1xcdTAxMjQnOiAnaCcsXG4gICdcXHUwMTI1JzogJ2gnLFxuICAnXFx1MDEyNic6ICdoJyxcbiAgJ1xcdTAxMjcnOiAnaCcsXG4gICdcXHUwMTI4JzogJ2knLFxuICAnXFx1MDEyOSc6ICdpJyxcbiAgJ1xcdTAxMkEnOiAnaScsXG4gICdcXHUwMTJCJzogJ2knLFxuICAnXFx1MDEyQyc6ICdpJyxcbiAgJ1xcdTAxMkQnOiAnaScsXG4gICdcXHUwMTJFJzogJ2knLFxuICAnXFx1MDEyRic6ICdpJyxcbiAgJ1xcdTAxMzAnOiAnaScsXG4gICdcXHUwMTMxJzogJ2knLFxuICAnXFx1MDEzMic6ICdpaicsXG4gICdcXHUwMTMzJzogJ2lqJyxcbiAgJ1xcdTAxMzQnOiAnaicsXG4gICdcXHUwMTM1JzogJ2onLFxuICAnXFx1MDEzNic6ICdrJyxcbiAgJ1xcdTAxMzcnOiAnaycsXG4gICdcXHUwMTM4JzogJ2snLFxuICAnXFx1MDEzOSc6ICdsJyxcbiAgJ1xcdTAxM0EnOiAnbCcsXG4gICdcXHUwMTNCJzogJ2wnLFxuICAnXFx1MDEzQyc6ICdsJyxcbiAgJ1xcdTAxM0QnOiAnbCcsXG4gICdcXHUwMTNFJzogJ2wnLFxuICAnXFx1MDEzRic6ICdsJyxcbiAgJ1xcdTAxNDAnOiAnbCcsXG4gICdcXHUwMTQxJzogJ2wnLFxuICAnXFx1MDE0Mic6ICdsJyxcbiAgJ1xcdTAxNDMnOiAnbicsXG4gICdcXHUwMTQ0JzogJ24nLFxuICAnXFx1MDE0NSc6ICduJyxcbiAgJ1xcdTAxNDYnOiAnbicsXG4gICdcXHUwMTQ3JzogJ24nLFxuICAnXFx1MDE0OCc6ICduJyxcbiAgJ1xcdTAxNDknOiAnbicsXG4gICdcXHUwMTRBJzogJ24nLFxuICAnXFx1MDE0Qic6ICduJyxcbiAgJ1xcdTAxNEMnOiAnbycsXG4gICdcXHUwMTREJzogJ28nLFxuICAnXFx1MDE0RSc6ICdvJyxcbiAgJ1xcdTAxNEYnOiAnbycsXG4gICdcXHUwMTUwJzogJ28nLFxuICAnXFx1MDE1MSc6ICdvJyxcbiAgJ1xcdTAxNTInOiAnb2UnLFxuICAnXFx1MDE1Myc6ICdvZScsXG4gICdcXHUwMTU0JzogJ3InLFxuICAnXFx1MDE1NSc6ICdyJyxcbiAgJ1xcdTAxNTYnOiAncicsXG4gICdcXHUwMTU3JzogJ3InLFxuICAnXFx1MDE1OCc6ICdyJyxcbiAgJ1xcdTAxNTknOiAncicsXG4gICdcXHUwMTVBJzogJ3MnLFxuICAnXFx1MDE1Qic6ICdzJyxcbiAgJ1xcdTAxNUMnOiAncycsXG4gICdcXHUwMTVEJzogJ3MnLFxuICAnXFx1MDE1RSc6ICdzJyxcbiAgJ1xcdTAxNUYnOiAncycsXG4gICdcXHUwMTYwJzogJ3MnLFxuICAnXFx1MDE2MSc6ICdzJyxcbiAgJ1xcdTAxNjInOiAndCcsXG4gICdcXHUwMTYzJzogJ3QnLFxuICAnXFx1MDE2NCc6ICd0JyxcbiAgJ1xcdTAxNjUnOiAndCcsXG4gICdcXHUwMTY2JzogJ3QnLFxuICAnXFx1MDE2Nyc6ICd0JyxcbiAgJ1xcdTAxNjgnOiAndScsXG4gICdcXHUwMTY5JzogJ3UnLFxuICAnXFx1MDE2QSc6ICd1JyxcbiAgJ1xcdTAxNkInOiAndScsXG4gICdcXHUwMTZDJzogJ3UnLFxuICAnXFx1MDE2RCc6ICd1JyxcbiAgJ1xcdTAxNkUnOiAndScsXG4gICdcXHUwMTZGJzogJ3UnLFxuICAnXFx1MDE3MCc6ICd1JyxcbiAgJ1xcdTAxNzEnOiAndScsXG4gICdcXHUwMTcyJzogJ3UnLFxuICAnXFx1MDE3Myc6ICd1JyxcbiAgJ1xcdTAxNzQnOiAndycsXG4gICdcXHUwMTc1JzogJ3cnLFxuICAnXFx1MDE3Nic6ICd5JyxcbiAgJ1xcdTAxNzcnOiAneScsXG4gICdcXHUwMTc4JzogJ3knLFxuICAnXFx1MDE3OSc6ICd6JyxcbiAgJ1xcdTAxN0EnOiAneicsXG4gICdcXHUwMTdCJzogJ3onLFxuICAnXFx1MDE3Qyc6ICd6JyxcbiAgJ1xcdTAxN0QnOiAneicsXG4gICdcXHUwMTdFJzogJ3onLFxuICAnXFx1MDE3Ric6ICdzcycsXG4gICdcXHUwMTkxJzogJ2YnLFxuICAnXFx1MDE5Mic6ICdmJyxcbiAgJ1xcdTAyMTgnOiAncycsXG4gICdcXHUwMjE5JzogJ3MnLFxuICAnXFx1MDIxQSc6ICd0JyxcbiAgJ1xcdTAyMUInOiAndCcsXG4gICdcXHUwMzg2JzogJ2EnLFxuICAnXFx1MDM4OCc6ICdlJyxcbiAgJ1xcdTAzODknOiAnaScsXG4gICdcXHUwMzhBJzogJ2knLFxuICAnXFx1MDM4Qyc6ICdvJyxcbiAgJ1xcdTAzOEUnOiAneScsXG4gICdcXHUwMzhGJzogJ28nLFxuICAnXFx1MDM5MCc6ICdpJyxcbiAgJ1xcdTAzOTEnOiAnYScsXG4gICdcXHUwMzkyJzogJ3YnLFxuICAnXFx1MDM5Myc6ICdnJyxcbiAgJ1xcdTAzOTQnOiAnZCcsXG4gICdcXHUwMzk1JzogJ2UnLFxuICAnXFx1MDM5Nic6ICd6JyxcbiAgJ1xcdTAzOTcnOiAnaScsXG4gICdcXHUwMzk4JzogJ3RoJyxcbiAgJ1xcdTAzOTknOiAnaScsXG4gICdcXHUwMzlBJzogJ2snLFxuICAnXFx1MDM5Qic6ICdsJyxcbiAgJ1xcdTAzOUMnOiAnbScsXG4gICdcXHUwMzlEJzogJ24nLFxuICAnXFx1MDM5RSc6ICd4JyxcbiAgJ1xcdTAzOUYnOiAnbycsXG4gICdcXHUwM0EwJzogJ3AnLFxuICAnXFx1MDNBMSc6ICdyJyxcbiAgJ1xcdTAzQTMnOiAncycsXG4gICdcXHUwM0E0JzogJ3QnLFxuICAnXFx1MDNBNSc6ICd5JyxcbiAgJ1xcdTAzQTYnOiAnZicsXG4gICdcXHUwM0E3JzogJ2NoJyxcbiAgJ1xcdTAzQTgnOiAncHMnLFxuICAnXFx1MDNBOSc6ICdvJyxcbiAgJ1xcdTAzQUEnOiAnaScsXG4gICdcXHUwM0FCJzogJ3knLFxuICAnXFx1MDNBQyc6ICdhJyxcbiAgJ1xcdTAzQUQnOiAnZScsXG4gICdcXHUwM0FFJzogJ2knLFxuICAnXFx1MDNBRic6ICdpJyxcbiAgJ1xcdTAzQjAnOiAneScsXG4gICdcXHUwM0IxJzogJ2EnLFxuICAnXFx1MDNCMic6ICd2JyxcbiAgJ1xcdTAzQjMnOiAnZycsXG4gICdcXHUwM0I0JzogJ2QnLFxuICAnXFx1MDNCNSc6ICdlJyxcbiAgJ1xcdTAzQjYnOiAneicsXG4gICdcXHUwM0I3JzogJ2knLFxuICAnXFx1MDNCOCc6ICd0aCcsXG4gICdcXHUwM0I5JzogJ2knLFxuICAnXFx1MDNCQSc6ICdrJyxcbiAgJ1xcdTAzQkInOiAnbCcsXG4gICdcXHUwM0JDJzogJ20nLFxuICAnXFx1MDNCRCc6ICduJyxcbiAgJ1xcdTAzQkUnOiAneCcsXG4gICdcXHUwM0JGJzogJ28nLFxuICAnXFx1MDNDMCc6ICdwJyxcbiAgJ1xcdTAzQzEnOiAncicsXG4gICdcXHUwM0MyJzogJ3MnLFxuICAnXFx1MDNDMyc6ICdzJyxcbiAgJ1xcdTAzQzQnOiAndCcsXG4gICdcXHUwM0M1JzogJ3knLFxuICAnXFx1MDNDNic6ICdmJyxcbiAgJ1xcdTAzQzcnOiAnY2gnLFxuICAnXFx1MDNDOCc6ICdwcycsXG4gICdcXHUwM0M5JzogJ28nLFxuICAnXFx1MDNDQSc6ICdpJyxcbiAgJ1xcdTAzQ0InOiAneScsXG4gICdcXHUwM0NDJzogJ28nLFxuICAnXFx1MDNDRCc6ICd5JyxcbiAgJ1xcdTAzQ0UnOiAnbycsXG4gICdcXHUwM0QxJzogJ3RoJyxcbiAgJ1xcdTA0MDEnOiAnZScsXG4gICdcXHUwNDAyJzogJ2QnLFxuICAnXFx1MDQwMyc6ICdnJyxcbiAgJ1xcdTA0MDQnOiAnZScsXG4gICdcXHUwNDA1JzogJ3onLFxuICAnXFx1MDQwNic6ICdpJyxcbiAgJ1xcdTA0MDcnOiAnaScsXG4gICdcXHUwNDA4JzogJ2onLFxuICAnXFx1MDQwOSc6ICdsJyxcbiAgJ1xcdTA0MEEnOiAnbicsXG4gICdcXHUwNDBCJzogJ2MnLFxuICAnXFx1MDQwQyc6ICdrJyxcbiAgJ1xcdTA0MEUnOiAndScsXG4gICdcXHUwNDBGJzogJ2QnLFxuICAnXFx1MDQxMCc6ICdhJyxcbiAgJ1xcdTA0MTEnOiAnYicsXG4gICdcXHUwNDEyJzogJ3YnLFxuICAnXFx1MDQxMyc6ICdnJyxcbiAgJ1xcdTA0MTQnOiAnZCcsXG4gICdcXHUwNDE1JzogJ2UnLFxuICAnXFx1MDQxNic6ICd6JyxcbiAgJ1xcdTA0MTcnOiAneicsXG4gICdcXHUwNDE4JzogJ2knLFxuICAnXFx1MDQxOSc6ICdqJyxcbiAgJ1xcdTA0MUEnOiAnaycsXG4gICdcXHUwNDFCJzogJ2wnLFxuICAnXFx1MDQxQyc6ICdtJyxcbiAgJ1xcdTA0MUQnOiAnbicsXG4gICdcXHUwNDFFJzogJ28nLFxuICAnXFx1MDQxRic6ICdwJyxcbiAgJ1xcdTA0MjAnOiAncicsXG4gICdcXHUwNDIxJzogJ3MnLFxuICAnXFx1MDQyMic6ICd0JyxcbiAgJ1xcdTA0MjMnOiAndScsXG4gICdcXHUwNDI0JzogJ2YnLFxuICAnXFx1MDQyNSc6ICdoJyxcbiAgJ1xcdTA0MjYnOiAnYycsXG4gICdcXHUwNDI3JzogJ2MnLFxuICAnXFx1MDQyOCc6ICdzJyxcbiAgJ1xcdTA0MjknOiAncycsXG4gICdcXHUwNDJCJzogJ3knLFxuICAnXFx1MDQyRCc6ICdlJyxcbiAgJ1xcdTA0MkUnOiAndScsXG4gICdcXHUwNDJGJzogJ2EnLFxuICAnXFx1MDQzMCc6ICdhJyxcbiAgJ1xcdTA0MzEnOiAnYicsXG4gICdcXHUwNDMyJzogJ3YnLFxuICAnXFx1MDQzMyc6ICdnJyxcbiAgJ1xcdTA0MzQnOiAnZCcsXG4gICdcXHUwNDM1JzogJ2UnLFxuICAnXFx1MDQzNic6ICd6JyxcbiAgJ1xcdTA0MzcnOiAneicsXG4gICdcXHUwNDM4JzogJ2knLFxuICAnXFx1MDQzOSc6ICdqJyxcbiAgJ1xcdTA0M0EnOiAnaycsXG4gICdcXHUwNDNCJzogJ2wnLFxuICAnXFx1MDQzQyc6ICdtJyxcbiAgJ1xcdTA0M0QnOiAnbicsXG4gICdcXHUwNDNFJzogJ28nLFxuICAnXFx1MDQzRic6ICdwJyxcbiAgJ1xcdTA0NDAnOiAncicsXG4gICdcXHUwNDQxJzogJ3MnLFxuICAnXFx1MDQ0Mic6ICd0JyxcbiAgJ1xcdTA0NDMnOiAndScsXG4gICdcXHUwNDQ0JzogJ2YnLFxuICAnXFx1MDQ0NSc6ICdoJyxcbiAgJ1xcdTA0NDYnOiAnYycsXG4gICdcXHUwNDQ3JzogJ2MnLFxuICAnXFx1MDQ0OCc6ICdzJyxcbiAgJ1xcdTA0NDknOiAncycsXG4gICdcXHUwNDRCJzogJ3knLFxuICAnXFx1MDQ0RCc6ICdlJyxcbiAgJ1xcdTA0NEUnOiAndScsXG4gICdcXHUwNDRGJzogJ2EnLFxuICAnXFx1MDQ1MSc6ICdlJyxcbiAgJ1xcdTA0NTInOiAnZCcsXG4gICdcXHUwNDUzJzogJ2cnLFxuICAnXFx1MDQ1NCc6ICdlJyxcbiAgJ1xcdTA0NTUnOiAneicsXG4gICdcXHUwNDU2JzogJ2knLFxuICAnXFx1MDQ1Nyc6ICdpJyxcbiAgJ1xcdTA0NTgnOiAnaicsXG4gICdcXHUwNDU5JzogJ2wnLFxuICAnXFx1MDQ1QSc6ICduJyxcbiAgJ1xcdTA0NUInOiAnYycsXG4gICdcXHUwNDVDJzogJ2snLFxuICAnXFx1MDQ1RSc6ICd1JyxcbiAgJ1xcdTA0NUYnOiAnZCcsXG4gICdcXHUwNDYyJzogJ2UnLFxuICAnXFx1MDQ2Myc6ICdlJyxcbiAgJ1xcdTA0NkEnOiAnYScsXG4gICdcXHUwNDZCJzogJ2EnLFxuICAnXFx1MDQ3Mic6ICdmJyxcbiAgJ1xcdTA0NzMnOiAnZicsXG4gICdcXHUwNDc0JzogJ3knLFxuICAnXFx1MDQ3NSc6ICd5JyxcbiAgJ1xcdTA0OTAnOiAnZycsXG4gICdcXHUwNDkxJzogJ2cnLFxuICAnXFx1MDQ5Mic6ICdnJyxcbiAgJ1xcdTA0OTMnOiAnZycsXG4gICdcXHUwNDk0JzogJ2cnLFxuICAnXFx1MDQ5NSc6ICdnJyxcbiAgJ1xcdTA0OTYnOiAneicsXG4gICdcXHUwNDk3JzogJ3onLFxuICAnXFx1MDQ5QSc6ICdrJyxcbiAgJ1xcdTA0OUInOiAnaycsXG4gICdcXHUwNDlDJzogJ2snLFxuICAnXFx1MDQ5RCc6ICdrJyxcbiAgJ1xcdTA0OUUnOiAnaycsXG4gICdcXHUwNDlGJzogJ2snLFxuICAnXFx1MDRBMCc6ICdrJyxcbiAgJ1xcdTA0QTEnOiAnaycsXG4gICdcXHUwNEEyJzogJ24nLFxuICAnXFx1MDRBMyc6ICduJyxcbiAgJ1xcdTA0QTQnOiAnbicsXG4gICdcXHUwNEE1JzogJ24nLFxuICAnXFx1MDRBNic6ICdwJyxcbiAgJ1xcdTA0QTcnOiAncCcsXG4gICdcXHUwNEE4JzogJ28nLFxuICAnXFx1MDRBOSc6ICdvJyxcbiAgJ1xcdTA0QUEnOiAncycsXG4gICdcXHUwNEFCJzogJ3MnLFxuICAnXFx1MDRBQyc6ICd0JyxcbiAgJ1xcdTA0QUQnOiAndCcsXG4gICdcXHUwNEFFJzogJ3UnLFxuICAnXFx1MDRBRic6ICd1JyxcbiAgJ1xcdTA0QjAnOiAndScsXG4gICdcXHUwNEIxJzogJ3UnLFxuICAnXFx1MDRCMic6ICdoJyxcbiAgJ1xcdTA0QjMnOiAnaCcsXG4gICdcXHUwNEI0JzogJ2MnLFxuICAnXFx1MDRCNSc6ICdjJyxcbiAgJ1xcdTA0QjYnOiAnYycsXG4gICdcXHUwNEI3JzogJ2MnLFxuICAnXFx1MDRCOCc6ICdjJyxcbiAgJ1xcdTA0QjknOiAnYycsXG4gICdcXHUwNEJBJzogJ2gnLFxuICAnXFx1MDRCQic6ICdoJyxcbiAgJ1xcdTA0QkMnOiAnYycsXG4gICdcXHUwNEJEJzogJ2MnLFxuICAnXFx1MDRCRSc6ICdjJyxcbiAgJ1xcdTA0QkYnOiAnYycsXG4gICdcXHUwNEMxJzogJ3onLFxuICAnXFx1MDRDMic6ICd6JyxcbiAgJ1xcdTA0QzMnOiAnaycsXG4gICdcXHUwNEM0JzogJ2snLFxuICAnXFx1MDRDNSc6ICdsJyxcbiAgJ1xcdTA0QzYnOiAnbCcsXG4gICdcXHUwNEM3JzogJ24nLFxuICAnXFx1MDRDOCc6ICduJyxcbiAgJ1xcdTA0QzknOiAnbicsXG4gICdcXHUwNENBJzogJ24nLFxuICAnXFx1MDRDQic6ICdjJyxcbiAgJ1xcdTA0Q0MnOiAnYycsXG4gICdcXHUwNEQwJzogJ2EnLFxuICAnXFx1MDREMSc6ICdhJyxcbiAgJ1xcdTA0RDInOiAnYScsXG4gICdcXHUwNEQzJzogJ2EnLFxuICAnXFx1MDRENCc6ICdhZScsXG4gICdcXHUwNEQ1JzogJ2FlJyxcbiAgJ1xcdTA0RDYnOiAnZScsXG4gICdcXHUwNEQ3JzogJ2UnLFxuICAnXFx1MDREOCc6ICdhJyxcbiAgJ1xcdTA0RDknOiAnYScsXG4gICdcXHUwNERBJzogJ2EnLFxuICAnXFx1MDREQic6ICdhJyxcbiAgJ1xcdTA0REMnOiAneicsXG4gICdcXHUwNEREJzogJ3onLFxuICAnXFx1MDRERSc6ICd6JyxcbiAgJ1xcdTA0REYnOiAneicsXG4gICdcXHUwNEUwJzogJ3onLFxuICAnXFx1MDRFMSc6ICd6JyxcbiAgJ1xcdTA0RTInOiAnaScsXG4gICdcXHUwNEUzJzogJ2knLFxuICAnXFx1MDRFNCc6ICdpJyxcbiAgJ1xcdTA0RTUnOiAnaScsXG4gICdcXHUwNEU2JzogJ28nLFxuICAnXFx1MDRFNyc6ICdvJyxcbiAgJ1xcdTA0RTgnOiAnbycsXG4gICdcXHUwNEU5JzogJ28nLFxuICAnXFx1MDRFQSc6ICdvJyxcbiAgJ1xcdTA0RUInOiAnbycsXG4gICdcXHUwNEVFJzogJ3UnLFxuICAnXFx1MDRFRic6ICd1JyxcbiAgJ1xcdTA0RjAnOiAndScsXG4gICdcXHUwNEYxJzogJ3UnLFxuICAnXFx1MDRGMic6ICd1JyxcbiAgJ1xcdTA0RjMnOiAndScsXG4gICdcXHUwNEY0JzogJ2MnLFxuICAnXFx1MDRGNSc6ICdjJyxcbiAgJ1xcdTA0RjgnOiAneScsXG4gICdcXHUwNEY5JzogJ3knLFxuICAnXFx1MDUwQSc6ICduJyxcbiAgJ1xcdTA1MEInOiAnbicsXG4gICdcXHUwNTBFJzogJ3QnLFxuICAnXFx1MDUwRic6ICd0JyxcbiAgJ1xcdTA1MUEnOiAncScsXG4gICdcXHUwNTFCJzogJ3EnLFxuICAnXFx1MDUxQyc6ICd3JyxcbiAgJ1xcdTA1MUQnOiAndycsXG59O1xuIiwKICAgICIvKipcbiAqIOaWh+Wtl+WIl+ODpuODvOODhuOCo+ODquODhuOCo1xuICovXG5cbmltcG9ydCB7IHNwZWNpYWxDaGFyTWFwIH0gZnJvbSAnLi90YWJsZS9jaGFyLXRhYmxlJztcblxuLyoqXG4gKiDmloflrZfliJfjgpJVbml45b2i5byP44Gr5aSJ5o+b44GZ44KLXG4gKlxuICogbGVnYWN5IHdpa2lkb3Tjga7lrp/oo4XjgavlkIjjgo/jgZvjgZ/lpInmj5vjgpLooYzjgYbjgIJcbiAqIC0g54m55q6K5paH5a2X44KSQVNDSUnmloflrZfjgavlpInmj5tcbiAqIC0g5bCP5paH5a2X44Gr5aSJ5o+bXG4gKiAtIEFTQ0lJ5Lul5aSW44Gu5paH5a2X44KS44OP44Kk44OV44Oz44Gr5aSJ5o+bXG4gKiAtIOmAo+e2muOBmeOCi+ODj+OCpOODleODsy/jgrPjg63jg7PjgpLljZjkuIDjgatcbiAqIC0g5YWI6aCtL+acq+WwvuOBruODj+OCpOODleODsy/jgrPjg63jg7PjgpLliYrpmaRcbiAqXG4gKiBAcGFyYW0gdGFyZ2V0U3RyIC0g5aSJ5o+b5a++6LGh44Gu5paH5a2X5YiXXG4gKiBAcmV0dXJucyDlpInmj5vjgZXjgozjgZ/mloflrZfliJdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVW5peCh0YXJnZXRTdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIOeJueauiuaWh+Wtl+OBruWkieaPm1xuICBsZXQgcmVzdWx0ID0gJyc7XG4gIGZvciAoY29uc3QgY2hhciBvZiB0YXJnZXRTdHIpIHtcbiAgICBjb25zdCBtYXBwZWQgPSBzcGVjaWFsQ2hhck1hcFtjaGFyXTtcbiAgICByZXN1bHQgKz0gbWFwcGVkICE9PSB1bmRlZmluZWQgPyBtYXBwZWQgOiBjaGFyO1xuICB9XG5cbiAgLy8gbG93ZXJjYXNl44G444Gu5aSJ5o+bXG4gIHJlc3VsdCA9IHJlc3VsdC50b0xvd2VyQ2FzZSgpO1xuXG4gIC8vIGFzY2lp5Lul5aSW44Gu5paH5a2X44KS5YmK6ZmkXG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9bXmEtejAtOVxcLTpfXS9nLCAnLScpO1xuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvXl8vLCAnOl8nKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLyg/PCE6KV8vZywgJy0nKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoL14tKi8sICcnKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLy0qJC8sICcnKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLy17Mix9L2csICctJyk7XG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC86ezIsfS9nLCAnOicpO1xuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvOi0vZywgJzonKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLy06L2csICc6Jyk7XG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9fLS9nLCAnXycpO1xuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgvLV8vZywgJ18nKTtcblxuICAvLyDlhYjpoK3jgajmnKvlsL7jga4644KS5YmK6ZmkXG4gIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9eOi8sICcnKTtcbiAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoLzokLywgJycpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogU3RyaW5nVXRpbOOCr+ODqeOCue+8iFB5dGhvbuS6kuaPm++8iVxuICovXG5leHBvcnQgY29uc3QgU3RyaW5nVXRpbCA9IHtcbiAgdG9Vbml4LFxufTtcbiIsCiAgICAiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcblxuLyoqXG4gKiDjg6bjg7zjgrbjg7zjgrPjg6zjgq/jgrfjg6fjg7NcbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJDb2xsZWN0aW9uIGV4dGVuZHMgQXJyYXk8VXNlciB8IG51bGw+IHtcbiAgY29uc3RydWN0b3IodXNlcnM/OiAoVXNlciB8IG51bGwpW10pIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICh1c2Vycykge1xuICAgICAgdGhpcy5wdXNoKC4uLnVzZXJzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog44Om44O844K244O85ZCN44Gn5qSc57SiXG4gICAqIEBwYXJhbSBuYW1lIC0g44Om44O844K244O85ZCNXG4gICAqIEByZXR1cm5zIOODpuODvOOCtuODvOOBvuOBn+OBr3VuZGVmaW5lZFxuICAgKi9cbiAgZmluZEJ5TmFtZShuYW1lOiBzdHJpbmcpOiBVc2VyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBsb3dlck5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgZm9yIChjb25zdCB1c2VyIG9mIHRoaXMpIHtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBsb3dlck5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICog44Om44O844K244O8SUTjgafmpJzntKJcbiAgICogQHBhcmFtIGlkIC0g44Om44O844K244O8SURcbiAgICogQHJldHVybnMg44Om44O844K244O844G+44Gf44GvdW5kZWZpbmVkXG4gICAqL1xuICBmaW5kQnlJZChpZDogbnVtYmVyKTogVXNlciB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChjb25zdCB1c2VyIG9mIHRoaXMpIHtcbiAgICAgIGlmICh1c2VyICYmIHVzZXIuaWQgPT09IGlkKSB7XG4gICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIG51bGzjgpLpmaTjgYTjgZ/jg6bjg7zjgrbjg7zjga7jgb/jgpLov5TjgZlcbiAgICogQHJldHVybnMgbnVsbOS7peWkluOBruODpuODvOOCtuODvOmFjeWIl1xuICAgKi9cbiAgZmlsdGVyTm9uTnVsbCgpOiBVc2VyW10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigodXNlcik6IHVzZXIgaXMgVXNlciA9PiB1c2VyICE9PSBudWxsKTtcbiAgfVxufVxuIgogIF0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7QUFBQTs7O0FDT08sSUFBTSxpQkFBeUM7QUFBQSxFQUNwRCxLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFVO0FBQUEsRUFDVixLQUFV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