@simpleangularcontrols/sac-common 10.0.0-rc.27 → 10.0.0-rc.29
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/bundles/simpleangularcontrols-sac-common.umd.js +729 -369
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
- package/common/basedatetimecontrol.d.ts +5 -0
- package/common/basemodelcontrol.d.ts +4 -0
- package/common/baseuploadcontrol.d.ts +4 -0
- package/controls/buttons/button.d.ts +25 -21
- package/controls/checkbox/checkbox.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +19 -19
- package/controls/confirm/confirm.service.d.ts +10 -10
- package/controls/contextmenu/contextmenu.d.ts +8 -0
- package/controls/datetime/dateselector.d.ts +9 -1
- package/controls/dialog/dialog.d.ts +5 -1
- package/controls/form/form.d.ts +4 -4
- package/controls/grid/grid.d.ts +22 -18
- package/controls/grid/gridbutton.d.ts +23 -4
- package/controls/grid/gridcolumn.d.ts +5 -5
- package/controls/grid/gridcolumnaction.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +21 -5
- package/controls/grid/model.d.ts +17 -17
- package/controls/grid/paging.d.ts +33 -29
- package/controls/input/inputdecimal.d.ts +1 -1
- package/controls/input/inputemail.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +5 -5
- package/controls/list/dropdown.d.ts +3 -3
- package/controls/list/dropdownoptions.d.ts +1 -1
- package/controls/list/listbox.d.ts +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +2 -2
- package/controls/static/staticlabel.d.ts +1 -1
- package/controls/tabs/tab.d.ts +19 -15
- package/controls/tabs/tabitem.d.ts +4 -4
- package/controls/tinymce/tinymce.d.ts +26 -22
- package/controls/tinymce/tinymcedialogsettings.d.ts +9 -9
- package/controls/tooltip/tooltip.d.ts +8 -0
- package/controls/treeview/treeview.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +4 -0
- package/controls/upload/dropzonesingle.d.ts +4 -0
- package/controls/upload/uploadmultiple.d.ts +4 -0
- package/controls/upload/uploadsingle.d.ts +4 -0
- package/controls/validation/validationsummary.d.ts +8 -4
- package/controls/wizard/wizard.d.ts +30 -30
- package/controls/wizard/wizarditem.d.ts +4 -4
- package/esm2015/common/basedatetimecontrol.js +6 -1
- package/esm2015/common/basemodelcontrol.js +6 -1
- package/esm2015/common/baseuploadcontrol.js +18 -5
- package/esm2015/controls/buttons/button.js +37 -32
- package/esm2015/controls/checkbox/checkbox.js +2 -2
- package/esm2015/controls/confirm/confirm.button.js +1 -1
- package/esm2015/controls/confirm/confirm.js +33 -35
- package/esm2015/controls/confirm/confirm.service.js +2 -2
- package/esm2015/controls/contextmenu/contextmenu.js +12 -1
- package/esm2015/controls/contextmenu/contextmenuanchor.js +1 -1
- package/esm2015/controls/contextmenu/contextmenucontainer.js +1 -1
- package/esm2015/controls/datetime/dateselector.js +41 -19
- package/esm2015/controls/dialog/dialog.js +22 -12
- package/esm2015/controls/form/form.js +3 -4
- package/esm2015/controls/grid/grid.js +23 -13
- package/esm2015/controls/grid/gridbutton.js +55 -14
- package/esm2015/controls/grid/gridcolumn.js +8 -8
- package/esm2015/controls/grid/gridcolumnaction.js +2 -2
- package/esm2015/controls/grid/gridcolumnbase.js +23 -7
- package/esm2015/controls/grid/gridimage.js +1 -1
- package/esm2015/controls/grid/model.js +23 -23
- package/esm2015/controls/grid/paging.js +48 -38
- package/esm2015/controls/input/inputdecimal.js +2 -2
- package/esm2015/controls/input/inputemail.js +2 -2
- package/esm2015/controls/input/inputinteger.js +2 -2
- package/esm2015/controls/input/inputsearch.js +8 -8
- package/esm2015/controls/layout/formlayout.js +6 -2
- package/esm2015/controls/list/buildvaluestring.js +3 -1
- package/esm2015/controls/list/dropdown.js +11 -2
- package/esm2015/controls/list/dropdownoptions.js +9 -2
- package/esm2015/controls/list/list.module.js +2 -2
- package/esm2015/controls/list/listbox.js +4 -4
- package/esm2015/controls/multilanguage/multilanguageinput.js +2 -2
- package/esm2015/controls/static/staticlabel.js +6 -2
- package/esm2015/controls/tabs/tab.js +38 -28
- package/esm2015/controls/tabs/tabitem.js +5 -3
- package/esm2015/controls/tinymce/tinymce.js +33 -32
- package/esm2015/controls/tinymce/tinymcedialogsettings.js +3 -1
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +1 -4
- package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +12 -1
- package/esm2015/controls/treeview/treeview.js +9 -9
- package/esm2015/controls/upload/dropzonemultiple.js +10 -2
- package/esm2015/controls/upload/dropzonesingle.js +10 -2
- package/esm2015/controls/upload/uploadmultiple.js +10 -2
- package/esm2015/controls/upload/uploadsingle.js +10 -2
- package/esm2015/controls/validation/validationsummary.js +12 -6
- package/esm2015/controls/wizard/wizard.js +55 -49
- package/esm2015/controls/wizard/wizarditem.js +8 -6
- package/esm2015/interfaces/ISacConfigurationService.js +1 -1
- package/esm2015/interfaces/ISacIconService.js +1 -1
- package/esm2015/public_api.js +4 -1
- package/esm2015/services/sac-configuration.service.js +15 -5
- package/esm2015/services/sac-filebrowser.service.js +68 -62
- package/esm2015/services/sac-icon.service.js +31 -1
- package/esm2015/services/sac-language.service.js +6 -2
- package/esm2015/utilities/guid.js +4 -4
- package/esm2015/utilities/popuphelper.js +2 -2
- package/esm2015/utilities/testingattribute.pipe.js +39 -0
- package/esm2015/utilities/testingattribute.pipe.ngfactory.js +7 -0
- package/esm2015/utilities/utilities.module.js +12 -0
- package/esm2015/utilities/utilities.module.ngfactory.js +7 -0
- package/fesm2015/simpleangularcontrols-sac-common.js +721 -390
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +4 -0
- package/interfaces/ISacIconService.d.ts +20 -0
- package/package.json +1 -1
- package/public_api.d.ts +2 -0
- package/services/sac-configuration.service.d.ts +13 -5
- package/services/sac-filebrowser.service.d.ts +59 -59
- package/services/sac-icon.service.d.ts +40 -0
- package/services/sac-language.service.d.ts +2 -2
- package/simpleangularcontrols-sac-common-10.0.0-rc.29.tgz +0 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -1
- package/utilities/testingattribute.pipe.d.ts +12 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts +1 -0
- package/utilities/utilities.module.d.ts +2 -0
- package/utilities/utilities.module.ngfactory.d.ts +3 -0
- package/simpleangularcontrols-sac-common-10.0.0-rc.27.tgz +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { EventEmitter, Input, Output, Directive, Injector, } from '@angular/core';
|
|
2
|
-
import * as moment_ from 'moment';
|
|
3
1
|
import { SACICON_SERVICE, SacDefaultIconService } from '../../services';
|
|
2
|
+
import { createGuid } from '../../utilities/guid';
|
|
3
|
+
import { Directive, EventEmitter, Injector, Input, Output } from '@angular/core';
|
|
4
|
+
import * as moment_ from 'moment';
|
|
4
5
|
// #region Classes
|
|
5
6
|
/**
|
|
6
7
|
*Basis Komponente für DateSelectorItem
|
|
@@ -51,6 +52,14 @@ class DateSelectorItem {
|
|
|
51
52
|
this.isnew = isnew;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
// #endregion Classes
|
|
56
|
+
// #region Variables
|
|
57
|
+
/**
|
|
58
|
+
* Moment
|
|
59
|
+
*/
|
|
60
|
+
const moment = moment_['default'];
|
|
61
|
+
// #endregion Variables
|
|
62
|
+
// #region Exported Classes
|
|
54
63
|
/**
|
|
55
64
|
*Basis Komponente für SacDateSelector
|
|
56
65
|
*/
|
|
@@ -74,10 +83,18 @@ export class SacDateSelectorCommon {
|
|
|
74
83
|
* Datum Selector
|
|
75
84
|
*/
|
|
76
85
|
this.dateselection = false;
|
|
86
|
+
/**
|
|
87
|
+
* Identifier used for the E2E data attribute.
|
|
88
|
+
*/
|
|
89
|
+
this.e2eidentifier = null;
|
|
77
90
|
/**
|
|
78
91
|
* Monat
|
|
79
92
|
*/
|
|
80
93
|
this.month = 4;
|
|
94
|
+
/**
|
|
95
|
+
* name of control
|
|
96
|
+
*/
|
|
97
|
+
this.name = createGuid();
|
|
81
98
|
/**
|
|
82
99
|
* Output Event beim Datum Selektieren
|
|
83
100
|
*/
|
|
@@ -146,6 +163,10 @@ export class SacDateSelectorCommon {
|
|
|
146
163
|
tempValue.year(1900);
|
|
147
164
|
this._selectedValue = tempValue.utc();
|
|
148
165
|
}
|
|
166
|
+
if (this._selectedValue === null && this._initialValue !== null) {
|
|
167
|
+
this.selectdate.emit({ date: this._initialValue.local() });
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
149
170
|
this.selectdate.emit({
|
|
150
171
|
date: this._selectedValue,
|
|
151
172
|
});
|
|
@@ -247,12 +268,8 @@ export class SacDateSelectorCommon {
|
|
|
247
268
|
*/
|
|
248
269
|
selectDate(v) {
|
|
249
270
|
if (v.isenabled) {
|
|
250
|
-
this.dates.forEach((date) => date
|
|
251
|
-
|
|
252
|
-
.forEach((itm) => (itm.isnew = false)));
|
|
253
|
-
this.dates.forEach((date) => date
|
|
254
|
-
.filter((filter) => filter.isselected)
|
|
255
|
-
.forEach((itm) => (itm.isselected = false)));
|
|
271
|
+
this.dates.forEach((date) => date.filter((filter) => filter.isnew).forEach((itm) => (itm.isnew = false)));
|
|
272
|
+
this.dates.forEach((date) => date.filter((filter) => filter.isselected).forEach((itm) => (itm.isselected = false)));
|
|
256
273
|
v.isnew = true;
|
|
257
274
|
v.isselected = true;
|
|
258
275
|
const dateValue = moment(v.date);
|
|
@@ -280,6 +297,9 @@ export class SacDateSelectorCommon {
|
|
|
280
297
|
* Setter für Stunden Uhrzeit
|
|
281
298
|
*/
|
|
282
299
|
setHours(v) {
|
|
300
|
+
if (v >= 24) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
283
303
|
/**
|
|
284
304
|
* Select Value setzen falls leer
|
|
285
305
|
*/
|
|
@@ -295,6 +315,9 @@ export class SacDateSelectorCommon {
|
|
|
295
315
|
* Setter für Minuten Uhrzeit
|
|
296
316
|
*/
|
|
297
317
|
setMinutes(v) {
|
|
318
|
+
if (v >= 60) {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
298
321
|
/**
|
|
299
322
|
* Select Value setzen falls leer
|
|
300
323
|
*/
|
|
@@ -372,9 +395,7 @@ export class SacDateSelectorCommon {
|
|
|
372
395
|
for (let dayinmonth = 1; dayinmonth <= currentMonth.daysInMonth(); dayinmonth++) {
|
|
373
396
|
let isSelectedDate = false;
|
|
374
397
|
let isNewDate = false;
|
|
375
|
-
const isCurrentDate = moment().month() === this.month &&
|
|
376
|
-
moment().year() === this.year &&
|
|
377
|
-
moment().date() === dayinmonth;
|
|
398
|
+
const isCurrentDate = moment().month() === this.month && moment().year() === this.year && moment().date() === dayinmonth;
|
|
378
399
|
// Initial Wert setzen, falls vorhanden
|
|
379
400
|
if (this._initialValue !== null) {
|
|
380
401
|
isSelectedDate =
|
|
@@ -426,6 +447,11 @@ export class SacDateSelectorCommon {
|
|
|
426
447
|
if (this._selectedValue === null) {
|
|
427
448
|
if (this._initialValue === null) {
|
|
428
449
|
this._selectedValue = moment();
|
|
450
|
+
/**
|
|
451
|
+
* clean seconds and miliseconds for initial values
|
|
452
|
+
*/
|
|
453
|
+
this._selectedValue.second(0);
|
|
454
|
+
this._selectedValue.millisecond(0);
|
|
429
455
|
}
|
|
430
456
|
else {
|
|
431
457
|
this._selectedValue = this._initialValue;
|
|
@@ -442,17 +468,13 @@ SacDateSelectorCommon.ctorParameters = () => [
|
|
|
442
468
|
SacDateSelectorCommon.propDecorators = {
|
|
443
469
|
autoapplyselection: [{ type: Input }],
|
|
444
470
|
dateselection: [{ type: Input }],
|
|
471
|
+
e2eidentifier: [{ type: Input }],
|
|
445
472
|
month: [{ type: Input }],
|
|
473
|
+
name: [{ type: Input }],
|
|
446
474
|
selectdate: [{ type: Output }],
|
|
447
475
|
timeselection: [{ type: Input }],
|
|
448
476
|
year: [{ type: Input }],
|
|
449
477
|
initialvalue: [{ type: Input }]
|
|
450
478
|
};
|
|
451
|
-
// #endregion Classes
|
|
452
|
-
// #region Variables
|
|
453
|
-
/**
|
|
454
|
-
* Moment
|
|
455
|
-
*/
|
|
456
|
-
const moment = moment_['default'];
|
|
457
|
-
// #endregion Variables
|
|
458
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxrQkFBa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQjtJQTRCcEIsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7Ozs7Ozs7T0FRRztJQUNILFlBQ0UsV0FBbUIsRUFDbkIsSUFBVSxFQUNWLFNBQWtCLEVBQ2xCLFVBQW1CLEVBQ25CLFNBQWtCLEVBQ2xCLEtBQWM7UUE5Q2hCLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNJLFNBQUksR0FBUyxTQUFTLENBQUM7UUFDOUI7O1dBRUc7UUFDSSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUNoQzs7V0FFRztRQUNJLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDbEM7O1dBRUc7UUFDSSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQ2xDOztXQUVHO1FBQ0ksVUFBSyxHQUFZLEtBQUssQ0FBQztRQUM5Qjs7V0FFRztRQUNJLGVBQVUsR0FBWSxLQUFLLENBQUM7UUF1QmpDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FHRjtBQUVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQXVEaEMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2QixZQUFZLFFBQWtCO1FBaEQ5Qjs7V0FFRztRQUNLLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBTXBDOztXQUVHO1FBRUksdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xDOztXQUVHO1FBQ0ksVUFBSyxHQUF5QixFQUFFLENBQUM7UUFDeEM7O1dBRUc7UUFFSSxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUN0Qzs7V0FFRztRQUVJLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDekI7O1dBRUc7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1Qzs7V0FFRztRQUVJLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQ3RDOztXQUVHO1FBRUksU0FBSSxHQUFXLElBQUksQ0FBQztRQU96QixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQzdCLGVBQWUsRUFDZixJQUFJLHFCQUFxQixFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsc0NBQXNDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFlBQVksQ0FBQyxDQUFjO1FBQ3BDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCx3Q0FBd0M7SUFFeEMseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksY0FBYztRQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtZQUNoRSxNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RELFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztTQUMxQjtRQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtZQUNoQzs7ZUFFRztZQUNILElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2xDO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2hDOztlQUVHO1lBQ0gsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDL0IsT0FBTyxDQUFDLENBQUM7YUFDVjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDckM7U0FDRjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYjs7V0FFRztRQUNILElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksY0FBYztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNuQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxDQUFtQjtRQUNuQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQzFCLElBQUk7aUJBQ0QsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2lCQUNoQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUN6QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUMxQixJQUFJO2lCQUNELE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztpQkFDckMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FDOUMsQ0FBQztZQUNGLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBTSxTQUFTLEdBQVcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV6QywrQ0FBK0M7WUFDL0MsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtnQkFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtvQkFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQzthQUNGO2lCQUFNO2dCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUNoRDtZQUVELGlDQUFpQztZQUNqQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7WUFFaEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLENBQWdCO1FBQzlCOztXQUVHO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLENBQWdCO1FBQ2hDOztXQUVHO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFL0I7O1dBRUc7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQzs7V0FFRztRQUNILElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCw0QkFBNEI7SUFFNUIsMEJBQTBCO0lBRTFCOztPQUVHO0lBQ0ssWUFBWSxDQUFDLENBQVM7UUFDNUI7O1dBRUc7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVyQjs7V0FFRztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTO1FBQ2YsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLE1BQU0sWUFBWSxHQUFXLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBVyxNQUFNLENBQy9CLElBQUksSUFBSSxDQUNOLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFDbkIsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUNwQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQzNCLENBQ0YsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNaLGNBQWM7UUFDZCxNQUFNLGNBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWhCLElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUM1QixTQUFTLENBQUMsSUFBSSxFQUFFLEVBQ2hCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFDakIsWUFBWSxDQUNiLENBQUM7WUFDRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUV6RCxJQUFJLGVBQWUsR0FDakIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELElBQUksZUFBZSxLQUFLLENBQUMsRUFBRTtnQkFDekIsZUFBZSxHQUFHLENBQUMsQ0FBQzthQUNyQjtZQUVELEtBQ0UsSUFBSSxHQUFHLEdBQUcsWUFBWSxFQUN0QixHQUFHLElBQUksWUFBWSxHQUFHLGVBQWUsRUFDckMsR0FBRyxFQUFFLEVBQ0w7Z0JBQ0EsY0FBYyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLGdCQUFnQixDQUNsQixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDbEQsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQ0YsQ0FBQzthQUNIO1NBQ0Y7UUFFRCx3QkFBd0I7UUFDeEIsS0FDRSxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQ2xCLFVBQVUsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQ3hDLFVBQVUsRUFBRSxFQUNaO1lBQ0EsSUFBSSxjQUFjLEdBQVksS0FBSyxDQUFDO1lBQ3BDLElBQUksU0FBUyxHQUFZLEtBQUssQ0FBQztZQUMvQixNQUFNLGFBQWEsR0FDakIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJO2dCQUM3QixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLENBQUM7WUFFakMsdUNBQXVDO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLGNBQWM7b0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSzt3QkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSTt3QkFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLENBQUM7YUFDNUM7WUFFRCxnREFBZ0Q7WUFDaEQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtnQkFDaEMsU0FBUztvQkFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLO3dCQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJO3dCQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsQ0FBQzthQUM3QztZQUVELGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksZ0JBQWdCLENBQ2xCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFDckIsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQ3BELElBQUksRUFDSixjQUFjLEVBQ2QsYUFBYSxFQUNiLFNBQVMsQ0FDVixDQUNGLENBQUM7U0FDSDtRQUVELElBQUksYUFBcUIsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO1lBQzlCLGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDbkI7YUFBTTtZQUNMLGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDbkI7UUFFRCxJQUFJLFVBQVUsS0FBSyxhQUFhLEVBQUU7WUFDaEMsSUFBSSxnQkFBd0IsQ0FBQztZQUU3QixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUFFO2dCQUM5QixnQkFBZ0IsR0FBRyxhQUFhLEdBQUcsVUFBVSxDQUFDO2FBQy9DO2lCQUFNO2dCQUNMLGdCQUFnQixHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDbkM7WUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFDLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksZ0JBQWdCLENBQ2xCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDWixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNsRCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ04sQ0FDRixDQUFDO2FBQ0g7U0FDRjtRQUVELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5RCxLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQ3hCO2dCQUVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDekQ7U0FDRjtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkI7O1dBRUc7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxFQUFFLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQzFDO1NBQ0Y7SUFDSCxDQUFDOzs7WUF6ZkYsU0FBUzs7O1lBNUVSLFFBQVE7OztpQ0FvR1AsS0FBSzs0QkFTTCxLQUFLO29CQUtMLEtBQUs7eUJBS0wsTUFBTTs0QkFLTixLQUFLO21CQUtMLEtBQUs7MkJBbUNMLEtBQUs7O0FBc2FSLHFCQUFxQjtBQUVyQixvQkFBb0I7QUFFcEI7O0dBRUc7QUFDSCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFbEMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIERpcmVjdGl2ZSxcbiAgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuLy8gSW1wb3J0IE1vbWVudC5KU1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IFNBQ0lDT05fU0VSVklDRSwgU2FjRGVmYXVsdEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSVNhY0ljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjSWNvblNlcnZpY2UnO1xuXG4vLyAjcmVnaW9uIENsYXNzZXNcblxuLyoqXG4gKkJhc2lzIEtvbXBvbmVudGUgZsO8ciBEYXRlU2VsZWN0b3JJdGVtXG4gKi9cbmNsYXNzIERhdGVTZWxlY3Rvckl0ZW0ge1xuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAvKipcbiAgICogRGF0dW1cbiAgICovXG4gIHB1YmxpYyBkYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuICAvKipcbiAgICogRGlzcGxheVRleHQgUHJvcGVydHk7IGRlZmF1bHQgV2VydCAtICcnXG4gICAqL1xuICBwdWJsaWMgZGlzcGxheXRleHQ6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogQm9vbGVhbiBQcm9wZXJ0eSwgZGllIHplaWd0LCBvYiBkYXMgRWxlbWVudCBha3R1ZWxsIGlzdDsgZGVmYXVsdCBXZXJ0IC0gZmFsc2VcbiAgICovXG4gIHB1YmxpYyBpc2N1cnJlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEJvb2xlYW4gUHJvcGVydHksIGRpZSB6ZWlndCwgb2IgZGFzIENvbnRyb2wgZW5hYmxlZCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNlbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBCb29sZWFuIFByb3BlcnR5LCBkaWUgemVpZ3QsIG9iIGRhcyBFbGVtZW50IG5ldSBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNuZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEJvb2xlYW4gUHJvcGVydHksIGRpZSB6ZWlndCwgb2IgZGFzIEVsZW1lbnQgc2VsZWt0aWVydCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEBwYXJhbSBkaXNwbGF5dGV4dCBBbnplaWdldGV4dFxuICAgKiBAcGFyYW0gZGF0ZSBEYXR1bVxuICAgKiBAcGFyYW0gaXNlbmFibGVkIEVsZW1lbnQgaXN0IGFrdGl2XG4gICAqIEBwYXJhbSBpc3NlbGVjdGVkIEVsZW1lbnQgaXN0IHNlbGVrdGllcnRcbiAgICogQHBhcmFtIGlzY3VycmVudCBFbGVtZW50IGlzdCBha3R1ZWxsZXMgRWxlbWVudFxuICAgKiBAcGFyYW0gaXNuZXcgRWxlbWVudCBpc3QgbmV1XG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBkaXNwbGF5dGV4dDogc3RyaW5nLFxuICAgIGRhdGU6IERhdGUsXG4gICAgaXNlbmFibGVkOiBib29sZWFuLFxuICAgIGlzc2VsZWN0ZWQ6IGJvb2xlYW4sXG4gICAgaXNjdXJyZW50OiBib29sZWFuLFxuICAgIGlzbmV3OiBib29sZWFuXG4gICkge1xuICAgIHRoaXMuZGlzcGxheXRleHQgPSBkaXNwbGF5dGV4dDtcbiAgICB0aGlzLmRhdGUgPSBkYXRlO1xuICAgIHRoaXMuaXNlbmFibGVkID0gaXNlbmFibGVkO1xuICAgIHRoaXMuaXNjdXJyZW50ID0gaXNjdXJyZW50O1xuICAgIHRoaXMuaXNzZWxlY3RlZCA9IGlzc2VsZWN0ZWQ7XG4gICAgdGhpcy5pc25ldyA9IGlzbmV3O1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cblxuLyoqXG4gKkJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNEYXRlU2VsZWN0b3JcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjRGF0ZVNlbGVjdG9yQ29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIFVyc3Byw7xuZ2xpY2hlcyBEYXR1bVxuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdGlhbFZhbHVlOiBNb21lbnQgfCBudWxsO1xuICAvKipcbiAgICogQWt0dWVsbCBnZXfDpGhsdGVzIERhdHVtXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3RlZFZhbHVlOiBNb21lbnQgfCBudWxsO1xuICAvKipcbiAgICogQW5mYW5nIGRlcyBLYWxlbmRlcnNcbiAgICovXG4gIHByaXZhdGUgYmVnaW5PZkNhbGVuZGFyOiBudW1iZXIgPSAxO1xuICAvKipcbiAgICogaWNvbiBzZXJ2aWNlIHRvIHJlc29sdmUgaWNvbnNcbiAgICovXG4gIHByaXZhdGUgaWNvblNlcnZpY2U6IElTYWNJY29uU2VydmljZTtcblxuICAvKipcbiAgICogQm9vbGVhbiBQcm9wZXJ0eSBmw7xyIGF1dG9tYXRpc2NoZSBTZWxla3RpZXJ1bmc7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b2FwcGx5c2VsZWN0aW9uID0gZmFsc2U7XG4gIC8qKlxuICAgKiBBcnJheSB2b24gRGF0ZW5cbiAgICovXG4gIHB1YmxpYyBkYXRlczogRGF0ZVNlbGVjdG9ySXRlbVtdW10gPSBbXTtcbiAgLyoqXG4gICAqIERhdHVtIFNlbGVjdG9yXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZXNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogTW9uYXRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtb250aDogbnVtYmVyID0gNDtcbiAgLyoqXG4gICAqIE91dHB1dCBFdmVudCBiZWltIERhdHVtIFNlbGVrdGllcmVuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgLyoqXG4gICAqIFRpbWUgU2VsZWN0b3JcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lc2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBKYWhyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgeWVhcjogbnVtYmVyID0gMjAxODtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaWNvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICBTQUNJQ09OX1NFUlZJQ0UsXG4gICAgICBuZXcgU2FjRGVmYXVsdEljb25TZXJ2aWNlKClcbiAgICApO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLyoqXG4gICAqIEdldCBpY29uIHRvIHN3aXRjaCB0byBuZXh0IG1vbnRoXG4gICAqL1xuICBwdWJsaWMgZ2V0IGljb25Nb250aE5leHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pY29uU2VydmljZS5EYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50TW9udGhOZXh0SWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaWNvbiB0byBzd2l0Y2ggdG8gcHJldmlvdXMgbW9udGhcbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvbk1vbnRoUHJldigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkRhdGVUaW1lU2VsZWN0b3JDb21wb25lbnRNb250aFByZXZJY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIElucHV0IGbDvHIgdXJzcHLDvG5nbGljaGVzIERhdHVtXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGluaXRpYWx2YWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5faW5pdGlhbFZhbHVlLnRvRGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBpbml0aWFsdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxWYWx1ZSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRpYWxWYWx1ZSA9IG1vbWVudCh2KTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gbnVsbDtcblxuICAgIGlmICh0aGlzLl9pbml0aWFsVmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuaW5pdENhbGVuZGFyKG1vbWVudCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0Q2FsZW5kYXIodGhpcy5faW5pdGlhbFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8qKlxuICAgKiBTZWxla3RpZXJ1bmcgw7xiZXJuZWhtZW5cbiAgICovXG4gIHB1YmxpYyBhcHBseVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lc2VsZWN0aW9uID09PSBmYWxzZSAmJiB0aGlzLl9zZWxlY3RlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLmhvdXIoMCk7XG4gICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLm1pbnV0ZSgwKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuc2Vjb25kKDApO1xuICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taWxsaXNlY29uZCgwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRlc2VsZWN0aW9uID09PSBmYWxzZSAmJiB0aGlzLl9zZWxlY3RlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZW1wVmFsdWU6IE1vbWVudCA9IHRoaXMuX3NlbGVjdGVkVmFsdWUubG9jYWwoKTtcbiAgICAgIHRlbXBWYWx1ZS5kYXRlKDEpO1xuICAgICAgdGVtcFZhbHVlLm1vbnRoKDApO1xuICAgICAgdGVtcFZhbHVlLnllYXIoMTkwMCk7XG4gICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gdGVtcFZhbHVlLnV0YygpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZGF0ZS5lbWl0KHtcbiAgICAgIGRhdGU6IHRoaXMuX3NlbGVjdGVkVmFsdWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9kdXMgw6RuZGVyblxuICAgKi9cbiAgcHVibGljIGNoYW5nZU1vZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmVnaW5PZkNhbGVuZGFyID09PSAwKSB7XG4gICAgICB0aGlzLmJlZ2luT2ZDYWxlbmRhciA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmVnaW5PZkNhbGVuZGFyID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLmluaXREYXRlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBmw7xyIFN0dW5kZW4gVWhyemVpdFxuICAgKi9cbiAgcHVibGljIGdldEhvdXJzKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgPT09IG51bGwpIHtcbiAgICAgIC8qKlxuICAgICAgICogV2VydCBhdXMgSW5pdCBWYWx1ZSBsZXNlblxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxWYWx1ZS5ob3VyKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFZhbHVlLmhvdXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGbDvHIgTWludXRlbiBVaHJ6ZWl0XG4gICAqL1xuICBwdWJsaWMgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAvKipcbiAgICAgICAqIFdlcnQgYXVzIEluaXQgVmFsdWUgbGVzZW5cbiAgICAgICAqL1xuICAgICAgaWYgKHRoaXMuX2luaXRpYWxWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbml0aWFsVmFsdWUubWludXRlcygpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taW51dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZvcmhlcmlnZXIgTW9uYXRcbiAgICovXG4gIHB1YmxpYyBtb250aEJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5tb250aCA9IHRoaXMubW9udGggLSAxO1xuXG4gICAgaWYgKHRoaXMubW9udGggPCAwKSB7XG4gICAgICB0aGlzLm1vbnRoID0gMTE7XG4gICAgICB0aGlzLnllYXIgPSB0aGlzLnllYXIgLSAxO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICogTsOkY2hzdGVyIE1vbmF0XG4gICAqL1xuICBwdWJsaWMgbW9udGhOZXh0KCk6IHZvaWQge1xuICAgIHRoaXMubW9udGggPSB0aGlzLm1vbnRoICsgMTtcblxuICAgIGlmICh0aGlzLm1vbnRoID4gMTEpIHtcbiAgICAgIHRoaXMubW9udGggPSAwO1xuICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyICsgMTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXREYXRlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgRXZlbnRcbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAvKipcbiAgICAgKiBJbml0IEluaXRpYWwgRGF0ZSBpZiBFbXB0eVxuICAgICAqL1xuICAgIGlmICh0aGlzLl9pbml0aWFsVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbml0aWFsdmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWt0aWVydW5nIHJlc2V0dGVuXG4gICAqL1xuICBwdWJsaWMgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RkYXRlLmVtaXQoe1xuICAgICAgZGF0ZTogbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2RlIGVyZ2lidCBkYXMgc2VsZWt0aWVydGUgRGF0dW1cbiAgICovXG4gIHB1YmxpYyBzZWxlY3REYXRlKHY6IERhdGVTZWxlY3Rvckl0ZW0pOiB2b2lkIHtcbiAgICBpZiAodi5pc2VuYWJsZWQpIHtcbiAgICAgIHRoaXMuZGF0ZXMuZm9yRWFjaCgoZGF0ZSkgPT5cbiAgICAgICAgZGF0ZVxuICAgICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmlzbmV3KVxuICAgICAgICAgIC5mb3JFYWNoKChpdG0pID0+IChpdG0uaXNuZXcgPSBmYWxzZSkpXG4gICAgICApO1xuICAgICAgdGhpcy5kYXRlcy5mb3JFYWNoKChkYXRlKSA9PlxuICAgICAgICBkYXRlXG4gICAgICAgICAgLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaXNzZWxlY3RlZClcbiAgICAgICAgICAuZm9yRWFjaCgoaXRtKSA9PiAoaXRtLmlzc2VsZWN0ZWQgPSBmYWxzZSkpXG4gICAgICApO1xuICAgICAgdi5pc25ldyA9IHRydWU7XG4gICAgICB2Lmlzc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICBjb25zdCBkYXRlVmFsdWU6IE1vbWVudCA9IG1vbWVudCh2LmRhdGUpO1xuXG4gICAgICAvLyDDnGJlcm5laG1lbiBkZXIgWmVpdCBhdXMgZGVtIGJlc3RlaGVuZGVuIFdlcnRcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBkYXRlVmFsdWUuaG91cih0aGlzLl9pbml0aWFsVmFsdWUuaG91cigpKTtcbiAgICAgICAgICBkYXRlVmFsdWUubWludXRlKHRoaXMuX2luaXRpYWxWYWx1ZS5taW51dGUoKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGVWYWx1ZS5ob3VyKHRoaXMuX3NlbGVjdGVkVmFsdWUuaG91cigpKTtcbiAgICAgICAgZGF0ZVZhbHVlLm1pbnV0ZSh0aGlzLl9zZWxlY3RlZFZhbHVlLm1pbnV0ZSgpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VrdW5kZW4gdW4gTWlsaXNla3VuZGVuIENsZWFuXG4gICAgICBkYXRlVmFsdWUuc2Vjb25kKDApO1xuICAgICAgZGF0ZVZhbHVlLm1pbGxpc2Vjb25kKDApO1xuICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IGRhdGVWYWx1ZTtcblxuICAgICAgaWYgKHRoaXMuYXV0b2FwcGx5c2VsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuYXBwbHlTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0dGVyIGbDvHIgU3R1bmRlbiBVaHJ6ZWl0XG4gICAqL1xuICBwdWJsaWMgc2V0SG91cnModjogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIFNlbGVjdCBWYWx1ZSBzZXR6ZW4gZmFsbHMgbGVlclxuICAgICAqL1xuICAgIHRoaXMuaW5pdFNlbGVjdGVkVmFsdWUoKTtcblxuICAgIGlmICh2ID09PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLmhvdXIoMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuaG91cih2KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0dGVyIGbDvHIgTWludXRlbiBVaHJ6ZWl0XG4gICAqL1xuICBwdWJsaWMgc2V0TWludXRlcyh2OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogU2VsZWN0IFZhbHVlIHNldHplbiBmYWxscyBsZWVyXG4gICAgICovXG4gICAgdGhpcy5pbml0U2VsZWN0ZWRWYWx1ZSgpO1xuXG4gICAgaWYgKHYgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUubWludXRlcygwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taW51dGVzKHYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBdXN3YWhsIGF1ZiBha3R1ZWxsZSBaZWl0IHN0ZWxsZW5cbiAgICovXG4gIHB1YmxpYyBzZXRUb2RheSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gbW9tZW50KCk7XG5cbiAgICAvKipcbiAgICAgKiBTZWt1bmRlbiB1biBNaWxpc2VrdW5kZW4gQ2xlYW5cbiAgICAgKi9cbiAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLnNlY29uZCgwKTtcbiAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLm1pbGxpc2Vjb25kKDApO1xuXG4gICAgLyoqXG4gICAgICogS2FsZW5kZXIgRGF0ZW4gaW5pdGlhbGlzaWVyZW4gZmFsbHMgS2FsZW5kZXIgYW5nZXplaWd0XG4gICAgICovXG4gICAgaWYgKHRoaXMuZGF0ZXNlbGVjdGlvbikge1xuICAgICAgdGhpcy5pbml0Q2FsZW5kYXIodGhpcy5fc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYXV0b2FwcGx5c2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmFwcGx5U2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgLyoqXG4gICAqIFVyc3Byw7xuZ2xpY2hlciBLYWxlbmRlclxuICAgKi9cbiAgcHJpdmF0ZSBpbml0Q2FsZW5kYXIodjogTW9tZW50KSB7XG4gICAgLyoqXG4gICAgICogTW9uYXQgdW5kIEphaHIgc2V0emVuXG4gICAgICovXG4gICAgdGhpcy5tb250aCA9IHYubW9udGgoKTtcbiAgICB0aGlzLnllYXIgPSB2LnllYXIoKTtcblxuICAgIC8qKlxuICAgICAqIERhdGVuIGbDvHIgS2FsZW5kZXIgaW5pdGlhbGlzZXJlblxuICAgICAqL1xuICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbCBEYXR1bVxuICAgKi9cbiAgcHJpdmF0ZSBpbml0RGF0ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gbW9tZW50KG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgMSkpO1xuICAgIGNvbnN0IGxhc3RNb250aCA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIDEpKTtcbiAgICBsYXN0TW9udGguYWRkKHsgbW9udGhzOiAtMSB9KTtcbiAgICBjb25zdCBuZXh0TW9udGhzID0gbW9tZW50KG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgMSkpO1xuICAgIG5leHRNb250aHMuYWRkKHsgbW9udGhzOiAxIH0pO1xuXG4gICAgY29uc3Qgd2Vla2RheUJlZ2luOiBudW1iZXIgPSBjdXJyZW50TW9udGgud2Vla2RheSgpO1xuICAgIGNvbnN0IHdlZWtkYXlFbmQ6IG51bWJlciA9IG1vbWVudChcbiAgICAgIG5ldyBEYXRlKFxuICAgICAgICBjdXJyZW50TW9udGgueWVhcigpLFxuICAgICAgICBjdXJyZW50TW9udGgubW9udGgoKSxcbiAgICAgICAgY3VycmVudE1vbnRoLmRheXNJbk1vbnRoKClcbiAgICAgIClcbiAgICApLndlZWtkYXkoKTtcbiAgICAvLyBDbGVhciBBcnJheVxuICAgIGNvbnN0IGRheXNJbkNhbGVuZGFyOiBEYXRlU2VsZWN0b3JJdGVtW10gPSBbXTtcbiAgICB0aGlzLmRhdGVzID0gW107XG5cbiAgICBpZiAod2Vla2RheUJlZ2luICE9PSB0aGlzLmJlZ2luT2ZDYWxlbmRhcikge1xuICAgICAgY29uc3QgbGFzdE1vbnRoRGF5ID0gbGFzdE1vbnRoLmRheXNJbk1vbnRoKCk7XG4gICAgICBjb25zdCBsYXN0TW9udGhEYXRlID0gbmV3IERhdGUoXG4gICAgICAgIGxhc3RNb250aC55ZWFyKCksXG4gICAgICAgIGxhc3RNb250aC5tb250aCgpLFxuICAgICAgICBsYXN0TW9udGhEYXlcbiAgICAgICk7XG4gICAgICBjb25zdCBsYXN0TW9udGhXZWVrZGF5ID0gbW9tZW50KGxhc3RNb250aERhdGUpLndlZWtkYXkoKTtcblxuICAgICAgbGV0IGRheXNJbkxhc3RNb250aCA9XG4gICAgICAgIDcgLSAoKDcgKyB0aGlzLmJlZ2luT2ZDYWxlbmRhciAtIGxhc3RNb250aFdlZWtkYXkpICUgNyk7XG4gICAgICBpZiAoZGF5c0luTGFzdE1vbnRoID09PSA3KSB7XG4gICAgICAgIGRheXNJbkxhc3RNb250aCA9IDA7XG4gICAgICB9XG5cbiAgICAgIGZvciAoXG4gICAgICAgIGxldCBkYXkgPSBsYXN0TW9udGhEYXk7XG4gICAgICAgIGRheSA+PSBsYXN0TW9udGhEYXkgLSBkYXlzSW5MYXN0TW9udGg7XG4gICAgICAgIGRheS0tXG4gICAgICApIHtcbiAgICAgICAgZGF5c0luQ2FsZW5kYXIuc3BsaWNlKFxuICAgICAgICAgIDAsXG4gICAgICAgICAgMCxcbiAgICAgICAgICBuZXcgRGF0ZVNlbGVjdG9ySXRlbShcbiAgICAgICAgICAgIGRheS50b1N0cmluZygpLFxuICAgICAgICAgICAgbmV3IERhdGUobGFzdE1vbnRoLnllYXIoKSwgbGFzdE1vbnRoLm1vbnRoKCksIGRheSksXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYWxsIERheXMgaW4gTW9udGhcbiAgICBmb3IgKFxuICAgICAgbGV0IGRheWlubW9udGggPSAxO1xuICAgICAgZGF5aW5tb250aCA8PSBjdXJyZW50TW9udGguZGF5c0luTW9udGgoKTtcbiAgICAgIGRheWlubW9udGgrK1xuICAgICkge1xuICAgICAgbGV0IGlzU2VsZWN0ZWREYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgICBsZXQgaXNOZXdEYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgICBjb25zdCBpc0N1cnJlbnREYXRlOiBib29sZWFuID1cbiAgICAgICAgbW9tZW50KCkubW9udGgoKSA9PT0gdGhpcy5tb250aCAmJlxuICAgICAgICBtb21lbnQoKS55ZWFyKCkgPT09IHRoaXMueWVhciAmJlxuICAgICAgICBtb21lbnQoKS5kYXRlKCkgPT09IGRheWlubW9udGg7XG5cbiAgICAgIC8vIEluaXRpYWwgV2VydCBzZXR6ZW4sIGZhbGxzIHZvcmhhbmRlblxuICAgICAgaWYgKHRoaXMuX2luaXRpYWxWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICBpc1NlbGVjdGVkRGF0ZSA9XG4gICAgICAgICAgdGhpcy5faW5pdGlhbFZhbHVlLm1vbnRoKCkgPT09IHRoaXMubW9udGggJiZcbiAgICAgICAgICB0aGlzLl9pbml0aWFsVmFsdWUueWVhcigpID09PSB0aGlzLnllYXIgJiZcbiAgICAgICAgICB0aGlzLl9pbml0aWFsVmFsdWUuZGF0ZSgpID09PSBkYXlpbm1vbnRoO1xuICAgICAgfVxuXG4gICAgICAvLyBTZWxlY3RlZCBEYXRlIFdlcnQgc2V0emVuLCBmYWxscyBXZXJ0IGdlc2V0enRcbiAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIGlzTmV3RGF0ZSA9XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5tb250aCgpID09PSB0aGlzLm1vbnRoICYmXG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS55ZWFyKCkgPT09IHRoaXMueWVhciAmJlxuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuZGF0ZSgpID09PSBkYXlpbm1vbnRoO1xuICAgICAgfVxuXG4gICAgICBkYXlzSW5DYWxlbmRhci5wdXNoKFxuICAgICAgICBuZXcgRGF0ZVNlbGVjdG9ySXRlbShcbiAgICAgICAgICBkYXlpbm1vbnRoLnRvU3RyaW5nKCksXG4gICAgICAgICAgbW9tZW50KFt0aGlzLnllYXIsIHRoaXMubW9udGgsIGRheWlubW9udGhdKS50b0RhdGUoKSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIGlzU2VsZWN0ZWREYXRlLFxuICAgICAgICAgIGlzQ3VycmVudERhdGUsXG4gICAgICAgICAgaXNOZXdEYXRlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGVuZE9mQ2FsZW5kZXI6IG51bWJlcjtcbiAgICBpZiAodGhpcy5iZWdpbk9mQ2FsZW5kYXIgPT09IDApIHtcbiAgICAgIGVuZE9mQ2FsZW5kZXIgPSA2O1xuICAgIH0gZWxzZSB7XG4gICAgICBlbmRPZkNhbGVuZGVyID0gMDtcbiAgICB9XG5cbiAgICBpZiAod2Vla2RheUVuZCAhPT0gZW5kT2ZDYWxlbmRlcikge1xuICAgICAgbGV0IGNvdW50TWlzc2luZ0RheXM6IG51bWJlcjtcblxuICAgICAgaWYgKHRoaXMuYmVnaW5PZkNhbGVuZGFyID09PSAwKSB7XG4gICAgICAgIGNvdW50TWlzc2luZ0RheXMgPSBlbmRPZkNhbGVuZGVyIC0gd2Vla2RheUVuZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvdW50TWlzc2luZ0RheXMgPSA3IC0gd2Vla2RheUVuZDtcbiAgICAgIH1cblxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gY291bnRNaXNzaW5nRGF5czsgaSsrKSB7XG4gICAgICAgIGRheXNJbkNhbGVuZGFyLnB1c2goXG4gICAgICAgICAgbmV3IERhdGVTZWxlY3Rvckl0ZW0oXG4gICAgICAgICAgICBpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBuZXcgRGF0ZShuZXh0TW9udGhzLnllYXIoKSwgbmV4dE1vbnRocy5tb250aCgpLCBpKSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXlzSW5DYWxlbmRhci5sZW5ndGggLyA3OyBpbmRleCsrKSB7XG4gICAgICBmb3IgKGxldCBkYXkgPSAwOyBkYXkgPCA3OyBkYXkrKykge1xuICAgICAgICBpZiAoZGF5ID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5kYXRlc1tpbmRleF0gPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGF0ZXNbaW5kZXhdLnB1c2goZGF5c0luQ2FsZW5kYXJbaW5kZXggKiA3ICsgZGF5XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0U2VsZWN0ZWRWYWx1ZSgpIHtcbiAgICAvKipcbiAgICAgKiBTZWxlY3QgVmFsdWUgc2V0emVuIGZhbGxzIGxlZXJcbiAgICAgKi9cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMuX2luaXRpYWxWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gbW9tZW50KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gdGhpcy5faW5pdGlhbFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG59XG5cbi8vICNlbmRyZWdpb24gQ2xhc3Nlc1xuXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xuXG4vKipcbiAqIE1vbWVudFxuICovXG5jb25zdCBtb21lbnQgPSBtb21lbnRfWydkZWZhdWx0J107XG5cbi8vICNlbmRyZWdpb24gVmFyaWFibGVzXG4iXX0=
|
|
479
|
+
// #endregion Exported Classes
|
|
480
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFFbEMsa0JBQWtCO0FBRWxCOztHQUVHO0FBQ0gsTUFBTSxnQkFBZ0I7SUFpQ2xCLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7Ozs7O09BUUc7SUFDSCxZQUNJLFdBQW1CLEVBQ25CLElBQVUsRUFDVixTQUFrQixFQUNsQixVQUFtQixFQUNuQixTQUFrQixFQUNsQixLQUFjO1FBbkRsQixxQkFBcUI7UUFFckI7O1dBRUc7UUFDSSxTQUFJLEdBQVMsU0FBUyxDQUFDO1FBRTlCOztXQUVHO1FBQ0ksZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFDSSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBQ0ksY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVsQzs7V0FFRztRQUNJLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFOUI7O1dBRUc7UUFDSSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBdUIvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMs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QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUM1QztTQUNKO0lBQ0wsQ0FBQzs7O1lBbmdCSixTQUFTOzs7WUF6RndCLFFBQVE7OztpQ0FvSHJDLEtBQUs7NEJBV0wsS0FBSzs0QkFNTCxLQUFLO29CQU1MLEtBQUs7bUJBTUwsS0FBSzt5QkFNTCxNQUFNOzRCQU1OLEtBQUs7bUJBTUwsS0FBSzsyQkFnQ0wsS0FBSzs7QUE4WlYsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IElTYWNJY29uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcbmltcG9ydCB7IFNBQ0lDT05fU0VSVklDRSwgU2FjRGVmYXVsdEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgY3JlYXRlR3VpZCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9ndWlkJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8vICNyZWdpb24gQ2xhc3Nlc1xuXG4vKipcbiAqQmFzaXMgS29tcG9uZW50ZSBmw7xyIERhdGVTZWxlY3Rvckl0ZW1cbiAqL1xuY2xhc3MgRGF0ZVNlbGVjdG9ySXRlbSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBEYXR1bVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRGlzcGxheVRleHQgUHJvcGVydHk7IGRlZmF1bHQgV2VydCAtICcnXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXl0ZXh0OiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gUHJvcGVydHksIGRpZSB6ZWlndCwgb2IgZGFzIEVsZW1lbnQgYWt0dWVsbCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzY3VycmVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBQcm9wZXJ0eSwgZGllIHplaWd0LCBvYiBkYXMgQ29udHJvbCBlbmFibGVkIGlzdDsgZGVmYXVsdCBXZXJ0IC0gZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNlbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5LCBkaWUgemVpZ3QsIG9iIGRhcyBFbGVtZW50IG5ldSBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGlzbmV3OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5LCBkaWUgemVpZ3QsIG9iIGRhcyBFbGVtZW50IHNlbGVrdGllcnQgaXN0OyBkZWZhdWx0IFdlcnQgLSBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc3NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEBwYXJhbSBkaXNwbGF5dGV4dCBBbnplaWdldGV4dFxuICAgICAqIEBwYXJhbSBkYXRlIERhdHVtXG4gICAgICogQHBhcmFtIGlzZW5hYmxlZCBFbGVtZW50IGlzdCBha3RpdlxuICAgICAqIEBwYXJhbSBpc3NlbGVjdGVkIEVsZW1lbnQgaXN0IHNlbGVrdGllcnRcbiAgICAgKiBAcGFyYW0gaXNjdXJyZW50IEVsZW1lbnQgaXN0IGFrdHVlbGxlcyBFbGVtZW50XG4gICAgICogQHBhcmFtIGlzbmV3IEVsZW1lbnQgaXN0IG5ldVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBkaXNwbGF5dGV4dDogc3RyaW5nLFxuICAgICAgICBkYXRlOiBEYXRlLFxuICAgICAgICBpc2VuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIGlzc2VsZWN0ZWQ6IGJvb2xlYW4sXG4gICAgICAgIGlzY3VycmVudDogYm9vbGVhbixcbiAgICAgICAgaXNuZXc6IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5dGV4dCA9IGRpc3BsYXl0ZXh0O1xuICAgICAgICB0aGlzLmRhdGUgPSBkYXRlO1xuICAgICAgICB0aGlzLmlzZW5hYmxlZCA9IGlzZW5hYmxlZDtcbiAgICAgICAgdGhpcy5pc2N1cnJlbnQgPSBpc2N1cnJlbnQ7XG4gICAgICAgIHRoaXMuaXNzZWxlY3RlZCA9IGlzc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuaXNuZXcgPSBpc25ldztcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuXG4vLyAjZW5kcmVnaW9uIENsYXNzZXNcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuLyoqXG4gKiBNb21lbnRcbiAqL1xuY29uc3QgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKkJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNEYXRlU2VsZWN0b3JcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2FjRGF0ZVNlbGVjdG9yQ29tbW9uIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIFVyc3Byw7xuZ2xpY2hlcyBEYXR1bVxuICAgICAqL1xuICAgIHByaXZhdGUgX2luaXRpYWxWYWx1ZTogTW9tZW50IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEFrdHVlbGwgZ2V3w6RobHRlcyBEYXR1bVxuICAgICAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkVmFsdWU6IE1vbWVudCB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBBbmZhbmcgZGVzIEthbGVuZGVyc1xuICAgICAqL1xuICAgIHByaXZhdGUgYmVnaW5PZkNhbGVuZGFyOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICogaWNvbiBzZXJ2aWNlIHRvIHJlc29sdmUgaWNvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGljb25TZXJ2aWNlOiBJU2FjSWNvblNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBCb29sZWFuIFByb3BlcnR5IGbDvHIgYXV0b21hdGlzY2hlIFNlbGVrdGllcnVuZzsgZGVmYXVsdCBXZXJ0IC0gZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdXRvYXBwbHlzZWxlY3Rpb24gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEFycmF5IHZvbiBEYXRlblxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlczogRGF0ZVNlbGVjdG9ySXRlbVtdW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIERhdHVtIFNlbGVjdG9yXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0ZXNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciB1c2VkIGZvciB0aGUgRTJFIGRhdGEgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGUyZWlkZW50aWZpZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTW9uYXRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb250aDogbnVtYmVyID0gNDtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBFdmVudCBiZWltIERhdHVtIFNlbGVrdGllcmVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKlxuICAgICAqIFRpbWUgU2VsZWN0b3JcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aW1lc2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBKYWhyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgeWVhcjogbnVtYmVyID0gMjAxODtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLmljb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNBQ0lDT05fU0VSVklDRSwgbmV3IFNhY0RlZmF1bHRJY29uU2VydmljZSgpKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogR2V0IGljb24gdG8gc3dpdGNoIHRvIG5leHQgbW9udGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGljb25Nb250aE5leHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvblNlcnZpY2UuRGF0ZVRpbWVTZWxlY3RvckNvbXBvbmVudE1vbnRoTmV4dEljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGljb24gdG8gc3dpdGNoIHRvIHByZXZpb3VzIG1vbnRoXG4gICAgICovXG4gICAgcHVibGljIGdldCBpY29uTW9udGhQcmV2KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25TZXJ2aWNlLkRhdGVUaW1lU2VsZWN0b3JDb21wb25lbnRNb250aFByZXZJY29uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElucHV0IGbDvHIgdXJzcHLDvG5nbGljaGVzIERhdHVtXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGluaXRpYWx2YWx1ZSgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxWYWx1ZS50b0RhdGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGluaXRpYWx2YWx1ZSh2OiBEYXRlIHwgbnVsbCkge1xuICAgICAgICBpZiAodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxWYWx1ZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsVmFsdWUgPSBtb21lbnQodik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDYWxlbmRhcihtb21lbnQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDYWxlbmRhcih0aGlzLl9pbml0aWFsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogU2VsZWt0aWVydW5nIMO8YmVybmVobWVuXG4gICAgICovXG4gICAgcHVibGljIGFwcGx5U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aW1lc2VsZWN0aW9uID09PSBmYWxzZSAmJiB0aGlzLl9zZWxlY3RlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLmhvdXIoMCk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLm1pbnV0ZSgwKTtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuc2Vjb25kKDApO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taWxsaXNlY29uZCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRhdGVzZWxlY3Rpb24gPT09IGZhbHNlICYmIHRoaXMuX3NlbGVjdGVkVmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXBWYWx1ZTogbW9tZW50Xy5Nb21lbnQgPSB0aGlzLl9zZWxlY3RlZFZhbHVlLmxvY2FsKCk7XG4gICAgICAgICAgICB0ZW1wVmFsdWUuZGF0ZSgxKTtcbiAgICAgICAgICAgIHRlbXBWYWx1ZS5tb250aCgwKTtcbiAgICAgICAgICAgIHRlbXBWYWx1ZS55ZWFyKDE5MDApO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IHRlbXBWYWx1ZS51dGMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlID09PSBudWxsICYmIHRoaXMuX2luaXRpYWxWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RkYXRlLmVtaXQoeyBkYXRlOiB0aGlzLl9pbml0aWFsVmFsdWUubG9jYWwoKSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZGF0ZS5lbWl0KHtcbiAgICAgICAgICAgIGRhdGU6IHRoaXMuX3NlbGVjdGVkVmFsdWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1vZHVzIMOkbmRlcm5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlTW9kZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmVnaW5PZkNhbGVuZGFyID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmJlZ2luT2ZDYWxlbmRhciA9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJlZ2luT2ZDYWxlbmRhciA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXREYXRlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHRlciBmw7xyIFN0dW5kZW4gVWhyemVpdFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIb3VycygpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBXZXJ0IGF1cyBJbml0IFZhbHVlIGxlc2VuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbml0aWFsVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxWYWx1ZS5ob3VyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5ob3VyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIgZsO8ciBNaW51dGVuIFVocnplaXRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBXZXJ0IGF1cyBJbml0IFZhbHVlIGxlc2VuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbml0aWFsVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxWYWx1ZS5taW51dGVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taW51dGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWb3JoZXJpZ2VyIE1vbmF0XG4gICAgICovXG4gICAgcHVibGljIG1vbnRoQmFjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IHRoaXMubW9udGggLSAxO1xuXG4gICAgICAgIGlmICh0aGlzLm1vbnRoIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5tb250aCA9IDExO1xuICAgICAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyIC0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTsOkY2hzdGVyIE1vbmF0XG4gICAgICovXG4gICAgcHVibGljIG1vbnRoTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IHRoaXMubW9udGggKyAxO1xuXG4gICAgICAgIGlmICh0aGlzLm1vbnRoID4gMTEpIHtcbiAgICAgICAgICAgIHRoaXMubW9udGggPSAwO1xuICAgICAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBFdmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluaXQgSW5pdGlhbCBEYXRlIGlmIEVtcHR5XG4gICAgICAgICAqL1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbHZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5pdERhdGVzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWt0aWVydW5nIHJlc2V0dGVuXG4gICAgICovXG4gICAgcHVibGljIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGRhdGUuZW1pdCh7XG4gICAgICAgICAgICBkYXRlOiBudWxsLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2RlIGVyZ2lidCBkYXMgc2VsZWt0aWVydGUgRGF0dW1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZSh2OiBEYXRlU2VsZWN0b3JJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICh2LmlzZW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlcy5mb3JFYWNoKChkYXRlKSA9PiBkYXRlLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaXNuZXcpLmZvckVhY2goKGl0bSkgPT4gKGl0bS5pc25ldyA9IGZhbHNlKSkpO1xuICAgICAgICAgICAgdGhpcy5kYXRlcy5mb3JFYWNoKChkYXRlKSA9PlxuICAgICAgICAgICAgICAgIGRhdGUuZmlsdGVyKChmaWx0ZXIpID0+IGZpbHRlci5pc3NlbGVjdGVkKS5mb3JFYWNoKChpdG0pID0+IChpdG0uaXNzZWxlY3RlZCA9IGZhbHNlKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB2LmlzbmV3ID0gdHJ1ZTtcbiAgICAgICAgICAgIHYuaXNzZWxlY3RlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGVWYWx1ZTogTW9tZW50ID0gbW9tZW50KHYuZGF0ZSk7XG5cbiAgICAgICAgICAgIC8vIMOcYmVybmVobWVuIGRlciBaZWl0IGF1cyBkZW0gYmVzdGVoZW5kZW4gV2VydFxuICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVWYWx1ZS5ob3VyKHRoaXMuX2luaXRpYWxWYWx1ZS5ob3VyKCkpO1xuICAgICAgICAgICAgICAgICAgICBkYXRlVmFsdWUubWludXRlKHRoaXMuX2luaXRpYWxWYWx1ZS5taW51dGUoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkYXRlVmFsdWUuaG91cih0aGlzLl9zZWxlY3RlZFZhbHVlLmhvdXIoKSk7XG4gICAgICAgICAgICAgICAgZGF0ZVZhbHVlLm1pbnV0ZSh0aGlzLl9zZWxlY3RlZFZhbHVlLm1pbnV0ZSgpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VrdW5kZW4gdW4gTWlsaXNla3VuZGVuIENsZWFuXG4gICAgICAgICAgICBkYXRlVmFsdWUuc2Vjb25kKDApO1xuICAgICAgICAgICAgZGF0ZVZhbHVlLm1pbGxpc2Vjb25kKDApO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IGRhdGVWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b2FwcGx5c2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseVNlbGVjdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0dGVyIGbDvHIgU3R1bmRlbiBVaHJ6ZWl0XG4gICAgICovXG4gICAgcHVibGljIHNldEhvdXJzKHY6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHYgPj0gMjQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgICAgICogU2VsZWN0IFZhbHVlIHNldHplbiBmYWxscyBsZWVyXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmluaXRTZWxlY3RlZFZhbHVlKCk7XG5cbiAgICAgICAgaWYgKHYgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuaG91cigwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuaG91cih2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHRlciBmw7xyIE1pbnV0ZW4gVWhyemVpdFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNaW51dGVzKHY6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHYgPj0gNjApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTZWxlY3QgVmFsdWUgc2V0emVuIGZhbGxzIGxlZXJcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkVmFsdWUoKTtcblxuICAgICAgICBpZiAodiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taW51dGVzKDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5taW51dGVzKHYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXVzd2FobCBhdWYgYWt0dWVsbGUgWmVpdCBzdGVsbGVuXG4gICAgICovXG4gICAgcHVibGljIHNldFRvZGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlID0gbW9tZW50KCk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNla3VuZGVuIHVuIE1pbGlzZWt1bmRlbiBDbGVhblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZS5zZWNvbmQoMCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUubWlsbGlzZWNvbmQoMCk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEthbGVuZGVyIERhdGVuIGluaXRpYWxpc2llcmVuIGZhbGxzIEthbGVuZGVyIGFuZ2V6ZWlndFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuZGF0ZXNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbml0Q2FsZW5kYXIodGhpcy5fc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdXRvYXBwbHlzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlTZWxlY3Rpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBVcnNwcsO8bmdsaWNoZXIgS2FsZW5kZXJcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRDYWxlbmRhcih2OiBNb21lbnQpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE1vbmF0IHVuZCBKYWhyIHNldHplblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5tb250aCA9IHYubW9udGgoKTtcbiAgICAgICAgdGhpcy55ZWFyID0gdi55ZWFyKCk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIERhdGVuIGbDvHIgS2FsZW5kZXIgaW5pdGlhbGlzZXJlblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5pbml0RGF0ZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsIERhdHVtXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0RGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb250aCA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIDEpKTtcbiAgICAgICAgY29uc3QgbGFzdE1vbnRoID0gbW9tZW50KG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCwgMSkpO1xuICAgICAgICBsYXN0TW9udGguYWRkKHsgbW9udGhzOiAtMSB9KTtcbiAgICAgICAgY29uc3QgbmV4dE1vbnRocyA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgsIDEpKTtcbiAgICAgICAgbmV4dE1vbnRocy5hZGQoeyBtb250aHM6IDEgfSk7XG5cbiAgICAgICAgY29uc3Qgd2Vla2RheUJlZ2luOiBudW1iZXIgPSBjdXJyZW50TW9udGgud2Vla2RheSgpO1xuICAgICAgICBjb25zdCB3ZWVrZGF5RW5kOiBudW1iZXIgPSBtb21lbnQoXG4gICAgICAgICAgICBuZXcgRGF0ZShjdXJyZW50TW9udGgueWVhcigpLCBjdXJyZW50TW9udGgubW9udGgoKSwgY3VycmVudE1vbnRoLmRheXNJbk1vbnRoKCkpXG4gICAgICAgICkud2Vla2RheSgpO1xuICAgICAgICAvLyBDbGVhciBBcnJheVxuICAgICAgICBjb25zdCBkYXlzSW5DYWxlbmRhcjogRGF0ZVNlbGVjdG9ySXRlbVtdID0gW107XG4gICAgICAgIHRoaXMuZGF0ZXMgPSBbXTtcblxuICAgICAgICBpZiAod2Vla2RheUJlZ2luICE9PSB0aGlzLmJlZ2luT2ZDYWxlbmRhcikge1xuICAgICAgICAgICAgY29uc3QgbGFzdE1vbnRoRGF5ID0gbGFzdE1vbnRoLmRheXNJbk1vbnRoKCk7XG4gICAgICAgICAgICBjb25zdCBsYXN0TW9udGhEYXRlID0gbmV3IERhdGUobGFzdE1vbnRoLnllYXIoKSwgbGFzdE1vbnRoLm1vbnRoKCksIGxhc3RNb250aERheSk7XG4gICAgICAgICAgICBjb25zdCBsYXN0TW9udGhXZWVrZGF5ID0gbW9tZW50KGxhc3RNb250aERhdGUpLndlZWtkYXkoKTtcblxuICAgICAgICAgICAgbGV0IGRheXNJbkxhc3RNb250aCA9IDcgLSAoKDcgKyB0aGlzLmJlZ2luT2ZDYWxlbmRhciAtIGxhc3RNb250aFdlZWtkYXkpICUgNyk7XG4gICAgICAgICAgICBpZiAoZGF5c0luTGFzdE1vbnRoID09PSA3KSB7XG4gICAgICAgICAgICAgICAgZGF5c0luTGFzdE1vbnRoID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgZGF5ID0gbGFzdE1vbnRoRGF5OyBkYXkgPj0gbGFzdE1vbnRoRGF5IC0gZGF5c0luTGFzdE1vbnRoOyBkYXktLSkge1xuICAgICAgICAgICAgICAgIGRheXNJbkNhbGVuZGFyLnNwbGljZShcbiAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGVTZWxlY3Rvckl0ZW0oXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKGxhc3RNb250aC55ZWFyKCksIGxhc3RNb250aC5tb250aCgpLCBkYXkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgYWxsIERheXMgaW4gTW9udGhcbiAgICAgICAgZm9yIChsZXQgZGF5aW5tb250aCA9IDE7IGRheWlubW9udGggPD0gY3VycmVudE1vbnRoLmRheXNJbk1vbnRoKCk7IGRheWlubW9udGgrKykge1xuICAgICAgICAgICAgbGV0IGlzU2VsZWN0ZWREYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgaXNOZXdEYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBpc0N1cnJlbnREYXRlOiBib29sZWFuID1cbiAgICAgICAgICAgICAgICBtb21lbnQoKS5tb250aCgpID09PSB0aGlzLm1vbnRoICYmIG1vbWVudCgpLnllYXIoKSA9PT0gdGhpcy55ZWFyICYmIG1vbWVudCgpLmRhdGUoKSA9PT0gZGF5aW5tb250aDtcblxuICAgICAgICAgICAgLy8gSW5pdGlhbCBXZXJ0IHNldHplbiwgZmFsbHMgdm9yaGFuZGVuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RlZERhdGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0aWFsVmFsdWUubW9udGgoKSA9PT0gdGhpcy5tb250aCAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0aWFsVmFsdWUueWVhcigpID09PSB0aGlzLnllYXIgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbFZhbHVlLmRhdGUoKSA9PT0gZGF5aW5tb250aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VsZWN0ZWQgRGF0ZSBXZXJ0IHNldHplbiwgZmFsbHMgV2VydCBnZXNldHp0XG4gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlzTmV3RGF0ZSA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUubW9udGgoKSA9PT0gdGhpcy5tb250aCAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlLnllYXIoKSA9PT0gdGhpcy55ZWFyICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuZGF0ZSgpID09PSBkYXlpbm1vbnRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkYXlzSW5DYWxlbmRhci5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBEYXRlU2VsZWN0b3JJdGVtKFxuICAgICAgICAgICAgICAgICAgICBkYXlpbm1vbnRoLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIG1vbWVudChbdGhpcy55ZWFyLCB0aGlzLm1vbnRoLCBkYXlpbm1vbnRoXSkudG9EYXRlKCksXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWREYXRlLFxuICAgICAgICAgICAgICAgICAgICBpc0N1cnJlbnREYXRlLFxuICAgICAgICAgICAgICAgICAgICBpc05ld0RhdGVcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGVuZE9mQ2FsZW5kZXI6IG51bWJlcjtcbiAgICAgICAgaWYgKHRoaXMuYmVnaW5PZkNhbGVuZGFyID09PSAwKSB7XG4gICAgICAgICAgICBlbmRPZkNhbGVuZGVyID0gNjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVuZE9mQ2FsZW5kZXIgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdlZWtkYXlFbmQgIT09IGVuZE9mQ2FsZW5kZXIpIHtcbiAgICAgICAgICAgIGxldCBjb3VudE1pc3NpbmdEYXlzOiBudW1iZXI7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmJlZ2luT2ZDYWxlbmRhciA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvdW50TWlzc2luZ0RheXMgPSBlbmRPZkNhbGVuZGVyIC0gd2Vla2RheUVuZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY291bnRNaXNzaW5nRGF5cyA9IDcgLSB3ZWVrZGF5RW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBjb3VudE1pc3NpbmdEYXlzOyBpKyspIHtcbiAgICAgICAgICAgICAgICBkYXlzSW5DYWxlbmRhci5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZVNlbGVjdG9ySXRlbShcbiAgICAgICAgICAgICAgICAgICAgICAgIGkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKG5leHRNb250aHMueWVhcigpLCBuZXh0TW9udGhzLm1vbnRoKCksIGkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF5c0luQ2FsZW5kYXIubGVuZ3RoIC8gNzsgaW5kZXgrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZGF5ID0gMDsgZGF5IDwgNzsgZGF5KyspIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF5ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXNbaW5kZXhdID0gW107XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlc1tpbmRleF0ucHVzaChkYXlzSW5DYWxlbmRhcltpbmRleCAqIDcgKyBkYXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNlbGVjdGVkVmFsdWUoKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTZWxlY3QgVmFsdWUgc2V0emVuIGZhbGxzIGxlZXJcbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRWYWx1ZSA9IG1vbWVudCgpO1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIGNsZWFuIHNlY29uZHMgYW5kIG1pbGlzZWNvbmRzIGZvciBpbml0aWFsIHZhbHVlc1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUuc2Vjb25kKDApO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUubWlsbGlzZWNvbmQoMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWUgPSB0aGlzLl9pbml0aWFsVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcbiJdfQ==
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createGuid } from '../../utilities/guid';
|
|
2
|
+
import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
3
|
/**
|
|
3
4
|
* Base Komponente für Dialog
|
|
4
5
|
*/
|
|
5
6
|
export class SacDialogCommon {
|
|
7
|
+
// #endregion Properties
|
|
8
|
+
// #region Constructors
|
|
6
9
|
/**
|
|
7
10
|
* Konstruktor
|
|
8
11
|
* Inject des Formulars
|
|
9
12
|
*/
|
|
10
13
|
constructor(cdRef) {
|
|
11
14
|
this.cdRef = cdRef;
|
|
15
|
+
// #region Properties
|
|
12
16
|
this.hasSetBodyTag = false;
|
|
13
17
|
/**
|
|
14
18
|
* Boolean Property definiert ob das Dialog angezeigt wird
|
|
@@ -31,19 +35,25 @@ export class SacDialogCommon {
|
|
|
31
35
|
* Steuert ob im Header des Dialogs ein Button angezeigt wird.
|
|
32
36
|
*/
|
|
33
37
|
this.closebutton = true;
|
|
38
|
+
/**
|
|
39
|
+
* Identifier used for the E2E data attribute.
|
|
40
|
+
*/
|
|
41
|
+
this.e2eidentifier = null;
|
|
34
42
|
/**
|
|
35
43
|
* Output Emitter. Wird aufgerufen, wenn das Wert des _show property geändert ist - damait das Dialog geöfnet/geschlossen wird.
|
|
36
44
|
*/
|
|
37
45
|
this.isvisibleChange = new EventEmitter();
|
|
38
46
|
/**
|
|
39
|
-
*
|
|
47
|
+
* name of control
|
|
40
48
|
*/
|
|
41
|
-
this.name =
|
|
49
|
+
this.name = createGuid();
|
|
42
50
|
/**
|
|
43
51
|
* Input Property. Erhält den Title des Dialog. Default Value: 'Dialog'.
|
|
44
52
|
*/
|
|
45
53
|
this.title = 'Dialog';
|
|
46
54
|
}
|
|
55
|
+
// #endregion Constructors
|
|
56
|
+
// #region Public Getters And Setters
|
|
47
57
|
/**
|
|
48
58
|
* Implementation als Setter, da mit ngIf das Element bei Unsichtbarkeit UNDEFINED ist.
|
|
49
59
|
*/
|
|
@@ -60,15 +70,11 @@ export class SacDialogCommon {
|
|
|
60
70
|
* Setter. Erhält das boolen Wert des _show property
|
|
61
71
|
*/
|
|
62
72
|
set isvisible(v) {
|
|
63
|
-
if (v &&
|
|
64
|
-
!this.hasSetBodyTag &&
|
|
65
|
-
!document.body.classList.contains('modal-open')) {
|
|
73
|
+
if (v && !this.hasSetBodyTag && !document.body.classList.contains('modal-open')) {
|
|
66
74
|
document.body.classList.add('modal-open');
|
|
67
75
|
this.hasSetBodyTag = true;
|
|
68
76
|
}
|
|
69
|
-
if (!v &&
|
|
70
|
-
this.hasSetBodyTag &&
|
|
71
|
-
document.body.classList.contains('modal-open')) {
|
|
77
|
+
if (!v && this.hasSetBodyTag && document.body.classList.contains('modal-open')) {
|
|
72
78
|
document.body.classList.remove('modal-open');
|
|
73
79
|
this.hasSetBodyTag = false;
|
|
74
80
|
}
|
|
@@ -83,12 +89,16 @@ export class SacDialogCommon {
|
|
|
83
89
|
set size(v) {
|
|
84
90
|
this._size = v;
|
|
85
91
|
}
|
|
92
|
+
// #endregion Public Getters And Setters
|
|
93
|
+
// #region Protected Getters And Setters
|
|
86
94
|
/**
|
|
87
95
|
* Getter for ChangeDetector.
|
|
88
96
|
*/
|
|
89
97
|
get ChangeDetector() {
|
|
90
98
|
return this.cdRef;
|
|
91
99
|
}
|
|
100
|
+
// #endregion Protected Getters And Setters
|
|
101
|
+
// #region Public Methods
|
|
92
102
|
/**
|
|
93
103
|
* Die Methode setz den Wert des _show property auf false
|
|
94
104
|
*/
|
|
@@ -135,8 +145,7 @@ export class SacDialogCommon {
|
|
|
135
145
|
*/
|
|
136
146
|
show() {
|
|
137
147
|
this._show = true;
|
|
138
|
-
if (!this.hasSetBodyTag &&
|
|
139
|
-
!document.body.classList.contains('modal-open')) {
|
|
148
|
+
if (!this.hasSetBodyTag && !document.body.classList.contains('modal-open')) {
|
|
140
149
|
document.body.classList.add('modal-open');
|
|
141
150
|
this.hasSetBodyTag = true;
|
|
142
151
|
}
|
|
@@ -153,6 +162,7 @@ SacDialogCommon.propDecorators = {
|
|
|
153
162
|
allowesc: [{ type: Input }],
|
|
154
163
|
backdrop: [{ type: Input }],
|
|
155
164
|
closebutton: [{ type: Input }],
|
|
165
|
+
e2eidentifier: [{ type: Input }],
|
|
156
166
|
isvisibleChange: [{ type: Output }],
|
|
157
167
|
name: [{ type: Input }],
|
|
158
168
|
title: [{ type: Input }],
|
|
@@ -162,4 +172,4 @@ SacDialogCommon.propDecorators = {
|
|
|
162
172
|
onClick: [{ type: HostListener, args: ['click', ['$event'],] }],
|
|
163
173
|
onKeydownHandler: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
|
|
164
174
|
};
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGlhbG9nL2RpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBdUQxQjs7O09BR0c7SUFDSCxZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQTFEcEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFOUI7O1dBRUc7UUFDSSxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRTlCOzs7V0FHRztRQUNJLFVBQUssR0FBcUQsRUFBRSxDQUFDO1FBRXBFOztXQUVHO1FBRUksYUFBUSxHQUFZLElBQUksQ0FBQztRQUVoQzs7V0FFRztRQUVJLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFaEM7O1dBRUc7UUFFSSxnQkFBVyxHQUFZLElBQUksQ0FBQztRQU9uQzs7V0FFRztRQUVJLG9CQUFlLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFNUU7O1dBRUc7UUFFSSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRXpCOztXQUVHO1FBRUksVUFBSyxHQUFXLFFBQVEsQ0FBQztJQU1lLENBQUM7SUFFaEQ7O09BRUc7SUFDSCxJQUNXLG1CQUFtQixDQUFDLE9BQW1CO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLElB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QUMvQztZQUNBLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUEzTEYsU0FBUzs7O1lBZFIsaUJBQWlCOzs7dUJBZ0NoQixLQUFLO3VCQU1MLEtBQUs7MEJBTUwsS0FBSzs4QkFXTCxNQUFNO21CQU1OLEtBQUs7b0JBTUwsS0FBSztrQ0FZTCxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt3QkFlckMsS0FBSzttQkE2QkwsS0FBSztzQkFzQ0wsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzsrQkFnQmhDLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIFByb3BlcnR5IGRlZmluaWVydCBvYiBkYXMgRGlhbG9nIGFuZ2V6ZWlndCB3aXJkXG4gICAqL1xuICBwdWJsaWMgX3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGFzIHByb3BlcnR5IGVudGhpZWx0ICh3ZW5uIMO8YmVyaGF1cHQgZ2VzZXR6dCkgZW50d2VkZXIga2V5d29yZHMgZsO8ciBzaXppbmcgb2RlciBjdXN0b20gY3NzIEtsYXNzZW4uXG4gICAqIERpZSBha3plcHRhYmVsIGtleXdvcmRzc2luZDogJ3NtYWxsJywgJ2xhcmdlJywgJ2V4dHJhbGFyZ2UnLCAnbWVkaXVtJywgJycuXG4gICAqL1xuICBwdWJsaWMgX3NpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgJ2V4dHJhbGFyZ2UnIHwgJ21lZGl1bScgfCAnJyA9ICcnO1xuXG4gIC8qKlxuICAgKiBEYXMgaW5wdXQgcHJvcGVydHkgYWt6ZXB0aWVydCBib29sZW4gV2VydC4gRGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgZGFyZiBkdXJjaCBFU0MgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93ZXNjOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGFzIGlucHV0IHByb3BlcnR5IGFremVwdGllcnQgYm9vbGVuIFdlcnQuIERlZmluaWVydCBvYiBkYXMgRGlhbG9nIGRhcmYgZHVyY2ggY2xpY2sgYXXDn2VyaGFsYiBkZXMgRGlhbG9nLUZlbnN0ZXIgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3RldWVydCBvYiBpbSBIZWFkZXIgZGVzIERpYWxvZ3MgZWluIEJ1dHRvbiBhbmdlemVpZ3Qgd2lyZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjbG9zZWJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE5hbWUgZGVzIENvbnRhaW5lcnMgZsO8ciBkZW4gRGlhbG9nXG4gICAqL1xuICBwdWJsaWMgZGlhbG9nRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogT3V0cHV0IEVtaXR0ZXIuIFdpcmQgYXVmZ2VydWZlbiwgd2VubiBkYXMgV2VydCBkZXMgX3Nob3cgcHJvcGVydHkgZ2XDpG5kZXJ0IGlzdCAtIGRhbWFpdCBkYXMgRGlhbG9nIGdlw7ZmbmV0L2dlc2NobG9zc2VuIHdpcmQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGlzdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBQcm9wZXJ0eS4gRXJow6RsdCBkZW4gTmFtZW4gZGVzIERpYWxvZyAtIGJlbnV0enQgZsO8ciBkYXMgSUQuIERlZmF1bHQgVmFsdWU6ICcnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IFByb3BlcnR5LiBFcmjDpGx0IGRlbiBUaXRsZSBkZXMgRGlhbG9nLiBEZWZhdWx0IFZhbHVlOiAnRGlhbG9nJy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ0RpYWxvZyc7XG5cbiAgLyoqXG4gICAqIEtvbnN0cnVrdG9yXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gYWxzIFNldHRlciwgZGEgbWl0IG5nSWYgZGFzIEVsZW1lbnQgYmVpIFVuc2ljaHRiYXJrZWl0IFVOREVGSU5FRCBpc3QuXG4gICAqL1xuICBAVmlld0NoaWxkKCdkaWFsb2cnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIHNldCBkaWFsb2dFbGVtZW50U2V0dGVyKGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmRpYWxvZ0VsZW1lbnQgPSBjb250ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlci4gRXJnaWJ0IGRhcyBib29sZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHlcbiAgICovXG4gIHB1YmxpYyBnZXQgaXN2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHRlci4gRXJow6RsdCBkYXMgYm9vbGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzdmlzaWJsZSh2OiBib29sZWFuKSB7XG4gICAgaWYgKFxuICAgICAgdiAmJlxuICAgICAgIXRoaXMuaGFzU2V0Qm9keVRhZyAmJlxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcbiAgICApIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdiAmJlxuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnICYmXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpXG4gICAgKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLW9wZW4nKTtcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3Nob3cgPSB2O1xuICB9XG5cbiAgLyoqXG4gICAqIERhcyBJbnB1dCBha3plcHRpZXJ0IHNvd29obCBkZWZhdWx0IHNpemUtY3NzLUtsYXNzZW4gYWxzIGF1Y2ggY3VzdG9tIEtsYXNzZW4uXG4gICAqIGNhc2UgaW5zZW5zaXRpdmUuXG4gICAqIERpZSBha3plcHRhYmVsIGRlZmF1bHQtc2l6ZS1LbGFzc2VuIHNpbmQ6ICdzbWFsbCcsICdsYXJnZScsICdleHRyYWxhcmdlJywgJ21lZGl1bScsICcnLlxuICAgKiBXZW5uIHNpemUgaXN0IE5JQ0hUIGdlc2V0enQgKG9kZXIgJ21lZGl1bScgb2RlciAnJyksIGRlZmF1bHQgaXN0IGluIG1lZGl1bSBzaXplOiBtYXgtd2lkdGggNTAwcHguXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNpemUodjogJ3NtYWxsJyB8ICdsYXJnZScgfCAnZXh0cmFsYXJnZScgfCAnbWVkaXVtJyB8ICcnKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHY7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciBDaGFuZ2VEZXRlY3Rvci5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgQ2hhbmdlRGV0ZWN0b3IoKTogQ2hhbmdlRGV0ZWN0b3JSZWYge1xuICAgIHJldHVybiB0aGlzLmNkUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiBmYWxzZVxuICAgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLW9wZW4nKTtcbiAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcbiAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VubiBDb21wb25lbnRlIGVudGZlcm50IHdpcmRcbiAgICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNTZXRCb2R5VGFnICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IENsb3NlIGJ5IENsaWNrIG91dHNpZGUgRGlhbG9nXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFsbG93ZXNjID09PSBmYWxzZSB8fFxuICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgICB0aGlzLmRpYWxvZ0VsZW1lbnQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBldmVudC50YXJnZXQgIT09IHRoaXMuZGlhbG9nRWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBDbG9zZSBieSBFU0NcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IEVTQ0FQRV9LRVlDT0RFID0gJ0VzY2FwZSc7XG5cbiAgICBpZiAodGhpcy5hbGxvd2VzYyA9PT0gdHJ1ZSAmJiBldmVudC5rZXkgPT09IEVTQ0FQRV9LRVlDT0RFKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGllIE1ldGhvZGUgc2V0eiBkZW4gV2VydCBkZXMgX3Nob3cgcHJvcGVydHkgYXVmIHRydWVcbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3cgPSB0cnVlO1xuXG4gICAgaWYgKFxuICAgICAgIXRoaXMuaGFzU2V0Qm9keVRhZyAmJlxuICAgICAgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJylcbiAgICApIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xuICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xuICB9XG59XG4iXX0=
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1jb21tb24vc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGlhbG9nL2RpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSTs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBK0R4Qix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBdEU1QyxxQkFBcUI7UUFFYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNJLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFOUI7OztXQUdHO1FBQ0ksVUFBSyxHQUFxRCxFQUFFLENBQUM7UUFFcEU7O1dBRUc7UUFFSSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRWhDOztXQUVHO1FBRUksYUFBUSxHQUFZLElBQUksQ0FBQztRQUVoQzs7V0FFRztRQUVJLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBT25DOztXQUVHO1FBRUksa0JBQWEsR0FBa0IsSUFBSSxDQUFDO1FBRTNDOztXQUVHO1FBRUksb0JBQWUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU1RTs7V0FFRztRQUVJLFNBQUksR0FBVyxVQUFVLEVBQUUsQ0FBQztRQUVuQzs7V0FFRztRQUVJLFVBQUssR0FBVyxRQUFRLENBQUM7SUFVZSxDQUFDO0lB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RUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN4RSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7O1lBeE1KLFNBQVM7OztZQUxELGlCQUFpQjs7O3VCQXlCckIsS0FBSzt1QkFNTCxLQUFLOzBCQU1MLEtBQUs7NEJBV0wsS0FBSzs4QkFNTCxNQUFNO21CQU1OLEtBQUs7b0JBTUwsS0FBSztrQ0FvQkwsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBZXJDLEtBQUs7bUJBcUJMLEtBQUs7c0JBOENMLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0JBZ0JoQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVHdWlkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2d1aWQnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQmFzZSBLb21wb25lbnRlIGbDvHIgRGlhbG9nXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFNhY0RpYWxvZ0NvbW1vbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICBwcml2YXRlIGhhc1NldEJvZHlUYWcgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gUHJvcGVydHkgZGVmaW5pZXJ0IG9iIGRhcyBEaWFsb2cgYW5nZXplaWd0IHdpcmRcbiAgICAgKi9cbiAgICBwdWJsaWMgX3Nob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERhcyBwcm9wZXJ0eSBlbnRoaWVsdCAod2VubiDDvGJlcmhhdXB0IGdlc2V0enQpIGVudHdlZGVyIGtleXdvcmRzIGbDvHIgc2l6aW5nIG9kZXIgY3VzdG9tIGNzcyBLbGFzc2VuLlxuICAgICAqIERpZSBha3plcHRhYmVsIGtleXdvcmRzc2luZDogJ3NtYWxsJywgJ2xhcmdlJywgJ2V4dHJhbGFyZ2UnLCAnbWVkaXVtJywgJycuXG4gICAgICovXG4gICAgcHVibGljIF9zaXplOiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdleHRyYWxhcmdlJyB8ICdtZWRpdW0nIHwgJycgPSAnJztcblxuICAgIC8qKlxuICAgICAqIERhcyBpbnB1dCBwcm9wZXJ0eSBha3plcHRpZXJ0IGJvb2xlbiBXZXJ0LiBEZWZpbmllcnQgb2IgZGFzIERpYWxvZyBkYXJmIGR1cmNoIEVTQyBnZXNjaGxvc3NlbiB3ZXJkZW4uIERlZmF1bHQgaXN0IHRydWUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dlc2M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogRGFzIGlucHV0IHByb3BlcnR5IGFremVwdGllcnQgYm9vbGVuIFdlcnQuIERlZmluaWVydCBvYiBkYXMgRGlhbG9nIGRhcmYgZHVyY2ggY2xpY2sgYXXDn2VyaGFsYiBkZXMgRGlhbG9nLUZlbnN0ZXIgZ2VzY2hsb3NzZW4gd2VyZGVuLiBEZWZhdWx0IGlzdCB0cnVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFN0ZXVlcnQgb2IgaW0gSGVhZGVyIGRlcyBEaWFsb2dzIGVpbiBCdXR0b24gYW5nZXplaWd0IHdpcmQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xvc2VidXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBkZXMgQ29udGFpbmVycyBmw7xyIGRlbiBEaWFsb2dcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlhbG9nRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKlxuICAgICAqIElkZW50aWZpZXIgdXNlZCBmb3IgdGhlIEUyRSBkYXRhIGF0dHJpYnV0ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlMmVpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBFbWl0dGVyLiBXaXJkIGF1ZmdlcnVmZW4sIHdlbm4gZGFzIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGdlw6RuZGVydCBpc3QgLSBkYW1haXQgZGFzIERpYWxvZyBnZcO2Zm5ldC9nZXNjaGxvc3NlbiB3aXJkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc3Zpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIElucHV0IFByb3BlcnR5LiBFcmjDpGx0IGRlbiBUaXRsZSBkZXMgRGlhbG9nLiBEZWZhdWx0IFZhbHVlOiAnRGlhbG9nJy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJ0RpYWxvZyc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBLb25zdHJ1a3RvclxuICAgICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50YXRpb24gYWxzIFNldHRlciwgZGEgbWl0IG5nSWYgZGFzIEVsZW1lbnQgYmVpIFVuc2ljaHRiYXJrZWl0IFVOREVGSU5FRCBpc3QuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnZGlhbG9nJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBkaWFsb2dFbGVtZW50U2V0dGVyKGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dFbGVtZW50ID0gY29udGVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXR0ZXIuIEVyZ2lidCBkYXMgYm9vbGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5XG4gICAgICovXG4gICAgcHVibGljIGdldCBpc3Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHRlci4gRXJow6RsdCBkYXMgYm9vbGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGlzdmlzaWJsZSh2OiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2ICYmICF0aGlzLmhhc1NldEJvZHlUYWcgJiYgIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdiAmJiB0aGlzLmhhc1NldEJvZHlUYWcgJiYgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ21vZGFsLW9wZW4nKSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmhhc1NldEJvZHlUYWcgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Nob3cgPSB2O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhcyBJbnB1dCBha3plcHRpZXJ0IHNvd29obCBkZWZhdWx0IHNpemUtY3NzLUtsYXNzZW4gYWxzIGF1Y2ggY3VzdG9tIEtsYXNzZW4uXG4gICAgICogY2FzZSBpbnNlbnNpdGl2ZS5cbiAgICAgKiBEaWUgYWt6ZXB0YWJlbCBkZWZhdWx0LXNpemUtS2xhc3NlbiBzaW5kOiAnc21hbGwnLCAnbGFyZ2UnLCAnZXh0cmFsYXJnZScsICdtZWRpdW0nLCAnJy5cbiAgICAgKiBXZW5uIHNpemUgaXN0IE5JQ0hUIGdlc2V0enQgKG9kZXIgJ21lZGl1bScgb2RlciAnJyksIGRlZmF1bHQgaXN0IGluIG1lZGl1bSBzaXplOiBtYXgtd2lkdGggNTAwcHguXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHNpemUodjogJ3NtYWxsJyB8ICdsYXJnZScgfCAnZXh0cmFsYXJnZScgfCAnbWVkaXVtJyB8ICcnKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSB2O1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIEdldHRlciBmb3IgQ2hhbmdlRGV0ZWN0b3IuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCBDaGFuZ2VEZXRlY3RvcigpOiBDaGFuZ2VEZXRlY3RvclJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNkUmVmO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHJvdGVjdGVkIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNTZXRCb2R5VGFnICYmIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbC1vcGVuJykpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5oYXNTZXRCb2R5VGFnID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXN2aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fc2hvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB3ZW5uIENvbXBvbmVudGUgZW50ZmVybnQgd2lyZFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2V0Qm9keVRhZyAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLW9wZW4nKTtcbiAgICAgICAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWxsb3cgQ2xvc2UgYnkgQ2xpY2sgb3V0c2lkZSBEaWFsb2dcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmFsbG93ZXNjID09PSBmYWxzZSB8fFxuICAgICAgICAgICAgKHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpYWxvZ0VsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWxsb3cgQ2xvc2UgYnkgRVNDXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgRVNDQVBFX0tFWUNPREUgPSAnRXNjYXBlJztcblxuICAgICAgICBpZiAodGhpcy5hbGxvd2VzYyA9PT0gdHJ1ZSAmJiBldmVudC5rZXkgPT09IEVTQ0FQRV9LRVlDT0RFKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpZSBNZXRob2RlIHNldHogZGVuIFdlcnQgZGVzIF9zaG93IHByb3BlcnR5IGF1ZiB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Nob3cgPSB0cnVlO1xuXG4gICAgICAgIGlmICghdGhpcy5oYXNTZXRCb2R5VGFnICYmICFkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnbW9kYWwtb3BlbicpKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcbiAgICAgICAgICAgIHRoaXMuaGFzU2V0Qm9keVRhZyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzdmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Nob3cpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
2
|
import { FormGroup, NgForm } from '@angular/forms';
|
|
3
|
-
// #
|
|
4
|
-
// #region Classes
|
|
3
|
+
// #region Exported Classes
|
|
5
4
|
/**
|
|
6
5
|
* Base Komponente für SacFormular
|
|
7
6
|
*/
|
|
@@ -106,5 +105,5 @@ SacFormCommon.ctorParameters = () => [
|
|
|
106
105
|
SacFormCommon.propDecorators = {
|
|
107
106
|
updateon: [{ type: Input }]
|
|
108
107
|
};
|
|
109
|
-
// #endregion
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
// #endregion Exported Types
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2Zvcm0vZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSwyQkFBMkI7QUFFM0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQVF0Qix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBZmhDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNLLGNBQVMsR0FBYyxRQUFRLENBQUM7UUFXcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxDQUFZO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQXNCLENBQUMsZ0JBQXlCLElBQUk7UUFDdkQsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELG1CQUFtQjtRQUNuQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFN0MsK0JBQStCO1FBQy9CLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELDRCQUE0QjtJQUU1QiwwQkFBMEI7SUFFMUI7OztPQUdHO0lBQ0sscUJBQXFCLENBQUMsUUFBNEM7UUFDdEUsTUFBTSxPQUFPLEdBQWEsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUN6QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO2dCQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2hEO2lCQUFNO2dCQUNILE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUM3QztTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLDhCQUE4QixDQUFDLFFBQTRDO1FBQy9FLE1BQU0sT0FBTyxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEQsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDSCxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN0RDtTQUNKO0lBQ0wsQ0FBQzs7O1lBN0dKLFNBQVM7OztZQVAyQixNQUFNOzs7dUJBdUN0QyxLQUFLOztBQTJGViw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBCYXNlIEtvbXBvbmVudGUgZsO8ciBTYWNGb3JtdWxhclxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTYWNGb3JtQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIFN0YW5kYXJkd2VydCB3YW5uIGRpZSBXZXJ0ZSB2aWEgTmdNb2RlbCBha3R1YWxpc2llcnQgd2VyZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlb246IEZvcm1Ib29rcyA9ICdjaGFuZ2UnO1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gZm9ybSBJbnN0YW56IHZvbiBOZ0Zvcm1cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm06IE5nRm9ybSkge1xuICAgICAgICB0aGlzLmZvcm0ub3B0aW9ucyA9IHsgdXBkYXRlT246IHRoaXMuX3VwZGF0ZW9uIH07XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIHB1YmxpYyBnZXQgdXBkYXRlb24oKTogRm9ybUhvb2tzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwZGF0ZW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluaWVydCwgd2VubiBkYXMgTW9kZWwgZ2V1cGRhdGV0IHdpcmRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdXBkYXRlb24odjogRm9ybUhvb2tzKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZW9uID0gdjtcbiAgICAgICAgdGhpcy5mb3JtLm9wdGlvbnMudXBkYXRlT24gPSB2O1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEdpYnQgZGllIE5nRm9ybSBJbnN0YW56IHp1csO8Y2tcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Rm9ybSgpOiBOZ0Zvcm0ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1hcmtpZXJ0IGFsbGUgQ29udHJvbHMgaW5uZXJoYWxiIGRlcyBGb3JtdWxhcmVzIGFscyBUb3VjaGVkXG4gICAgICovXG4gICAgcHVibGljIG1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMubWFya0FzVG91Y2hlZEludGVybmFsKHRoaXMuZm9ybS5jb250cm9scyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBa3R1YWxpc2llcnQgZGllIFdlcnRlIHVuZCBkZW4gR8O8bHRpZ2tlaXRzc3RhdHVzIGRlcyBGb3JtdWxhcnNcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eShtYXJrQXNUb3VjaGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICAvLyBVcGRhdGUgYWxsIENvbnRyb2xzXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eUludGVybmFsKHRoaXMuZm9ybS5jb250cm9scyk7XG4gICAgICAgIC8vIFVwZGF0ZSBNYWluIEZvcm1cbiAgICAgICAgdGhpcy5nZXRGb3JtKCkuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gTWFyayBhbGwgQ29udHJvbHMgYXMgVG91Y2hlZFxuICAgICAgICBpZiAobWFya0FzVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xuXG4gICAgLyoqXG4gICAgICogTWFya2llcnQgYWxsZSBDb250cm9scyBpbmtsLiBkZW0gVHJlZSBhbHMgVG91Y2hlZFxuICAgICAqIEBwYXJhbSBjb250cm9scyBDb250cm9scyBDb2xsZWN0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBtYXJrQXNUb3VjaGVkSW50ZXJuYWwoY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0pIHtcbiAgICAgICAgY29uc3Qga2V5TGlzdDogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjb250cm9scyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBrZXlMaXN0KSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gY29udHJvbHNbZmllbGRdO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hcmtBc1RvdWNoZWRJbnRlcm5hbChjb250cm9sLmNvbnRyb2xzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBa3R1YWxpc2llcnQgZGllIFdlcnRlIHVuZCBkaWUgZ8O8bHRpZ2tlaXQgZGVzIEZvcm11bGFyc1xuICAgICAqIEBwYXJhbSBjb250cm9scyBDb250cm9scyBDb2xsZWN0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5SW50ZXJuYWwoY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0pIHtcbiAgICAgICAgY29uc3Qga2V5TGlzdDogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjb250cm9scyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBrZXlMaXN0KSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gY29udHJvbHNbZmllbGRdO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHlJbnRlcm5hbChjb250cm9sLmNvbnRyb2xzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xufVxuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBUeXBlc1xuXG4vKipcbiAqIFR5cGUgZm9yIGZvcm0gYWN0aW9uc1xuICovXG5leHBvcnQgdHlwZSBGb3JtSG9va3MgPSAnY2hhbmdlJyB8ICdibHVyJyB8ICdzdWJtaXQnO1xuXG4vLyAjZW5kcmVnaW9uIEV4cG9ydGVkIFR5cGVzXG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SACVALIDATIONKEY_SERVICE, SacDefaultValidationKeyService } from '../../services';
|
|
2
|
+
import { createGuid } from '../../utilities/guid';
|
|
3
3
|
import { PagerData, SortDescriptor, SortOrder } from './model';
|
|
4
|
+
import { ChangeDetectorRef, Directive, EventEmitter, Injector, Input, Output, TemplateRef } from '@angular/core';
|
|
4
5
|
/**
|
|
5
6
|
* Basic component for SacGrid
|
|
6
7
|
*/
|
|
@@ -27,6 +28,18 @@ export class SacGridCommon {
|
|
|
27
28
|
* Contains Array of Pages.
|
|
28
29
|
*/
|
|
29
30
|
this.paginators = [];
|
|
31
|
+
/**
|
|
32
|
+
* Number of columns in the grid
|
|
33
|
+
*/
|
|
34
|
+
this.ColumnCount = 0;
|
|
35
|
+
/**
|
|
36
|
+
* Identifier used for the E2E data attribute.
|
|
37
|
+
*/
|
|
38
|
+
this.e2eidentifier = null;
|
|
39
|
+
/**
|
|
40
|
+
* name of control
|
|
41
|
+
*/
|
|
42
|
+
this.name = createGuid();
|
|
30
43
|
/**
|
|
31
44
|
* Deactivates the selection of the PageSize in the pager
|
|
32
45
|
*/
|
|
@@ -39,14 +52,6 @@ export class SacGridCommon {
|
|
|
39
52
|
* Event when the pager is clicked.
|
|
40
53
|
*/
|
|
41
54
|
this.paging = new EventEmitter();
|
|
42
|
-
/**
|
|
43
|
-
* Event when a header is clicked so that the grid is sorted.
|
|
44
|
-
*/
|
|
45
|
-
this.sorting = new EventEmitter();
|
|
46
|
-
/**
|
|
47
|
-
* Number of columns in the grid
|
|
48
|
-
*/
|
|
49
|
-
this.ColumnCount = 0;
|
|
50
55
|
/**
|
|
51
56
|
* Column by which currently sorted.
|
|
52
57
|
*/
|
|
@@ -55,6 +60,10 @@ export class SacGridCommon {
|
|
|
55
60
|
* Current direction of sorting
|
|
56
61
|
*/
|
|
57
62
|
this.sortDirection = SortOrder.None;
|
|
63
|
+
/**
|
|
64
|
+
* Event when a header is clicked so that the grid is sorted.
|
|
65
|
+
*/
|
|
66
|
+
this.sorting = new EventEmitter();
|
|
58
67
|
this.validationKeyService = injector.get(SACVALIDATIONKEY_SERVICE, new SacDefaultValidationKeyService());
|
|
59
68
|
// Set Default Values from Injector
|
|
60
69
|
this.pagesizetext = this.validationKeyService.PagingEntries;
|
|
@@ -127,6 +136,7 @@ SacGridCommon.ctorParameters = () => [
|
|
|
127
136
|
];
|
|
128
137
|
SacGridCommon.propDecorators = {
|
|
129
138
|
body: [{ type: Input }],
|
|
139
|
+
e2eidentifier: [{ type: Input }],
|
|
130
140
|
emptytext: [{ type: Input }],
|
|
131
141
|
headers: [{ type: Input }],
|
|
132
142
|
maxvisiblepagenumbers: [{ type: Input }],
|
|
@@ -135,10 +145,10 @@ SacGridCommon.propDecorators = {
|
|
|
135
145
|
pagesizedisabled: [{ type: Input }],
|
|
136
146
|
pagesizes: [{ type: Input }],
|
|
137
147
|
pagesizetext: [{ type: Input }],
|
|
138
|
-
pagingtext: [{ type: Input }],
|
|
139
|
-
value: [{ type: Input }],
|
|
140
148
|
paging: [{ type: Output }],
|
|
149
|
+
pagingtext: [{ type: Input }],
|
|
141
150
|
sorting: [{ type: Output }],
|
|
151
|
+
value: [{ type: Input }],
|
|
142
152
|
sortdata: [{ type: Input }]
|
|
143
153
|
};
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2dyaWQvZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsOEJBQThCLEdBQy9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU3RTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsYUFBYTtJQTBHakMsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBb0IsRUFBcUIsRUFBRSxRQUFrQjtRQUF6QyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWxIekMscUJBQXFCO1FBRXJCOztXQUVHO1FBQ08sZUFBVSxHQUFXLENBQUMsQ0FBQztRQUNqQzs7V0FFRztRQUNPLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBS3RDOztXQUVHO1FBQ08sZUFBVSxHQUFlLEVBQUUsQ0FBQztRQTZCdEM7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDekM7O1dBRUc7UUFFSSxjQUFTLEdBQVcsV0FBVyxDQUFDO1FBc0J2Qzs7V0FFRztRQUNjLFdBQU0sR0FDckIsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDbkM7O1dBRUc7UUFDYyxZQUFPLEdBQ3RCLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRXJDOztXQUVHO1FBQ0ksZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDL0I7O1dBRUc7UUFDSSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQy9COztXQUVHO1FBQ0ksa0JBQWEsR0FBYyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBZ0IvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDdEMsd0JBQXdCLEVBQ3hCLElBQUksOEJBQThCLEVBQUUsQ0FDckMsQ0FBQztRQUVGLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDO0lBQzNELENBQUM7SUFFRCwwQkFBMEI7SUFFMUIscUNBQXFDO0lBRXJDOzs7T0FHRztJQUNILElBQ1csUUFBUSxDQUFDLGVBQStCO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQUVELHdDQUF3QztJQUV4Qyx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxjQUFjO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixJQUFJLFNBQW9CLENBQUM7UUFFekIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMvQixRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzFCLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDcEIsS0FBSyxTQUFTLENBQUMsVUFBVTtvQkFDdkIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7b0JBQ2hDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsU0FBUztvQkFDdEIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ2pDLE1BQU07YUFDVDtTQUNGO2FBQU07WUFDTCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNqQztRQUVELE1BQU0sTUFBTSxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxhQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQWxNRixTQUFTOzs7WUFsQlIsaUJBQWlCO1lBR2pCLFFBQVE7OzttQkF1Q1AsS0FBSzt3QkFJTCxLQUFLO3NCQUtMLEtBQUs7b0NBSUwsS0FBSzttQkFJTCxLQUFLO3dCQUtMLEtBQUs7K0JBS0wsS0FBSzt3QkFLTCxLQUFLOzJCQU9MLEtBQUs7eUJBU0wsS0FBSztvQkFLTCxLQUFLO3FCQUtMLE1BQU07c0JBS04sTUFBTTt1QkFnRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSxcbiAgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQYWdlckRhdGEsIFBhZ2VyUmVxdWVzdCwgU29ydERlc2NyaXB0b3IsIFNvcnRPcmRlciB9IGZyb20gJy4vbW9kZWwnO1xuXG4vKipcbiAqIEJhc2ljIGNvbXBvbmVudCBmb3IgU2FjR3JpZFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNHcmlkQ29tbW9uIHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIFBhZ2UgbnVtYmVyIG9mIHRoZSBhY3RpdmUgcGFnZS5cbiAgICovXG4gIHByb3RlY3RlZCBhY3RpdmVQYWdlOiBudW1iZXIgPSAxO1xuICAvKipcbiAgICogQ29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgZmlyc3QgcGFnZSBkaXNwbGF5ZWQgaW4gUGFnZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgZmlyc3RQYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xuICAvKipcbiAgICogQ29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgbGFzdCBwYWdlIGluIFBhZ2VyLiBUaGUgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGxhc3RQYWdlTnVtYmVyOiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb250YWlucyBBcnJheSBvZiBQYWdlcy5cbiAgICovXG4gIHByb3RlY3RlZCBwYWdpbmF0b3JzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IGZvciBCb2R5LlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJvZHk6IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBUZXh0IHdoaWNoIGlzIGRpc3BsYXllZCBpZiBubyByb3dzIGFyZSBhdmFpbGFibGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZW1wdHl0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBmb3IgaGVhZGVycy5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWFkZXJzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogUHJvcGVydHkgZm9yIHRoZSBtYXhpbXVtIHBhZ2VzIHRoYXQgYXJlIHZpc2libGUuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbWF4dmlzaWJsZXBhZ2VudW1iZXJzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb250cm9sIE5hbWUuIFVzZWQgdG8gZ2VuZXJhdGUgdGhlIElEIGFuZCBuYW1lcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWdlciBjb25maWd1cmF0aW9uLiBQYWdlciBjYW4gYmUgc3dpdGNoZWQgb2ZmIGJ5IHNldHRpbmcgUGFnZXJEYXRhIHRvIGBudWxsYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlcmRhdGE6IFBhZ2VyRGF0YTtcbiAgLyoqXG4gICAqIERlYWN0aXZhdGVzIHRoZSBzZWxlY3Rpb24gb2YgdGhlIFBhZ2VTaXplIGluIHRoZSBwYWdlclxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VzaXplZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBwZXIgcGFnZSB0aGF0IGNhbiBiZSBzZWxlY3RlZC4gVGhlIGRlZmF1bHQgaXMgMjAsIDUwIGFuZCAxMDAuIFRoZSB2YWx1ZXMgbXVzdCBiZSBzZXBhcmF0ZWQgd2l0aCBhIGB8YC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlc2l6ZXM6IHN0cmluZyA9ICcyMHw1MHwxMDAnO1xuICAvKipcbiAgICogVGV4dCBpbiBQYWdlIGZvciBudW1iZXIgb2YgcGFnZSBlbGVtZW50cyBwZXIgcGFnZS4gVGhlIGZvbGxvd2luZyBpbnRlcnBvbGF0aW9uIHRleHRzIGFyZSBhdmFpbGFibGU6XG4gICAqXG4gICAqIHt7UEFHRVNJWkV9fTogTnVtYmVyIG9mIGVsZW1lbnRzIHBlciBwYWdlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZXNpemV0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZXh0IGluIHBhZ2VyIGZvciAnUGFnZSB4IG9mIHknLiBUaGUgZm9sbG93aW5nIGludGVycG9sYXRpb24gdGV4dHMgYXJlIGF2YWlsYWJsZTpcbiAgICpcbiAgICoge3tDVVJSRU5UUEFHRX19OiBDdXJyZW50IHBhZ2VcbiAgICpcbiAgICoge3tUT1RBTFBBR0VTfX06IE51bWJlciBvZiBwYWdlc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2luZ3RleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEdyaWQgZGF0YVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlOiBhbnk7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSBwYWdlciBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdpbmc6IEV2ZW50RW1pdHRlcjxQYWdlclJlcXVlc3Q+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VyUmVxdWVzdD4oKTtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gYSBoZWFkZXIgaXMgY2xpY2tlZCBzbyB0aGF0IHRoZSBncmlkIGlzIHNvcnRlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgc29ydGluZzogRXZlbnRFbWl0dGVyPFNvcnREZXNjcmlwdG9yPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxTb3J0RGVzY3JpcHRvcj4oKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbiAgICovXG4gIHB1YmxpYyBDb2x1bW5Db3VudDogbnVtYmVyID0gMDtcbiAgLyoqXG4gICAqIENvbHVtbiBieSB3aGljaCBjdXJyZW50bHkgc29ydGVkLlxuICAgKi9cbiAgcHVibGljIHNvcnRDb2x1bW46IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogQ3VycmVudCBkaXJlY3Rpb24gb2Ygc29ydGluZ1xuICAgKi9cbiAgcHVibGljIHNvcnREaXJlY3Rpb246IFNvcnRPcmRlciA9IFNvcnRPcmRlci5Ob25lO1xuICAvKipcbiAgICogU2VydmljZSB3aXRoIHRoZSB2YWxpZGF0aW9uIGtleXMuIElzIHJlcXVpcmVkIHRvIGxvYWQgdGhlIGRlZmF1bHQgdGV4dHMgZm9yIHRoZSBwYWdlciBldGMuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gY2QgQ2hhbmdlIERldGVjdGlvbiBTZXJ2aWNlXG4gICAqIEBwYXJhbSBpbmplY3RvciBESSBJbmplY3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXG4gICAgICBuZXcgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlKClcbiAgICApO1xuXG4gICAgLy8gU2V0IERlZmF1bHQgVmFsdWVzIGZyb20gSW5qZWN0b3JcbiAgICB0aGlzLnBhZ2VzaXpldGV4dCA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nRW50cmllcztcbiAgICB0aGlzLnBhZ2luZ3RleHQgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlBhZ2luZ1BhZ2VPZjtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xuXG4gIC8qKlxuICAgKiBNb2RlbCBmb3Igc29ydGluZ1xuICAgKiBAcGFyYW0gc29ydERlc2NyaXB0aW9uIFNldHRpbmdzIGZvciBjdXJyZW50IHNvcnRpbmdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc29ydGRhdGEoc29ydERlc2NyaXB0aW9uOiBTb3J0RGVzY3JpcHRvcikge1xuICAgIHRoaXMuc29ydENvbHVtbiA9IHNvcnREZXNjcmlwdGlvbi5Tb3J0Q29sdW1uO1xuICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHNvcnREZXNjcmlwdGlvbi5Tb3J0T3JkZXI7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIGluY3JlYXNlcyB0aGUgY29sdW1uIGVsZW1lbnRzIGJ5IG9uZVxuICAgKi9cbiAgcHVibGljIFJlZ2lzdGVyQ29sdW1uKCkge1xuICAgIHRoaXMuQ29sdW1uQ291bnQrKztcbiAgICAvLyBEZXRlY3QgQ2hhbmdlcywgYXMgQ29sdW1uQ2hhbmdlIGlzIGV4ZWN1dGVkIGFmdGVyIE9uSW5pdC5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgZm9yIHNvcnRpbmcgdGhlIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgU29ydEJ5KGNvbW1hbmQpIHtcbiAgICBsZXQgZGlyZWN0aW9uOiBTb3J0T3JkZXI7XG5cbiAgICBpZiAoY29tbWFuZCA9PT0gdGhpcy5zb3J0Q29sdW1uKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc29ydERpcmVjdGlvbikge1xuICAgICAgICBjYXNlIFNvcnRPcmRlci5Ob25lOlxuICAgICAgICBjYXNlIFNvcnRPcmRlci5EZXNjZW5kaW5nOlxuICAgICAgICAgIGRpcmVjdGlvbiA9IFNvcnRPcmRlci5Bc2NlbmRpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU29ydE9yZGVyLkFzY2VuZGluZzpcbiAgICAgICAgICBkaXJlY3Rpb24gPSBTb3J0T3JkZXIuRGVzY2VuZGluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGlyZWN0aW9uID0gU29ydE9yZGVyLkFzY2VuZGluZztcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQ6IFNvcnREZXNjcmlwdG9yID0gbmV3IFNvcnREZXNjcmlwdG9yKCk7XG4gICAgcmVzdWx0LlNvcnRDb2x1bW4gPSBjb21tYW5kO1xuICAgIHJlc3VsdC5Tb3J0T3JkZXIgPSBkaXJlY3Rpb247XG5cbiAgICB0aGlzLnNvcnRpbmcuZW1pdChyZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgcmVkdWNlcyB0aGUgY29sdW1uIGVsZW1lbnRzIGJ5IG9uZVxuICAgKi9cbiAgcHVibGljIFVucmVnaXN0ZXJDb2x1bW4oKSB7XG4gICAgdGhpcy5Db2x1bW5Db3VudC0tO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBpZiBHcmlkIGlzIHRvIHN3aXRjaCB0byBhIG5ldyBwYWdlLlxuICAgKiBAcGFyYW0gbmV3U3RhcnRJbmRleCBOZXcgUGFnZSBJbmRleCAoWmVyby1CYXNlZClcbiAgICovXG4gIHB1YmxpYyBwYWdlQ2hhbmdlKG5ld1N0YXJ0SW5kZXgpIHtcbiAgICB0aGlzLnBhZ2luZy5lbWl0KG5ld1N0YXJ0SW5kZXgpO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2dyaWQvZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakg7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUFnSS9CLHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQW9CLEVBQXFCLEVBQUUsUUFBa0I7UUFBekMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF4SXpDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNPLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFakM7O1dBRUc7UUFDTyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQU90Qzs7V0FFRztRQUNPLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFFdEM7O1dBRUc7UUFDSSxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQU8vQjs7V0FFRztRQUVJLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQWtCM0M7O1dBRUc7UUFFSSxTQUFJLEdBQVcsVUFBVSxFQUFFLENBQUM7UUFRbkM7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFekM7O1dBRUc7UUFFSSxjQUFTLEdBQVcsV0FBVyxDQUFDO1FBVXZDOztXQUVHO1FBQ2MsV0FBTSxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQVl2Rjs7V0FFRztRQUNJLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxrQkFBYSxHQUFjLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFakQ7O1dBRUc7UUFDYyxZQUFPLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO1FBdUJ4RixJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLDhCQUE4QixFQUFFLENBQUMsQ0FBQztRQUV6RyxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQztJQUM3RCxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7O09BR0c7SUFDSCxJQUNXLFFBQVEsQ0FBQyxlQUErQjtRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFFRCx3Q0FBd0M7SUFFeEMseUJBQXlCO0lBRXpCOztPQUVHO0lBQ0ksY0FBYztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsNERBQTREO1FBQzVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDakIsSUFBSSxTQUFvQixDQUFDO1FBRXpCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsUUFBUSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN4QixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUssU0FBUyxDQUFDLFVBQVU7b0JBQ3JCLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO29CQUNoQyxNQUFNO2dCQUNWLEtBQUssU0FBUyxDQUFDLFNBQVM7b0JBQ3BCLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO29CQUNqQyxNQUFNO2FBQ2I7U0FDSjthQUFNO1lBQ0gsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDbkM7UUFFRCxNQUFNLE1BQU0sR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNwRCxNQUFNLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztRQUM1QixNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUU3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsYUFBYTtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFyTkosU0FBUzs7O1lBTEQsaUJBQWlCO1lBQTJCLFFBQVE7OzttQkFxQ3hELEtBQUs7NEJBS0wsS0FBSzt3QkFNTCxLQUFLO3NCQU1MLEtBQUs7b0NBS0wsS0FBSzttQkFLTCxLQUFLO3dCQU1MLEtBQUs7K0JBTUwsS0FBSzt3QkFNTCxLQUFLOzJCQVFMLEtBQUs7cUJBTUwsTUFBTTt5QkFTTixLQUFLO3NCQWdCTCxNQUFNO29CQVVOLEtBQUs7dUJBNEJMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNWYWxpZGF0aW9uS2V5U2VydmljZSc7XG5pbXBvcnQgeyBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsIFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGNyZWF0ZUd1aWQgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ3VpZCc7XG5pbXBvcnQgeyBQYWdlckRhdGEsIFBhZ2VyUmVxdWVzdCwgU29ydERlc2NyaXB0b3IsIFNvcnRPcmRlciB9IGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBCYXNpYyBjb21wb25lbnQgZm9yIFNhY0dyaWRcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjR3JpZENvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgICAvKipcbiAgICAgKiBQYWdlIG51bWJlciBvZiB0aGUgYWN0aXZlIHBhZ2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFjdGl2ZVBhZ2U6IG51bWJlciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBDb250YWlucyB0aGUgbnVtYmVyIG9mIHRoZSBmaXJzdCBwYWdlIGRpc3BsYXllZCBpbiBQYWdlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZmlyc3RQYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbnMgdGhlIG51bWJlciBvZiB0aGUgbGFzdCBwYWdlIGluIFBhZ2VyLiBUaGUgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsYXN0UGFnZU51bWJlcjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQ29udGFpbnMgQXJyYXkgb2YgUGFnZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhZ2luYXRvcnM6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4gICAgICovXG4gICAgcHVibGljIENvbHVtbkNvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgLyoqXG4gICAgICogSW5wdXQgcHJvcGVydHkgZm9yIEJvZHkuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGJvZHk6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBFMkUgZGF0YSBhdHRyaWJ1dGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZTJlaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IHdoaWNoIGlzIGRpc3BsYXllZCBpZiBubyByb3dzIGFyZSBhdmFpbGFibGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHl0ZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0eSBmb3IgaGVhZGVycy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IGZvciB0aGUgbWF4aW11bSBwYWdlcyB0aGF0IGFyZSB2aXNpYmxlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXh2aXNpYmxlcGFnZW51bWJlcnM6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIG5hbWUgb2YgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyA9IGNyZWF0ZUd1aWQoKTtcblxuICAgIC8qKlxuICAgICAqIFBhZ2VyIGNvbmZpZ3VyYXRpb24uIFBhZ2VyIGNhbiBiZSBzd2l0Y2hlZCBvZmYgYnkgc2V0dGluZyBQYWdlckRhdGEgdG8gYG51bGxgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhZ2VyZGF0YTogUGFnZXJEYXRhO1xuXG4gICAgLyoqXG4gICAgICogRGVhY3RpdmF0ZXMgdGhlIHNlbGVjdGlvbiBvZiB0aGUgUGFnZVNpemUgaW4gdGhlIHBhZ2VyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFnZXNpemVkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHBlciBwYWdlIHRoYXQgY2FuIGJlIHNlbGVjdGVkLiBUaGUgZGVmYXVsdCBpcyAyMCwgNTAgYW5kIDEwMC4gVGhlIHZhbHVlcyBtdXN0IGJlIHNlcGFyYXRlZCB3aXRoIGEgYHxgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhZ2VzaXplczogc3RyaW5nID0gJzIwfDUwfDEwMCc7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGluIFBhZ2UgZm9yIG51bWJlciBvZiBwYWdlIGVsZW1lbnRzIHBlciBwYWdlLiBUaGUgZm9sbG93aW5nIGludGVycG9sYXRpb24gdGV4dHMgYXJlIGF2YWlsYWJsZTpcbiAgICAgKlxuICAgICAqIHt7UEFHRVNJWkV9fTogTnVtYmVyIG9mIGVsZW1lbnRzIHBlciBwYWdlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGFnZXNpemV0ZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIHRoZSBwYWdlciBpcyBjbGlja2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGFnaW5nOiBFdmVudEVtaXR0ZXI8UGFnZXJSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZXJSZXF1ZXN0PigpO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBpbiBwYWdlciBmb3IgJ1BhZ2UgeCBvZiB5Jy4gVGhlIGZvbGxvd2luZyBpbnRlcnBvbGF0aW9uIHRleHRzIGFyZSBhdmFpbGFibGU6XG4gICAgICpcbiAgICAgKiB7e0NVUlJFTlRQQUdFfX06IEN1cnJlbnQgcGFnZVxuICAgICAqXG4gICAgICoge3tUT1RBTFBBR0VTfX06IE51bWJlciBvZiBwYWdlc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBhZ2luZ3RleHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIENvbHVtbiBieSB3aGljaCBjdXJyZW50bHkgc29ydGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBzb3J0Q29sdW1uOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgZGlyZWN0aW9uIG9mIHNvcnRpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgc29ydERpcmVjdGlvbjogU29ydE9yZGVyID0gU29ydE9yZGVyLk5vbmU7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCB3aGVuIGEgaGVhZGVyIGlzIGNsaWNrZWQgc28gdGhhdCB0aGUgZ3JpZCBpcyBzb3J0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzb3J0aW5nOiBFdmVudEVtaXR0ZXI8U29ydERlc2NyaXB0b3I+ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0RGVzY3JpcHRvcj4oKTtcblxuICAgIC8qKlxuICAgICAqIFNlcnZpY2Ugd2l0aCB0aGUgdmFsaWRhdGlvbiBrZXlzLiBJcyByZXF1aXJlZCB0byBsb2FkIHRoZSBkZWZhdWx0IHRleHRzIGZvciB0aGUgcGFnZXIgZXRjLlxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0aW9uS2V5U2VydmljZTogSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogR3JpZCBkYXRhXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGNkIENoYW5nZSBEZXRlY3Rpb24gU2VydmljZVxuICAgICAqIEBwYXJhbSBpbmplY3RvciBESSBJbmplY3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSA9IGluamVjdG9yLmdldChTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKSk7XG5cbiAgICAgICAgLy8gU2V0IERlZmF1bHQgVmFsdWVzIGZyb20gSW5qZWN0b3JcbiAgICAgICAgdGhpcy5wYWdlc2l6ZXRleHQgPSB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLlBhZ2luZ0VudHJpZXM7XG4gICAgICAgIHRoaXMucGFnaW5ndGV4dCA9IHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuUGFnaW5nUGFnZU9mO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBNb2RlbCBmb3Igc29ydGluZ1xuICAgICAqIEBwYXJhbSBzb3J0RGVzY3JpcHRpb24gU2V0dGluZ3MgZm9yIGN1cnJlbnQgc29ydGluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBzb3J0ZGF0YShzb3J0RGVzY3JpcHRpb246IFNvcnREZXNjcmlwdG9yKSB7XG4gICAgICAgIHRoaXMuc29ydENvbHVtbiA9IHNvcnREZXNjcmlwdGlvbi5Tb3J0Q29sdW1uO1xuICAgICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSBzb3J0RGVzY3JpcHRpb24uU29ydE9yZGVyO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBtZXRob2QgaW5jcmVhc2VzIHRoZSBjb2x1bW4gZWxlbWVudHMgYnkgb25lXG4gICAgICovXG4gICAgcHVibGljIFJlZ2lzdGVyQ29sdW1uKCkge1xuICAgICAgICB0aGlzLkNvbHVtbkNvdW50Kys7XG4gICAgICAgIC8vIERldGVjdCBDaGFuZ2VzLCBhcyBDb2x1bW5DaGFuZ2UgaXMgZXhlY3V0ZWQgYWZ0ZXIgT25Jbml0LlxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgZm9yIHNvcnRpbmcgdGhlIGRhdGEuXG4gICAgICovXG4gICAgcHVibGljIFNvcnRCeShjb21tYW5kKSB7XG4gICAgICAgIGxldCBkaXJlY3Rpb246IFNvcnRPcmRlcjtcblxuICAgICAgICBpZiAoY29tbWFuZCA9PT0gdGhpcy5zb3J0Q29sdW1uKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc29ydERpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgU29ydE9yZGVyLk5vbmU6XG4gICAgICAgICAgICAgICAgY2FzZSBTb3J0T3JkZXIuRGVzY2VuZGluZzpcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gU29ydE9yZGVyLkFzY2VuZGluZztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBTb3J0T3JkZXIuQXNjZW5kaW5nOlxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBTb3J0T3JkZXIuRGVzY2VuZGluZztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXJlY3Rpb24gPSBTb3J0T3JkZXIuQXNjZW5kaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBTb3J0RGVzY3JpcHRvciA9IG5ldyBTb3J0RGVzY3JpcHRvcigpO1xuICAgICAgICByZXN1bHQuU29ydENvbHVtbiA9IGNvbW1hbmQ7XG4gICAgICAgIHJlc3VsdC5Tb3J0T3JkZXIgPSBkaXJlY3Rpb247XG5cbiAgICAgICAgdGhpcy5zb3J0aW5nLmVtaXQocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWV0aG9kIHJlZHVjZXMgdGhlIGNvbHVtbiBlbGVtZW50cyBieSBvbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgVW5yZWdpc3RlckNvbHVtbigpIHtcbiAgICAgICAgdGhpcy5Db2x1bW5Db3VudC0tO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBpZiBHcmlkIGlzIHRvIHN3aXRjaCB0byBhIG5ldyBwYWdlLlxuICAgICAqIEBwYXJhbSBuZXdTdGFydEluZGV4IE5ldyBQYWdlIEluZGV4IChaZXJvLUJhc2VkKVxuICAgICAqL1xuICAgIHB1YmxpYyBwYWdlQ2hhbmdlKG5ld1N0YXJ0SW5kZXgpIHtcbiAgICAgICAgdGhpcy5wYWdpbmcuZW1pdChuZXdTdGFydEluZGV4KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG4iXX0=
|