@colijnit/corecomponents_v12 12.2.12 → 12.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-corecomponents_v12.umd.js +723 -281
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.d.ts +11 -7
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/colijnit-corecomponents_v12.js +12 -8
- package/esm2015/lib/components/base/dialog-base.component.js +6 -0
- package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +79 -0
- package/esm2015/lib/components/core-dialog/core-dialog.module.js +39 -0
- package/esm2015/lib/components/core-dialog/core-dialog.service.js +67 -0
- package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +93 -0
- package/esm2015/lib/components/filter-item/filter-item.component.js +145 -145
- package/esm2015/lib/components/input-scanner/bar-code-scanner.js +23 -0
- package/esm2015/lib/components/input-scanner/input-scanner.component.js +69 -0
- package/esm2015/lib/components/input-scanner/input-scanner.module.js +21 -0
- package/esm2015/lib/components/input-scanner/scanner.service.js +28 -0
- package/esm2015/lib/components/input-search/input-search.component.js +2 -1
- package/esm2015/lib/components/input-text/input-text.component.js +2 -1
- package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +37 -27
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +55 -35
- package/esm2015/lib/components/simple-grid/simple-grid.module.js +4 -2
- package/esm2015/lib/components/validation-error/validation-error.component.js +6 -6
- package/esm2015/lib/core/enum/core-components-icon.enum.js +2 -1
- package/esm2015/lib/core/model/core-components-icon-svg.js +2 -1
- package/esm2015/lib/interfaces/dialog-response.interface.js +2 -0
- package/esm2015/lib/interfaces/scanner-input.interface.js +2 -0
- package/esm2015/lib/model/enum/app-button-type.enum.js +11 -0
- package/esm2015/lib/model/enum/app-popup-type.enum.js +8 -0
- package/esm2015/lib/translation/core-components-translation.module.js +6 -6
- package/esm2015/lib/translation/core-components-translation.service.js +3 -3
- package/esm2015/lib/translation/core-dictionary.service.js +29 -0
- package/esm2015/lib/translation/core-localize.pipe.js +26 -0
- package/esm2015/public-api.js +16 -11
- package/fesm2015/colijnit-corecomponents_v12.js +870 -425
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/base/dialog-base.component.d.ts +4 -0
- package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -0
- package/lib/components/core-dialog/confirmation-dialog/style/_layout.scss +30 -0
- package/lib/components/core-dialog/confirmation-dialog/style/_material-definition.scss +2 -0
- package/lib/components/core-dialog/confirmation-dialog/style/_theme.scss +6 -0
- package/lib/components/core-dialog/confirmation-dialog/style/material.scss +4 -0
- package/lib/components/core-dialog/core-dialog.module.d.ts +4 -0
- package/lib/components/core-dialog/core-dialog.service.d.ts +15 -0
- package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -0
- package/lib/components/core-dialog/style/_layout.scss +6 -0
- package/lib/components/core-dialog/style/_material-definition.scss +0 -0
- package/lib/components/core-dialog/style/_theme.scss +6 -0
- package/lib/components/core-dialog/style/material.scss +4 -0
- package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -0
- package/lib/components/input-scanner/input-scanner.component.d.ts +23 -0
- package/lib/components/input-scanner/input-scanner.module.d.ts +2 -0
- package/lib/components/input-scanner/scanner.service.d.ts +11 -0
- package/lib/components/input-scanner/style/_layout.scss +4 -0
- package/lib/components/input-scanner/style/_material-definition.scss +0 -0
- package/lib/components/input-scanner/style/_theme.scss +4 -0
- package/lib/components/input-scanner/style/material.scss +4 -0
- package/lib/components/simple-grid/simple-grid-cell.component.d.ts +4 -2
- package/lib/components/simple-grid/simple-grid.component.d.ts +5 -3
- package/lib/components/simple-grid/style/_layout.scss +30 -4
- package/lib/components/simple-grid/style/_material-definition.scss +9 -2
- package/lib/components/simple-grid/style/_theme.scss +3 -0
- package/lib/core/enum/core-components-icon.enum.d.ts +1 -0
- package/lib/interfaces/dialog-response.interface.d.ts +6 -0
- package/lib/interfaces/scanner-input.interface.d.ts +3 -0
- package/lib/model/enum/app-button-type.enum.d.ts +9 -0
- package/lib/model/enum/app-popup-type.enum.d.ts +6 -0
- package/lib/translation/core-components-translation.service.d.ts +2 -2
- package/lib/translation/{dictionary.service.d.ts → core-dictionary.service.d.ts} +1 -1
- package/lib/translation/core-localize.pipe.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +15 -10
- package/esm2015/lib/translation/dictionary.service.js +0 -29
- package/esm2015/lib/translation/localize.pipe.js +0 -26
- package/lib/translation/localize.pipe.d.ts +0 -7
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { ScannerService } from './scanner.service';
|
|
3
|
+
import { OverlayService } from '../../service/overlay.service';
|
|
4
|
+
export class InputScannerComponent {
|
|
5
|
+
constructor(_scannerService) {
|
|
6
|
+
this._scannerService = _scannerService;
|
|
7
|
+
this.centerLabel = false;
|
|
8
|
+
this.useLeftIcon = false;
|
|
9
|
+
this.useRightIcon = false;
|
|
10
|
+
this.modelChange = new EventEmitter();
|
|
11
|
+
this.leftIconClick = new EventEmitter();
|
|
12
|
+
this.rightIconClick = new EventEmitter();
|
|
13
|
+
this.search = new EventEmitter();
|
|
14
|
+
this.barCodeScanned = new EventEmitter();
|
|
15
|
+
this._scannerService.registerInput(this);
|
|
16
|
+
}
|
|
17
|
+
showClass() {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
triggerCodeScanned(code) {
|
|
21
|
+
this.model = code;
|
|
22
|
+
this.barCodeScanned.next(this.model);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
InputScannerComponent.decorators = [
|
|
26
|
+
{ type: Component, args: [{
|
|
27
|
+
selector: 'co-input-scanner',
|
|
28
|
+
template: `
|
|
29
|
+
<co-input-search
|
|
30
|
+
[(model)]="model"
|
|
31
|
+
[customCssClass]="customCssClass"
|
|
32
|
+
[placeholder]="placeholder"
|
|
33
|
+
[centerLabel]="centerLabel"
|
|
34
|
+
[useLeftIcon]="useLeftIcon"
|
|
35
|
+
[leftIconData]="leftIconData"
|
|
36
|
+
[useRightIcon]="useRightIcon"
|
|
37
|
+
[rightIconData]="rightIconData"
|
|
38
|
+
(leftIconClick)="leftIconClick.emit($event)"
|
|
39
|
+
(rightIconClick)="rightIconClick.emit($event)"
|
|
40
|
+
(search)="search.emit($event)"
|
|
41
|
+
></co-input-search>
|
|
42
|
+
`,
|
|
43
|
+
providers: [
|
|
44
|
+
ScannerService,
|
|
45
|
+
OverlayService
|
|
46
|
+
],
|
|
47
|
+
encapsulation: ViewEncapsulation.None
|
|
48
|
+
},] }
|
|
49
|
+
];
|
|
50
|
+
InputScannerComponent.ctorParameters = () => [
|
|
51
|
+
{ type: ScannerService }
|
|
52
|
+
];
|
|
53
|
+
InputScannerComponent.propDecorators = {
|
|
54
|
+
model: [{ type: Input }],
|
|
55
|
+
placeholder: [{ type: Input }],
|
|
56
|
+
centerLabel: [{ type: Input }],
|
|
57
|
+
useLeftIcon: [{ type: Input }],
|
|
58
|
+
useRightIcon: [{ type: Input }],
|
|
59
|
+
leftIconData: [{ type: Input }],
|
|
60
|
+
rightIconData: [{ type: Input }],
|
|
61
|
+
customCssClass: [{ type: Input }],
|
|
62
|
+
modelChange: [{ type: Output }],
|
|
63
|
+
leftIconClick: [{ type: Output }],
|
|
64
|
+
rightIconClick: [{ type: Output }],
|
|
65
|
+
search: [{ type: Output }],
|
|
66
|
+
barCodeScanned: [{ type: Output }],
|
|
67
|
+
showClass: [{ type: HostBinding, args: ['class.co-input-scanner',] }]
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2Nhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtc2Nhbm5lci9pbnB1dC1zY2FubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBMkI3RCxNQUFNLE9BQU8scUJBQXFCO0lBNkNoQyxZQUNVLGVBQStCO1FBQS9CLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQXRDbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFZOUIsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcvRCxrQkFBYSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3pFLG1CQUFjLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHMUUsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFELG1CQUFjLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFVdkUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFRTSxrQkFBa0IsQ0FBQyxJQUFhO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs7WUE3RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7S0FjUDtnQkFDSCxTQUFTLEVBQUU7b0JBQ1QsY0FBYztvQkFDZCxjQUFjO2lCQUNmO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEzQk8sY0FBYzs7O29CQTZCbkIsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7MEJBR0wsS0FBSzsyQkFHTCxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSzs2QkFHTCxLQUFLOzBCQUdMLE1BQU07NEJBR04sTUFBTTs2QkFHTixNQUFNO3FCQUdOLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTY2FubmVyU2VydmljZX0gZnJvbSAnLi9zY2FubmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7U2Nhbm5lcklucHV0fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjYW5uZXItaW5wdXQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWlucHV0LXNjYW5uZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1pbnB1dC1zZWFyY2hcclxuICAgICAgICAgICAgICBbKG1vZGVsKV09XCJtb2RlbFwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUNzc0NsYXNzXT1cImN1c3RvbUNzc0NsYXNzXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgIFtjZW50ZXJMYWJlbF09XCJjZW50ZXJMYWJlbFwiXHJcbiAgICAgICAgICAgICAgW3VzZUxlZnRJY29uXT1cInVzZUxlZnRJY29uXCJcclxuICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImxlZnRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgW3VzZVJpZ2h0SWNvbl09XCJ1c2VSaWdodEljb25cIlxyXG4gICAgICAgICAgICAgIFtyaWdodEljb25EYXRhXT1cInJpZ2h0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgIChsZWZ0SWNvbkNsaWNrKT1cImxlZnRJY29uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwicmlnaHRJY29uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoc2VhcmNoKT1cInNlYXJjaC5lbWl0KCRldmVudClcIlxyXG4gICAgICA+PC9jby1pbnB1dC1zZWFyY2g+XHJcbiAgICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU2Nhbm5lclNlcnZpY2UsXHJcbiAgICBPdmVybGF5U2VydmljZVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTY2FubmVyQ29tcG9uZW50IGltcGxlbWVudHMgU2Nhbm5lcklucHV0IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjZW50ZXJMYWJlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VMZWZ0SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VSaWdodEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1c3RvbUNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBiYXJDb2RlU2Nhbm5lZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC1zY2FubmVyJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3NjYW5uZXJTZXJ2aWNlOiBTY2FubmVyU2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuX3NjYW5uZXJTZXJ2aWNlLnJlZ2lzdGVySW5wdXQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJpZ2dlckNvZGVTY2FubmVkKGNvZGU/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kZWwgPSBjb2RlO1xyXG4gICAgdGhpcy5iYXJDb2RlU2Nhbm5lZC5uZXh0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { InputScannerComponent } from './input-scanner.component';
|
|
4
|
+
import { InputSearchModule } from '../input-search/input-search.module';
|
|
5
|
+
export class InputScannerModule {
|
|
6
|
+
}
|
|
7
|
+
InputScannerModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
imports: [
|
|
10
|
+
CommonModule,
|
|
11
|
+
InputSearchModule
|
|
12
|
+
],
|
|
13
|
+
declarations: [
|
|
14
|
+
InputScannerComponent
|
|
15
|
+
],
|
|
16
|
+
exports: [
|
|
17
|
+
InputScannerComponent
|
|
18
|
+
]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2Nhbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtc2Nhbm5lci9pbnB1dC1zY2FubmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWN0RSxNQUFNLE9BQU8sa0JBQWtCOzs7WUFaOUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtJbnB1dFNjYW5uZXJDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtc2Nhbm5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0lucHV0U2VhcmNoTW9kdWxlfSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElucHV0U2VhcmNoTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIElucHV0U2Nhbm5lckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW5wdXRTY2FubmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTY2FubmVyTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
2
|
+
import { BarCodeScanner } from './bar-code-scanner';
|
|
3
|
+
export class ScannerService {
|
|
4
|
+
constructor(_ngZone) {
|
|
5
|
+
this._ngZone = _ngZone;
|
|
6
|
+
this.barCodeScanner = new BarCodeScanner();
|
|
7
|
+
this._barCodeScanned = (event) => {
|
|
8
|
+
if (this._activeInput) {
|
|
9
|
+
this._activeInput.triggerCodeScanned(event.detail);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
document.addEventListener("barcodescanned", this._barCodeScanned);
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
document.removeEventListener("barcodescanned", this._barCodeScanned);
|
|
16
|
+
this.barCodeScanner.close();
|
|
17
|
+
}
|
|
18
|
+
registerInput(input) {
|
|
19
|
+
this._activeInput = input;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ScannerService.decorators = [
|
|
23
|
+
{ type: Injectable }
|
|
24
|
+
];
|
|
25
|
+
ScannerService.ctorParameters = () => [
|
|
26
|
+
{ type: NgZone }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LXNjYW5uZXIvc2Nhbm5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUlsRCxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFvQixPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUYzQixtQkFBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBZXRELG9CQUFlLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3REO1FBQ0wsQ0FBQyxDQUFBO1FBaEJHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFdBQVc7UUFDUCxRQUFRLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDOzs7WUFoQkosVUFBVTs7O1lBSlMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JhckNvZGVTY2FubmVyfSBmcm9tICcuL2Jhci1jb2RlLXNjYW5uZXInO1xyXG5pbXBvcnQge1NjYW5uZXJJbnB1dH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY2FubmVyLWlucHV0LmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTY2FubmVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIF9hY3RpdmVJbnB1dDogU2Nhbm5lcklucHV0O1xyXG4gICAgcHJpdmF0ZSBiYXJDb2RlU2Nhbm5lcjogQmFyQ29kZVNjYW5uZXIgPSBuZXcgQmFyQ29kZVNjYW5uZXIoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSkge1xyXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJiYXJjb2Rlc2Nhbm5lZFwiLCB0aGlzLl9iYXJDb2RlU2Nhbm5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImJhcmNvZGVzY2FubmVkXCIsIHRoaXMuX2JhckNvZGVTY2FubmVkKTtcclxuICAgICAgICB0aGlzLmJhckNvZGVTY2FubmVyLmNsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVySW5wdXQoaW5wdXQ6IFNjYW5uZXJJbnB1dCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZUlucHV0ID0gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYmFyQ29kZVNjYW5uZWQgPSAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVJbnB1dCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hY3RpdmVJbnB1dC50cmlnZ2VyQ29kZVNjYW5uZWQoZXZlbnQuZGV0YWlsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -45,6 +45,7 @@ InputSearchComponent.decorators = [
|
|
|
45
45
|
(modelChange)="modelChange.emit($event)"
|
|
46
46
|
(leftIconClick)="leftIconClick.emit($event)"
|
|
47
47
|
(rightIconClick)="rightIconClick.emit($event)"
|
|
48
|
+
(keyup)="keyUp.emit($event)"
|
|
48
49
|
></co-input-text>
|
|
49
50
|
`,
|
|
50
51
|
providers: [
|
|
@@ -72,4 +73,4 @@ __decorate([
|
|
|
72
73
|
__decorate([
|
|
73
74
|
InputBoolean()
|
|
74
75
|
], InputSearchComponent.prototype, "useRightIcon", void 0);
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTJCN0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUEwQjtJQXpCcEU7O1FBMkJrQixlQUFVLEdBQXVCLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztRQU12RSxXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHMUQsa0JBQWEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUd6RSxtQkFBYyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBSTFFLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBSTdCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBVTlCLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBZ0J0QyxDQUFDO0lBYlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFvQjtRQUN2QyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLGFBQWE7Z0JBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixPQUFPO1NBQ1Y7SUFDSCxDQUFDOzs7WUF4RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYztpQkFDakI7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MEJBS0UsS0FBSztxQkFHTCxNQUFNOzRCQUdOLE1BQU07NkJBR04sTUFBTTswQkFHTixLQUFLOzJCQUlMLEtBQUs7MkJBSUwsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLFdBQVcsU0FBQyxvQkFBb0IsY0FDaEMsS0FBSzt3QkFHTCxXQUFXLFNBQUMsdUJBQXVCOztBQWhCcEM7SUFEQyxZQUFZLEVBQUU7eURBQ3FCO0FBSXBDO0lBREMsWUFBWSxFQUFFOzBEQUNzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tICcuLi8uLi9jb3JlL2VudW0vY29yZS1jb21wb25lbnRzLWljb24uZW51bSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28taW5wdXQtc2VhcmNoJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgW25nQ2xhc3NdPVwiY3VzdG9tQ3NzQ2xhc3NcIlxyXG4gICAgICBbbW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICBbbGVmdEljb25dPVwidXNlTGVmdEljb24gPyBzZWFyY2hJY29uIDogbnVsbFwiXHJcbiAgICAgIFtyaWdodEljb25dPVwidXNlUmlnaHRJY29uID8gc2VhcmNoSWNvbiA6IG51bGxcIlxyXG4gICAgICBbbGVmdEljb25EYXRhXT1cInVzZUxlZnRJY29uICYmIGxlZnRJY29uRGF0YSA/IGxlZnRJY29uRGF0YSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgIFtyaWdodEljb25EYXRhXT1cInVzZVJpZ2h0SWNvbiAmJiByaWdodEljb25EYXRhID8gcmlnaHRJY29uRGF0YSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgIFtzaG93UGxhY2Vob2xkZXJPbkZvY3VzXT1cImZhbHNlXCJcclxuICAgICAgKG1vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChsZWZ0SWNvbkNsaWNrKT1cImxlZnRJY29uQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInJpZ2h0SWNvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cCk9XCJrZXlVcC5lbWl0KCRldmVudClcIlxyXG4gICAgPjwvY28taW5wdXQtdGV4dD5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgICBPdmVybGF5U2VydmljZVxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8c3RyaW5nPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hJY29uOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uTWFnbmlmaWVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgdXNlTGVmdEljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgdXNlUmlnaHRJY29uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNlbnRlci1sYWJlbCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2VudGVyTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC1zZWFyY2gnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcclxuICAgICAgY2FzZSAnRW50ZXInOlxyXG4gICAgICBjYXNlICdOdW1wYWRFbnRlcic6XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLnNlYXJjaC5uZXh0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -142,6 +142,7 @@ InputTextComponent.decorators = [
|
|
|
142
142
|
[required]="required"
|
|
143
143
|
(ngModelChange)="modelChange.emit($event)"
|
|
144
144
|
(keydown)="digitsOnly ? excludeNonDigitChars($event) : true"
|
|
145
|
+
(keyup)="keyUp.emit($event)"
|
|
145
146
|
>
|
|
146
147
|
<ng-container *ngIf="useContent">
|
|
147
148
|
<div class="input-content-wrapper">
|
|
@@ -220,4 +221,4 @@ InputTextComponent.propDecorators = {
|
|
|
220
221
|
handleDocumentMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }],
|
|
221
222
|
model: [{ type: Input }]
|
|
222
223
|
};
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFBRSxZQUFZLEVBQ3pCLEtBQUssRUFDTCxRQUFRLEVBQUUsTUFBTSxFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFHL0gsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTBEN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUF1QjtJQW9JN0QsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFSaEcsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1C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S0FBSzswQkFHTCxLQUFLO29CQUdMLEtBQUs7bUJBR0wsS0FBSztrQkFHTCxLQUFLO2tCQUdMLEtBQUs7c0JBR0wsS0FBSzt5QkFHTCxLQUFLOytCQUdMLEtBQUs7OEJBR0wsS0FBSzsrQkFHTCxLQUFLO3FDQUdMLEtBQUs7dUJBR0wsS0FBSzt3QkFHTCxLQUFLOzJCQUdMLEtBQUs7NEJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZ0JBQWdCLGNBQzVCLEtBQUs7K0JBR0wsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUI7cUJBRy9CLFdBQVcsU0FBQyxjQUFjOzRCQUsxQixNQUFNO2dDQUdOLE1BQU07OEJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU07K0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxxQkFBcUI7MEJBS2pDLFdBQVcsU0FBQyxxQkFBcUI7MkJBS2pDLFdBQVcsU0FBQyxzQkFBc0I7MEJBS2xDLFdBQVcsU0FBQyxxQkFBcUI7b0NBR2pDLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFVM0MsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY3JlZW4tY29uZmlnLWFkYXB0ZXItY29tcG9uZW50LWludGVyZmFjZS1uYW1lJztcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gJy4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtJztcclxuaW1wb3J0IHtLZXlib2FyZENvZGV9IGZyb20gJy4uLy4uL2NvcmUvZW51bS9rZXlib2FyZC1jb2RlLmVudW0nO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL2Zvcm0taW5wdXQtdXNlci1jaGFuZ2UtbGlzdGVuZXIuc2VydmljZSc7XHJcbmltcG9ydCB7Tmdab25lV3JhcHBlclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZSc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWlucHV0LXRleHQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGV4dC13cmFwcGVyXCIgb3ZlcmxheVBhcmVudCAjcGFyZW50Rm9yT3ZlcmxheT1cIm92ZXJsYXlQYXJlbnRcIj5cclxuICAgICAgPGNvLWljb24gKm5nSWY9XCJsZWZ0SWNvbiB8fCBsZWZ0SWNvbkRhdGFcIiBjbGFzcz1cImlucHV0LXRleHQtbGVmdC1pY29uXCIgW2ljb25dPVwibGVmdEljb25cIiBbaWNvbkRhdGFdPVwibGVmdEljb25EYXRhXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUxlZnRJY29uQ2xpY2soJGV2ZW50KVwiIChtb3VzZWRvd24pPVwiaGFuZGxlTGVmdEljb25Nb3VzZURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImhhbmRsZUxlZnRJY29uTW91c2VVcCgkZXZlbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibGVmdEljb24gfHwgbGVmdEljb25EYXRhXCIgY2xhc3M9XCJzcGFjZXIgbGVmdC1pY29uXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGxhYmVsICpuZ0lmPVwic2hvd1BsYWNlaG9sZGVyT25Gb2N1cyB8fCAoIXNob3dQbGFjZWhvbGRlck9uRm9jdXMgJiYgIWhhc1ZhbHVlICYmICFmb2N1c2VkKVwiXHJcbiAgICAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJwbGFjZWhvbGRlclwiPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0ICNpbnB1dFxyXG4gICAgICAgICAgICAgICBbY2xhc3MuaW5wdXQtaW5wdXQtaGlkZGVuXT1cInVzZUNvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJhbGlnblwiXHJcbiAgICAgICAgICAgICAgIFt0eXBlXT1cImRpZ2l0c09ubHkgPyAnbnVtYmVyJyA6IHR5cGVcIlxyXG4gICAgICAgICAgICAgICBbcGF0dGVybl09XCJ0eXBlID09PSAnZGF0ZScgPyBwYXR0ZXJuIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbbWluXT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWluID8gdGhpcy5taW4gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbbWF4XT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWF4ID8gdGhpcy5tYXggOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkaWdpdHNPbmx5ID8gZXhjbHVkZU5vbkRpZ2l0Q2hhcnMoJGV2ZW50KSA6IHRydWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlQ29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8Y28taWNvbiBbY2xhc3Muc2hvd109XCJzaG93Q2xlYXJCdXR0b24gJiYgaGFzVmFsdWUgJiYgZm9jdXNlZCAmJiAhcmVhZG9ubHlcIiBjbGFzcz1cImlucHV0LXRleHQtY2xlYXItYnV0dG9uXCIgW2ljb25dPVwiaWNvbnMuQ3Jvc3NTa2lubnlcIiAoY2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJyaWdodEljb24gfHwgcmlnaHRJY29uRGF0YVwiIGNsYXNzPVwic3BhY2VyIHJpZ2h0LWljb25cIj48L2Rpdj5cclxuICAgICAgPGNvLWljb24gKm5nSWY9XCJyaWdodEljb24gfHwgcmlnaHRJY29uRGF0YVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1yaWdodC1pY29uXCIgW2ljb25dPVwicmlnaHRJY29uXCIgW2ljb25EYXRhXT1cInJpZ2h0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUmlnaHRJY29uQ2xpY2soJGV2ZW50KVwiIChtb3VzZWRvd24pPVwiaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKCRldmVudClcIiAobW91c2V1cCk9XCJoYW5kbGVSaWdodEljb25Nb3VzZVVwKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1cclxuICAgICAgICAgICAgPGNvLWNvbW1pdC1idXR0b25zICpuZ0lmPVwic2hvd1NhdmVDYW5jZWwgJiYgZm9jdXNlZCAmJiBjYW5TYXZlT3JDYW5jZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbW1pdHRpbmddPVwiY29tbWl0dGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0RmluaXNoZWRdPVwiY29tbWl0RmluaXNoZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1pdENsaWNrKT1cImNvbW1pdENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNhbmNlbENsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY28tY29tbWl0LWJ1dHRvbnM+XHJcbiAgICAtLT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgT3ZlcmxheVNlcnZpY2UsIHtcclxuICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRUZXh0Q29tcG9uZW50KVxyXG4gICAgfSwge1xyXG4gICAgICBwcm92aWRlOiBCYXNlSW5wdXRDb21wb25lbnQsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBJbnB1dFRleHRDb21wb25lbnRcclxuICAgIH1dLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGlnbjogc3RyaW5nID0gJ2xlZnQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1pbjogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXg6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGF0dGVybjogc3RyaW5nID0gJ2RkLU1NLXl5eXknO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaWdpdHNPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4Y2x1ZGVQbHVzTWludXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBrZXlEb3duV2hpdGVMaXN0OiBLZXlib2FyZENvZGVbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1BsYWNlaG9sZGVyT25Gb2N1czogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uOiBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbjogQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uby1zdHlsZScpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9TdHlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZS1hcnJvd3MnKVxyXG4gIHB1YmxpYyBoaWRlQXJyb3dCdXR0b25zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmlzRGF0ZVwiKVxyXG4gIHB1YmxpYyBnZXQgaXNEYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gXCJkYXRlXCI7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25Nb3VzZURvd246IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uTW91c2VVcDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbk1vdXNlRG93bjogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uTW91c2VVcDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xlYXJJY29uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1pbnB1dC10ZXh0JylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1sZWZ0LWljb24nKVxyXG4gIHB1YmxpYyBnZXQgaGFzTGVmdEljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5sZWZ0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMubGVmdEljb24gIT09IG51bGw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1yaWdodC1pY29uJylcclxuICBwdWJsaWMgZ2V0IGhhc1JpZ2h0SWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJpZ2h0SWNvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucmlnaHRJY29uICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtb3duLWxhYmVsJylcclxuICBwdWJsaWMgaGFzT3duTGFiZWw6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnRNb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLmxlZnRJY29uTW91c2VVcC5uZXh0KGV2ZW50KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93bikge1xyXG4gICAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlVXAubmV4dChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbHVlKSkge1xyXG4gICAgICBpZiAodGhpcy5taW4gJiYgdmFsdWUgPCB0aGlzLm1pbiB8fCB0aGlzLm1heCAmJiB2YWx1ZSA+IHRoaXMubWF4KSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB0aGlzLl9pbml0aWFsTW9kZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbW9kZWwoKSB7XHJcbiAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc0xlZnRJY29uTW91c2VEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNSaWdodEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbXBvbmVudDogRm9ybUNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZXhjbHVkZSBzb21lIG5vbi1kaWdpdCBjaGFyYWN0ZXJzLCBzaW5jZSBpbnB1dCB0eXBlICdudW1iZXInIHN0aWxsIGFsbG93cyB0aGUgY2hhcmFjdGVycyAtLCArIGFuZCBlXHJcbiAgcHVibGljIGV4Y2x1ZGVOb25EaWdpdENoYXJzKGV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGNsdWRlZEtleXMgPSB0aGlzLmV4Y2x1ZGVQbHVzTWludXMgPyBbJ2UnLCAnLScsICcrJ10gOiBbJ2UnXTtcclxuXHJcbiAgICByZXR1cm4gIWV4Y2x1ZGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubGVmdEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlRG93bi5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuc2V0TW9kZWwobnVsbCk7XHJcbiAgICB0aGlzLmNsZWFySWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFBRSxZQUFZLEVBQ3pCLEtBQUssRUFDTCxRQUFRLEVBQUUsTUFBTSxFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFHL0gsT0FBTyxFQUFDLHVDQUF1QyxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQTJEN0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUF1QjtJQW9JN0QsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFSaEcsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBMEM7UUFDaEUsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQWE7UUF4SXpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFHekIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUd2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBU3RCLFlBQU8sR0FBVyxZQUFZLENBQUM7UUFHL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1QixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFHakMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFNaEMsMkJBQXNCLEdBQVksSUFBSSxDQUFDO1FBZ0J2QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBSXpCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQVFsQyxrQkFBYSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3pFLHNCQUFpQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzdFLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHM0UsbUJBQWMsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUcxRSx1QkFBa0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUc5RSxxQkFBZ0IsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUc1RSxtQkFBYyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBa0IxRSxnQkFBVyxHQUFZLElBQUksQ0FBQztRQTZCM0IseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQVk3QyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQXJGRCxJQUNXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQzlCLENBQUM7SUF3Qk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQztJQUNqRSxDQUFDO0lBTU0scUJBQXFCLENBQUMsS0FBaUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQVU7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDaEUsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ3JCO1NBQ0Y7YUFBTTtZQUNMLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBa0JELHNHQUFzRztJQUMvRixvQkFBb0IsQ0FBQyxLQUFLO1FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUI7UUFDMUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBaUI7UUFDOUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWlCO1FBQzVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBaUI7UUFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBaUI7UUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLEtBQWlCO1FBQzdDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUE1UEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjLEVBQUU7d0JBQ2QsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztxQkFDbEQsRUFBRTt3QkFDRCxPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixXQUFXLEVBQUUsa0JBQWtCO3FCQUNoQztpQkFBQztnQkFDSixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBNURPLGFBQWEsdUJBa01oQixRQUFRO1lBbE5YLGlCQUFpQjtZQWtCWCxjQUFjO1lBaEJwQix3QkFBd0I7WUFZbEIsdUNBQXVDO1lBQ3ZDLG9CQUFvQjtZQVoxQixVQUFVOzs7eUJBNEVULEtBQUs7MEJBR0wsS0FBSztvQkFHTCxLQUFLO21CQUdMLEtBQUs7a0JBR0wsS0FBSztrQkFHTCxLQUFLO3NCQUdMLEtBQUs7eUJBR0wsS0FBSzsrQkFHTCxLQUFLOzhCQUdMLEtBQUs7K0JBR0wsS0FBSztxQ0FHTCxLQUFLO3VCQUdMLEtBQUs7d0JBR0wsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLEtBQUs7c0JBR0wsV0FBVyxTQUFDLGdCQUFnQixjQUM1QixLQUFLOytCQUdMLEtBQUssWUFDTCxXQUFXLFNBQUMsbUJBQW1CO3FCQUcvQixXQUFXLFNBQUMsY0FBYzs0QkFLMUIsTUFBTTtnQ0FHTixNQUFNOzhCQUdOLE1BQU07NkJBR04sTUFBTTtpQ0FHTixNQUFNOytCQUdOLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMscUJBQXFCOzBCQUtqQyxXQUFXLFNBQUMscUJBQXFCOzJCQUtqQyxXQUFXLFNBQUMsc0JBQXNCOzBCQUtsQyxXQUFXLFNBQUMscUJBQXFCO29DQUdqQyxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBVTNDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLCBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLWNvbXBvbmVudC1pbnRlcmZhY2UtbmFtZSc7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tICcuLi8uLi9jb3JlL2VudW0vY29yZS1jb21wb25lbnRzLWljb24uZW51bSc7XHJcbmltcG9ydCB7S2V5Ym9hcmRDb2RlfSBmcm9tICcuLi8uLi9jb3JlL2VudW0va2V5Ym9hcmQtY29kZS5lbnVtJztcclxuaW1wb3J0IHtGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge05nWm9uZVdyYXBwZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2Uvbmctem9uZS13cmFwcGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gJy4uL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1pbnB1dC10ZXh0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRleHQtd3JhcHBlclwiIG92ZXJsYXlQYXJlbnQgI3BhcmVudEZvck92ZXJsYXk9XCJvdmVybGF5UGFyZW50XCI+XHJcbiAgICAgIDxjby1pY29uICpuZ0lmPVwibGVmdEljb24gfHwgbGVmdEljb25EYXRhXCIgY2xhc3M9XCJpbnB1dC10ZXh0LWxlZnQtaWNvblwiIFtpY29uXT1cImxlZnRJY29uXCIgW2ljb25EYXRhXT1cImxlZnRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVMZWZ0SWNvbkNsaWNrKCRldmVudClcIiAobW91c2Vkb3duKT1cImhhbmRsZUxlZnRJY29uTW91c2VEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAobW91c2V1cCk9XCJoYW5kbGVMZWZ0SWNvbk1vdXNlVXAoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgICAgPGRpdiAqbmdJZj1cImxlZnRJY29uIHx8IGxlZnRJY29uRGF0YVwiIGNsYXNzPVwic3BhY2VyIGxlZnQtaWNvblwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxsYWJlbCAqbmdJZj1cInNob3dQbGFjZWhvbGRlck9uRm9jdXMgfHwgKCFzaG93UGxhY2Vob2xkZXJPbkZvY3VzICYmICFoYXNWYWx1ZSAmJiAhZm9jdXNlZClcIlxyXG4gICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwicGxhY2Vob2xkZXJcIj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCAjaW5wdXRcclxuICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWlucHV0LWhpZGRlbl09XCJ1c2VDb250ZW50XCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWxpZ25cIlxyXG4gICAgICAgICAgICAgICBbdHlwZV09XCJkaWdpdHNPbmx5ID8gJ251bWJlcicgOiB0eXBlXCJcclxuICAgICAgICAgICAgICAgW3BhdHRlcm5dPVwidHlwZSA9PT0gJ2RhdGUnID8gcGF0dGVybiA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcclxuICAgICAgICAgICAgICAgW21pbl09XCIodHlwZSA9PT0gJ251bWJlcicgfHwgdHlwZSA9PT0gJ2RhdGUnKSAmJiB0aGlzLm1pbiA/IHRoaXMubWluIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgW21heF09XCIodHlwZSA9PT0gJ251bWJlcicgfHwgdHlwZSA9PT0gJ2RhdGUnKSAmJiB0aGlzLm1heCA/IHRoaXMubWF4IDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kZWxDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGtleWRvd24pPVwiZGlnaXRzT25seSA/IGV4Y2x1ZGVOb25EaWdpdENoYXJzKCRldmVudCkgOiB0cnVlXCJcclxuICAgICAgICAgICAgICAgKGtleXVwKT1cImtleVVwLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VDb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxjby1pY29uIFtjbGFzcy5zaG93XT1cInNob3dDbGVhckJ1dHRvbiAmJiBoYXNWYWx1ZSAmJiBmb2N1c2VkICYmICFyZWFkb25seVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1jbGVhci1idXR0b25cIiBbaWNvbl09XCJpY29ucy5Dcm9zc1NraW5ueVwiIChjbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWluZGljYXRvclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJzcGFjZXIgcmlnaHQtaWNvblwiPjwvZGl2PlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJpbnB1dC10ZXh0LXJpZ2h0LWljb25cIiBbaWNvbl09XCJyaWdodEljb25cIiBbaWNvbkRhdGFdPVwicmlnaHRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSaWdodEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVSaWdodEljb25Nb3VzZURvd24oJGV2ZW50KVwiIChtb3VzZXVwKT1cImhhbmRsZVJpZ2h0SWNvbk1vdXNlVXAoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLVxyXG4gICAgICAgICAgICA8Y28tY29tbWl0LWJ1dHRvbnMgKm5nSWY9XCJzaG93U2F2ZUNhbmNlbCAmJiBmb2N1c2VkICYmIGNhblNhdmVPckNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0dGluZ109XCJjb21taXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21taXRGaW5pc2hlZF09XCJjb21taXRGaW5pc2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0Q2xpY2spPVwiY29tbWl0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1jb21taXQtYnV0dG9ucz5cclxuICAgIC0tPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZSwge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpXHJcbiAgICB9LCB7XHJcbiAgICAgIHByb3ZpZGU6IEJhc2VJbnB1dENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IElucHV0VGV4dENvbXBvbmVudFxyXG4gICAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXR0ZXJuOiBzdHJpbmcgPSAnZGQtTU0teXl5eSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpZ2l0c09ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhjbHVkZVBsdXNNaW51czogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGtleURvd25XaGl0ZUxpc3Q6IEtleWJvYXJkQ29kZVtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UGxhY2Vob2xkZXJPbkZvY3VzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uOiBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxlZnRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLXN0eWxlJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub1N0eWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlLWFycm93cycpXHJcbiAgcHVibGljIGhpZGVBcnJvd0J1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaXNEYXRlXCIpXHJcbiAgcHVibGljIGdldCBpc0RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBcImRhdGVcIjtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbk1vdXNlRG93bjogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbGVhckljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWlucHV0LXRleHQnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWxlZnQtaWNvbicpXHJcbiAgcHVibGljIGdldCBoYXNMZWZ0SWNvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxlZnRJY29uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5sZWZ0SWNvbiAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXJpZ2h0LWljb24nKVxyXG4gIHB1YmxpYyBnZXQgaGFzUmlnaHRJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmlnaHRJY29uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5yaWdodEljb24gIT09IG51bGw7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1vd24tbGFiZWwnKVxyXG4gIHB1YmxpYyBoYXNPd25MYWJlbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudE1vdXNlVXAoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLl9pc0xlZnRJY29uTW91c2VEb3duKSB7XHJcbiAgICAgIHRoaXMubGVmdEljb25Nb3VzZVVwLm5leHQoZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2lzUmlnaHRJY29uTW91c2VEb3duKSB7XHJcbiAgICAgIHRoaXMucmlnaHRJY29uTW91c2VVcC5uZXh0KGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbiAmJiB2YWx1ZSA8IHRoaXMubWluIHx8IHRoaXMubWF4ICYmIHZhbHVlID4gdGhpcy5tYXgpIHtcclxuICAgICAgICBzdXBlci5tb2RlbCA9IHRoaXMuX2luaXRpYWxNb2RlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzdXBlci5tb2RlbCA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdXBlci5tb2RlbCA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBtb2RlbCgpIHtcclxuICAgIHJldHVybiBzdXBlci5tb2RlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzTGVmdEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc1JpZ2h0SWNvbk1vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBvdmVybGF5U2VydmljZTogT3ZlcmxheVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lcj86IEZvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBuZ1pvbmVXcmFwcGVyPzogTmdab25lV3JhcHBlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZj86IEVsZW1lbnRSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBvdmVybGF5U2VydmljZSwgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lciwgbmdab25lV3JhcHBlciwgZWxlbWVudFJlZik7XHJcbiAgICBzdXBlci5fbWFya0FzT25QdXNoKCk7XHJcbiAgfVxyXG5cclxuICAvLyBleGNsdWRlIHNvbWUgbm9uLWRpZ2l0IGNoYXJhY3RlcnMsIHNpbmNlIGlucHV0IHR5cGUgJ251bWJlcicgc3RpbGwgYWxsb3dzIHRoZSBjaGFyYWN0ZXJzIC0sICsgYW5kIGVcclxuICBwdWJsaWMgZXhjbHVkZU5vbkRpZ2l0Q2hhcnMoZXZlbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGV4Y2x1ZGVkS2V5cyA9IHRoaXMuZXhjbHVkZVBsdXNNaW51cyA/IFsnZScsICctJywgJysnXSA6IFsnZSddO1xyXG5cclxuICAgIHJldHVybiAhZXhjbHVkZWRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGVmdEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5sZWZ0SWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc0xlZnRJY29uTW91c2VEb3duID0gdHJ1ZTtcclxuICAgIHRoaXMubGVmdEljb25Nb3VzZURvd24uZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGVmdEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc0xlZnRJY29uTW91c2VEb3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VVcC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5yaWdodEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX2lzUmlnaHRJY29uTW91c2VEb3duID0gdHJ1ZTtcclxuICAgIHRoaXMucmlnaHRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJpZ2h0SWNvbk1vdXNlVXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX2lzUmlnaHRJY29uTW91c2VEb3duID0gZmFsc2U7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5zZXRNb2RlbChudWxsKTtcclxuICAgIHRoaXMuY2xlYXJJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -5,11 +5,17 @@ export class SimpleGridCellComponent {
|
|
|
5
5
|
constructor(_changeDetector) {
|
|
6
6
|
this._changeDetector = _changeDetector;
|
|
7
7
|
this.defaultTextAlign = ColumnAlign.Left;
|
|
8
|
-
this.
|
|
8
|
+
this._editMode = false;
|
|
9
9
|
this.cellClick = new EventEmitter();
|
|
10
10
|
this._fieldEditMode = false;
|
|
11
11
|
this._focused = false;
|
|
12
12
|
}
|
|
13
|
+
get editMode() {
|
|
14
|
+
return this._editMode;
|
|
15
|
+
}
|
|
16
|
+
set editMode(value) {
|
|
17
|
+
this._editMode = value;
|
|
18
|
+
}
|
|
13
19
|
set editTemplateContent(template) {
|
|
14
20
|
if (template) {
|
|
15
21
|
this._editTemplate = template;
|
|
@@ -44,7 +50,7 @@ export class SimpleGridCellComponent {
|
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
52
|
_setFocusComponent() {
|
|
47
|
-
if (this.
|
|
53
|
+
if (this._editMode && this.fieldEditMode) {
|
|
48
54
|
const element = this._getElement();
|
|
49
55
|
if (element) {
|
|
50
56
|
const focusEvent = this._createNewEvent(element, 'focus');
|
|
@@ -115,31 +121,35 @@ SimpleGridCellComponent.decorators = [
|
|
|
115
121
|
{ type: Component, args: [{
|
|
116
122
|
selector: "co-simple-grid-cell",
|
|
117
123
|
template: `
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
<div class="simple-grid-column-cell-value" [ngClass]="column.textAlign ? column.textAlign : defaultTextAlign">
|
|
125
|
+
<ng-container *ngIf="editMode; else noInlineEdit">
|
|
126
|
+
<div class="simple-grid-column-cell-field">
|
|
127
|
+
<ng-container #editTemplate *ngIf="column.editTemplate; else noEditTemplate"
|
|
128
|
+
[ngTemplateOutlet]="column.editTemplate"
|
|
129
|
+
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
130
|
+
<ng-template #noEditTemplate>
|
|
131
|
+
<ng-container *ngIf="column.template; else noTemplate">
|
|
132
|
+
<ng-container [ngTemplateOutlet]="column.template"
|
|
133
|
+
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
134
|
+
</ng-container>
|
|
135
|
+
<ng-template #noTemplate>
|
|
136
|
+
<co-input-text [(model)]="row[column.field]" [required]="column.required"></co-input-text>
|
|
137
|
+
</ng-template>
|
|
138
|
+
</ng-template>
|
|
139
|
+
</div>
|
|
127
140
|
</ng-container>
|
|
128
|
-
<ng-template #
|
|
129
|
-
|
|
141
|
+
<ng-template #noInlineEdit>
|
|
142
|
+
<div class="simple-grid-column-cell-field">
|
|
143
|
+
<ng-container *ngIf="column.template; else noTemplate">
|
|
144
|
+
<ng-container [ngTemplateOutlet]="column.template"
|
|
145
|
+
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
146
|
+
</ng-container>
|
|
147
|
+
<ng-template #noTemplate>
|
|
148
|
+
<span [textContent]="column.getFieldValue(row[column.field])"></span>
|
|
149
|
+
</ng-template>
|
|
150
|
+
</div>
|
|
130
151
|
</ng-template>
|
|
131
|
-
|
|
132
|
-
</ng-container>
|
|
133
|
-
<ng-template #noInlineEdit>
|
|
134
|
-
<ng-container *ngIf="column.template; else noTemplate">
|
|
135
|
-
<ng-container [ngTemplateOutlet]="column.template"
|
|
136
|
-
[ngTemplateOutletContext]="{value: row[column.field], row: row}"></ng-container>
|
|
137
|
-
</ng-container>
|
|
138
|
-
<ng-template #noTemplate>
|
|
139
|
-
<span [textContent]="column.getFieldValue(row[column.field])"></span>
|
|
140
|
-
</ng-template>
|
|
141
|
-
</ng-template>
|
|
142
|
-
</div>
|
|
152
|
+
</div>
|
|
143
153
|
`,
|
|
144
154
|
encapsulation: ViewEncapsulation.None
|
|
145
155
|
},] }
|
|
@@ -148,15 +158,15 @@ SimpleGridCellComponent.ctorParameters = () => [
|
|
|
148
158
|
{ type: ChangeDetectorRef }
|
|
149
159
|
];
|
|
150
160
|
SimpleGridCellComponent.propDecorators = {
|
|
161
|
+
editMode: [{ type: Input }],
|
|
151
162
|
editTemplateContent: [{ type: ViewChild, args: ["editTemplate", { read: BaseInputComponent },] }],
|
|
152
163
|
noEditTemplateContent: [{ type: ViewChild, args: ["noEditTemplate",] }],
|
|
153
164
|
noTemplateContent: [{ type: ViewChild, args: ["noTemplate",] }],
|
|
154
165
|
column: [{ type: Input }],
|
|
155
166
|
row: [{ type: Input }],
|
|
156
|
-
editMode: [{ type: Input }],
|
|
157
167
|
fieldEditMode: [{ type: Input }],
|
|
158
168
|
cellClick: [{ type: Output }],
|
|
159
169
|
showClass: [{ type: HostBinding, args: ["class.co-simple-grid-cell",] }],
|
|
160
170
|
handleClick: [{ type: HostListener, args: ['click', ['$event'],] }]
|
|
161
171
|
};
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvc2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQTZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFpQ2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFnRWxDLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQS9EdEMscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUE4QjFELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFhMUIsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBY3hELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFNbEMsQ0FBQztJQTlERCxJQUEyRCxtQkFBbUIsQ0FBQyxRQUFRO1FBQ3JGLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsSUFBaUMscUJBQXFCLENBQUMsUUFBUTtRQUM3RCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFB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QUFLOzRCQUdMLEtBQUs7d0JBVUwsTUFBTTt3QkFHTixXQUFXLFNBQUMsMkJBQTJCOzBCQUt2QyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCwgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sdW1uQWxpZ24sIFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUgfSBmcm9tIFwiLi9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaW1wbGUtZ3JpZC1jZWxsXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbC12YWx1ZVwiIFtuZ0NsYXNzXT1cImNvbHVtbi50ZXh0QWxpZ24gPyBjb2x1bW4udGV4dEFsaWduIDogZGVmYXVsdFRleHRBbGlnblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2Ugbm9JbmxpbmVFZGl0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAjZWRpdFRlbXBsYXRlICpuZ0lmPVwiY29sdW1uLmVkaXRUZW1wbGF0ZTsgZWxzZSBub0VkaXRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4uZWRpdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vRWRpdFRlbXBsYXRlPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLnRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie3ZhbHVlOiByb3dbY29sdW1uLmZpZWxkXSwgcm93OiByb3d9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwicm93W2NvbHVtbi5maWVsZF1cIiBbcmVxdWlyZWRdPVwiY29sdW1uLnJlcXVpcmVkXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNub0lubGluZUVkaXQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi50ZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiY29sdW1uLmdldEZpZWxkVmFsdWUocm93W2NvbHVtbi5maWVsZF0pXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDZWxsQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFRleHRBbGlnbjogQ29sdW1uQWxpZ24gPSBDb2x1bW5BbGlnbi5MZWZ0O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZWRpdFRlbXBsYXRlXCIsIHtyZWFkOiBCYXNlSW5wdXRDb21wb25lbnR9KSBzZXQgZWRpdFRlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSkge1xyXG4gICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vRWRpdFRlbXBsYXRlXCIpIHNldCBub0VkaXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUpIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vVGVtcGxhdGVcIikgc2V0IG5vVGVtcGxhdGVDb250ZW50KHRlbXBsYXRlKSB7XHJcbiAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5faW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3c6IHt9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZmllbGRFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZmllbGRFZGl0TW9kZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0Rm9jdXNDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZmllbGRFZGl0TW9kZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9maWVsZEVkaXRNb2RlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaW1wbGUtZ3JpZC1jZWxsXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZWFkb25seSkge1xyXG4gICAgICB0aGlzLmNlbGxDbGljay5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWVsZEVkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2VkaXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF9pbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZvY3VzQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZWRpdE1vZGUgJiYgdGhpcy5maWVsZEVkaXRNb2RlKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9nZXRFbGVtZW50KCk7XHJcbiAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3QgZm9jdXNFdmVudCA9IHRoaXMuX2NyZWF0ZU5ld0V2ZW50KGVsZW1lbnQsICdmb2N1cycpO1xyXG4gICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZm9jdXNFdmVudCk7XHJcbiAgICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl9mb2N1c2VkKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2dldEVsZW1lbnQoKTtcclxuICAgICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgICAgY29uc3QgYmx1ckV2ZW50ID0gdGhpcy5fY3JlYXRlTmV3RXZlbnQoZWxlbWVudCwgJ2JsdXInKTtcclxuICAgICAgICAgIGVsZW1lbnQuYmx1cigpO1xyXG4gICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGJsdXJFdmVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Rmlyc3RGb3JtSW5wdXQocGFyZW50OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gQXJyYXkuZnJvbShwYXJlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JykpO1xyXG4gICAgICBjb25zdCBvdGhlckNvbGxlY3Rpb24gPSBBcnJheS5mcm9tKHBhcmVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKSk7XHJcbiAgICAgIG90aGVyQ29sbGVjdGlvbi5tYXAobyA9PiBjb2xsZWN0aW9uLnB1c2gobykpO1xyXG4gICAgICBpZiAoY29sbGVjdGlvbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25bMF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZU5ld0V2ZW50KGVsZW1lbnQ6IGFueSwgZXZlbnRUeXBlOiBzdHJpbmcpOiBFdmVudCB7XHJcbiAgICBsZXQgZXZlbnQ7XHJcbiAgICBpZiAoXCJjcmVhdGVFdmVudFwiIGluIGRvY3VtZW50KSB7XHJcbiAgICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtcclxuICAgICAgZXZlbnQuaW5pdEV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgdHJ1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKFwiRXZlbnRcIiBpbiB3aW5kb3cpIHtcclxuICAgICAgZXZlbnQgPSBuZXcgRXZlbnQoZXZlbnRUeXBlLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGxldCB0ZW1wbDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIGlmICh0aGlzLl9lZGl0VGVtcGxhdGUpIHtcclxuICAgICAgdGVtcGwgPSB0aGlzLl9lZGl0VGVtcGxhdGU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3RlbXBsYXRlKSB7XHJcbiAgICAgIHRlbXBsID0gdGhpcy5fdGVtcGxhdGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZW1wbCA9IHRoaXMuX2lucHV0VGVtcGxhdGU7XHJcbiAgICB9XHJcbiAgICBpZiAodGVtcGwpIHtcclxuICAgICAgaWYgKHRlbXBsICYmIHRlbXBsLmVsZW1lbnRSZWYpIHtcclxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9nZXRGaXJzdEZvcm1JbnB1dCh0ZW1wbC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCk7XHJcbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xyXG4gICAgICAgICAgcmV0dXJuIGlucHV0RWxlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvc2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQTZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFxQ2xFLE1BQU0sT0FBTyx1QkFBdUI7SUFzRWxDLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTlEdEMscUJBQWdCLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUE2QnpELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFhNUIsY0FBUyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBY3BFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFNbEMsQ0FBQztJQXRFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUdELElBQTJELG1CQUFtQixDQUFDLFFBQVE7UUFDckYsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsa0JBQWtCLEVB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O3VCQXFEaEIsS0FBSztrQ0FNTCxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFDO29DQU9wRCxTQUFTLFNBQUMsZ0JBQWdCO2dDQU8xQixTQUFTLFNBQUMsWUFBWTtxQkFPdEIsS0FBSztrQkFHTCxLQUFLOzRCQUtMLEtBQUs7d0JBVUwsTUFBTTt3QkFHTixXQUFXLFNBQUMsMkJBQTJCOzBCQUt2QyxZQUFZLFNBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCwgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29sdW1uQWxpZ24sIFNpbXBsZUdyaWRDb2x1bW5EaXJlY3RpdmUgfSBmcm9tIFwiLi9zaW1wbGUtZ3JpZC1jb2x1bW4uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zaW1wbGUtZ3JpZC1jZWxsXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsLXZhbHVlXCIgW25nQ2xhc3NdPVwiY29sdW1uLnRleHRBbGlnbiA/IGNvbHVtbi50ZXh0QWxpZ24gOiBkZWZhdWx0VGV4dEFsaWduXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2Ugbm9JbmxpbmVFZGl0XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpbXBsZS1ncmlkLWNvbHVtbi1jZWxsLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlZGl0VGVtcGxhdGUgKm5nSWY9XCJjb2x1bW4uZWRpdFRlbXBsYXRlOyBlbHNlIG5vRWRpdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmVkaXRUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7dmFsdWU6IHJvd1tjb2x1bW4uZmllbGRdLCByb3c6IHJvd31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9FZGl0VGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLnRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie3ZhbHVlOiByb3dbY29sdW1uLmZpZWxkXSwgcm93OiByb3d9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJyb3dbY29sdW1uLmZpZWxkXVwiIFtyZXF1aXJlZF09XCJjb2x1bW4ucmVxdWlyZWRcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JbmxpbmVFZGl0PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW1wbGUtZ3JpZC1jb2x1bW4tY2VsbC1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW4udGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInt2YWx1ZTogcm93W2NvbHVtbi5maWVsZF0sIHJvdzogcm93fVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImNvbHVtbi5nZXRGaWVsZFZhbHVlKHJvd1tjb2x1bW4uZmllbGRdKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpbXBsZUdyaWRDZWxsQ29tcG9uZW50IHtcclxuICBnZXQgZWRpdE1vZGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZWRpdE1vZGU7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9lZGl0TW9kZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFRleHRBbGlnbjogQ29sdW1uQWxpZ24gPSBDb2x1bW5BbGlnbi5MZWZ0O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZWRpdFRlbXBsYXRlXCIsIHtyZWFkOiBCYXNlSW5wdXRDb21wb25lbnR9KSBzZXQgZWRpdFRlbXBsYXRlQ29udGVudCh0ZW1wbGF0ZSkge1xyXG4gICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vRWRpdFRlbXBsYXRlXCIpIHNldCBub0VkaXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGUpIHtcclxuICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZChcIm5vVGVtcGxhdGVcIikgc2V0IG5vVGVtcGxhdGVDb250ZW50KHRlbXBsYXRlKSB7XHJcbiAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5faW5wdXRUZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgICB0aGlzLl9zZXRGb2N1c0NvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sdW1uOiBTaW1wbGVHcmlkQ29sdW1uRGlyZWN0aXZlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3c6IHt9O1xyXG5cclxuICBwcml2YXRlIF9lZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZmllbGRFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZmllbGRFZGl0TW9kZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0Rm9jdXNDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZmllbGRFZGl0TW9kZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9maWVsZEVkaXRNb2RlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaW1wbGUtZ3JpZC1jZWxsXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29sdW1uICYmICF0aGlzLmNvbHVtbi5yZWFkb25seSkge1xyXG4gICAgICB0aGlzLmNlbGxDbGljay5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWVsZEVkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2VkaXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF9pbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZvY3VzQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2VkaXRNb2RlICYmIHRoaXMuZmllbGRFZGl0TW9kZSkge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudCgpO1xyXG4gICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGZvY3VzRXZlbnQgPSB0aGlzLl9jcmVhdGVOZXdFdmVudChlbGVtZW50LCAnZm9jdXMnKTtcclxuICAgICAgICBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGZvY3VzRXZlbnQpO1xyXG4gICAgICAgIHRoaXMuX2ZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5fZm9jdXNlZCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9nZXRFbGVtZW50KCk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICAgIGNvbnN0IGJsdXJFdmVudCA9IHRoaXMuX2NyZWF0ZU5ld0V2ZW50KGVsZW1lbnQsICdibHVyJyk7XHJcbiAgICAgICAgICBlbGVtZW50LmJsdXIoKTtcclxuICAgICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChibHVyRXZlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9mb2N1c2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2RldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEZpcnN0Rm9ybUlucHV0KHBhcmVudDogYW55KTogYW55IHtcclxuICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IEFycmF5LmZyb20ocGFyZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpKTtcclxuICAgICAgY29uc3Qgb3RoZXJDb2xsZWN0aW9uID0gQXJyYXkuZnJvbShwYXJlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRhcmVhJykpO1xyXG4gICAgICBvdGhlckNvbGxlY3Rpb24ubWFwKG8gPT4gY29sbGVjdGlvbi5wdXNoKG8pKTtcclxuICAgICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVOZXdFdmVudChlbGVtZW50OiBhbnksIGV2ZW50VHlwZTogc3RyaW5nKTogRXZlbnQge1xyXG4gICAgbGV0IGV2ZW50O1xyXG4gICAgaWYgKFwiY3JlYXRlRXZlbnRcIiBpbiBkb2N1bWVudCkge1xyXG4gICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiRXZlbnRcIik7XHJcbiAgICAgIGV2ZW50LmluaXRFdmVudChldmVudFR5cGUsIHRydWUsIHRydWUpO1xyXG4gICAgfSBlbHNlIGlmIChcIkV2ZW50XCIgaW4gd2luZG93KSB7XHJcbiAgICAgIGV2ZW50ID0gbmV3IEV2ZW50KGV2ZW50VHlwZSwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBsZXQgdGVtcGw6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBpZiAodGhpcy5fZWRpdFRlbXBsYXRlKSB7XHJcbiAgICAgIHRlbXBsID0gdGhpcy5fZWRpdFRlbXBsYXRlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl90ZW1wbGF0ZSkge1xyXG4gICAgICB0ZW1wbCA9IHRoaXMuX3RlbXBsYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGVtcGwgPSB0aGlzLl9pbnB1dFRlbXBsYXRlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRlbXBsKSB7XHJcbiAgICAgIGlmICh0ZW1wbCAmJiB0ZW1wbC5lbGVtZW50UmVmKSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5fZ2V0Rmlyc3RGb3JtSW5wdXQodGVtcGwuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xyXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgIHJldHVybiBpbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|