tnp-helpers 16.444.16 → 16.444.19

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 (99) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-git.mjs +620 -0
  3. package/browser/esm2022/lib/base/base-library-build.mjs +380 -0
  4. package/browser/esm2022/lib/base/base-linked-projects.mjs +291 -0
  5. package/browser/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  6. package/browser/esm2022/lib/base/base-project-resolver.mjs +56 -2
  7. package/browser/esm2022/lib/base/base-project.mjs +183 -1483
  8. package/browser/esm2022/lib/base/core-project.mjs +5 -3
  9. package/browser/esm2022/lib/base/index.mjs +5 -1
  10. package/browser/esm2022/lib/models.mjs +2 -1
  11. package/browser/fesm2022/tnp-helpers.mjs +1112 -749
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/base-git.d.ts +115 -0
  14. package/browser/lib/base/base-library-build.d.ts +46 -0
  15. package/browser/lib/base/base-linked-projects.d.ts +23 -0
  16. package/browser/lib/base/base-npm-helpers.d.ts +79 -0
  17. package/browser/lib/base/base-project-resolver.d.ts +2 -1
  18. package/browser/lib/base/base-project.d.ts +12 -205
  19. package/browser/lib/base/core-project.d.ts +12 -3
  20. package/browser/lib/base/index.d.ts +4 -0
  21. package/browser/lib/models.d.ts +12 -4
  22. package/client/esm2022/lib/base/base-git.mjs +620 -0
  23. package/client/esm2022/lib/base/base-library-build.mjs +380 -0
  24. package/client/esm2022/lib/base/base-linked-projects.mjs +291 -0
  25. package/client/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  26. package/client/esm2022/lib/base/base-project-resolver.mjs +56 -2
  27. package/client/esm2022/lib/base/base-project.mjs +183 -1483
  28. package/client/esm2022/lib/base/core-project.mjs +5 -3
  29. package/client/esm2022/lib/base/index.mjs +5 -1
  30. package/client/esm2022/lib/models.mjs +2 -1
  31. package/client/fesm2022/tnp-helpers.mjs +1112 -749
  32. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  33. package/client/lib/base/base-git.d.ts +115 -0
  34. package/client/lib/base/base-library-build.d.ts +46 -0
  35. package/client/lib/base/base-linked-projects.d.ts +23 -0
  36. package/client/lib/base/base-npm-helpers.d.ts +79 -0
  37. package/client/lib/base/base-project-resolver.d.ts +2 -1
  38. package/client/lib/base/base-project.d.ts +12 -205
  39. package/client/lib/base/core-project.d.ts +12 -3
  40. package/client/lib/base/index.d.ts +4 -0
  41. package/client/lib/models.d.ts +12 -4
  42. package/client/package.json +21 -21
  43. package/lib/base/base-command-line.backend.d.ts +5 -0
  44. package/lib/base/base-command-line.backend.js +70 -15
  45. package/lib/base/base-command-line.backend.js.map +1 -1
  46. package/lib/base/base-git.d.ts +121 -0
  47. package/lib/base/base-git.js +862 -0
  48. package/lib/base/base-git.js.map +1 -0
  49. package/lib/base/base-library-build.d.ts +56 -0
  50. package/lib/base/base-library-build.js +443 -0
  51. package/lib/base/base-library-build.js.map +1 -0
  52. package/lib/base/base-linked-projects.d.ts +23 -0
  53. package/lib/base/base-linked-projects.js +391 -0
  54. package/lib/base/base-linked-projects.js.map +1 -0
  55. package/lib/base/base-npm-helpers.d.ts +78 -0
  56. package/lib/base/base-npm-helpers.js +404 -0
  57. package/lib/base/base-npm-helpers.js.map +1 -0
  58. package/lib/base/base-project-resolver.d.ts +2 -1
  59. package/lib/base/base-project-resolver.js +39 -4
  60. package/lib/base/base-project-resolver.js.map +1 -1
  61. package/lib/base/base-project.d.ts +14 -214
  62. package/lib/base/base-project.js +106 -1740
  63. package/lib/base/base-project.js.map +1 -1
  64. package/lib/base/core-project.d.ts +12 -3
  65. package/lib/base/core-project.js +8 -4
  66. package/lib/base/core-project.js.map +1 -1
  67. package/lib/base/index.d.ts +4 -0
  68. package/lib/base/index.js +4 -0
  69. package/lib/base/index.js.map +1 -1
  70. package/lib/helpers/for-backend/helpers-git.backend.d.ts +3 -1
  71. package/lib/helpers/for-backend/helpers-git.backend.js +74 -2
  72. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  73. package/lib/helpers/for-browser/angular.helper.js +3 -3
  74. package/lib/models.d.ts +12 -4
  75. package/lib/old/base-component.js +3 -3
  76. package/lib/old/base-formly-component.js +3 -3
  77. package/lib/old/dual-component-ctrl.js +3 -3
  78. package/package.json +4 -4
  79. package/tmp-environment.json +25 -25
  80. package/websql/esm2022/lib/base/base-git.mjs +620 -0
  81. package/websql/esm2022/lib/base/base-library-build.mjs +380 -0
  82. package/websql/esm2022/lib/base/base-linked-projects.mjs +291 -0
  83. package/websql/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  84. package/websql/esm2022/lib/base/base-project-resolver.mjs +50 -2
  85. package/websql/esm2022/lib/base/base-project.mjs +236 -1536
  86. package/websql/esm2022/lib/base/core-project.mjs +5 -3
  87. package/websql/esm2022/lib/base/index.mjs +5 -1
  88. package/websql/esm2022/lib/models.mjs +2 -1
  89. package/websql/fesm2022/tnp-helpers.mjs +1112 -754
  90. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  91. package/websql/lib/base/base-git.d.ts +115 -0
  92. package/websql/lib/base/base-library-build.d.ts +46 -0
  93. package/websql/lib/base/base-linked-projects.d.ts +23 -0
  94. package/websql/lib/base/base-npm-helpers.d.ts +79 -0
  95. package/websql/lib/base/base-project-resolver.d.ts +2 -1
  96. package/websql/lib/base/base-project.d.ts +9 -205
  97. package/websql/lib/base/core-project.d.ts +12 -3
  98. package/websql/lib/base/index.d.ts +4 -0
  99. package/websql/lib/models.d.ts +12 -4
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (tnp-helpers@16.444.16)
3
+ Assets from this folder are being shipped with this npm package (tnp-helpers@16.444.19)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
@@ -0,0 +1,620 @@
1
+ /* */
2
+ /* */
3
+ /* */
4
+ import { BaseFeatureForProject } from './base-feature-for-project';
5
+ export class BaseGit extends BaseFeatureForProject {
6
+ unstageAllFiles() {
7
+ /* */
8
+ /* */
9
+ return (void 0);
10
+ }
11
+ revertFileChanges(fileReletivePath) {
12
+ /* */
13
+ /* */
14
+ return (void 0);
15
+ }
16
+ async clone(url, destinationFolderName = '', branchName) {
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ return (void 0);
36
+ }
37
+ restoreLastVersion(localFilePath) {
38
+ /* */
39
+ /* */
40
+ return (void 0);
41
+ }
42
+ stageAllFiles() {
43
+ /* */
44
+ /* */
45
+ return (void 0);
46
+ }
47
+ stash(optinos) {
48
+ /* */
49
+ /* */
50
+ return (void 0);
51
+ }
52
+ stashApply() {
53
+ /* */
54
+ /* */
55
+ return (void 0);
56
+ }
57
+ fetch() {
58
+ /* */
59
+ /* */
60
+ return (void 0);
61
+ }
62
+ resetFiles(...relativePathes) {
63
+ /* */
64
+ /* */
65
+ return (void 0);
66
+ }
67
+ get isInsideGitRepo() {
68
+ /* */
69
+ /* */
70
+ return (void 0);
71
+ }
72
+ get isWithoutGitRepository() {
73
+ /* */
74
+ /* */
75
+ return (void 0);
76
+ }
77
+ get isGitRoot() {
78
+ /* */
79
+ /* */
80
+ return (void 0);
81
+ }
82
+ get originURL() {
83
+ /* */
84
+ /* */
85
+ return (void 0);
86
+ }
87
+ commit(commitMessage) {
88
+ /* */
89
+ /* */
90
+ return (void 0);
91
+ }
92
+ /**
93
+ * alias to stage all and commit
94
+ */
95
+ addAndCommit(commitMessage) {
96
+ /* */
97
+ /* */
98
+ return (void 0);
99
+ }
100
+ stageAllAndCommit(commitMessage) {
101
+ /* */
102
+ /* */
103
+ return (void 0);
104
+ }
105
+ async pushCurrentBranch(options) {
106
+ /* */
107
+ /* */
108
+ return (void 0);
109
+ }
110
+ get allOrigins() {
111
+ /* */
112
+ /* */
113
+ return (void 0);
114
+ }
115
+ get uncommitedFiles() {
116
+ /* */
117
+ /* */
118
+ return (void 0);
119
+ }
120
+ get thereAreSomeUncommitedChange() {
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ return (void 0);
126
+ }
127
+ thereAreSomeUncommitedChangeExcept(filesList = []) {
128
+ /* */
129
+ /* */
130
+ /* */
131
+ /* */
132
+ /* */
133
+ return (void 0);
134
+ }
135
+ meltActionCommits(soft = false) {
136
+ /* */
137
+ /* */
138
+ }
139
+ async pullCurrentBranch(options) {
140
+ /* */
141
+ /* */
142
+ return (void 0);
143
+ }
144
+ get currentBranchName() {
145
+ /* */
146
+ /* */
147
+ return (void 0);
148
+ }
149
+ get listOfCurrentGitChanges() {
150
+ /* */
151
+ /* */
152
+ return (void 0);
153
+ }
154
+ getBranchesNamesBy(pattern) {
155
+ /* */
156
+ /* */
157
+ return (void 0);
158
+ }
159
+ resetSoftHEAD(HEAD = 1) {
160
+ /* */
161
+ /* */
162
+ return (void 0);
163
+ }
164
+ resetHard(options) {
165
+ /* */
166
+ /* */
167
+ return (void 0);
168
+ }
169
+ countComits() {
170
+ /* */
171
+ /* */
172
+ return (void 0);
173
+ }
174
+ hasAnyCommits() {
175
+ /* */
176
+ /* */
177
+ return (void 0);
178
+ }
179
+ get isInMergeProcess() {
180
+ /* */
181
+ /* */
182
+ return (void 0);
183
+ }
184
+ lastCommitDate() {
185
+ /* */
186
+ /* */
187
+ return (void 0);
188
+ }
189
+ lastCommitHash() {
190
+ /* */
191
+ /* */
192
+ return (void 0);
193
+ }
194
+ lastCommitMessage() {
195
+ /* */
196
+ /* */
197
+ return (void 0);
198
+ }
199
+ penultimateCommitHash() {
200
+ /* */
201
+ /* */
202
+ return (void 0);
203
+ }
204
+ checkTagExists(tag) {
205
+ /* */
206
+ /* */
207
+ return (void 0);
208
+ }
209
+ checkout(branchName, options) {
210
+ /* */
211
+ /* */
212
+ return (void 0);
213
+ }
214
+ checkoutFromTo(checkoutFromBranch, branch, origin = 'origin') {
215
+ /* */
216
+ /* */
217
+ /* */
218
+ /* */
219
+ /* */
220
+ /* */
221
+ /* */
222
+ return (void 0);
223
+ }
224
+ /**
225
+ *
226
+ * @param majorVersion example: v1, v2 etc.
227
+ * @returns tag name
228
+ */
229
+ lastTagNameForMajorVersion(majorVersion) {
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ return (void 0);
236
+ }
237
+ lastTagHash() {
238
+ /* */
239
+ /* */
240
+ return (void 0);
241
+ }
242
+ get remoteOriginUrl() {
243
+ /* */
244
+ /* */
245
+ return (void 0);
246
+ }
247
+ get lastTagVersionName() {
248
+ /* */
249
+ /* */
250
+ return (void 0);
251
+ }
252
+ get stagedFiles() {
253
+ /* */
254
+ /* */
255
+ return (void 0);
256
+ }
257
+ /**
258
+ * TODO does this make any sense
259
+ */
260
+ renameOrigin(newNameOrUlr) {
261
+ /* */
262
+ /* */
263
+ /* */
264
+ /* */
265
+ /* */
266
+ /* */
267
+ /* */
268
+ /* */
269
+ /* */
270
+ /* */
271
+ /* */
272
+ /* */
273
+ /* */
274
+ /* */
275
+ /* */
276
+ /* */
277
+ /* */
278
+ /* */
279
+ /* */
280
+ /* */
281
+ /* */
282
+ /* */
283
+ /* */
284
+ /* */
285
+ /* */
286
+ return (void 0);
287
+ }
288
+ /**
289
+ * By default no translation of commit
290
+ */
291
+ transalteGitCommitFromArgs() {
292
+ return { from: void 0, to: void 0 };
293
+ }
294
+ /**
295
+ * By defult true.. when commit branches will not function.
296
+ * (false is better for simple projects)
297
+ */
298
+ useGitBranchesWhenCommitingAndPushing() {
299
+ return true;
300
+ }
301
+ /**
302
+ * usefull when pushing in project with childrens as git repos
303
+ */
304
+ automaticallyAddAllChnagesWhenPushingToGit() {
305
+ return false;
306
+ }
307
+ /**
308
+ * usefull when pushing in project with childrens as git repos
309
+ */
310
+ useGitBranchesAsMetadataForCommits() {
311
+ return true;
312
+ }
313
+ async cloneTo(cwd, newProjectName) {
314
+ /* */
315
+ /* */
316
+ /* */
317
+ /* */
318
+ /* */
319
+ /* */
320
+ /* */
321
+ /* */
322
+ /* */
323
+ /* */
324
+ /* */
325
+ /* */
326
+ /* */
327
+ /* */
328
+ /* */
329
+ /* */
330
+ /* */
331
+ /* */
332
+ /* */
333
+ /* */
334
+ /* */
335
+ /* */
336
+ /* */
337
+ /* */
338
+ /* */
339
+ /* */
340
+ /* */
341
+ /* */
342
+ /* */
343
+ return (void 0);
344
+ }
345
+ async pullProcess(cloneChildren = false) {
346
+ /* */
347
+ /* */
348
+ /* */
349
+ /* */
350
+ /* */
351
+ /* */
352
+ /* */
353
+ /* */
354
+ /* */
355
+ /* */
356
+ /* */
357
+ /* */
358
+ /* */
359
+ /* */
360
+ /* */
361
+ /* */
362
+ /* */
363
+ /* */
364
+ /* */
365
+ /* */
366
+ /* */
367
+ /* */
368
+ /* */
369
+ /* */
370
+ /* */
371
+ /* */
372
+ /* */
373
+ /* */
374
+ /* */
375
+ /* */
376
+ return (void 0);
377
+ }
378
+ async pushProcess(options = {}) {
379
+ /* */
380
+ /* */
381
+ /* */
382
+ /* */
383
+ /* */
384
+ /* */
385
+ /* */
386
+ /* */
387
+ /* */
388
+ /* */
389
+ /* */
390
+ /* */
391
+ /* */
392
+ /* */
393
+ /* */
394
+ /* */
395
+ /* */
396
+ /* */
397
+ /* */
398
+ /* */
399
+ /* */
400
+ /* */
401
+ /* */
402
+ /* */
403
+ /* */
404
+ /* */
405
+ /* */
406
+ /* */
407
+ /* */
408
+ /* */
409
+ /* */
410
+ /* */
411
+ /* */
412
+ /* */
413
+ /* */
414
+ /* */
415
+ /* */
416
+ /* */
417
+ /* */
418
+ /* */
419
+ /* */
420
+ /* */
421
+ /* */
422
+ /* */
423
+ /* */
424
+ /* */
425
+ /* */
426
+ /* */
427
+ /* */
428
+ /* */
429
+ /* */
430
+ /* */
431
+ /* */
432
+ /* */
433
+ /* */
434
+ /* */
435
+ /* */
436
+ /* */
437
+ /* */
438
+ /* */
439
+ /* */
440
+ /* */
441
+ /* */
442
+ /* */
443
+ /* */
444
+ /* */
445
+ /* */
446
+ /* */
447
+ /* */
448
+ /* */
449
+ /* */
450
+ /* */
451
+ /* */
452
+ /* */
453
+ /* */
454
+ /* */
455
+ /* */
456
+ /* */
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ /* */
462
+ /* */
463
+ /* */
464
+ /* */
465
+ /* */
466
+ /* */
467
+ /* */
468
+ /* */
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ /* */
481
+ /* */
482
+ /* */
483
+ /* */
484
+ /* */
485
+ /* */
486
+ /* */
487
+ /* */
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
509
+ /* */
510
+ /* */
511
+ /* */
512
+ /* */
513
+ /* */
514
+ /* */
515
+ /* */
516
+ /* */
517
+ /* */
518
+ /* */
519
+ /* */
520
+ /* */
521
+ /* */
522
+ return (void 0);
523
+ }
524
+ _beforeAnyActionOnGitRoot() {
525
+ /* */
526
+ /* */
527
+ /* */
528
+ /* */
529
+ /* */
530
+ /* */
531
+ /* */
532
+ /* */
533
+ /* */
534
+ /* */
535
+ /* */
536
+ /* */
537
+ /* */
538
+ /* */
539
+ /* */
540
+ /* */
541
+ /* */
542
+ return (void 0);
543
+ }
544
+ async _beforePushProcessAction() {
545
+ /* */
546
+ /* */
547
+ /* */
548
+ /* */
549
+ /* */
550
+ /* */
551
+ /* */
552
+ /* */
553
+ /* */
554
+ /* */
555
+ /* */
556
+ /* */
557
+ /* */
558
+ /* */
559
+ /* */
560
+ /* */
561
+ /* */
562
+ /* */
563
+ /* */
564
+ /* */
565
+ return (void 0);
566
+ }
567
+ async _beforePullProcessAction(cloneChildren = false) {
568
+ /* */
569
+ /* */
570
+ /* */
571
+ /* */
572
+ /* */
573
+ /* */
574
+ return (void 0);
575
+ }
576
+ async _getCommitMessage(typeofCommit, args, commitMessageRequired) {
577
+ /* */
578
+ /* */
579
+ /* */
580
+ /* */
581
+ /* */
582
+ /* */
583
+ /* */
584
+ /* */
585
+ /* */
586
+ /* */
587
+ /* */
588
+ /* */
589
+ /* */
590
+ /* */
591
+ /* */
592
+ /* */
593
+ /* */
594
+ /* */
595
+ /* */
596
+ /* */
597
+ /* */
598
+ /* */
599
+ /* */
600
+ /* */
601
+ /* */
602
+ /* */
603
+ /* */
604
+ /* */
605
+ /* */
606
+ /* */
607
+ /* */
608
+ /* */
609
+ /* */
610
+ /* */
611
+ /* */
612
+ /* */
613
+ /* */
614
+ /* */
615
+ return (void 0);
616
+ }
617
+ }
618
+ ;
619
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-git.ts
620
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1naXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1naXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFNbkUsTUFBTSxPQUFPLE9BRVgsU0FBUSxxQkFBcUI7SUFHN0IsZUFBZTtRQUNqQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxpQkFBaUIsQ0FBQyxnQkFBd0I7UUFDNUMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUscUJBQXFCLEdBQUcsRUFBRSxFQUFFLFVBQW1CO1FBQzFFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxrQkFBa0IsQ0FBQyxhQUFxQjtRQUMxQyxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxhQUFhO1FBQ2YsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJ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UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxXQUFXLENBQ2YsVUFVSSxFQUFFO1FBRVYsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU0seUJBQXlCO1FBQ2xDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlTLEtBQUssQ0FBQyx3QkFBd0I7UUFDMUMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSVMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQ2hFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJUyxLQUFLLENBQUMsaUJBQWlCLENBQy9CLFlBQTBCLEVBQzFCLElBQWMsRUFDZCxxQkFBK0I7UUFFbkMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZEQUE2RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgeyBDb21taXREYXRhLCBIZWxwZXJzLCBUeXBlT2ZDb21taXQgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCwgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcblxuXG5leHBvcnQgY2xhc3MgQmFzZUdpdDxcbiAgUFJPSkNFVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdCB7XG4gIHByb2plY3Q6IFBST0pDRVQ7XG5cbiAgdW5zdGFnZUFsbEZpbGVzKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJldmVydEZpbGVDaGFuZ2VzKGZpbGVSZWxldGl2ZVBhdGg6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lKHVybDogc3RyaW5nLCBkZXN0aW5hdGlvbkZvbGRlck5hbWUgPSAnJywgYnJhbmNoTmFtZT86IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXN0b3JlTGFzdFZlcnNpb24obG9jYWxGaWxlUGF0aDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhZ2VBbGxGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGFzaChvcHRpbm9zPzogeyBvbmx5U3RhZ2VkPzogYm9vbGVhbiB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3Rhc2hBcHBseSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBmZXRjaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldEZpbGVzKC4uLnJlbGF0aXZlUGF0aGVzOiBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBpc0luc2lkZUdpdFJlcG8oKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzV2l0aG91dEdpdFJlcG9zaXRvcnkoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGlzR2l0Um9vdCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgb3JpZ2luVVJMKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGNvbW1pdChjb21taXRNZXNzYWdlPzogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIGFsaWFzIHRvIHN0YWdlIGFsbCBhbmQgY29tbWl0XG4gICAqL1xuICBhZGRBbmRDb21taXQoY29tbWl0TWVzc2FnZTogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhZ2VBbGxBbmRDb21taXQoY29tbWl0TWVzc2FnZTogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgcHVzaEN1cnJlbnRCcmFuY2gob3B0aW9ucz86IHtcbiAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgb3JpZ2luPzogc3RyaW5nO1xuICAgIGFza1RvUmV0cnk/OiBib29sZWFuO1xuICAgIGZvcmNlUHVzaE5vUXVlc3Rpb24/OiBib29sZWFuO1xuICB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGFsbE9yaWdpbnMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IHVuY29tbWl0ZWRGaWxlcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgdGhlcmVBcmVTb21lVW5jb21taXRlZENoYW5nZSgpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRoZXJlQXJlU29tZVVuY29tbWl0ZWRDaGFuZ2VFeGNlcHQoZmlsZXNMaXN0OiBzdHJpbmdbXSA9IFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgbWVsdEFjdGlvbkNvbW1pdHMoc29mdCA9IGZhbHNlKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuXG5cbiAgYXN5bmMgcHVsbEN1cnJlbnRCcmFuY2gob3B0aW9ucz86IHtcbiAgICBhc2tUb1JldHJ5PzogYm9vbGVhbjtcbiAgICBkZWZhdWx0SGFyZFJlc2V0Q29tbWl0cz86IG51bWJlcjtcbiAgfSkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBjdXJyZW50QnJhbmNoTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgbGlzdE9mQ3VycmVudEdpdENoYW5nZXMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0QnJhbmNoZXNOYW1lc0J5KHBhdHRlcm46IHN0cmluZyB8IFJlZ0V4cCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHJlc2V0U29mdEhFQUQoSEVBRCA9IDEpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICByZXNldEhhcmQob3B0aW9ucz86IHsgSEVBRD86IG51bWJlciB9KSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY291bnRDb21pdHMoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgaGFzQW55Q29tbWl0cygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNJbk1lcmdlUHJvY2VzcygpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0RGF0ZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0SGFzaCgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBsYXN0Q29tbWl0TWVzc2FnZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwZW51bHRpbWF0ZUNvbW1pdEhhc2goKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tUYWdFeGlzdHModGFnOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBjaGVja291dChcbiAgICBicmFuY2hOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGNyZWF0ZUJyYW5jaElmTm90RXhpc3RzPzogYm9vbGVhbjtcbiAgICAgIGZldGNoQmVmb3JlQ2hlY2tvdXQ/OiBib29sZWFuO1xuICAgICAgc3dpdGNoQnJhbmNoV2hlbkV4aXN0cz86IGJvb2xlYW47XG4gICAgfSxcbiAgKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgY2hlY2tvdXRGcm9tVG8oXG4gICAgY2hlY2tvdXRGcm9tQnJhbmNoOiBzdHJpbmcsXG4gICAgYnJhbmNoOiBzdHJpbmcsXG4gICAgb3JpZ2luID0gJ29yaWdpbicsXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBtYWpvclZlcnNpb24gZXhhbXBsZTogdjEsIHYyIGV0Yy5cbiAgICogQHJldHVybnMgdGFnIG5hbWVcbiAgICovXG4gIGxhc3RUYWdOYW1lRm9yTWFqb3JWZXJzaW9uKG1ham9yVmVyc2lvbikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGxhc3RUYWdIYXNoKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCByZW1vdGVPcmlnaW5VcmwoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxhc3RUYWdWZXJzaW9uTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgc3RhZ2VkRmlsZXMoKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIGRvZXMgdGhpcyBtYWtlIGFueSBzZW5zZVxuICAgKi9cbiAgcmVuYW1lT3JpZ2luKG5ld05hbWVPclVscjogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQnkgZGVmYXVsdCBubyB0cmFuc2xhdGlvbiBvZiBjb21taXRcbiAgICovXG4gIHRyYW5zYWx0ZUdpdENvbW1pdEZyb21BcmdzKCkge1xuICAgIHJldHVybiB7IGZyb206IHZvaWQgMCBhcyBzdHJpbmcsIHRvOiB2b2lkIDAgYXMgc3RyaW5nIH07XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEJ5IGRlZnVsdCB0cnVlLi4gd2hlbiBjb21taXQgYnJhbmNoZXMgd2lsbCBub3QgZnVuY3Rpb24uXG4gICAqIChmYWxzZSBpcyBiZXR0ZXIgZm9yIHNpbXBsZSBwcm9qZWN0cylcbiAgICovXG4gIHVzZUdpdEJyYW5jaGVzV2hlbkNvbW1pdGluZ0FuZFB1c2hpbmcoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHVzZWZ1bGwgd2hlbiBwdXNoaW5nIGluIHByb2plY3Qgd2l0aCBjaGlsZHJlbnMgYXMgZ2l0IHJlcG9zXG4gICAqL1xuICBhdXRvbWF0aWNhbGx5QWRkQWxsQ2huYWdlc1doZW5QdXNoaW5nVG9HaXQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiB1c2VmdWxsIHdoZW4gcHVzaGluZyBpbiBwcm9qZWN0IHdpdGggY2hpbGRyZW5zIGFzIGdpdCByZXBvc1xuICAgKi9cbiAgdXNlR2l0QnJhbmNoZXNBc01ldGFkYXRhRm9yQ29tbWl0cygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG5cblxuICBhc3luYyBjbG9uZVRvKGN3ZDogc3RyaW5nLCBuZXdQcm9qZWN0TmFtZT86IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHB1bGxQcm9jZXNzKGNsb25lQ2hpbGRyZW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBwdXNoUHJvY2VzcyhcbiAgICBvcHRpb25zOiB7XG4gICAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgICB0eXBlb2ZDb21taXQ/OiBUeXBlT2ZDb21taXQ7XG4gICAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgICBhcmdzPzogc3RyaW5nW107XG4gICAgICBzZXRPcmlnaW4/OiAnc3NoJyB8ICdodHRwJztcbiAgICAgIGV4aXRDYWxsQmFjaz86ICgpID0+IHZvaWQ7XG4gICAgICBmb3JjZVB1c2hOb1F1ZXN0aW9uPzogYm9vbGVhbjtcbiAgICAgIGNvbW1pdE1lc3NhZ2VSZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICBza2lwQ2hpbGRyZW4/OiBib29sZWFuO1xuICAgIH0gPSB7fSxcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIF9iZWZvcmVBbnlBY3Rpb25PbkdpdFJvb3QoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIGFzeW5jIF9iZWZvcmVQdXNoUHJvY2Vzc0FjdGlvbigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2JlZm9yZVB1bGxQcm9jZXNzQWN0aW9uKGNsb25lQ2hpbGRyZW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgYXN5bmMgX2dldENvbW1pdE1lc3NhZ2UoXG4gICAgdHlwZW9mQ29tbWl0OiBUeXBlT2ZDb21taXQsXG4gICAgYXJnczogc3RyaW5nW10sXG4gICAgY29tbWl0TWVzc2FnZVJlcXVpcmVkPzogYm9vbGVhbixcbiAgKTogUHJvbWlzZTxDb21taXREYXRhPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvYmFzZS1naXQudHMiXX0=