@acorex/components 5.1.2 → 5.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/base/index.mjs +2 -1
- package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +4 -3
- package/esm2020/lib/base/mixin/datalist-component.class.mjs +4 -1
- package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +1 -4
- package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +3 -2
- package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +2 -2
- package/esm2020/lib/calendar/calendar.component.mjs +60 -7
- package/esm2020/lib/calendar/calendar.module.mjs +4 -3
- package/esm2020/lib/carousel/carousel-arrows.component.mjs +10 -8
- package/esm2020/lib/carousel/carousel-splidejs.class.mjs +4 -1
- package/esm2020/lib/carousel/carousel.class.mjs +1 -1
- package/esm2020/lib/carousel/carousel.component.mjs +51 -2
- package/esm2020/lib/collapse/collapse-group.component.mjs +16 -12
- package/esm2020/lib/collapse/collapse.component.mjs +2 -3
- package/esm2020/lib/datepicker/datepicker.component.mjs +10 -3
- package/esm2020/lib/menu/menu.component.mjs +73 -14
- package/esm2020/lib/menu/menu.module.mjs +20 -4
- package/esm2020/lib/number-box/number-box.component.mjs +2 -2
- package/esm2020/lib/password-box/password-box.component.mjs +2 -2
- package/esm2020/lib/picker/picker.component.mjs +34 -10
- package/esm2020/lib/popover/popover.component.mjs +37 -18
- package/esm2020/lib/radio/index.mjs +1 -1
- package/esm2020/lib/radio/radio.component.mjs +3 -3
- package/esm2020/lib/radio/radio.module.mjs +1 -1
- package/esm2020/lib/selectbox/selectbox.component.mjs +17 -9
- package/esm2020/lib/textarea/textarea.component.mjs +2 -2
- package/esm2020/lib/textbox/textbox.component.mjs +3 -3
- package/esm2020/lib/time-box/time-box.component.mjs +2 -2
- package/fesm2015/acorex-components.mjs +568 -320
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +551 -307
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/base/index.d.ts +1 -0
- package/lib/base/mixin/base-menu-mixin.class.d.ts +2 -1
- package/lib/base/mixin/datalist-component.class.d.ts +1 -0
- package/lib/base/mixin/mixin.class.d.ts +2 -1
- package/lib/calendar/calendar.component.d.ts +10 -1
- package/lib/calendar/calendar.module.d.ts +2 -1
- package/lib/carousel/carousel-arrows.component.d.ts +2 -1
- package/lib/carousel/carousel.class.d.ts +5 -0
- package/lib/carousel/carousel.component.d.ts +13 -1
- package/lib/collapse/collapse-group.component.d.ts +7 -6
- package/lib/collapse/collapse.component.d.ts +2 -3
- package/lib/datepicker/datepicker.component.d.ts +2 -1
- package/lib/menu/menu.component.d.ts +12 -7
- package/lib/menu/menu.module.d.ts +2 -1
- package/lib/number-box/number-box.component.d.ts +1 -1
- package/lib/password-box/password-box.component.d.ts +1 -1
- package/lib/picker/picker.component.d.ts +14 -11
- package/lib/popover/popover.component.d.ts +3 -0
- package/lib/selectbox/selectbox.component.d.ts +2 -2
- package/lib/textarea/textarea.component.d.ts +1 -1
- package/lib/textbox/textbox.component.d.ts +1 -1
- package/lib/time-box/time-box.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -16,12 +16,17 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
|
|
|
16
16
|
this._perMove = 1;
|
|
17
17
|
this.focusChange = new EventEmitter();
|
|
18
18
|
this._focus = 0;
|
|
19
|
+
this.breakpointsChange = new EventEmitter();
|
|
19
20
|
this.heightRatioChange = new EventEmitter();
|
|
20
21
|
this._heightRatio = 0;
|
|
21
22
|
this.heightChange = new EventEmitter();
|
|
22
23
|
this._height = 'auto';
|
|
24
|
+
this.fixedHeightChange = new EventEmitter();
|
|
25
|
+
this._fixedHeight = '';
|
|
23
26
|
this.widthChange = new EventEmitter();
|
|
24
27
|
this._width = 'fit-content';
|
|
28
|
+
this.fixedWidthChange = new EventEmitter();
|
|
29
|
+
this._fixedWidth = '';
|
|
25
30
|
this.perPageChange = new EventEmitter();
|
|
26
31
|
this._perPage = 1;
|
|
27
32
|
this.gap = 10;
|
|
@@ -75,6 +80,16 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
|
|
|
75
80
|
this.onOptionsChanged.emit();
|
|
76
81
|
}
|
|
77
82
|
}
|
|
83
|
+
get breakpoints() {
|
|
84
|
+
return this._breakpoints;
|
|
85
|
+
}
|
|
86
|
+
set breakpoints(v) {
|
|
87
|
+
if (v != this._breakpoints) {
|
|
88
|
+
this._breakpoints = v;
|
|
89
|
+
this.paddingChange.emit(v);
|
|
90
|
+
this.onOptionsChanged.emit();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
78
93
|
get heightRatio() {
|
|
79
94
|
return this._heightRatio;
|
|
80
95
|
}
|
|
@@ -96,6 +111,17 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
|
|
|
96
111
|
this.onOptionsChanged.emit();
|
|
97
112
|
}
|
|
98
113
|
}
|
|
114
|
+
get fixedHeight() {
|
|
115
|
+
return this._fixedHeight;
|
|
116
|
+
}
|
|
117
|
+
set fixedHeight(v) {
|
|
118
|
+
const val = v;
|
|
119
|
+
if (val != this._fixedHeight) {
|
|
120
|
+
this._fixedHeight = val;
|
|
121
|
+
this.fixedHeightChange.emit(this.fixedHeight);
|
|
122
|
+
this.onOptionsChanged.emit();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
99
125
|
get width() {
|
|
100
126
|
return this._width;
|
|
101
127
|
}
|
|
@@ -107,6 +133,17 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
|
|
|
107
133
|
this.onOptionsChanged.emit();
|
|
108
134
|
}
|
|
109
135
|
}
|
|
136
|
+
get fixedWidth() {
|
|
137
|
+
return this._fixedWidth;
|
|
138
|
+
}
|
|
139
|
+
set fixedWidth(v) {
|
|
140
|
+
const val = v;
|
|
141
|
+
if (val != this._fixedWidth) {
|
|
142
|
+
this._fixedWidth = val;
|
|
143
|
+
this.fixedWidthChange.emit(this.fixedWidth);
|
|
144
|
+
this.onOptionsChanged.emit();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
110
147
|
get perPage() {
|
|
111
148
|
return this._perPage;
|
|
112
149
|
}
|
|
@@ -299,7 +336,7 @@ export class AXCarouselComponent extends AXBaseComponentMixin {
|
|
|
299
336
|
}
|
|
300
337
|
}
|
|
301
338
|
AXCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXCarouselComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.AXCarouselCore }], target: i0.ɵɵFactoryTarget.Component });
|
|
302
|
-
AXCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXCarouselComponent, selector: "ax-carousel", inputs: { perMove: "perMove", focus: "focus", heightRatio: "heightRatio", height: "height", width: "width", perPage: "perPage", gap: "gap", autoplay: "autoplay", snap: "snap", autoWidth: "autoWidth", drag: "drag", wheel: "wheel", interval: "interval", padding: "padding", centered: "centered", vertical: "vertical", loop: "loop", rewind: "rewind" }, outputs: { onOptionsChanged: "onOptionsChanged", onSlideChanged: "onSlideChanged", perMoveChange: "perMoveChange", focusChange: "focusChange", heightRatioChange: "heightRatioChange", heightChange: "heightChange", widthChange: "widthChange", perPageChange: "perPageChange", autoplayChange: "autoplayChange", snapChange: "snapChange", autoWidthChange: "autoWidthChange", dragChange: "dragChange", wheelChange: "wheelChange", intervalChange: "intervalChange", paddingChange: "paddingChange", centeredChange: "centeredChange", verticalChange: "verticalChange", loopChange: "loopChange", rewindChange: "rewindChange", onItemsChanged: "onItemsChanged" }, host: { classAttribute: "ax-carousel" }, providers: [{
|
|
339
|
+
AXCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXCarouselComponent, selector: "ax-carousel", inputs: { perMove: "perMove", focus: "focus", breakpoints: "breakpoints", heightRatio: "heightRatio", height: "height", fixedHeight: "fixedHeight", width: "width", fixedWidth: "fixedWidth", perPage: "perPage", gap: "gap", autoplay: "autoplay", snap: "snap", autoWidth: "autoWidth", drag: "drag", wheel: "wheel", interval: "interval", padding: "padding", centered: "centered", vertical: "vertical", loop: "loop", rewind: "rewind" }, outputs: { onOptionsChanged: "onOptionsChanged", onSlideChanged: "onSlideChanged", perMoveChange: "perMoveChange", focusChange: "focusChange", breakpointsChange: "breakpointsChange", heightRatioChange: "heightRatioChange", heightChange: "heightChange", fixedHeightChange: "fixedHeightChange", widthChange: "widthChange", fixedWidthChange: "fixedWidthChange", perPageChange: "perPageChange", autoplayChange: "autoplayChange", snapChange: "snapChange", autoWidthChange: "autoWidthChange", dragChange: "dragChange", wheelChange: "wheelChange", intervalChange: "intervalChange", paddingChange: "paddingChange", centeredChange: "centeredChange", verticalChange: "verticalChange", loopChange: "loopChange", rewindChange: "rewindChange", onItemsChanged: "onItemsChanged" }, host: { classAttribute: "ax-carousel" }, providers: [{
|
|
303
340
|
provide: AXCarouselCore,
|
|
304
341
|
useClass: AXCarouselSplideJS
|
|
305
342
|
}], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-carousel-list-container\">\r\n <div class=\"ax-carousel-list\">\r\n <ng-content select=\"ax-carousel-item\">\r\n </ng-content>\r\n </div>\r\n <ng-content select=\"ax-carousel-arrows\">\r\n </ng-content>\r\n</div>\r\n\r\n<ng-content select=\"ax-carousel-pager\">\r\n</ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -321,6 +358,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
321
358
|
type: Output
|
|
322
359
|
}], focus: [{
|
|
323
360
|
type: Input
|
|
361
|
+
}], breakpointsChange: [{
|
|
362
|
+
type: Output
|
|
363
|
+
}], breakpoints: [{
|
|
364
|
+
type: Input
|
|
324
365
|
}], heightRatioChange: [{
|
|
325
366
|
type: Output
|
|
326
367
|
}], heightRatio: [{
|
|
@@ -329,10 +370,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
329
370
|
type: Output
|
|
330
371
|
}], height: [{
|
|
331
372
|
type: Input
|
|
373
|
+
}], fixedHeightChange: [{
|
|
374
|
+
type: Output
|
|
375
|
+
}], fixedHeight: [{
|
|
376
|
+
type: Input
|
|
332
377
|
}], widthChange: [{
|
|
333
378
|
type: Output
|
|
334
379
|
}], width: [{
|
|
335
380
|
type: Input
|
|
381
|
+
}], fixedWidthChange: [{
|
|
382
|
+
type: Output
|
|
383
|
+
}], fixedWidth: [{
|
|
384
|
+
type: Input
|
|
336
385
|
}], perPageChange: [{
|
|
337
386
|
type: Output
|
|
338
387
|
}], perPage: [{
|
|
@@ -386,4 +435,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
386
435
|
}], onItemsChanged: [{
|
|
387
436
|
type: Output
|
|
388
437
|
}] } });
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQTZELEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvTSxPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RyxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWEvRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBR3pELFlBQ0ksVUFBc0IsRUFDZCxJQUFZLEVBQ3BCLEdBQXNCLEVBQ2QsSUFBb0I7UUFFNUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUpmLFNBQUksR0FBSixJQUFJLENBQVE7UUFFWixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQU9oQyxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6RCxtQkFBYyxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUs1RyxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhFLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFrQnJCLGdCQUFXLEdBQXlCLElBQUks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YTtzQkFEbkIsTUFBTTtnQkFLSSxPQUFPO3NCQURqQixLQUFLO2dCQWVDLGNBQWM7c0JBRHBCLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFrQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFLSSxRQUFRO3NCQURsQixLQUFLO2dCQWNDLFVBQVU7c0JBRGhCLE1BQU07Z0JBS0ksSUFBSTtzQkFEZCxLQUFLO2dCQWtCQyxZQUFZO3NCQURsQixNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBZ0NDLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgTmdab25lLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4sIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VDc3NQaXhlbFZhbHVlLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWwsIEFYQ2Fyb3VzZWxDb3JlIH0gZnJvbSAnLi9jYXJvdXNlbC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQ2Fyb3VzZWxTcGxpZGVKUyB9IGZyb20gJy4vY2Fyb3VzZWwtc3BsaWRlanMuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNhcm91c2VsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtY2Fyb3VzZWwnIH0sXHJcbiAgICBwcm92aWRlcnM6W3tcclxuICAgICAgICBwcm92aWRlOiBBWENhcm91c2VsQ29yZSxcclxuICAgICAgICB1c2VDbGFzczogQVhDYXJvdXNlbFNwbGlkZUpTXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYXJvdXNlbENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIGltcGxlbWVudHMgQVhDYXJvdXNlbCB7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGNvcmU6IEFYQ2Fyb3VzZWxDb3JlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvbk9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25TbGlkZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4+KCk7XHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBwZXJNb3ZlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3Blck1vdmU6IG51bWJlciA9IDFcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHBlck1vdmUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVyTW92ZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGVyTW92ZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBNYXRoLm1heCgxLCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2KSk7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJNb3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Blck1vdmUgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9wZXJNb3ZlID4gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBlck1vdmVDaGFuZ2UuZW1pdCh0aGlzLnBlck1vdmUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9mb2N1czogbnVtYmVyID0gMDtcclxuICAgIFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZm9jdXMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXM7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGZvY3VzKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX2ZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzPXY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaGVpZ2h0UmF0aW9DaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaGVpZ2h0UmF0aW86IG51bWJlciA9IDA7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGhlaWdodFJhdGlvKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodFJhdGlvO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBoZWlnaHRSYXRpbyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9oZWlnaHRSYXRpbykge1xyXG4gICAgICAgICAgICB0aGlzLl9oZWlnaHRSYXRpbz12O1xyXG4gICAgICAgICAgICB0aGlzLnBhZGRpbmdDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9oZWlnaHQ6IHN0cmluZyA9ICdhdXRvJ1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHY6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9oZWlnaHQpIHtcclxuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodENoYW5nZS5lbWl0KHRoaXMuaGVpZ2h0KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2lkdGg6IHN0cmluZyA9ICdmaXQtY29udGVudCdcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fd2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMud2lkdGhDaGFuZ2UuZW1pdCh0aGlzLndpZHRoKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGVyUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9wZXJQYWdlOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGVyUGFnZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wZXJQYWdlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBwZXJQYWdlKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9wZXJQYWdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BlclBhZ2UgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMucGVyUGFnZUNoYW5nZS5lbWl0KHRoaXMucGVyUGFnZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2FwOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvcGxheUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2F1dG9wbGF5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBhdXRvcGxheSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b3BsYXk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9wbGF5KHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9hdXRvcGxheSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hdXRvcGxheSA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvcGxheUNoYW5nZS5lbWl0KHRoaXMuYXV0b3BsYXkpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBzbmFwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfc25hcDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgc25hcCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc25hcDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgc25hcCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fc25hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zbmFwID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNuYXBDaGFuZ2UuZW1pdCh0aGlzLnNuYXApO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhdXRvV2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9hdXRvV2lkdGg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgYXV0b1dpZHRoKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvV2lkdGg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGF1dG9XaWR0aCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fYXV0b1dpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2F1dG9XaWR0aCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5hdXRvV2lkdGhDaGFuZ2UuZW1pdCh0aGlzLmF1dG9XaWR0aCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRyYWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZHJhZzogYW55ID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGRyYWcoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZHJhZztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZHJhZyh2OiBhbnkpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fZHJhZykge1xyXG4gICAgICAgICAgICB0aGlzLl9kcmFnID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmRyYWdDaGFuZ2UuZW1pdCh0aGlzLmRyYWcpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB3aGVlbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3doZWVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB3aGVlbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fd2hlZWw7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHdoZWVsKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl93aGVlbCkge1xyXG4gICAgICAgICAgICB0aGlzLl93aGVlbCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy53aGVlbENoYW5nZS5lbWl0KHRoaXMud2hlZWwpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbnRlcnZhbENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pbnRlcnZhbDogbnVtYmVyID0gMzAwMFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaW50ZXJ2YWwoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGludGVydmFsKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5faW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnRlcnZhbENoYW5nZS5lbWl0KHZhbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGFkZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9wYWRkaW5nOiBudW1iZXIgfCBzdHJpbmcgPSAwXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBwYWRkaW5nKCk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHBhZGRpbmcodjogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5fcGFkZGluZykge1xyXG4gICAgICAgICAgICB0aGlzLl9wYWRkaW5nPXY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNlbnRlcmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfY2VudGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGNlbnRlcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jZW50ZXJlZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgY2VudGVyZWQodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2NlbnRlcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NlbnRlcmVkID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY2VudGVyZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jld2luZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2VudGVyZWRDaGFuZ2UuZW1pdCh0aGlzLmNlbnRlcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXdpbmRDaGFuZ2UuZW1pdCh0aGlzLnJld2luZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHZlcnRpY2FsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmVydGljYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHZlcnRpY2FsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgdmVydGljYWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsQ2hhbmdlLmVtaXQodGhpcy52ZXJ0aWNhbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxvb3BDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9sb29wOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb29wO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBsb29wKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb3AgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXdpbmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLnJld2luZENoYW5nZS5lbWl0KHRoaXMucmV3aW5kKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmV3aW5kQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCByZXdpbmQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jld2luZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcmV3aW5kKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9yZXdpbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmV3aW5kID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fcmV3aW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9sb29wID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jZW50ZXJlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmV3aW5kQ2hhbmdlLmVtaXQodGhpcy5yZXdpbmQpO1xyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLmNlbnRlcmVkQ2hhbmdlLmVtaXQodGhpcy5jZW50ZXJlZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBcclxuICAgIHByaXZhdGUgX3Zpc2libGVJbmRleCA6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgZ2V0IHZpc2libGVJbmRleCgpIDogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUluZGV4O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2aXNpYmxlSW5kZXgodiA6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGVJbmRleCA9IHY7XHJcbiAgICB9XHJcbiAgICBcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb25JdGVtc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PEhUTUxEaXZFbGVtZW50W10+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxIVE1MRGl2RWxlbWVudFtdPj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogSFRNTERpdkVsZW1lbnRbXSA9IFtdO1xyXG4gICAgcHVibGljIGdldCBpdGVtcygpOiBIVE1MRGl2RWxlbWVudFtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXMgPz8gW107XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEhUTUxEaXZFbGVtZW50W10pIHtcclxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuaXRlbXMuc2xpY2UoKTtcclxuICAgICAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgICAgICAgdGhpcy5vbkl0ZW1zQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgICAgICAgICAgb2xkVmFsdWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLml0ZW1zXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvcmUubW91bnQodGhpcyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBuZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGFzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUubGFzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXYoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLnByZXYoKTtcclxuICAgIH1cclxuXHJcbiAgICBmaXJzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUuZmlyc3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBnb1RvU2xpZGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5nb1RvU2xpZGUoaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvVG9QYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUuZ29Ub1BhZ2UoaW5kZXgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXQgaG9zdCgpOkhUTUxEaXZFbGVtZW50XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uRGVzdHJveSgpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jb3JlLmRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2Fyb3VzZWwtbGlzdC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYXJvdXNlbC1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtaXRlbVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtYXJyb3dzXCI+XHJcbiAgICA8L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2Fyb3VzZWwtcGFnZXJcIj5cclxuPC9uZy1jb250ZW50PiJdfQ==
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQTZELEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUMvTSxPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBdUIsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RyxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWEvRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBR3pELFlBQ0ksVUFBc0IsRUFDZCxJQUFZLEVBQ3BCLEdBQXNCLEVBQ2QsSUFBb0I7UUFFNUIsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUpmLFNBQUksR0FBSixJQUFJLENBQVE7UUFFWixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQU9oQyxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6RCxtQkFBYyxHQUE4QyxJQUFJLFlBQVksRUFBK0IsQ0FBQztRQUs1RyxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhFLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFrQnJCLGdCQUFXLEdBQXlCLElBQUks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LEtBQUs7Z0JBZU4sR0FBRztzQkFERixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFjQyxVQUFVO3NCQURoQixNQUFNO2dCQUtJLElBQUk7c0JBRGQsS0FBSztnQkFjQyxlQUFlO3NCQURyQixNQUFNO2dCQUtJLFNBQVM7c0JBRG5CLEtBQUs7Z0JBY0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFLSSxJQUFJO3NCQURkLEtBQUs7Z0JBY0MsV0FBVztzQkFEakIsTUFBTTtnQkFLSSxLQUFLO3NCQURmLEtBQUs7Z0JBY0MsY0FBYztzQkFEcEIsTUFBTTtnQkFLSSxRQUFRO3NCQURsQixLQUFLO2dCQWVDLGFBQWE7c0JBRG5CLE1BQU07Z0JBS0ksT0FBTztzQkFEakIsS0FBSztnQkFlQyxjQUFjO3NCQURwQixNQUFNO2dCQUtJLFFBQVE7c0JBRGxCLEtBQUs7Z0JBa0JDLGNBQWM7c0JBRHBCLE1BQU07Z0JBS0ksUUFBUTtzQkFEbEIsS0FBSztnQkFjQyxVQUFVO3NCQURoQixNQUFNO2dCQUtJLElBQUk7c0JBRGQsS0FBSztnQkFrQkMsWUFBWTtzQkFEbEIsTUFBTTtnQkFLSSxNQUFNO3NCQURoQixLQUFLO2dCQWdDQyxjQUFjO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlQ3NzUGl4ZWxWYWx1ZSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBBWENhcm91c2VsLCBBWENhcm91c2VsQ29yZSB9IGZyb20gJy4vY2Fyb3VzZWwuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhcm91c2VsU3BsaWRlSlMgfSBmcm9tICcuL2Nhcm91c2VsLXNwbGlkZWpzLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1jYXJvdXNlbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgaG9zdDogeyBjbGFzczogJ2F4LWNhcm91c2VsJyB9LFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IEFYQ2Fyb3VzZWxDb3JlLFxyXG4gICAgICAgIHVzZUNsYXNzOiBBWENhcm91c2VsU3BsaWRlSlNcclxuICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENhcm91c2VsQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4gaW1wbGVtZW50cyBBWENhcm91c2VsIHtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgY29yZTogQVhDYXJvdXNlbENvcmUsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uT3B0aW9uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvblNsaWRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPj4oKTtcclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBlck1vdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcGVyTW92ZTogbnVtYmVyID0gMVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGVyTW92ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wZXJNb3ZlO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBwZXJNb3ZlKHY6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IE1hdGgubWF4KDEsIGNvZXJjZU51bWJlclByb3BlcnR5KHYpKTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3Blck1vdmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fcGVyTW92ZSA9IHZhbDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3Blck1vdmUgPiAxKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92ZXJ0aWNhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucGVyTW92ZUNoYW5nZS5lbWl0KHRoaXMucGVyTW92ZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGZvY3VzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2ZvY3VzOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGZvY3VzKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBmb2N1cyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9mb2N1cykge1xyXG4gICAgICAgICAgICB0aGlzLl9mb2N1cyA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBicmVha3BvaW50c0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9icmVha3BvaW50czogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGJyZWFrcG9pbnRzKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRzO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBicmVha3BvaW50cyh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAhPSB0aGlzLl9icmVha3BvaW50cykge1xyXG4gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50cyA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBoZWlnaHRSYXRpb0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9oZWlnaHRSYXRpbzogbnVtYmVyID0gMDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBoZWlnaHRSYXRpbygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHRSYXRpbztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0UmF0aW8odjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5faGVpZ2h0UmF0aW8pIHtcclxuICAgICAgICAgICAgdGhpcy5faGVpZ2h0UmF0aW8gPSB2O1xyXG4gICAgICAgICAgICB0aGlzLnBhZGRpbmdDaGFuZ2UuZW1pdCh2KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGhlaWdodENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9oZWlnaHQ6IHN0cmluZyA9ICdhdXRvJ1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaGVpZ2h0KHY6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9oZWlnaHQpIHtcclxuICAgICAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodENoYW5nZS5lbWl0KHRoaXMuaGVpZ2h0KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZml4ZWRIZWlnaHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZml4ZWRIZWlnaHQ6IHN0cmluZyA9ICcnXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBmaXhlZEhlaWdodCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9maXhlZEhlaWdodDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZml4ZWRIZWlnaHQodjogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gdjtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2ZpeGVkSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZpeGVkSGVpZ2h0ID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLmZpeGVkSGVpZ2h0Q2hhbmdlLmVtaXQodGhpcy5maXhlZEhlaWdodCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd2lkdGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfd2lkdGg6IHN0cmluZyA9ICdmaXQtY29udGVudCdcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHdpZHRoKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aWR0aCh2OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fd2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMud2lkdGhDaGFuZ2UuZW1pdCh0aGlzLndpZHRoKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZml4ZWRXaWR0aENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9maXhlZFdpZHRoOiBzdHJpbmcgPSAnJ1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgZml4ZWRXaWR0aCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9maXhlZFdpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBmaXhlZFdpZHRoKHY6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IHY7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9maXhlZFdpZHRoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZpeGVkV2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuZml4ZWRXaWR0aENoYW5nZS5lbWl0KHRoaXMuZml4ZWRXaWR0aCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBlclBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcGVyUGFnZTogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHBlclBhZ2UoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVyUGFnZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcGVyUGFnZSh2OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSB2O1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fcGVyUGFnZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wZXJQYWdlID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnBlclBhZ2VDaGFuZ2UuZW1pdCh0aGlzLnBlclBhZ2UpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdhcDogbnVtYmVyID0gMTA7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYXV0b3BsYXlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9hdXRvcGxheTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgYXV0b3BsYXkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9wbGF5O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBhdXRvcGxheSh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fYXV0b3BsYXkpIHtcclxuICAgICAgICAgICAgdGhpcy5fYXV0b3BsYXkgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmF1dG9wbGF5KTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc25hcENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3NuYXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHNuYXAoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NuYXA7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHNuYXAodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3NuYXApIHtcclxuICAgICAgICAgICAgdGhpcy5fc25hcCA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5zbmFwQ2hhbmdlLmVtaXQodGhpcy5zbmFwKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYXV0b1dpZHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfYXV0b1dpZHRoOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGF1dG9XaWR0aCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b1dpZHRoO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBhdXRvV2lkdGgodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2F1dG9XaWR0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hdXRvV2lkdGggPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b1dpZHRoQ2hhbmdlLmVtaXQodGhpcy5hdXRvV2lkdGgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBkcmFnQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIHByaXZhdGUgX2RyYWc6IGFueSA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkcmFnKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RyYWc7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGRyYWcodjogYW55KSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gdjtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2RyYWcpIHtcclxuICAgICAgICAgICAgdGhpcy5fZHJhZyA9IHZhbDtcclxuICAgICAgICAgICAgdGhpcy5kcmFnQ2hhbmdlLmVtaXQodGhpcy5kcmFnKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd2hlZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF93aGVlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgd2hlZWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3doZWVsO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB3aGVlbCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgICAgIGlmICh2YWwgIT0gdGhpcy5fd2hlZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5fd2hlZWwgPSB2YWw7XHJcbiAgICAgICAgICAgIHRoaXMud2hlZWxDaGFuZ2UuZW1pdCh0aGlzLndoZWVsKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaW50ZXJ2YWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaW50ZXJ2YWw6IG51bWJlciA9IDMwMDBcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGludGVydmFsKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludGVydmFsO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBpbnRlcnZhbCh2OiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2ludGVydmFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWxDaGFuZ2UuZW1pdCh2YWwpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBhZGRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXIgfCBzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcGFkZGluZzogbnVtYmVyIHwgc3RyaW5nID0gMFxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgcGFkZGluZygpOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBwYWRkaW5nKHY6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX3BhZGRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5fcGFkZGluZyA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMucGFkZGluZ0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLm9uT3B0aW9uc0NoYW5nZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNlbnRlcmVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfY2VudGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGNlbnRlcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jZW50ZXJlZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgY2VudGVyZWQodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX2NlbnRlcmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NlbnRlcmVkID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY2VudGVyZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Jld2luZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2VudGVyZWRDaGFuZ2UuZW1pdCh0aGlzLmNlbnRlcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXdpbmRDaGFuZ2UuZW1pdCh0aGlzLnJld2luZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHZlcnRpY2FsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmVydGljYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHZlcnRpY2FsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgdmVydGljYWwodjogYm9vbGVhbikge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTtcclxuICAgICAgICBpZiAodmFsICE9IHRoaXMuX3ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZlcnRpY2FsID0gdmFsO1xyXG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsQ2hhbmdlLmVtaXQodGhpcy52ZXJ0aWNhbCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxvb3BDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9sb29wOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb29wO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBsb29wKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvb3AgPSB2YWw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb29wKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXdpbmQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLnJld2luZENoYW5nZS5lbWl0KHRoaXMucmV3aW5kKTtcclxuICAgICAgICAgICAgdGhpcy5vbk9wdGlvbnNDaGFuZ2VkLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmV3aW5kQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfcmV3aW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCByZXdpbmQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jld2luZDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgcmV3aW5kKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCB2YWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodik7XHJcbiAgICAgICAgaWYgKHZhbCAhPSB0aGlzLl9yZXdpbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmV3aW5kID0gdmFsO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fcmV3aW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9sb29wID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jZW50ZXJlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmV3aW5kQ2hhbmdlLmVtaXQodGhpcy5yZXdpbmQpO1xyXG4gICAgICAgICAgICB0aGlzLmxvb3BDaGFuZ2UuZW1pdCh0aGlzLmxvb3ApO1xyXG4gICAgICAgICAgICB0aGlzLmNlbnRlcmVkQ2hhbmdlLmVtaXQodGhpcy5jZW50ZXJlZCk7XHJcbiAgICAgICAgICAgIHRoaXMub25PcHRpb25zQ2hhbmdlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGdldCB2aXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUluZGV4O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB2aXNpYmxlSW5kZXgodjogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJsZUluZGV4ID0gdjtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIG9uSXRlbXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxIVE1MRGl2RWxlbWVudFtdPj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8SFRNTERpdkVsZW1lbnRbXT4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEhUTUxEaXZFbGVtZW50W10gPSBbXTtcclxuICAgIHB1YmxpYyBnZXQgaXRlbXMoKTogSFRNTERpdkVsZW1lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zID8/IFtdO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBpdGVtcyh2OiBIVE1MRGl2RWxlbWVudFtdKSB7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLml0ZW1zLnNsaWNlKCk7XHJcbiAgICAgICAgdGhpcy5faXRlbXMgPSB2O1xyXG4gICAgICAgIHRoaXMub25JdGVtc0NoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICAgICAgICAgIG9sZFZhbHVlLFxyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5pdGVtc1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jb3JlLm1vdW50KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIG5leHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBsYXN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5sYXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvcmUucHJldigpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpcnN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5maXJzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvVG9TbGlkZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb3JlLmdvVG9TbGlkZShpbmRleCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29Ub1BhZ2UoaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29yZS5nb1RvUGFnZShpbmRleCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldCBob3N0KCk6IEhUTUxEaXZFbGVtZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuY29yZS5kZXN0cm95KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWNhcm91c2VsLWxpc3QtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2Fyb3VzZWwtbGlzdFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNhcm91c2VsLWl0ZW1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNhcm91c2VsLWFycm93c1wiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNhcm91c2VsLXBhZ2VyXCI+XHJcbjwvbmctY29udGVudD4iXX0=
|
|
@@ -8,24 +8,28 @@ export class AXCollapseGroupComponent extends AXBaseComponent {
|
|
|
8
8
|
this.cdr = cdr;
|
|
9
9
|
this.accordion = false;
|
|
10
10
|
this.nonCollapsedIndex = 0;
|
|
11
|
+
this._subs = [];
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
ngAfterViewInit() {
|
|
13
|
+
onViewInit() {
|
|
14
14
|
if (this.accordion) {
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
console.log(this.
|
|
18
|
-
this.
|
|
19
|
-
c1.isCollapsedChange.subscribe(e => {
|
|
15
|
+
this._items.forEach(c => c.isCollapsed = true);
|
|
16
|
+
this._items.get(this.nonCollapsedIndex).isCollapsed = false;
|
|
17
|
+
console.log(this._items[this.nonCollapsedIndex]);
|
|
18
|
+
this._items.forEach((c1) => {
|
|
19
|
+
this._subs.push(c1.isCollapsedChange.subscribe(e => {
|
|
20
20
|
if (!e)
|
|
21
|
-
this.
|
|
22
|
-
});
|
|
21
|
+
this._items.toArray().filter(c2 => c2 != c1).forEach(c => c.isCollapsed = true);
|
|
22
|
+
}));
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
onDestroy() {
|
|
27
|
+
this._subs.forEach(s => s.unsubscribe());
|
|
28
|
+
this._subs = [];
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
AXCollapseGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXCollapseGroupComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
AXCollapseGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: { accordion: "accordion", nonCollapsedIndex: "nonCollapsedIndex" }, host: { classAttribute: "ax-collapse-group" }, queries: [{ propertyName: "
|
|
32
|
+
AXCollapseGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: { accordion: "accordion", nonCollapsedIndex: "nonCollapsedIndex" }, host: { classAttribute: "ax-collapse-group" }, queries: [{ propertyName: "_items", predicate: AXCollapseComponent }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-collapse"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
29
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXCollapseGroupComponent, decorators: [{
|
|
30
34
|
type: Component,
|
|
31
35
|
args: [{
|
|
@@ -39,8 +43,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
39
43
|
type: Input
|
|
40
44
|
}], nonCollapsedIndex: [{
|
|
41
45
|
type: Input
|
|
42
|
-
}],
|
|
46
|
+
}], _items: [{
|
|
43
47
|
type: ContentChildren,
|
|
44
48
|
args: [AXCollapseComponent]
|
|
45
49
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzZS9jb2xsYXBzZS1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFTM0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFZekQsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQzlELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEaUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFNdkIsVUFBSyxHQUFtQixFQUFFLENBQUM7SUFJbkMsQ0FBQztJQUdELFVBQVU7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUF1QixFQUFFLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxDQUFDO3dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3hGLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDUixDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3FIQW5DUSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyTUFNaEIsbUJBQW1CLG9EQVgxQixnREFBZ0Q7MkZBS2pELHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsZ0RBQWdEO29CQUMxRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7aUlBR1ksU0FBUztzQkFBakIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0UsTUFBTTtzQkFEYixlQUFlO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBBWENvbGxhcHNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsYXBzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNvbGxhcHNlLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY29sbGFwc2VcIj48L25nLWNvbnRlbnQ+YCxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1jb2xsYXBzZS1ncm91cCcgfSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sbGFwc2VHcm91cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KCkgYWNjb3JkaW9uID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgbm9uQ29sbGFwc2VkSW5kZXggPSAwO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oQVhDb2xsYXBzZUNvbXBvbmVudClcclxuICAgIHByaXZhdGUgX2l0ZW1zOiBRdWVyeUxpc3Q8QVhDb2xsYXBzZUNvbXBvbmVudD47XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25WaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5faXRlbXMuZm9yRWFjaChjID0+IGMuaXNDb2xsYXBzZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5faXRlbXMuZ2V0KHRoaXMubm9uQ29sbGFwc2VkSW5kZXgpLmlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuX2l0ZW1zW3RoaXMubm9uQ29sbGFwc2VkSW5kZXhdKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zLmZvckVhY2goKGMxOiBBWENvbGxhcHNlQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJzLnB1c2goYzEuaXNDb2xsYXBzZWRDaGFuZ2Uuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faXRlbXMudG9BcnJheSgpLmZpbHRlcihjMiA9PiBjMiAhPSBjMSkuZm9yRWFjaChjID0+IGMuaXNDb2xsYXBzZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgdGhpcy5fc3VicyA9IFtdO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -8,7 +8,7 @@ export class AXCollapseComponent extends AXBaseComponent {
|
|
|
8
8
|
this.cdr = cdr;
|
|
9
9
|
this.isCollapsedChange = new EventEmitter();
|
|
10
10
|
this._isCollapsed = false;
|
|
11
|
-
this.caption =
|
|
11
|
+
this.caption = null;
|
|
12
12
|
}
|
|
13
13
|
get isCollapsed() {
|
|
14
14
|
return this._isCollapsed;
|
|
@@ -20,7 +20,6 @@ export class AXCollapseComponent extends AXBaseComponent {
|
|
|
20
20
|
this._cdr.detectChanges();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
ngOnInit() { }
|
|
24
23
|
handleHeaderClick() {
|
|
25
24
|
this.isCollapsed = !this.isCollapsed;
|
|
26
25
|
}
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
40
39
|
type: ContentChild,
|
|
41
40
|
args: ['header', { static: true }]
|
|
42
41
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzZS9jb2xsYXBzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNlL2NvbGxhcHNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyTCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFTMUMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFFcEQsWUFBWSxVQUFzQixFQUFVLEdBQXNCO1FBQzlELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEaUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFPbEUsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdkQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFldEMsWUFBTyxHQUFVLElBQUksQ0FBQztJQXRCdEIsQ0FBQztJQVFELElBQ1csV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLENBQVU7UUFDN0IsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBV0QsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDekMsQ0FBQzs7Z0hBbkNRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHdWQ1ZoQyxtb0NBd0JNOzJGRGRPLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxhQUFhLFFBRWpCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxtQkFDYix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO2lJQVdyQyxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBS0ksV0FBVztzQkFEckIsS0FBSztnQkFjTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNvbGxhcHNlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2xsYXBzZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtY29sbGFwc2UnIH0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbGxhcHNlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBpc0NvbGxhcHNlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgaXNDb2xsYXBzZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzQ29sbGFwc2VkO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBpc0NvbGxhcHNlZCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5faXNDb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5faXNDb2xsYXBzZWQgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2FwdGlvbjpzdHJpbmcgPSBudWxsO1xyXG5cclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG5cclxuICAgIGhhbmRsZUhlYWRlckNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyXCIgW2NsYXNzLmF4LXN0YXRlLWNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclRlbXBsYXRlO2Vsc2UgaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWN1c3RvbS1oZWFkZXItY29udGFpbmVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHtjYXB0aW9uLGlzQ29sbGFwc2VkfSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItY29udGFpbmVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKClcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC1jb2xsYXBzZS1hcnJvdyBheC10cmFuc2l0aW9uLWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXJvdGF0ZS05MF09XCJpc0NvbGxhcHNlZFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7Y2FwdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1ib2R5IGF4LXRyYW5zaXRpb24tYWxsXCIgKm5nSWY9XCIhaXNDb2xsYXBzZWRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+Il19
|
|
@@ -24,8 +24,13 @@ export class AXDatePickerComponent extends AXBaseDatePickerMixin {
|
|
|
24
24
|
this._isMobile = false;
|
|
25
25
|
this.formatChange = new EventEmitter();
|
|
26
26
|
this._format = 'YYYY-MM-dd';
|
|
27
|
+
this.interface = 'calendar';
|
|
27
28
|
this._target = this._getHostElement();
|
|
28
29
|
this._isMobile = this._platform.is('Mobile');
|
|
30
|
+
this._platform.resize.subscribe(() => {
|
|
31
|
+
this._isMobile = this._platform.is('Mobile');
|
|
32
|
+
this.popover.dispose();
|
|
33
|
+
});
|
|
29
34
|
}
|
|
30
35
|
get format() {
|
|
31
36
|
return this._format;
|
|
@@ -158,10 +163,10 @@ export class AXDatePickerComponent extends AXBaseDatePickerMixin {
|
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
165
|
AXDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
|
|
161
|
-
AXDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", format: "format" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", formatChange: "formatChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "_calendar", first: true, predicate: AXCalendarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\">\r\n <input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\" (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\">\r\n</div>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-calendar-options\">\r\n
|
|
166
|
+
AXDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", format: "format", interface: "interface" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", formatChange: "formatChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "_calendar", first: true, predicate: AXCalendarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\">\r\n <input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\" [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\r\n [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\" (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\">\r\n</div>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-calendar-options\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\" (onOpened)=\"_handlePopoverOpened($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\r\n <div *ngIf=\"_isMobile\" class=\"ax-header\">\r\n <span >{{placeholder || 'Choose a date'}}</span>\r\n <i class=\"ax-ic ax-ic-close \"\r\n (click)=\"close()\" tabindex=\"1\"></i>\r\n </div>\r\n <ng-container *ngIf=\"interface === 'calendar'; then calendarTemplate; else pickerTemplate\"></ng-container>\r\n <ng-template #calendarTemplate>\r\n <ax-calendar #calendar [disabled]=\"disabled\" [readonly]=\"readonly\" \r\n [(value)]=\"value\" \r\n [min]=\"min\" \r\n [max]=\"max\"\r\n [disabledDates]=\"disabledDates\" \r\n [holidayDates]=\"holidayDates\" \r\n [depth]=\"depth\" \r\n (onNavigate)=\"_handleOnNavigate($event)\"\r\n [type]=\"type\">\r\n </ax-calendar>\r\n </ng-template>\r\n <ng-template #pickerTemplate>\r\n </ng-template>\r\n \r\n </div>\r\n</ax-popover>", components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "color", "look", "text", "submitBehavior", "cancelBehavior", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i3.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass"], outputs: ["onOpened", "onClosed"] }, { type: i5.AXCalendarComponent, selector: "ax-calendar", inputs: ["readonly", "allowNull", "value", "debounceTime", "name", "checked", "disabled", "tabIndex", "depth", "activeView", "min", "max", "disabledDates", "type", "holidayDates", "interface"], outputs: ["valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "disabledDatesChange", "holidayDatesChange", "onNavigate"] }], directives: [{ type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
162
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXDatePickerComponent, decorators: [{
|
|
163
168
|
type: Component,
|
|
164
|
-
args: [{ selector: 'ax-date-picker', inputs: [...DROPDOWN_INPUTS, ...INTERACTIVE_INPUTS, ...VALUE_INPUTS, ...TEXTBOX_INPUTS, ...CALENDAR_INPUTS], outputs: [...DROPDOWN_OUTPUT, ...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT, ...TEXTBOX_OUTPUT, ...CALENDAR_OUTPUTS], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\">\r\n <input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\" [tabindex]=\"tabIndex\"\r\n [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\" (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\">\r\n</div>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-calendar-options\">\r\n
|
|
169
|
+
args: [{ selector: 'ax-date-picker', inputs: [...DROPDOWN_INPUTS, ...INTERACTIVE_INPUTS, ...VALUE_INPUTS, ...TEXTBOX_INPUTS, ...CALENDAR_INPUTS], outputs: [...DROPDOWN_OUTPUT, ...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT, ...TEXTBOX_OUTPUT, ...CALENDAR_OUTPUTS], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\">\r\n <input class=\"ax-input\" type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\" [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\r\n [ngModel]=\"displayText\" (focus)=\"_emitOnFocusEvent($event)\" (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\" (keydown)=\"_handleOnKeydownEvent($event)\">\r\n</div>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-calendar-options\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\" (onOpened)=\"_handlePopoverOpened($event)\">\r\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\r\n <div *ngIf=\"_isMobile\" class=\"ax-header\">\r\n <span >{{placeholder || 'Choose a date'}}</span>\r\n <i class=\"ax-ic ax-ic-close \"\r\n (click)=\"close()\" tabindex=\"1\"></i>\r\n </div>\r\n <ng-container *ngIf=\"interface === 'calendar'; then calendarTemplate; else pickerTemplate\"></ng-container>\r\n <ng-template #calendarTemplate>\r\n <ax-calendar #calendar [disabled]=\"disabled\" [readonly]=\"readonly\" \r\n [(value)]=\"value\" \r\n [min]=\"min\" \r\n [max]=\"max\"\r\n [disabledDates]=\"disabledDates\" \r\n [holidayDates]=\"holidayDates\" \r\n [depth]=\"depth\" \r\n (onNavigate)=\"_handleOnNavigate($event)\"\r\n [type]=\"type\">\r\n </ax-calendar>\r\n </ng-template>\r\n <ng-template #pickerTemplate>\r\n </ng-template>\r\n \r\n </div>\r\n</ax-popover>" }]
|
|
165
170
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
|
|
166
171
|
type: ViewChild,
|
|
167
172
|
args: [AXPopoverComponent, { static: true }]
|
|
@@ -174,5 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
174
179
|
type: Input
|
|
175
180
|
}], placeholder: [{
|
|
176
181
|
type: Input
|
|
182
|
+
}], interface: [{
|
|
183
|
+
type: Input
|
|
177
184
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUEyQixNQUFNLG1DQUFtQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBMkIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQUdsRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsMkJB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QUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQ2xHLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLGdCQUFnQixDQUFDLG1CQUM1Rix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFOzBKQU1uRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl2QyxTQUFTO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFhaEQsWUFBWTtzQkFEWCxNQUFNO2dCQUtJLE1BQU07c0JBRGhCLEtBQUs7Z0JBYU4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhQbGF0Zm9ybSwgQVhTdHJpbmdVdGlsLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhDbGlja0V2ZW50LCBBWENvbXBvbmVudE9wdGlvbkNoYW5nZWQgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgRFJPUERPV05fSU5QVVRTLCBEUk9QRE9XTl9PVVRQVVQsIF9Ecm9wZG93bkNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vZHJvcGRvd24tbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBJTlRFUkFDVElWRV9JTlBVVFMsIElOVEVSQUNUSVZFX09VVFBVVCwgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9TaXphYmxlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9zaXphYmxlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVEVYVEJPWF9JTlBVVFMsIFRFWFRCT1hfT1VUUFVULCBfVGV4dGJveENvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdGV4dGJveC1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVULCBfVmFsdWVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL3ZhbHVlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhckJhc2VDb21wb25lbnQsIEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50LCBDQUxFTkRBUl9JTlBVVFMsIENBTEVOREFSX09VVFBVVFMgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQnO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VEYXRlUGlja2VyTWl4aW4gPVxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICAgIF9Ecm9wZG93bkNvbXBvbmVuZXRNaXhpbihcclxuICAgICAgX1ZhbHVlQ29tcG9uZW5ldE1peGluKFxyXG4gICAgICAgIEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50XHJcbiAgICAgIClcclxuICAgIClcclxuICApO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFsuLi5EUk9QRE9XTl9JTlBVVFMsIC4uLklOVEVSQUNUSVZFX0lOUFVUUywgLi4uVkFMVUVfSU5QVVRTLCAuLi5URVhUQk9YX0lOUFVUUywgLi4uQ0FMRU5EQVJfSU5QVVRTXSxcclxuICBvdXRwdXRzOiBbLi4uRFJPUERPV05fT1VUUFVULCAuLi5JTlRFUkFDVElWRV9PVVRQVVQsIC4uLlZBTFVFX09VVFBVVCwgLi4uVEVYVEJPWF9PVVRQVVQsIC4uLkNBTEVOREFSX09VVFBVVFNdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogJ2F4LWVkaXRvci1jb250YWluZXIgYXgtZHJvcC1kb3duJyB9LFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZURhdGVQaWNrZXJNaXhpbiB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQVhQb3BvdmVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChBWENhbGVuZGFyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgX2NhbGVuZGFyOiBBWENhbGVuZGFyQ29tcG9uZW50O1xyXG5cclxuICBfdGFyZ2V0OiBIVE1MRGl2RWxlbWVudDtcclxuICBkaXNwbGF5VGV4dDogc3RyaW5nO1xyXG4gIF9jYWxlbmRhclZhbHVlOiBEYXRlO1xyXG4gIF9jdXJzb3JQb3M6IG51bWJlciA9IDA7XHJcbiAgX2lzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgX3BvcG92ZXJUaXRsZTogc3RyaW5nO1xyXG4gIF9wb3BvdmVyV2lkdGg6IG51bWJlcjtcclxuXHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGZvcm1hdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBwcml2YXRlIF9mb3JtYXQ6IHN0cmluZyA9ICdZWVlZLU1NLWRkJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgZm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGZvcm1hdCh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgIG5hbWU6ICdmb3JtYXQnLFxyXG4gICAgICB2YWx1ZTogdlxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybSxcclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcclxuICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICB9XHJcblxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wb3BvdmVyVGl0bGUgPSB0aGlzLnBsYWNlaG9sZGVyIHx8IEFYVHJhbnNsYXRvci5nZXQoJ2RhdGVwaWNrZXIucG9wb3Zlci50aXRsZScpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVEaXNwbGF5VGV4dCgpIHtcclxuICAgIHRoaXMuZGlzcGxheVRleHQgPSB0aGlzLnZhbHVlID8gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMudmFsdWUsIHRoaXMudHlwZSkuZm9ybWF0KHRoaXMuX2Zvcm1hdCkgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVBvcG92ZXJPcGVuZWQoZSkge1xyXG4gICAgdGhpcy5fY2FsZW5kYXIubmF2VG8odGhpcy52YWx1ZSB8fCBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLHRoaXMudHlwZSkpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUFycm93Q2xpY2tFdmVudChlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMudG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLl91cGRhdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xyXG4gICAgc3VwZXIuX29uT3B0aW9uQ2hhbmdlZChvcHRpb24pO1xyXG4gICAgaWYgKG9wdGlvbi5uYW1lID09ICd0eXBlJykge1xyXG4gICAgICB0aGlzLl91cGRhdGVEaXNwbGF5VGV4dCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpZ25vcmUgPSAoKSA9PiB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgbnVtczogc3RyaW5nW10gPSBBcnJheSgxMCkuZmlsbCgwKS5tYXAoKHYsIGkpID0+IGkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBjaGFyczogc3RyaW5nW10gPSBbJ0JhY2tzcGFjZScsICdBcnJvd0Rvd24nLCAnQXJyb3dVcCcsICdBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdUYWInLCAnRW50ZXInXTtcclxuICAgIGNvbnN0IGlucHV0ID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xyXG4gICAgY29uc3Qga2V5ID0gKGUua2V5KTtcclxuICAgIGNvbnN0IHZhbFN0ciA9IGlucHV0LnZhbHVlO1xyXG4gICAgY29uc3Qgc1N0YXJ0ID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICBjb25zdCBzRW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kO1xyXG4gICAgY29uc3QgZGF0ZVZhbCA9IG5ldyBBWERhdGVUaW1lKHRoaXMudmFsdWUpO1xyXG4gICAgLy9cclxuICAgIGNvbnN0IHJlID0gL1thLXpBLVowLTldKy9pZztcclxuICAgIGNvbnN0IHBhcnRzID0gQXJyYXkuZnJvbSh0aGlzLmZvcm1hdC5tYXRjaEFsbChyZSkpO1xyXG4gICAgY29uc3Qgd29yZCA9IHZhbFN0ci5zdWJzdHJpbmcoc1N0YXJ0LCBzRW5kKTtcclxuICAgIGNvbnN0IHBhcnQgPSBwYXJ0cy5maW5kKGMgPT4gYy5pbmRleCA+PSBzU3RhcnQpO1xyXG4gICAgLy9cclxuICAgIC8vXHJcbiAgICBpZiAoWy4uLm51bXNdLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgaWYgKHBhcnQpIHtcclxuICAgICAgICBzd2l0Y2ggKHBhcnRbMF0pIHtcclxuICAgICAgICAgIGNhc2UgJ2RkJzpcclxuICAgICAgICAgIGNhc2UgJ0REJzpcclxuICAgICAgICAgICAgY29uc3QgbmV3VmFsID0gTWF0aC5tYXgoMSwgTWF0aC5taW4oMzEsIE51bWJlcih3b3JkICsgZS5rZXkpKSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLnNldCgnZGF5JywgbmV3VmFsKS5kYXRlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ21tJzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICd5eSc6XHJcbiAgICAgICAgICBjYXNlICdZWVlZJzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgc1N0YXJ0KTtcclxuICAgICAgICB9LCBNYXRoLm1heCgxMCwgdGhpcy5kZWJvdW5jZVRpbWUpKTtcclxuICAgICAgICBpZ25vcmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHtcclxuICAgICAgY29uc3QgbmV4dCA9IEFycmF5LmZyb20odmFsU3RyLnN1YnN0cihzRW5kKS5tYXRjaEFsbChyZSkpO1xyXG4gICAgICBjb25zdCBwcmV2ID0gQXJyYXkuZnJvbSh2YWxTdHIuc3Vic3RyaW5nKDAsIHNTdGFydCkubWF0Y2hBbGwocmUpKTtcclxuICAgICAgaWdub3JlKCk7XHJcbiAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIChlLmtleSA9PT0gJ0Fycm93UmlnaHQnID8gKHNFbmQgKyAobmV4dFswXT8uaW5kZXggfHwgMCkpIDogKHByZXZbcHJldi5sZW5ndGggLSAxXT8uaW5kZXgpKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICBpZiAoZS5jdHJsS2V5ICYmIGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHNpZ24gPSBlLmtleSA9PT0gJ0Fycm93VXAnID8gKzEgOiAtMTtcclxuICAgICAgICBpZiAocGFydCkge1xyXG4gICAgICAgICAgc3dpdGNoIChwYXJ0WzBdKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RkJzpcclxuICAgICAgICAgICAgY2FzZSAnREQnOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgnZGF5Jywgc2lnbikuZGF0ZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnbW0nOlxyXG4gICAgICAgICAgICBjYXNlICdNTU0nOlxyXG4gICAgICAgICAgICBjYXNlICdNTU1NJzpcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5hZGQoJ21vbnRoJywgc2lnbikuZGF0ZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAneXknOlxyXG4gICAgICAgICAgICBjYXNlICdZWVlZJzpcclxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5hZGQoJ3llYXInLCBzaWduKS5kYXRlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIHNTdGFydCk7XHJcbiAgICAgICAgICB9LCBNYXRoLm1heCgxMCwgdGhpcy5kZWJvdW5jZVRpbWUpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWdub3JlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlLmtleSA9PSAnQmFja3NwYWNlJykge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd051bGwpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBpZ25vcmUoKTtcclxuICAgIH1cclxuICAgIC8vIGVsc2UgaWYgKG51bXMuaW5jbHVkZXMoa2V5KSkge1xyXG5cclxuICAgIC8vIH1cclxuICAgIC8vIHN1cGVyLl9lbWl0T25LZXlkb3duRXZlbnQoZSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIF9oYW5kbGVPbklucHV0Q2xpY2tFdmVudChlOiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dCA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KTtcclxuICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVPbk5hdmlnYXRlKGU6IEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50KSB7XHJcbiAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChlKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9oaWdobGlnaHRQYXJ0KGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LCBwb3M/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gQVhTdHJpbmdVdGlsLmdldFdvcmRCb3VuZHNBdFBvc2l0aW9uKGlucHV0LnZhbHVlLCBwb3MgIT0gbnVsbCA/IHBvcyA6IGlucHV0LnNlbGVjdGlvblN0YXJ0KTtcclxuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBlbmQpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48ZGl2IGNsYXNzPVwiYXgtZHJvcGRvd24tY29udGVudFwiPlxyXG4gICAgPGlucHV0IGNsYXNzPVwiYXgtaW5wdXRcIiB0eXBlPVwidGV4dFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cImRpc3BsYXlUZXh0XCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAobW91c2V1cCk9XCJfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCIgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIj5cclxuPC9kaXY+XHJcbjxheC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYkluZGV4XT1cIi0xXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1jYWxlbmRhci1vcHRpb25zXCI+XHJcblxyXG48L25nLWNvbnRlbnQ+XHJcbjxheC1wb3BvdmVyIFt0YXJnZXRdPVwiX3RhcmdldFwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtvcGVuVHJpZ2dlcl09XCInbWFudWFsJ1wiIFtjbG9zZVRyaWdnZXJdPVwiJ2NsaWNrb3V0J1wiIChvbk9wZW5lZCk9XCJfaGFuZGxlUG9wb3Zlck9wZW5lZCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lIGF4LXctODBcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiX2lzTW9iaWxlXCIgY2xhc3M9XCJheC1vdmVybGF5LXBhbmUtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuID57e3BsYWNlaG9sZGVyIHx8ICdDaG9vc2UgYSBkYXRlJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljIGF4LWljLWNsb3NlIFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiIHRhYmluZGV4PVwiMVwiPjwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXgtY2FsZW5kYXIgI2NhbGVuZGFyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFxyXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJ2YWx1ZVwiIFxyXG4gICAgICAgICAgICBbbWluXT1cIm1pblwiIFxyXG4gICAgICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIiBcclxuICAgICAgICAgICAgW2hvbGlkYXlEYXRlc109XCJob2xpZGF5RGF0ZXNcIiBcclxuICAgICAgICAgICAgW2RlcHRoXT1cImRlcHRoXCIgXHJcbiAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIl9oYW5kbGVPbk5hdmlnYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgPC9heC1jYWxlbmRhcj5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBR3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVILE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUEyQixNQUFNLG1DQUFtQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBMkIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQUdsRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsMkJB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LGlCQUFpQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDOztrSEE1TFUscUJBQXFCO3NHQUFyQixxQkFBcUIsOGhDQUVyQixrQkFBa0IsMEZBR2xCLG1CQUFtQixxRkNoRGhDLHdwRUF5Q2E7MkZERUEscUJBQXFCO2tCQVZqQyxTQUFTOytCQUNFLGdCQUFnQixVQUVsQixDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxlQUFlLENBQUMsV0FDbEcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsbUJBQzVGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7MEpBTW5ELE9BQU87c0JBRE4sU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWFoRCxZQUFZO3NCQURYLE1BQU07Z0JBS0ksTUFBTTtzQkFEaEIsS0FBSztnQkFhTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhQbGF0Zm9ybSwgQVhTdHJpbmdVdGlsLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWENsaWNrRXZlbnQsIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEUk9QRE9XTl9JTlBVVFMsIERST1BET1dOX09VVFBVVCwgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgX1NpemFibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL3NpemFibGUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBURVhUQk9YX0lOUFVUUywgVEVYVEJPWF9PVVRQVVQsIF9UZXh0Ym94Q29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVkFMVUVfSU5QVVRTLCBWQUxVRV9PVVRQVVQsIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBBWENhbGVuZGFyQmFzZUNvbXBvbmVudCwgQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQsIENBTEVOREFSX0lOUFVUUywgQ0FMRU5EQVJfT1VUUFVUUyB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLmNsYXNzJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZURhdGVQaWNrZXJNaXhpbiA9XHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKFxyXG4gICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKFxyXG4gICAgICBfVmFsdWVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgQVhDYWxlbmRhckJhc2VDb21wb25lbnRcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogWy4uLkRST1BET1dOX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5WQUxVRV9JTlBVVFMsIC4uLlRFWFRCT1hfSU5QVVRTLCAuLi5DQUxFTkRBUl9JTlBVVFNdLFxyXG4gIG91dHB1dHM6IFsuLi5EUk9QRE9XTl9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uVkFMVUVfT1VUUFVULCAuLi5URVhUQk9YX09VVFBVVCwgLi4uQ0FMRU5EQVJfT1VUUFVUU10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH0sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlRGF0ZVBpY2tlck1peGluIHtcclxuXHJcbiAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKEFYQ2FsZW5kYXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY2FsZW5kYXI6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XHJcblxyXG4gIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmc7XHJcbiAgX2NhbGVuZGFyVmFsdWU6IERhdGU7XHJcbiAgX2N1cnNvclBvczogbnVtYmVyID0gMDtcclxuICBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfcG9wb3ZlclRpdGxlOiBzdHJpbmc7XHJcbiAgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xyXG5cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZm9ybWF0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHByaXZhdGUgX2Zvcm1hdDogc3RyaW5nID0gJ1lZWVktTU0tZGQnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgZm9ybWF0KHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2V0T3B0aW9uKHtcclxuICAgICAgbmFtZTogJ2Zvcm1hdCcsXHJcbiAgICAgIHZhbHVlOiB2XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaW50ZXJmYWNlOiAnY2FsZW5kYXInIHwgJ3BpY2tlcicgPSAnY2FsZW5kYXInXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgdGhpcy5fdGFyZ2V0ID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcclxuICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgdGhpcy5fcGxhdGZvcm0ucmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICB0aGlzLnBvcG92ZXIuZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcG9wb3ZlclRpdGxlID0gdGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdkYXRlcGlja2VyLnBvcG92ZXIudGl0bGUnKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheVRleHQoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlUZXh0ID0gdGhpcy52YWx1ZSA/IEFYRGF0ZVRpbWUuY29udmVydCh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpLmZvcm1hdCh0aGlzLl9mb3JtYXQpIDogbnVsbDtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVQb3BvdmVyT3BlbmVkKGUpIHtcclxuICAgIHRoaXMuX2NhbGVuZGFyLm5hdlRvKHRoaXMudmFsdWUgfHwgbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgdGhpcy50eXBlKSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcclxuICAgIHRoaXMuX3VwZGF0ZURpc3BsYXlUZXh0KCk7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBfb25PcHRpb25DaGFuZ2VkKG9wdGlvbjogQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkKTogdm9pZCB7XHJcbiAgICBzdXBlci5fb25PcHRpb25DaGFuZ2VkKG9wdGlvbik7XHJcbiAgICBpZiAob3B0aW9uLm5hbWUgPT0gJ3R5cGUnKSB7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZURpc3BsYXlUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBudW1zOiBzdHJpbmdbXSA9IEFycmF5KDEwKS5maWxsKDApLm1hcCgodiwgaSkgPT4gaS50b1N0cmluZygpKTtcclxuICAgIGNvbnN0IGNoYXJzOiBzdHJpbmdbXSA9IFsnQmFja3NwYWNlJywgJ0Fycm93RG93bicsICdBcnJvd1VwJywgJ0Fycm93UmlnaHQnLCAnQXJyb3dMZWZ0JywgJ1RhYicsICdFbnRlciddO1xyXG4gICAgY29uc3QgaW5wdXQgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk7XHJcbiAgICBjb25zdCBrZXkgPSAoZS5rZXkpO1xyXG4gICAgY29uc3QgdmFsU3RyID0gaW5wdXQudmFsdWU7XHJcbiAgICBjb25zdCBzU3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydDtcclxuICAgIGNvbnN0IHNFbmQgPSBpbnB1dC5zZWxlY3Rpb25FbmQ7XHJcbiAgICBjb25zdCBkYXRlVmFsID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSk7XHJcbiAgICAvL1xyXG4gICAgY29uc3QgcmUgPSAvW2EtekEtWjAtOV0rL2lnO1xyXG4gICAgY29uc3QgcGFydHMgPSBBcnJheS5mcm9tKHRoaXMuZm9ybWF0Lm1hdGNoQWxsKHJlKSk7XHJcbiAgICBjb25zdCB3b3JkID0gdmFsU3RyLnN1YnN0cmluZyhzU3RhcnQsIHNFbmQpO1xyXG4gICAgY29uc3QgcGFydCA9IHBhcnRzLmZpbmQoYyA9PiBjLmluZGV4ID49IHNTdGFydCk7XHJcbiAgICAvL1xyXG4gICAgLy9cclxuICAgIGlmIChbLi4ubnVtc10uaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICBpZiAocGFydCkge1xyXG4gICAgICAgIHN3aXRjaCAocGFydFswXSkge1xyXG4gICAgICAgICAgY2FzZSAnZGQnOlxyXG4gICAgICAgICAgY2FzZSAnREQnOlxyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWwgPSBNYXRoLm1heCgxLCBNYXRoLm1pbigzMSwgTnVtYmVyKHdvcmQgKyBlLmtleSkpKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuc2V0KCdkYXknLCBuZXdWYWwpLmRhdGU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnbW0nOlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3l5JzpcclxuICAgICAgICAgIGNhc2UgJ1lZWVknOlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0LCBzU3RhcnQpO1xyXG4gICAgICAgIH0sIE1hdGgubWF4KDEwLCB0aGlzLmRlYm91bmNlVGltZSkpO1xyXG4gICAgICAgIGlnbm9yZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGUua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xyXG4gICAgICBjb25zdCBuZXh0ID0gQXJyYXkuZnJvbSh2YWxTdHIuc3Vic3RyKHNFbmQpLm1hdGNoQWxsKHJlKSk7XHJcbiAgICAgIGNvbnN0IHByZXYgPSBBcnJheS5mcm9tKHZhbFN0ci5zdWJzdHJpbmcoMCwgc1N0YXJ0KS5tYXRjaEFsbChyZSkpO1xyXG4gICAgICBpZ25vcmUoKTtcclxuICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgKGUua2V5ID09PSAnQXJyb3dSaWdodCcgPyAoc0VuZCArIChuZXh0WzBdPy5pbmRleCB8fCAwKSkgOiAocHJldltwcmV2Lmxlbmd0aCAtIDFdPy5pbmRleCkpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIGlmIChlLmN0cmxLZXkgJiYgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgc2lnbiA9IGUua2V5ID09PSAnQXJyb3dVcCcgPyArMSA6IC0xO1xyXG4gICAgICAgIGlmIChwYXJ0KSB7XHJcbiAgICAgICAgICBzd2l0Y2ggKHBhcnRbMF0pIHtcclxuICAgICAgICAgICAgY2FzZSAnZGQnOlxyXG4gICAgICAgICAgICBjYXNlICdERCc6XHJcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdkYXknLCBzaWduKS5kYXRlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdtbSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ01NTSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ01NTU0nOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgnbW9udGgnLCBzaWduKS5kYXRlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICd5eSc6XHJcbiAgICAgICAgICAgIGNhc2UgJ1lZWVknOlxyXG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsLmFkZCgneWVhcicsIHNpZ24pLmRhdGU7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgc1N0YXJ0KTtcclxuICAgICAgICAgIH0sIE1hdGgubWF4KDEwLCB0aGlzLmRlYm91bmNlVGltZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZ25vcmUoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGUua2V5ID09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlnbm9yZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gZWxzZSBpZiAobnVtcy5pbmNsdWRlcyhrZXkpKSB7XHJcblxyXG4gICAgLy8gfVxyXG4gICAgLy8gc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgX2hhbmRsZU9uSW5wdXRDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xyXG4gICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZU9uTmF2aWdhdGUoZTogQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQpIHtcclxuICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KGUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodFBhcnQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvcz86IG51bWJlcikge1xyXG4gICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBBWFN0cmluZ1V0aWwuZ2V0V29yZEJvdW5kc0F0UG9zaXRpb24oaW5wdXQudmFsdWUsIHBvcyAhPSBudWxsID8gcG9zIDogaW5wdXQuc2VsZWN0aW9uU3RhcnQpO1xyXG4gICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIGVuZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxkaXYgY2xhc3M9XCJheC1kcm9wZG93bi1jb250ZW50XCI+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtjbGFzcy5heC1zdGF0ZS1yZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFthdHRyLnRhYmluZGV4XT1cIl9pc01vYmlsZSA/IC0xIDogdGFiSW5kZXhcIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cImRpc3BsYXlUZXh0XCIgKGZvY3VzKT1cIl9lbWl0T25Gb2N1c0V2ZW50KCRldmVudClcIiAobW91c2V1cCk9XCJfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCIgKGtleWRvd24pPVwiX2hhbmRsZU9uS2V5ZG93bkV2ZW50KCRldmVudClcIj5cclxuPC9kaXY+XHJcbjxheC1idXR0b24gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3RhYkluZGV4XT1cIi0xXCIgY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1jYWxlbmRhci1vcHRpb25zXCI+XHJcbjwvbmctY29udGVudD5cclxuPGF4LXBvcG92ZXIgW3RhcmdldF09XCJfdGFyZ2V0XCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgW29wZW5UcmlnZ2VyXT1cIidtYW51YWwnXCIgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCIgKG9uT3BlbmVkKT1cIl9oYW5kbGVQb3BvdmVyT3BlbmVkKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiBbY2xhc3MuYXgtdy1mdWxsXT1cIl9pc01vYmlsZVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJfaXNNb2JpbGVcIiBjbGFzcz1cImF4LWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiA+e3twbGFjZWhvbGRlciB8fCAnQ2hvb3NlIGEgZGF0ZSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pYyBheC1pYy1jbG9zZSBcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIiB0YWJpbmRleD1cIjFcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVyZmFjZSA9PT0gJ2NhbGVuZGFyJzsgdGhlbiBjYWxlbmRhclRlbXBsYXRlOyBlbHNlIHBpY2tlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjYWxlbmRhclRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8YXgtY2FsZW5kYXIgI2NhbGVuZGFyIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFxyXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJ2YWx1ZVwiIFxyXG4gICAgICAgICAgICBbbWluXT1cIm1pblwiIFxyXG4gICAgICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZERhdGVzXT1cImRpc2FibGVkRGF0ZXNcIiBcclxuICAgICAgICAgICAgW2hvbGlkYXlEYXRlc109XCJob2xpZGF5RGF0ZXNcIiBcclxuICAgICAgICAgICAgW2RlcHRoXT1cImRlcHRoXCIgXHJcbiAgICAgICAgICAgIChvbk5hdmlnYXRlKT1cIl9oYW5kbGVPbk5hdmlnYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCI+XHJcbiAgICAgICAgPC9heC1jYWxlbmRhcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGlja2VyVGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICBcclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
|