@acorex/components 6.5.90 → 6.6.0
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/README.md +7 -7
- package/esm2022/index.mjs +1 -1
- package/esm2022/lib/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/base/base-page.class.mjs +10 -8
- package/esm2022/lib/base/components.class.mjs +7 -7
- package/esm2022/lib/base/element.class.mjs +16 -16
- package/esm2022/lib/base/events.class.mjs +1 -1
- package/esm2022/lib/button/button.component.mjs +5 -5
- package/esm2022/lib/button/button.module.mjs +5 -5
- package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +5 -5
- package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +10 -10
- package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +1 -1
- package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +15 -15
- package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +7 -7
- package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +5 -5
- package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +4 -4
- package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +5 -5
- package/esm2022/lib/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/lib/color-picker/color-box/color-box.component.mjs +6 -6
- package/esm2022/lib/color-picker/color-picker.component.mjs +6 -6
- package/esm2022/lib/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/lib/context-menu/context-menu.component.mjs +5 -5
- package/esm2022/lib/context-menu/context-menu.directive.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +28 -28
- package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +33 -33
- package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +14 -14
- package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +33 -33
- package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +5 -5
- package/esm2022/lib/data-filter/filter.class.mjs +4 -4
- package/esm2022/lib/data-filter/filter.module.mjs +5 -5
- package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +5 -5
- package/esm2022/lib/data-list/core/data-list.component.mjs +4 -4
- package/esm2022/lib/data-list/list/list.component.mjs +5 -5
- package/esm2022/lib/data-list/list/list.module.mjs +5 -5
- package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +33 -33
- package/esm2022/lib/data-source/datasource.component.mjs +4 -4
- package/esm2022/lib/data-source/datasource.module.mjs +5 -5
- package/esm2022/lib/data-source/read-param.mjs +1 -1
- package/esm2022/lib/date-picker/date-picker.component.mjs +474 -99
- package/esm2022/lib/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/dialog/dialog.component.mjs +5 -5
- package/esm2022/lib/dialog/dialog.module.mjs +5 -5
- package/esm2022/lib/dialog/dialog.service.mjs +4 -4
- package/esm2022/lib/drawer/content.component.mjs +4 -4
- package/esm2022/lib/drawer/drawer-container.component.mjs +11 -11
- package/esm2022/lib/drawer/drawer.component.mjs +10 -10
- package/esm2022/lib/drawer/drawer.module.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown.component.mjs +5 -5
- package/esm2022/lib/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/lib/fieldset/fieldset.component.mjs +5 -5
- package/esm2022/lib/fieldset/fieldset.module.mjs +5 -5
- package/esm2022/lib/form-group/form-group.component.mjs +5 -5
- package/esm2022/lib/form-group/form-group.module.mjs +5 -5
- package/esm2022/lib/label/label.component.mjs +5 -5
- package/esm2022/lib/label/label.module.mjs +5 -5
- package/esm2022/lib/loading/loading-indicator.component.mjs +5 -5
- package/esm2022/lib/loading/loading-panel.component.mjs +13 -13
- package/esm2022/lib/loading/loading.module.mjs +5 -5
- package/esm2022/lib/loading/loading.service.mjs +4 -4
- package/esm2022/lib/menu/menu-item.component.mjs +17 -17
- package/esm2022/lib/menu/menu.component.mjs +5 -5
- package/esm2022/lib/menu/menu.module.mjs +5 -5
- package/esm2022/lib/menu/menu2.component.mjs +21 -21
- package/esm2022/lib/number-box/number-box.component.mjs +5 -5
- package/esm2022/lib/number-box/number-box.module.mjs +5 -5
- package/esm2022/lib/page/content.component.mjs +15 -15
- package/esm2022/lib/page/footer.component.mjs +7 -7
- package/esm2022/lib/page/page.component.mjs +19 -19
- package/esm2022/lib/page/page.module.mjs +5 -5
- package/esm2022/lib/panel-box/panel-box.component.mjs +5 -5
- package/esm2022/lib/panel-box/panel-box.module.mjs +5 -5
- package/esm2022/lib/password-box/password-box.component.mjs +5 -5
- package/esm2022/lib/password-box/password-box.module.mjs +5 -5
- package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +7 -7
- package/esm2022/lib/popover/overlay.service.mjs +4 -4
- package/esm2022/lib/popover/popover.component.mjs +5 -5
- package/esm2022/lib/popover/popover.module.mjs +5 -5
- package/esm2022/lib/popup/popup.component.mjs +6 -5
- package/esm2022/lib/popup/popup.module.mjs +5 -5
- package/esm2022/lib/popup/popup.service.mjs +4 -4
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +5 -5
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +29 -29
- package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +13 -13
- package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +43 -43
- package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +34 -31
- package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +31 -31
- package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +7 -7
- package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +6 -6
- package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +5 -5
- package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +5 -5
- package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +14 -14
- package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +5 -5
- package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +4 -4
- package/esm2022/lib/property-editor/property-editor.class.mjs +4 -4
- package/esm2022/lib/property-editor/property-editor.module.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder-group.component.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder-rule.component.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder.class.mjs +1 -1
- package/esm2022/lib/query-builder/query-builder.component.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder.module.mjs +5 -5
- package/esm2022/lib/query-builder/query-builder.service.mjs +4 -4
- package/esm2022/lib/search-bar/search-bar.component.mjs +5 -5
- package/esm2022/lib/search-bar/search-bar.module.mjs +5 -5
- package/esm2022/lib/searchbox/searchbox.component.mjs +30 -6
- package/esm2022/lib/searchbox/searchbox.module.mjs +5 -5
- package/esm2022/lib/selectbox/selectbox.component.mjs +130 -21
- package/esm2022/lib/selectbox/selectbox.module.mjs +5 -5
- package/esm2022/lib/selectbox/selectbox2.component.mjs +6 -6
- package/esm2022/lib/selection-list/selection-list.component.mjs +5 -5
- package/esm2022/lib/selection-list/selection-list.module.mjs +5 -5
- package/esm2022/lib/switch/switch.component.mjs +5 -5
- package/esm2022/lib/switch/switch.module.mjs +5 -5
- package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +4 -4
- package/esm2022/lib/tab-page/tab-page-host.component.mjs +19 -19
- package/esm2022/lib/tab-page/tab-page.module.mjs +5 -5
- package/esm2022/lib/tab-page/tab-page.service.mjs +6 -5
- package/esm2022/lib/tab-strip/tab-strip.component.mjs +5 -5
- package/esm2022/lib/tab-strip/tab-strip.module.mjs +5 -5
- package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +4 -4
- package/esm2022/lib/tab-view/tab-view.component.mjs +5 -5
- package/esm2022/lib/tab-view/tab-view.module.mjs +5 -5
- package/esm2022/lib/tab-view/tab.component.mjs +5 -5
- package/esm2022/lib/textarea/textarea.component.mjs +5 -5
- package/esm2022/lib/textarea/textarea.module.mjs +5 -5
- package/esm2022/lib/textbox/textbox.component.mjs +8 -8
- package/esm2022/lib/textbox/textbox.module.mjs +5 -5
- package/esm2022/lib/time-picker/time-picker.component.mjs +9 -6
- package/esm2022/lib/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/lib/toast/toast-message/toast-message.component.mjs +5 -5
- package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +4 -4
- package/esm2022/lib/toast/toast.module.mjs +5 -5
- package/esm2022/lib/toast/toast.service.mjs +4 -4
- package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +32 -32
- package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +5 -5
- package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +5 -5
- package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +15 -15
- package/esm2022/lib/toolbar/toolbar-item.mjs +1 -1
- package/esm2022/lib/toolbar/toolbar.component.mjs +5 -5
- package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/lib/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +5 -5
- package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +5 -5
- package/esm2022/lib/tree-view/tree-view.component.mjs +5 -5
- package/esm2022/lib/tree-view/tree-view.module.mjs +5 -5
- package/esm2022/lib/upload-file/upload-file.component.mjs +18 -10
- package/esm2022/lib/upload-file/upload-file.events.mjs +1 -1
- package/esm2022/lib/upload-file/upload-file.module.mjs +5 -5
- package/esm2022/lib/validation/validation-form.component.mjs +4 -4
- package/esm2022/lib/validation/validation-rule.widget.mjs +4 -4
- package/esm2022/lib/validation/validation.class.mjs +1 -1
- package/esm2022/lib/validation/validation.component.mjs +7 -7
- package/esm2022/lib/validation/validation.module.mjs +5 -5
- package/fesm2022/acorex-components.mjs +1702 -1178
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/lib/date-picker/date-picker.component.d.ts +4 -4
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +1 -0
- package/lib/searchbox/searchbox.component.d.ts +2 -1
- package/lib/selectbox/selectbox.component.d.ts +38 -7
- package/lib/textbox/textbox.component.d.ts +2 -2
- package/lib/time-picker/time-picker.component.d.ts +2 -1
- package/lib/upload-file/upload-file.component.d.ts +1 -1
- package/package.json +1 -1
@@ -21,8 +21,8 @@ const MODULES = [
|
|
21
21
|
AXSearchBoxModule
|
22
22
|
];
|
23
23
|
export class AXSelectBoxModule {
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
25
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
25
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBoxModule, declarations: [AXSelectBoxComponent, AXSelectBox2Component], imports: [CommonModule,
|
26
26
|
AXDropdownModule,
|
27
27
|
AXTextBoxModule,
|
28
28
|
AXTranslatorModule,
|
@@ -30,9 +30,9 @@ export class AXSelectBoxModule {
|
|
30
30
|
AXCheckBoxModule,
|
31
31
|
AXLoadingModule,
|
32
32
|
AXSearchBoxModule], exports: [AXSelectBoxComponent, AXSelectBox2Component] });
|
33
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
33
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBoxModule, imports: [MODULES] });
|
34
34
|
}
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBoxModule, decorators: [{
|
36
36
|
type: NgModule,
|
37
37
|
args: [{
|
38
38
|
declarations: [...COMPONENT],
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
41
41
|
providers: []
|
42
42
|
}]
|
43
43
|
}] });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdGJveC9zZWxlY3Rib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHL0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGlCQUFpQjtDQUNwQixDQUFDO0FBUUYsTUFBTSxPQUFPLGlCQUFpQjt3R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUIsaUJBbEJYLG9CQUFvQixFQUFFLHFCQUFxQixhQUUxRCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCLGFBVEYsb0JBQW9CLEVBQUUscUJBQXFCO3lHQWtCakQsaUJBQWlCLFlBSmIsT0FBTzs7NEZBSVgsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3gubW9kdWxlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvck1vZHVsZSwgQVhTY3JvbGxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoYm94L3NlYXJjaGJveC5tb2R1bGUnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3gyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Rib3gyLmNvbXBvbmVudCc7XG5cblxuY29uc3QgQ09NUE9ORU5UID0gW0FYU2VsZWN0Qm94Q29tcG9uZW50LCBBWFNlbGVjdEJveDJDb21wb25lbnRdO1xuY29uc3QgTU9EVUxFUyA9IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWFRleHRCb3hNb2R1bGUsXG4gICAgQVhUcmFuc2xhdG9yTW9kdWxlLFxuICAgIEFYU2Nyb2xsTW9kdWxlLFxuICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYU2VhcmNoQm94TW9kdWxlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdLFxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICAgIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3hNb2R1bGUgeyB9XG4iXX0=
|
@@ -528,16 +528,16 @@ export class AXSelectBox2Component extends AXValidatableComponent {
|
|
528
528
|
this.selectItems(this.getItems()[index]);
|
529
529
|
this.currentfocusedIndex = index;
|
530
530
|
}
|
531
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
532
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
531
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBox2Component, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
532
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXSelectBox2Component, selector: "ax-select-box2", inputs: { showDropDownButton: "showDropDownButton", readonly: "readonly", rtl: "rtl", disabled: "disabled", placeholder: "placeholder", size: "size", allowNull: "allowNull", textAlign: "textAlign", bufferSize: "bufferSize", remoteOperation: "remoteOperation", allowSearch: "allowSearch", textField: "textField", valueField: "valueField", selectionMode: "selectionMode", selectionDataMode: "selectionDataMode", dataSource: "dataSource", validation: "validation", value: "value", items: "items" }, outputs: { itemsChange: "itemsChange", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "document:keydown": "handleKeyDown($event)" }, styleAttribute: "width: 100%" }, providers: [
|
533
533
|
{ provide: AXValidatableComponent, useExisting: AXSelectBox2Component },
|
534
|
-
], queries: [{ propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }], viewQueries: [{ propertyName: "span", first: true, predicate: AXTextBoxComponent, descendants: true, static: true }, { propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "textBoxSelectBox", first: true, predicate: ["textBoxSelectBox"], descendants: true, static: true }, { propertyName: "dropdown", first: true, predicate: ["d"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-drop-down [size]=\"size\" [rtl]=\"rtl\" [showDropDownButton]=\"showDropDownButton\" [disabled]=\"disabled\"\
|
534
|
+
], queries: [{ propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }], viewQueries: [{ propertyName: "span", first: true, predicate: AXTextBoxComponent, descendants: true, static: true }, { propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "textBoxSelectBox", first: true, predicate: ["textBoxSelectBox"], descendants: true, static: true }, { propertyName: "dropdown", first: true, predicate: ["d"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-drop-down [size]=\"size\" [rtl]=\"rtl\" [showDropDownButton]=\"showDropDownButton\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" #d (dropdownToggle)=\"dropdownToggle($event)\" [loading]=\"showLoading\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container header>\n <div class=\"ax chips-container\" [horizontalScroll]=\"40\">\n <div *ngFor=\"let item of selectedItems\" class=\"chips\" [class.chips-blank]=\"selectionMode === 'single'\"\n [title]=\"item[textField]\">\n <span class=\"chips-text\">\n {{item[textField]}}\n </span>\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\"\n *ngIf=\"(readonly!=true) && disabled!=true && (allowNull==true || (selectedItems.length > 1))\">\n <i class=\"far fa-times close\"></i>\n </span>\n </div>\n <div class=\"search-wrapper\" (click)=\"onTextBoxClick($event)\">\n <ax-text-box #textBoxSelectBox [textAlign]=\"textAlign\"\n [placeholder]=\"selectedItems.length == 0 ? placeholder : ''\" [readonly]=\"readonly\"\n [disabled]=\"disabled\" [size]=\"size\">\n </ax-text-box>\n </div>\n </div>\n </ng-container>\n <ng-container end>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n <ng-container panel>\n <div *ngIf=\"allowSearch\" class=\"search-wrapper\" style=\"padding: 0.7em;\">\n <ax-search-box #searchBox [(value)]=\"text\" size=\"sm\"\n (textChanged)=\"textChanged($event)\" (onButtonClick)=\"textChanged($event)\">\n </ax-search-box>\n </div>\n <div class=\"ax list-container\">\n <div #listContainer style=\"max-height: 300px;overflow-y: auto;width: 100%;\" (scroll)=\"scrolled($event)\">\n <ng-container *ngIf=\"getItems().length>0; then thenTemplate; else elseTemplate\"></ng-container>\n <ng-template #thenTemplate>\n <div class=\"list-item\" *ngFor=\"let item of getItems();let i = index\"\n [class.focused]=\"i==currentfocusedIndex\" (click)=\"handleItemClick($event,item)\"\n [class.selected]=\"isItemSelected(item)\">\n <div>\n <div>\n <ax-check-box *ngIf=\"selectionMode !== 'single'\" [size]=\"size\" [value]=\"isItemSelected(item)\"\n [disabled]=\"!allowNull && selectedItems.length === 1 && isItemSelected(item)\"\n (onClick)=\"handleItemClick($event,item)\">\n </ax-check-box>\n </div>\n <div style=\"white-space: nowrap;text-overflow: ellipsis;overflow: hidden;\"\n [title]=\"item[textField]\"\n [ngStyle]=\"(selectionMode !== 'single') ? {'padding-inline-start': '2em'}:''\">\n {{ item[textField] }}\n </div>\n </div>\n </div>\n </ng-template>\n <div *ngIf=\"showLoading\" class=\"ax-pad-sm\" style=\"text-align: center;\">\n <i class=\"far fa-spinner-third fa-pulse fa-2x\" style=\"color: var(--ax-primary-color);\"></i>\n </div>\n <ng-template #elseTemplate>\n <ng-container *ngIf=\"showLoading == true; then searchTemplate else noDataTemplate\"></ng-container>\n <ng-template #searchTemplate>\n <div class=\"list-item\">\n {{'common.searching' | trans}}\n </div>\n </ng-template>\n <ng-template #noDataTemplate>\n <div class=\"list-item\">\n {{'common.noDataFound' | trans}}\n </div>\n </ng-template>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</ax-drop-down>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { kind: "component", type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { kind: "directive", type: i4.AXHorizontalScrollDirective, selector: "[horizontalScroll]", inputs: ["horizontalScroll"] }, { kind: "component", type: i5.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "component", type: i6.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["placeholder", "onDemandTranslate", "text", "delay"], outputs: ["textChanged", "onButtonClick"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
535
535
|
}
|
536
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
536
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectBox2Component, decorators: [{
|
537
537
|
type: Component,
|
538
538
|
args: [{ selector: 'ax-select-box2', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [
|
539
539
|
{ provide: AXValidatableComponent, useExisting: AXSelectBox2Component },
|
540
|
-
], template: "<ax-drop-down [size]=\"size\" [rtl]=\"rtl\" [showDropDownButton]=\"showDropDownButton\" [disabled]=\"disabled\"\
|
540
|
+
], template: "<ax-drop-down [size]=\"size\" [rtl]=\"rtl\" [showDropDownButton]=\"showDropDownButton\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" #d (dropdownToggle)=\"dropdownToggle($event)\" [loading]=\"showLoading\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container header>\n <div class=\"ax chips-container\" [horizontalScroll]=\"40\">\n <div *ngFor=\"let item of selectedItems\" class=\"chips\" [class.chips-blank]=\"selectionMode === 'single'\"\n [title]=\"item[textField]\">\n <span class=\"chips-text\">\n {{item[textField]}}\n </span>\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\"\n *ngIf=\"(readonly!=true) && disabled!=true && (allowNull==true || (selectedItems.length > 1))\">\n <i class=\"far fa-times close\"></i>\n </span>\n </div>\n <div class=\"search-wrapper\" (click)=\"onTextBoxClick($event)\">\n <ax-text-box #textBoxSelectBox [textAlign]=\"textAlign\"\n [placeholder]=\"selectedItems.length == 0 ? placeholder : ''\" [readonly]=\"readonly\"\n [disabled]=\"disabled\" [size]=\"size\">\n </ax-text-box>\n </div>\n </div>\n </ng-container>\n <ng-container end>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n <ng-container panel>\n <div *ngIf=\"allowSearch\" class=\"search-wrapper\" style=\"padding: 0.7em;\">\n <ax-search-box #searchBox [(value)]=\"text\" size=\"sm\"\n (textChanged)=\"textChanged($event)\" (onButtonClick)=\"textChanged($event)\">\n </ax-search-box>\n </div>\n <div class=\"ax list-container\">\n <div #listContainer style=\"max-height: 300px;overflow-y: auto;width: 100%;\" (scroll)=\"scrolled($event)\">\n <ng-container *ngIf=\"getItems().length>0; then thenTemplate; else elseTemplate\"></ng-container>\n <ng-template #thenTemplate>\n <div class=\"list-item\" *ngFor=\"let item of getItems();let i = index\"\n [class.focused]=\"i==currentfocusedIndex\" (click)=\"handleItemClick($event,item)\"\n [class.selected]=\"isItemSelected(item)\">\n <div>\n <div>\n <ax-check-box *ngIf=\"selectionMode !== 'single'\" [size]=\"size\" [value]=\"isItemSelected(item)\"\n [disabled]=\"!allowNull && selectedItems.length === 1 && isItemSelected(item)\"\n (onClick)=\"handleItemClick($event,item)\">\n </ax-check-box>\n </div>\n <div style=\"white-space: nowrap;text-overflow: ellipsis;overflow: hidden;\"\n [title]=\"item[textField]\"\n [ngStyle]=\"(selectionMode !== 'single') ? {'padding-inline-start': '2em'}:''\">\n {{ item[textField] }}\n </div>\n </div>\n </div>\n </ng-template>\n <div *ngIf=\"showLoading\" class=\"ax-pad-sm\" style=\"text-align: center;\">\n <i class=\"far fa-spinner-third fa-pulse fa-2x\" style=\"color: var(--ax-primary-color);\"></i>\n </div>\n <ng-template #elseTemplate>\n <ng-container *ngIf=\"showLoading == true; then searchTemplate else noDataTemplate\"></ng-container>\n <ng-template #searchTemplate>\n <div class=\"list-item\">\n {{'common.searching' | trans}}\n </div>\n </ng-template>\n <ng-template #noDataTemplate>\n <div class=\"list-item\">\n {{'common.noDataFound' | trans}}\n </div>\n </ng-template>\n </ng-template>\n </div>\n </div>\n </ng-container>\n</ax-drop-down>" }]
|
541
541
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { span: [{
|
542
542
|
type: ViewChild,
|
543
543
|
args: [AXTextBoxComponent, { static: true }]
|
@@ -614,4 +614,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
614
614
|
type: HostListener,
|
615
615
|
args: ['document:keydown', ['$event']]
|
616
616
|
}] } });
|
617
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3Rib3gvc2VsZWN0Ym94Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3Rib3gvc2VsZWN0Ym94Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUlMLHNCQUFzQixHQUV2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQUVwRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBeUI7SUFHekUsV0FBVyxHQUFHLEtBQUssQ0FBQztDQUdyQjtBQVlELE1BQU0sT0FBTyxxQkFDWCxTQUFRLHNCQUFzQjtJQTJFcEI7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QVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVDLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd2QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQWNLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkFrQkssS0FBSztzQkFEZixLQUFLO2dCQWtDSyxLQUFLO3NCQURmLEtBQUs7Z0JBYU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLE1BQU07c0JBREwsTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU07Z0JBSUEsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNO2dCQWdRUCxhQUFhO3NCQURaLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBOZ1pvbmUsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRleHRCb3hDb21wb25lbnQgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcclxuICBBWEJhc2VJbnB1dENvbXBvbmVudCxcclxuICBBWEVsZW1lbnRTaXplLFxyXG4gIEFYVmFsaWRhdGFibGVDb21wb25lbnQsXHJcbiAgQVhCYXNlVmFsdWVDb21wb25lbnQsXHJcbn0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlUmVhZFBhcmFtcyB9IGZyb20gJy4uL2RhdGEtc291cmNlL3JlYWQtcGFyYW0nO1xyXG5pbXBvcnQgeyBBWFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaGJveC9zZWFyY2hib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhDb25maWcsIEFYT2JqZWN0VXRpbCwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0Qm94VmFsdWVDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBWFZhbHVlRXZlbnQ8YW55IHwgYW55W10+IHtcclxuICBkZWNsYXJlIHZhbHVlPzogYW55O1xyXG4gIGRlY2xhcmUgb2xkVmFsdWU/OiBhbnk7XHJcbiAgaXNVc2VySW5wdXQgPSBmYWxzZTtcclxuICBkZWNsYXJlIHNlbGVjdGVkS2V5cz86IGFueVtdO1xyXG4gIGRlY2xhcmUgc2VsZWN0ZWRJdGVtcz86IGFueVtdO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1ib3gyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Ym94Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7IHN0eWxlOiAnd2lkdGg6IDEwMCUnIH0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveDJDb21wb25lbnQgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3gyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50c1xyXG4gICAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcclxuICAgIEFYQmFzZUlucHV0Q29tcG9uZW50LFxyXG4gICAgQVhCYXNlVmFsdWVDb21wb25lbnQ8YW55PlxyXG57XHJcbiAgQFZpZXdDaGlsZChBWFRleHRCb3hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc3BhbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoQVhUZXh0Qm94Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHRleHRib3g6IEFYVGV4dEJveENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbGlzdENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgbGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHNlYXJjaEJveDogQVhTZWFyY2hCb3hDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RleHRCb3hTZWxlY3RCb3gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHRleHRCb3hTZWxlY3RCb3g6IEFYVGV4dEJveENvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudERhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZUNvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFZhbGlkYXRpb24sIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgZHJvcGRvd246IEFYRHJvcGRvd25Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dEcm9wRG93bkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xyXG4gIEBJbnB1dCgpIGFsbG93TnVsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdGV4dEFsaWduOiAncmlnaHQnIHwgJ2xlZnQnIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYnVmZmVyU2l6ZTogbnVtYmVyID0gMTA7XHJcbiAgQElucHV0KCkgcmVtb3RlT3BlcmF0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWxsb3dTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHRleHRGaWVsZDogc3RyaW5nID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IHN0cmluZyA9ICd2YWx1ZSc7XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ3NpbmdsZSc7XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uRGF0YU1vZGU6ICd2YWx1ZScgfCAnaXRlbScgPSAndmFsdWUnO1xyXG5cclxuICBjdXJyZW50Zm9jdXNlZEluZGV4OiBudW1iZXIgPSAtMTtcclxuICBzaG93TG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNraXA6IG51bWJlciA9IC0xO1xyXG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgaXRlbXNGaWx0ZXJlZDogYW55W10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBpc1VzZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9kYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogQVhEYXRhU291cmNlQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlID8gdGhpcy5fZGF0YVNvdXJjZSA6IHRoaXMuX2NvbnRlbnREYXRhU291cmNlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGRhdGFTb3VyY2UodjogQVhEYXRhU291cmNlQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBBWFZhbGlkYXRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSB8IGFueVtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkgfCBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogYW55IHwgYW55W10pIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IEFYT2JqZWN0VXRpbC5kZWVwSlNPTkNsb25lKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJykge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gQXJyYXkuaXNBcnJheSh2KSA/IHYgOiB2ID8gW3ZdIDogW107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBBcnJheS5pc0FycmF5KHYpID8gdlswXSA6IHY7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgaXNVc2VySW5wdXQ6IHRoaXMuaXNVc2VySW5wdXQsXHJcbiAgICAgICAgb2xkVmFsdWUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxyXG4gICAgICAgIHNlbGVjdGVkS2V5czogdGhpcy5zZWxlY3RlZEl0ZW1zLm1hcCgoYykgPT4gY1t0aGlzLnZhbHVlRmllbGRdKSxcclxuICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKSxcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZW5kZXJTZWxlY3Rpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IGFueVtdO1xyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcyB8fCBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2l0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBpdGVtcygpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaXRlbXModjogYW55W10pIHtcclxuICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgIGlmICh0aGlzLml0ZW1zQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh2KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVuZGVyU2VsZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBpdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFNlbGVjdEJveFZhbHVlQ2hhbmdlZEV2ZW50PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYU2VsZWN0Qm94VmFsdWVDaGFuZ2VkRXZlbnQ+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucnRsID09IG51bGwpIHtcclxuICAgICAgdGhpcy5ydGwgPVxyXG4gICAgICAgIHdpbmRvd1xyXG4gICAgICAgICAgLmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbClcclxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JvbGxlZChlKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucmVtb3RlT3BlcmF0aW9uICYmXHJcbiAgICAgIHRoaXMudG90YWxDb3VudCA+IHRoaXMuaXRlbXMubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAhPSAwICYmXHJcbiAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtXHJcbiAgICAgICAgdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wIC1cclxuICAgICAgICAzMDAgPFxyXG4gICAgICAgIDUwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zaG93TG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICBpZiAodGhpcy5za2lwICE9PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuc2tpcCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fTtcclxuICAgICAgICBwYXJhbXMuc2tpcCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIHBhcmFtcy50YWtlID1cclxuICAgICAgICAgIHRoaXMuYnVmZmVyU2l6ZSAqXHJcbiAgICAgICAgICAoTWF0aC5mbG9vcih0aGlzLml0ZW1zLmxlbmd0aCAvIHRoaXMuYnVmZmVyU2l6ZSkgKyAxKTtcclxuICAgICAgICBpZiAodGhpcy50ZXh0Ym94KSB7XHJcbiAgICAgICAgICBwYXJhbXMuc2VhcmNoVGV4dCA9IHRoaXMudGV4dDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZldGNoKHBhcmFtcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRleHRDaGFuZ2VkKGUpIHtcclxuICAgIHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCA9IC0xO1xyXG4gICAgaWYgKHRoaXMucmVtb3RlT3BlcmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRoaXMudGV4dDtcclxuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xyXG4gICAgICBjb25zdCBwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fTtcclxuICAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSB0aGlzLnRleHQ7XHJcbiAgICAgIHBhcmFtcy5za2lwID0gMDtcclxuICAgICAgcGFyYW1zLnRha2UgPSB0aGlzLmJ1ZmZlclNpemU7XHJcbiAgICAgIHRoaXMuZmV0Y2gocGFyYW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyU2VsZWN0aW9uKCkge1xyXG4gICAgY29uc3QgZnVuYyA9ICgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLml0ZW1zPy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0aW9uRGF0YU1vZGUgPT0gJ3ZhbHVlJykge1xyXG4gICAgICAgIGNvbnN0IG9yZ1JlcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpKSA9PiB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5zb21lKChpaSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaVt0aGlzLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWVbdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKG9yZ1Jlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gb3JnUmVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcCgoaWkpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnICYmIGlpW3RoaXMudGV4dEZpZWxkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaWk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgZmFrZVt0aGlzLnZhbHVlRmllbGRdID0gdGhpcy52YWx1ZTtcclxuICAgICAgICAgICAgZmFrZVt0aGlzLnRleHRGaWVsZF0gPSBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24ubG9hZGluZycpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFrZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdvYmplY3QnICYmIHRoaXMudmFsdWVbdGhpcy50ZXh0RmllbGRdKSB7XHJcbiAgICAgICAgICByZXR1cm4gW3RoaXMudmFsdWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcclxuICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICBmYWtlW3RoaXMudGV4dEZpZWxkXSA9IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5sb2FkaW5nJyk7XHJcbiAgICAgICAgICByZXR1cm4gW2Zha2VdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBmdW5jKCk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmJ1ZmZlclNpemUgPCAxMCkge1xyXG4gICAgICB0aGlzLmJ1ZmZlclNpemUgPSAxMDtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5yZW1vdGVPcGVyYXRpb24pIHtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wZG93blRvZ2dsZShlKSB7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bi5pc09wZW4pIHtcclxuICAgICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gdGhpcy5nZXRJdGVtcygpLmluZGV4T2YoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmZvY3VzT25TZWFyY2hCb3goKTtcclxuICAgICAgdGhpcy5mb2N1c09uQ3VycmVudEZvY3VzZWRJbmRleCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdGhpcy52YWxpZGF0aW9uKTtcclxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgaWYgKHRoaXMuYWxsb3dTZWFyY2ggPT09IGZhbHNlKSB7XHJcbiAgICAgICAgdGhpcy5mZXRjaCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZC5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kYXRhUmVjZWl2ZWQoYy5kYXRhLnJlc3VsdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFSZWNlaXZlZChkYXRhOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnJlbW90ZU9wZXJhdGlvbikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ICYmXHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ICE9IG51bGwgJiZcclxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmIChkYXRhLnRvdGFsQ291bnQpIHtcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBkYXRhLml0ZW1zO1xyXG4gICAgICAgICAgdGhpcy50b3RhbENvdW50ID0gZGF0YS50b3RhbENvdW50O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcztcclxuICAgICAgICAgIHRoaXMudG90YWxDb3VudCA9IGRhdGEuaXRlbXMgPT0gdW5kZWZpbmVkID8gMCA6IGRhdGEuaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChkYXRhLml0ZW1zICYmIGRhdGEuaXRlbXMubGVuZ3RoID09PSBkYXRhLnRvdGFsQ291bnQpIHtcclxuICAgICAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcztcclxuICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSBkYXRhLml0ZW1zLmxlbmd0aDtcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnRvdGFsQ291bnQpIHtcclxuICAgICAgICBkYXRhLml0ZW1zLmZvckVhY2goKGVsbSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKGVsbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50b3RhbENvdW50ID0gZGF0YS50b3RhbENvdW50O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaCgoZWxtKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goZWxtKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSBkYXRhLmxlbmd0aDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGRhdGE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlbmRlclNlbGVjdGlvbigpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBmZXRjaChwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICB0aGlzLnNob3dMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZldGNoKHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgY29uc3QgcGFyYW1zOiBBWERhdGFTb3VyY2VSZWFkUGFyYW1zID0ge307XHJcbiAgICBpZiAodGhpcy5yZW1vdGVPcGVyYXRpb24pIHtcclxuICAgICAgcGFyYW1zLnNraXAgPSAwO1xyXG4gICAgICB0aGlzLnNraXAgPSAwO1xyXG4gICAgICBwYXJhbXMudGFrZSA9IHRoaXMuYnVmZmVyU2l6ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gW107XHJcbiAgICAgIHRoaXMuZmV0Y2gocGFyYW1zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUl0ZW1SZW1vdmVDbGljayhpdGVtKSB7XHJcbiAgICB0aGlzLnRleHQgPSAnJztcclxuICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKChjKSA9PlxyXG4gICAgICAgIHR5cGVvZiBjID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgPyBjW3RoaXMudmFsdWVGaWVsZF0gIT09IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXVxyXG4gICAgICAgICAgOiBjICE9PSBpdGVtW3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBvblRleHRCb3hDbGljayhlKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gZmFsc2UgJiYgdGhpcy5yZWFkb25seSA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMudmFsdWUuc29tZShcclxuICAgICAgICAgICAgKGMpID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEdldEl0ZW1WYWx1ZShjKSA9PT0gdGhpcy5pbnRlcm5hbEdldEl0ZW1WYWx1ZShpdGVtKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuZm9jdXNPblNlYXJjaEJveCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnRlcm5hbEdldEl0ZW1CeURhdGFNb2RlKGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uRGF0YU1vZGUgPT09ICdpdGVtJyA/IGl0ZW0gOiBpdGVtW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVybmFsR2V0SXRlbVZhbHVlKGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGl0ZW07XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScgfHwgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpc0xldHRlciA9IG5ldyBSZWdFeHAoL1thLXpBLVowLTlcXC1dLykudGVzdChcclxuICAgICAgU3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUpXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMudGV4dGJveC5pc0ZvY3VzZWQoKSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZS5rZXkgPT09ICdCYWNrc3BhY2UnICYmXHJcbiAgICAgICAgZS50eXBlID09PSAna2V5ZG93bicgJiZcclxuICAgICAgICAoKHRoaXMuYWxsb3dOdWxsID09PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgKHRoaXMuYWxsb3dOdWxsID09PSBmYWxzZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyh0aGlzLnNlbGVjdGVkSXRlbXMucG9wKCkpO1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgKGUua2V5ID09PSAnQXJyb3dEb3duJyB8fCBlLmtleSA9PT0gJ0Fycm93VXAnKSAmJlxyXG4gICAgICAgIHRoaXMuZ2V0SXRlbXMoKS5sZW5ndGggPiAwICYmXHJcbiAgICAgICAgIXRoaXMuZHJvcGRvd24uaXNPcGVuICYmXHJcbiAgICAgICAgZS50eXBlID09PSAna2V5ZG93bidcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1CeUluZGV4KFxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggKyAoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzTGV0dGVyKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gZS5rZXk7XHJcbiAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJvcGRvd24uaXNPcGVuKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAoZS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGUua2V5ID09PSAnQXJyb3dVcCcpICYmXHJcbiAgICAgICAgdGhpcy5nZXRJdGVtcygpLmxlbmd0aCA+IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtQnlOYXYoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKTtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmNvZGUgPT09ICdTcGFjZScpIHtcclxuICAgICAgICBjb25zdCBmb2N1c2VkSXRlbSA9IHRoaXMuZ2V0SXRlbXMoKVt0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXhdO1xyXG4gICAgICAgIGlmIChmb2N1c2VkSXRlbSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbXMoZm9jdXNlZEl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3QoZm9jdXNlZEl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bnNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xyXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKFxyXG4gICAgICAgIChjKSA9PlxyXG4gICAgICAgICAgIWl0ZW1zLnNvbWUoXHJcbiAgICAgICAgICAgIChkKSA9PiB0aGlzLmludGVybmFsR2V0SXRlbVZhbHVlKGMpID09PSB0aGlzLmludGVybmFsR2V0SXRlbVZhbHVlKGQpXHJcbiAgICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbXMoLi4uaXRlbXM6IGFueVtdKSB7XHJcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW50ZXJuYWxHZXRJdGVtQnlEYXRhTW9kZShpdGVtc1swXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9ICh0aGlzLnZhbHVlIHx8IFtdKS5jb25jYXQoXHJcbiAgICAgICAgICBpdGVtcy5tYXAoKGMpID0+IHRoaXMuaW50ZXJuYWxHZXRJdGVtQnlEYXRhTW9kZShjKSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTZWxlY3QoLi4uaXRlbXM6IGFueVtdKSB7XHJcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoaXRlbSlcclxuICAgICAgICAgID8gdGhpcy51bnNlbGVjdEl0ZW1zKGl0ZW0pXHJcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bi5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dCA9IG51bGw7XHJcbiAgICB0aGlzLnRleHRib3guZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNPblNlYXJjaEJveCgpIHtcclxuICAgIGNvbnN0IGlucHV0ZWRWYWwgPSB0aGlzLnRleHQ7XHJcbiAgICBpZiAodGhpcy5hbGxvd1NlYXJjaCA9PT0gdHJ1ZSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hCb3gpIHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoQm94LnZhbHVlID0gaW5wdXRlZFZhbDtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoQm94LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGV4dGJveC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbXMoKTogYW55W10ge1xyXG4gICAgaWYgKHRoaXMuaXRlbXMgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIXRoaXMucmVtb3RlT3BlcmF0aW9uICYmIHRoaXMudGV4dCAmJiB0aGlzLnRleHQgIT09ICcnXHJcbiAgICAgID8gdGhpcy5pdGVtcy5maWx0ZXIoKGMpID0+XHJcbiAgICAgICAgICAoY1t0aGlzLnRleHRGaWVsZF0gYXMgc3RyaW5nKVxyXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAuaW5jbHVkZXModGhpcy50ZXh0LnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgKVxyXG4gICAgICA6IHRoaXMuaXRlbXM7XHJcbiAgfVxyXG5cclxuICBpc0l0ZW1TZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZShcclxuICAgICAgKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSA9PT0gaXRlbVt0aGlzLnZhbHVlRmllbGRdXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RJdGVtQnlOYXYoc2lnbjogLTEgfCAxIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgIGlmIChzaWduID09IG51bGwpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gdGhpcy5nZXRJdGVtcygpLmluZGV4T2YoXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2lnbiA9PT0gLTEgPyB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXgtLSA6IHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCA8IDApIHtcclxuICAgICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gMDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggPiB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggPSB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgc2Nyb2xsXHJcbiAgICB0aGlzLmZvY3VzT25DdXJyZW50Rm9jdXNlZEluZGV4KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzT25DdXJyZW50Rm9jdXNlZEluZGV4KCkge1xyXG4gICAgaWYgKHRoaXMubGlzdENvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1EaXYgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgYC5saXN0LWl0ZW06bnRoLWNoaWxkKCR7dGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4fSlgXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoaXRlbURpdikge1xyXG4gICAgICAgICAgaXRlbURpdi5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnYXV0bycgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGVkSXRlbUJ5SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICBpbmRleCA9IDA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5kZXggPiB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMSkge1xyXG4gICAgICBpbmRleCA9IHRoaXMuZ2V0SXRlbXMoKS5sZW5ndGggLSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RJdGVtcyh0aGlzLmdldEl0ZW1zKClbaW5kZXhdKTtcclxuICAgIHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCA9IGluZGV4O1xyXG4gIH1cclxufVxyXG4iLCI8YXgtZHJvcC1kb3duIFtzaXplXT1cInNpemVcIiBbcnRsXT1cInJ0bFwiIFtzaG93RHJvcERvd25CdXR0b25dPVwic2hvd0Ryb3BEb3duQnV0dG9uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiICNkIChkcm9wZG93blRvZ2dsZSk9XCJkcm9wZG93blRvZ2dsZSgkZXZlbnQpXCIgW2xvYWRpbmddPVwic2hvd0xvYWRpbmdcIj5cclxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4IGNoaXBzLWNvbnRhaW5lclwiIFtob3Jpem9udGFsU2Nyb2xsXT1cIjQwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiIGNsYXNzPVwiY2hpcHNcIiBbY2xhc3MuY2hpcHMtYmxhbmtdPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZSdcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGV4dEZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwcy10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tpdGVtW3RleHRGaWVsZF19fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cImhhbmRsZUl0ZW1SZW1vdmVDbGljayhpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIocmVhZG9ubHkhPXRydWUpICYmIGRpc2FibGVkIT10cnVlICYmIChhbGxvd051bGw9PXRydWUgfHwgKHNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtdGltZXMgY2xvc2VcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXdyYXBwZXJcIiAoY2xpY2spPVwib25UZXh0Qm94Q2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXRleHQtYm94ICN0ZXh0Qm94U2VsZWN0Qm94IFt0ZXh0QWxpZ25dPVwidGV4dEFsaWduXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCA/IHBsYWNlaG9sZGVyIDogJydcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICBbc2l6ZV09XCJzaXplXCI+XHJcbiAgICAgICAgICAgICAgICA8L2F4LXRleHQtYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBlbmQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgcGFuZWw+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImFsbG93U2VhcmNoXCIgY2xhc3M9XCJzZWFyY2gtd3JhcHBlclwiIHN0eWxlPVwicGFkZGluZzogMC43ZW07XCI+XHJcbiAgICAgICAgICAgIDxheC1zZWFyY2gtYm94ICNzZWFyY2hCb3ggWyh2YWx1ZSldPVwidGV4dFwiIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAodGV4dENoYW5nZWQpPVwidGV4dENoYW5nZWQoJGV2ZW50KVwiIChvbkJ1dHRvbkNsaWNrKT1cInRleHRDaGFuZ2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9heC1zZWFyY2gtYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheCBsaXN0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2ICNsaXN0Q29udGFpbmVyIHN0eWxlPVwibWF4LWhlaWdodDogMzAwcHg7b3ZlcmZsb3cteTogYXV0bzt3aWR0aDogMTAwJTtcIiAoc2Nyb2xsKT1cInNjcm9sbGVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRJdGVtcygpLmxlbmd0aD4wOyB0aGVuIHRoZW5UZW1wbGF0ZTsgZWxzZSBlbHNlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGhlblRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpO2xldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZm9jdXNlZF09XCJpPT1jdXJyZW50Zm9jdXNlZEluZGV4XCIgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveCAqbmdJZj1cInNlbGVjdGlvbk1vZGUgIT09ICdzaW5nbGUnXCIgW3NpemVdPVwic2l6ZVwiIFt2YWx1ZV09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhYWxsb3dOdWxsICYmIHNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSAxICYmIGlzSXRlbVNlbGVjdGVkKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudCxpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztvdmVyZmxvdzogaGlkZGVuO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGV4dEZpZWxkXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiKHNlbGVjdGlvbk1vZGUgIT09ICdzaW5nbGUnKSA/IHsncGFkZGluZy1pbmxpbmUtc3RhcnQnOiAnMmVtJ306JydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtW3RleHRGaWVsZF0gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0xvYWRpbmdcIiBjbGFzcz1cImF4LXBhZC1zbVwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXNwaW5uZXItdGhpcmQgZmEtcHVsc2UgZmEtMnhcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1heC1wcmltYXJ5LWNvbG9yKTtcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TG9hZGluZyA9PSB0cnVlOyB0aGVuIHNlYXJjaFRlbXBsYXRlIGVsc2Ugbm9EYXRhVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3NlYXJjaFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydjb21tb24uc2VhcmNoaW5nJyB8IHRyYW5zfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vRGF0YVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydjb21tb24ubm9EYXRhRm91bmQnIHwgdHJhbnN9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9heC1kcm9wLWRvd24+Il19
|
617
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Ym94Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3Rib3gvc2VsZWN0Ym94Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3Rib3gvc2VsZWN0Ym94Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUlMLHNCQUFzQixHQUV2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQUVwRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBeUI7SUFHekUsV0FBVyxHQUFHLEtBQUssQ0FBQztDQUdyQjtBQVlELE1BQU0sT0FBTyxxQkFDWCxTQUFRLHNCQUFzQjtJQTJFcEI7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QVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVDLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd2QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQWNLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkFrQkssS0FBSztzQkFEZixLQUFLO2dCQWtDSyxLQUFLO3NCQURmLEtBQUs7Z0JBYU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLE1BQU07c0JBREwsTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU07Z0JBSUEsV0FBVztzQkFEakIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNO2dCQWdRUCxhQUFhO3NCQURaLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIE5nWm9uZSxcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCB9IGZyb20gJy4uL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBWEJhc2VTaXphYmxlQ29tcG9uZW50LFxuICBBWEJhc2VJbnB1dENvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbiAgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCxcbiAgQVhCYXNlVmFsdWVDb21wb25lbnQsXG59IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2VDb21wb25lbnQgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS9kYXRhc291cmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS9yZWFkLXBhcmFtJztcbmltcG9ydCB7IEFYU2VhcmNoQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhDb25maWcsIEFYT2JqZWN0VXRpbCwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0Qm94VmFsdWVDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBWFZhbHVlRXZlbnQ8YW55IHwgYW55W10+IHtcbiAgZGVjbGFyZSB2YWx1ZT86IGFueTtcbiAgZGVjbGFyZSBvbGRWYWx1ZT86IGFueTtcbiAgaXNVc2VySW5wdXQgPSBmYWxzZTtcbiAgZGVjbGFyZSBzZWxlY3RlZEtleXM/OiBhbnlbXTtcbiAgZGVjbGFyZSBzZWxlY3RlZEl0ZW1zPzogYW55W107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXNlbGVjdC1ib3gyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGJveDIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBzdHlsZTogJ3dpZHRoOiAxMDAlJyB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFNlbGVjdEJveDJDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhTZWxlY3RCb3gyQ29tcG9uZW50XG4gIGV4dGVuZHMgQVhWYWxpZGF0YWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgICBBWEJhc2VJbnB1dENvbXBvbmVudCxcbiAgICBBWEJhc2VWYWx1ZUNvbXBvbmVudDxhbnk+XG57XG4gIEBWaWV3Q2hpbGQoQVhUZXh0Qm94Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzcGFuOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKEFYVGV4dEJveENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGV4dGJveDogQVhUZXh0Qm94Q29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ2xpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBsaXN0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgc2VhcmNoQm94OiBBWFNlYXJjaEJveENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCd0ZXh0Qm94U2VsZWN0Qm94JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGV4dEJveFNlbGVjdEJveDogQVhUZXh0Qm94Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhEYXRhU291cmNlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jb250ZW50RGF0YVNvdXJjZTogQVhEYXRhU291cmNlQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhWYWxpZGF0aW9uLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xuXG4gIEBWaWV3Q2hpbGQoJ2QnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkcm9wZG93bjogQVhEcm9wZG93bkNvbXBvbmVudDtcblxuICBASW5wdXQoKSBzaG93RHJvcERvd25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuICBASW5wdXQoKSBhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0ZXh0QWxpZ246ICdyaWdodCcgfCAnbGVmdCcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYnVmZmVyU2l6ZTogbnVtYmVyID0gMTA7XG4gIEBJbnB1dCgpIHJlbW90ZU9wZXJhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd1NlYXJjaDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHRleHRGaWVsZDogc3RyaW5nID0gJ3RleHQnO1xuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgPSAnc2luZ2xlJztcbiAgQElucHV0KCkgc2VsZWN0aW9uRGF0YU1vZGU6ICd2YWx1ZScgfCAnaXRlbScgPSAndmFsdWUnO1xuXG4gIGN1cnJlbnRmb2N1c2VkSW5kZXg6IG51bWJlciA9IC0xO1xuICBzaG93TG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBza2lwOiBudW1iZXIgPSAtMTtcbiAgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHRleHQ6IHN0cmluZyA9ICcnO1xuICB0b3RhbENvdW50OiBudW1iZXIgPSAwO1xuICBpdGVtc0ZpbHRlcmVkOiBhbnlbXSA9IFtdO1xuXG4gIHByaXZhdGUgaXNVc2VySW5wdXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9kYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBBWERhdGFTb3VyY2VDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlID8gdGhpcy5fZGF0YVNvdXJjZSA6IHRoaXMuX2NvbnRlbnREYXRhU291cmNlO1xuICB9XG4gIHB1YmxpYyBzZXQgZGF0YVNvdXJjZSh2OiBBWERhdGFTb3VyY2VDb21wb25lbnQpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XG4gIH1cbiAgcHVibGljIHNldCB2YWxpZGF0aW9uKHY6IEFYVmFsaWRhdGlvbikge1xuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55IHwgYW55W107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYW55IHwgYW55W10ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKHYgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IEFYT2JqZWN0VXRpbC5kZWVwSlNPTkNsb25lKHRoaXMuX3ZhbHVlKTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBBcnJheS5pc0FycmF5KHYpID8gdiA6IHYgPyBbdl0gOiBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gQXJyYXkuaXNBcnJheSh2KSA/IHZbMF0gOiB2O1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGlzVXNlcklucHV0OiB0aGlzLmlzVXNlcklucHV0LFxuICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxuICAgICAgICBzZWxlY3RlZEtleXM6IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoKGMpID0+IGNbdGhpcy52YWx1ZUZpZWxkXSksXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtcy5zbGljZSgpLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmlzVXNlcklucHV0ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlbmRlclNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IGFueVtdO1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW1zIHx8IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXRlbXM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuICBwdWJsaWMgc2V0IGl0ZW1zKHY6IGFueVtdKSB7XG4gICAgdGhpcy5faXRlbXMgPSB2O1xuICAgIGlmICh0aGlzLml0ZW1zQ2hhbmdlKSB7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodik7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyU2VsZWN0aW9uKCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgaXRlbXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhTZWxlY3RCb3hWYWx1ZUNoYW5nZWRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhTZWxlY3RCb3hWYWx1ZUNoYW5nZWRFdmVudD4oKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ydGwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5ydGwgPVxuICAgICAgICB3aW5kb3dcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCBudWxsKVxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsZWQoZSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVtb3RlT3BlcmF0aW9uICYmXG4gICAgICB0aGlzLnRvdGFsQ291bnQgPiB0aGlzLml0ZW1zLmxlbmd0aCAmJlxuICAgICAgdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICE9IDAgJiZcbiAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCAtXG4gICAgICAgIHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCAtXG4gICAgICAgIDMwMCA8XG4gICAgICAgIDUwXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgaWYgKHRoaXMuc2tpcCAhPT0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5za2lwID0gdGhpcy5pdGVtcy5sZW5ndGg7XG5cbiAgICAgICAgY29uc3QgcGFyYW1zOiBBWERhdGFTb3VyY2VSZWFkUGFyYW1zID0ge307XG4gICAgICAgIHBhcmFtcy5za2lwID0gdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgICAgIHBhcmFtcy50YWtlID1cbiAgICAgICAgICB0aGlzLmJ1ZmZlclNpemUgKlxuICAgICAgICAgIChNYXRoLmZsb29yKHRoaXMuaXRlbXMubGVuZ3RoIC8gdGhpcy5idWZmZXJTaXplKSArIDEpO1xuICAgICAgICBpZiAodGhpcy50ZXh0Ym94KSB7XG4gICAgICAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSB0aGlzLnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmV0Y2gocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ZXh0Q2hhbmdlZChlKSB7XG4gICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gLTE7XG4gICAgaWYgKHRoaXMucmVtb3RlT3BlcmF0aW9uKSB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLnRleHQ7XG4gICAgICB0aGlzLml0ZW1zID0gW107XG4gICAgICBjb25zdCBwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fTtcbiAgICAgIHBhcmFtcy5zZWFyY2hUZXh0ID0gdGhpcy50ZXh0O1xuICAgICAgcGFyYW1zLnNraXAgPSAwO1xuICAgICAgcGFyYW1zLnRha2UgPSB0aGlzLmJ1ZmZlclNpemU7XG4gICAgICB0aGlzLmZldGNoKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJTZWxlY3Rpb24oKSB7XG4gICAgY29uc3QgZnVuYyA9ICgpID0+IHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pdGVtcz8ubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGlvbkRhdGFNb2RlID09ICd2YWx1ZScpIHtcbiAgICAgICAgY29uc3Qgb3JnUmVzID0gdGhpcy5pdGVtcy5maWx0ZXIoKGkpID0+IHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuc29tZSgoaWkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpaSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaVt0aGlzLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IGlpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW3RoaXMudmFsdWVGaWVsZF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChvcmdSZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBvcmdSZXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcCgoaWkpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGlpID09PSAnb2JqZWN0JyAmJiBpaVt0aGlzLnRleHRGaWVsZF0pIHtcbiAgICAgICAgICAgIHJldHVybiBpaTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmFrZTogYW55ID0ge307XG4gICAgICAgICAgICBmYWtlW3RoaXMudmFsdWVGaWVsZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgZmFrZVt0aGlzLnRleHRGaWVsZF0gPSBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24ubG9hZGluZycpO1xuICAgICAgICAgICAgcmV0dXJuIGZha2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcgJiYgdGhpcy52YWx1ZVt0aGlzLnRleHRGaWVsZF0pIHtcbiAgICAgICAgICByZXR1cm4gW3RoaXMudmFsdWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGZha2U6IGFueSA9IHt9O1xuICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgZmFrZVt0aGlzLnRleHRGaWVsZF0gPSBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24ubG9hZGluZycpO1xuICAgICAgICAgIHJldHVybiBbZmFrZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBmdW5jKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYnVmZmVyU2l6ZSA8IDEwKSB7XG4gICAgICB0aGlzLmJ1ZmZlclNpemUgPSAxMDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlbW90ZU9wZXJhdGlvbikge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgZHJvcGRvd25Ub2dnbGUoZSkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duLmlzT3Blbikge1xuICAgICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gdGhpcy5nZXRJdGVtcygpLmluZGV4T2YoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1t0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMV1cbiAgICAgICk7XG4gICAgICB0aGlzLmZvY3VzT25TZWFyY2hCb3goKTtcbiAgICAgIHRoaXMuZm9jdXNPbkN1cnJlbnRGb2N1c2VkSW5kZXgoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmluaXRWYWxpZGF0aW9uKHRoaXMucmVmLCAndmFsdWUnLCB0aGlzLnZhbGlkYXRpb24pO1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIGlmICh0aGlzLmFsbG93U2VhcmNoID09PSBmYWxzZSkge1xuICAgICAgICB0aGlzLmZldGNoKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kYXRhUmVjZWl2ZWQoYy5kYXRhLnJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhUmVjZWl2ZWQoZGF0YTogYW55KSB7XG4gICAgaWYgKHRoaXMucmVtb3RlT3BlcmF0aW9uKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCAmJlxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgIT0gbnVsbCAmJlxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnXG4gICAgICApIHtcbiAgICAgICAgaWYgKGRhdGEudG90YWxDb3VudCkge1xuICAgICAgICAgIHRoaXMuaXRlbXMgPSBkYXRhLml0ZW1zO1xuICAgICAgICAgIHRoaXMudG90YWxDb3VudCA9IGRhdGEudG90YWxDb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcztcbiAgICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSBkYXRhLml0ZW1zID09IHVuZGVmaW5lZCA/IDAgOiBkYXRhLml0ZW1zLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhLml0ZW1zICYmIGRhdGEuaXRlbXMubGVuZ3RoID09PSBkYXRhLnRvdGFsQ291bnQpIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IGRhdGEuaXRlbXM7XG4gICAgICAgIHRoaXMudG90YWxDb3VudCA9IGRhdGEuaXRlbXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLnRvdGFsQ291bnQpIHtcbiAgICAgICAgZGF0YS5pdGVtcy5mb3JFYWNoKChlbG0pID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goZWxtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudG90YWxDb3VudCA9IGRhdGEudG90YWxDb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuZm9yRWFjaCgoZWxtKSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKGVsbSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSBkYXRhLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtcyA9IGRhdGE7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyU2VsZWN0aW9uKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZmV0Y2gocGFyYW1zOiBBWERhdGFTb3VyY2VSZWFkUGFyYW1zID0ge30pIHtcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5mZXRjaChwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgY29uc3QgcGFyYW1zOiBBWERhdGFTb3VyY2VSZWFkUGFyYW1zID0ge307XG4gICAgaWYgKHRoaXMucmVtb3RlT3BlcmF0aW9uKSB7XG4gICAgICBwYXJhbXMuc2tpcCA9IDA7XG4gICAgICB0aGlzLnNraXAgPSAwO1xuICAgICAgcGFyYW1zLnRha2UgPSB0aGlzLmJ1ZmZlclNpemU7XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgICAgdGhpcy5mZXRjaChwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUl0ZW1SZW1vdmVDbGljayhpdGVtKSB7XG4gICAgdGhpcy50ZXh0ID0gJyc7XG4gICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcigoYykgPT5cbiAgICAgICAgdHlwZW9mIGMgPT09ICdvYmplY3QnXG4gICAgICAgICAgPyBjW3RoaXMudmFsdWVGaWVsZF0gIT09IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXVxuICAgICAgICAgIDogYyAhPT0gaXRlbVt0aGlzLnZhbHVlRmllbGRdXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvblRleHRCb3hDbGljayhlKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgPT09IGZhbHNlICYmIHRoaXMucmVhZG9ubHkgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XG4gICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpICYmIHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy52YWx1ZS5zb21lKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxHZXRJdGVtVmFsdWUoYykgPT09IHRoaXMuaW50ZXJuYWxHZXRJdGVtVmFsdWUoaXRlbSlcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmZvY3VzT25TZWFyY2hCb3goKTtcbiAgfVxuXG4gIHByaXZhdGUgaW50ZXJuYWxHZXRJdGVtQnlEYXRhTW9kZShpdGVtOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25EYXRhTW9kZSA9PT0gJ2l0ZW0nID8gaXRlbSA6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcbiAgfVxuXG4gIHByaXZhdGUgaW50ZXJuYWxHZXRJdGVtVmFsdWUoaXRlbTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyA/IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSA6IGl0ZW07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJyB8fCB0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNMZXR0ZXIgPSBuZXcgUmVnRXhwKC9bYS16QS1aMC05XFwtXS8pLnRlc3QoXG4gICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSlcbiAgICApO1xuICAgIGlmICh0aGlzLnRleHRib3guaXNGb2N1c2VkKCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgZS5rZXkgPT09ICdCYWNrc3BhY2UnICYmXG4gICAgICAgIGUudHlwZSA9PT0gJ2tleWRvd24nICYmXG4gICAgICAgICgodGhpcy5hbGxvd051bGwgPT09IHRydWUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICAgKHRoaXMuYWxsb3dOdWxsID09PSBmYWxzZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XG4gICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyh0aGlzLnNlbGVjdGVkSXRlbXMucG9wKCkpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIChlLmtleSA9PT0gJ0Fycm93RG93bicgfHwgZS5rZXkgPT09ICdBcnJvd1VwJykgJiZcbiAgICAgICAgdGhpcy5nZXRJdGVtcygpLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgIXRoaXMuZHJvcGRvd24uaXNPcGVuICYmXG4gICAgICAgIGUudHlwZSA9PT0gJ2tleWRvd24nXG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUJ5SW5kZXgoXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggKyAoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGUuY3RybEtleSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmIChpc0xldHRlcikge1xuICAgICAgICB0aGlzLnRleHQgPSBlLmtleTtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5kcm9wZG93bi5pc09wZW4pIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGUua2V5ID09PSAnQXJyb3dEb3duJyB8fCBlLmtleSA9PT0gJ0Fycm93VXAnKSAmJlxuICAgICAgICB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW1CeU5hdihlLmtleSA9PT0gJ0Fycm93RG93bicgPyAxIDogLTEpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmNvZGUgPT09ICdTcGFjZScpIHtcbiAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSB0aGlzLmdldEl0ZW1zKClbdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4XTtcbiAgICAgICAgaWYgKGZvY3VzZWRJdGVtKSB7XG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RJdGVtcyhmb2N1c2VkSXRlbSk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3QoZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bnNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLmZpbHRlcihcbiAgICAgICAgKGMpID0+XG4gICAgICAgICAgIWl0ZW1zLnNvbWUoXG4gICAgICAgICAgICAoZCkgPT4gdGhpcy5pbnRlcm5hbEdldEl0ZW1WYWx1ZShjKSA9PT0gdGhpcy5pbnRlcm5hbEdldEl0ZW1WYWx1ZShkKVxuICAgICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmludGVybmFsR2V0SXRlbUJ5RGF0YU1vZGUoaXRlbXNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9ICh0aGlzLnZhbHVlIHx8IFtdKS5jb25jYXQoXG4gICAgICAgICAgaXRlbXMubWFwKChjKSA9PiB0aGlzLmludGVybmFsR2V0SXRlbUJ5RGF0YU1vZGUoYykpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KC4uLml0ZW1zOiBhbnlbXSkge1xuICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGgpIHtcbiAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGl0ZW0pXG4gICAgICAgICAgPyB0aGlzLnVuc2VsZWN0SXRlbXMoaXRlbSlcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMuZHJvcGRvd24ub3BlbigpO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy50ZXh0ID0gbnVsbDtcbiAgICB0aGlzLnRleHRib3guZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNPblNlYXJjaEJveCgpIHtcbiAgICBjb25zdCBpbnB1dGVkVmFsID0gdGhpcy50ZXh0O1xuICAgIGlmICh0aGlzLmFsbG93U2VhcmNoID09PSB0cnVlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoQm94KSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hCb3gudmFsdWUgPSBpbnB1dGVkVmFsO1xuICAgICAgICAgIHRoaXMuc2VhcmNoQm94LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRleHRib3guZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtcygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gIXRoaXMucmVtb3RlT3BlcmF0aW9uICYmIHRoaXMudGV4dCAmJiB0aGlzLnRleHQgIT09ICcnXG4gICAgICA/IHRoaXMuaXRlbXMuZmlsdGVyKChjKSA9PlxuICAgICAgICAgIChjW3RoaXMudGV4dEZpZWxkXSBhcyBzdHJpbmcpXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgLmluY2x1ZGVzKHRoaXMudGV4dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApXG4gICAgICA6IHRoaXMuaXRlbXM7XG4gIH1cblxuICBpc0l0ZW1TZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoXG4gICAgICAoYykgPT4gY1t0aGlzLnZhbHVlRmllbGRdID09PSBpdGVtW3RoaXMudmFsdWVGaWVsZF1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJdGVtQnlOYXYoc2lnbjogLTEgfCAxIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoc2lnbiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggPSB0aGlzLmdldEl0ZW1zKCkuaW5kZXhPZihcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW3RoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggLSAxXVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2lnbiA9PT0gLTEgPyB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXgtLSA6IHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCsrO1xuICAgIH1cbiAgICBpZiAodGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4IDwgMCkge1xuICAgICAgdGhpcy5jdXJyZW50Zm9jdXNlZEluZGV4ID0gMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudGZvY3VzZWRJbmRleCA+IHRoaXMuZ2V0SXRlbXMoKS5sZW5ndGggLSAxKSB7XG4gICAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggPSB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICAvLyBzZXQgc2Nyb2xsXG4gICAgdGhpcy5mb2N1c09uQ3VycmVudEZvY3VzZWRJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c09uQ3VycmVudEZvY3VzZWRJbmRleCgpIHtcbiAgICBpZiAodGhpcy5saXN0Q29udGFpbmVyKSB7XG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtRGl2ID0gdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICBgLmxpc3QtaXRlbTpudGgtY2hpbGQoJHt0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXh9KWBcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGl0ZW1EaXYpIHtcbiAgICAgICAgICBpdGVtRGl2LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdhdXRvJyB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0ZWRJdGVtQnlJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgaW5kZXggPSAwO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPiB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMSkge1xuICAgICAgaW5kZXggPSB0aGlzLmdldEl0ZW1zKCkubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RJdGVtcyh0aGlzLmdldEl0ZW1zKClbaW5kZXhdKTtcbiAgICB0aGlzLmN1cnJlbnRmb2N1c2VkSW5kZXggPSBpbmRleDtcbiAgfVxufVxuIiwiPGF4LWRyb3AtZG93biBbc2l6ZV09XCJzaXplXCIgW3J0bF09XCJydGxcIiBbc2hvd0Ryb3BEb3duQnV0dG9uXT1cInNob3dEcm9wRG93bkJ1dHRvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgI2QgKGRyb3Bkb3duVG9nZ2xlKT1cImRyb3Bkb3duVG9nZ2xlKCRldmVudClcIiBbbG9hZGluZ109XCJzaG93TG9hZGluZ1wiPlxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgaGVhZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggY2hpcHMtY29udGFpbmVyXCIgW2hvcml6b250YWxTY3JvbGxdPVwiNDBcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtc1wiIGNsYXNzPVwiY2hpcHNcIiBbY2xhc3MuY2hpcHMtYmxhbmtdPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZSdcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtW3RleHRGaWVsZF1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBzLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3tpdGVtW3RleHRGaWVsZF19fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIocmVhZG9ubHkhPXRydWUpICYmIGRpc2FibGVkIT10cnVlICYmIChhbGxvd051bGw9PXRydWUgfHwgKHNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzIGNsb3NlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCIgKGNsaWNrKT1cIm9uVGV4dEJveENsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggI3RleHRCb3hTZWxlY3RCb3ggW3RleHRBbGlnbl09XCJ0ZXh0QWxpZ25cIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCA/IHBsYWNlaG9sZGVyIDogJydcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAgW3NpemVdPVwic2l6ZVwiPlxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBlbmQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmRdXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIHBhbmVsPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYWxsb3dTZWFyY2hcIiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAwLjdlbTtcIj5cbiAgICAgICAgICAgIDxheC1zZWFyY2gtYm94ICNzZWFyY2hCb3ggWyh2YWx1ZSldPVwidGV4dFwiIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgKHRleHRDaGFuZ2VkKT1cInRleHRDaGFuZ2VkKCRldmVudClcIiAob25CdXR0b25DbGljayk9XCJ0ZXh0Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2F4LXNlYXJjaC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgI2xpc3RDb250YWluZXIgc3R5bGU9XCJtYXgtaGVpZ2h0OiAzMDBweDtvdmVyZmxvdy15OiBhdXRvO3dpZHRoOiAxMDAlO1wiIChzY3JvbGwpPVwic2Nyb2xsZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRJdGVtcygpLmxlbmd0aD4wOyB0aGVuIHRoZW5UZW1wbGF0ZTsgZWxzZSBlbHNlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RoZW5UZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7bGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZm9jdXNlZF09XCJpPT1jdXJyZW50Zm9jdXNlZEluZGV4XCIgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1jaGVjay1ib3ggKm5nSWY9XCJzZWxlY3Rpb25Nb2RlICE9PSAnc2luZ2xlJ1wiIFtzaXplXT1cInNpemVcIiBbdmFsdWVdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhbGxvd051bGwgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDEgJiYgaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudCxpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztvdmVyZmxvdzogaGlkZGVuO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtW3RleHRGaWVsZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCIoc2VsZWN0aW9uTW9kZSAhPT0gJ3NpbmdsZScpID8geydwYWRkaW5nLWlubGluZS1zdGFydCc6ICcyZW0nfTonJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtW3RleHRGaWVsZF0gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TG9hZGluZ1wiIGNsYXNzPVwiYXgtcGFkLXNtXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXNwaW5uZXItdGhpcmQgZmEtcHVsc2UgZmEtMnhcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1heC1wcmltYXJ5LWNvbG9yKTtcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TG9hZGluZyA9PSB0cnVlOyB0aGVuIHNlYXJjaFRlbXBsYXRlIGVsc2Ugbm9EYXRhVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzZWFyY2hUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydjb21tb24uc2VhcmNoaW5nJyB8IHRyYW5zfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vRGF0YVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J2NvbW1vbi5ub0RhdGFGb3VuZCcgfCB0cmFuc319XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9heC1kcm9wLWRvd24+Il19
|
@@ -75,12 +75,12 @@ export class AXSelectionListComponent extends AXValidatableComponent {
|
|
75
75
|
value: e.value,
|
76
76
|
});
|
77
77
|
}
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
79
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXSelectionListComponent, selector: "ax-selection-list", inputs: { readonly: "readonly", value: "value", disabled: "disabled", size: "size", direction: "direction", items: "items", mode: "mode", textField: "textField", valueField: "valueField", selectedItems: "selectedItems", selectedValues: "selectedValues" }, outputs: { selectionChanged: "selectionChanged", selectedItemsChange: "selectedItemsChange", selectedValuesChange: "selectedValuesChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngIf=\"mode == 'multiple'; then checkboxList; else radioButtonList\"\n></ng-container>\n<ng-template #checkboxList>\n <div class=\"ax selection-list {{ size }}\" [ngClass]=\"direction\">\n <ax-check-box\n label=\"{{ item[textField] }}\"\n *ngFor=\"let item of items\"\n [disabled]=\"item.disable || disabled\"\n [readonly]=\"item.readonly || readonly\"\n [value]=\"selectedValues.indexOf(item[valueField]) > -1\"\n (onValueChanged)=\"onCheckValueChange(item[valueField], $event.value)\"\n (onClick)=\"checkBoxClick($event, item)\"\n >\n </ax-check-box>\n </div>\n</ng-template>\n<ng-template #radioButtonList>\n <div\n style=\"flex-wrap: wrap-reverse; gap: 4p\"\n class=\"ax selection-list {{ size }}\"\n [ngClass]=\"direction\"\n >\n <label\n class=\"ax radio\"\n for=\"{{ uid }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n *ngFor=\"let item of items\"\n (click)=\"onvalueChanged(item)\"\n >\n {{ item[textField] }}\n <input\n type=\"radio\"\n (change)=\"onCheckValueChange(item[valueField], true)\"\n [value]=\"item[valueField]\"\n [checked]=\"selectedValues == item[valueField]\"\n [name]=\"uid\"\n [disabled]=\"item.disable || disabled\"\n [readonly]=\"item.readonly || readonly\"\n />\n <span class=\"checkmark\"></span>\n </label>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
80
80
|
}
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListComponent, decorators: [{
|
82
82
|
type: Component,
|
83
|
-
args: [{ selector: 'ax-selection-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container
|
83
|
+
args: [{ selector: 'ax-selection-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container\n *ngIf=\"mode == 'multiple'; then checkboxList; else radioButtonList\"\n></ng-container>\n<ng-template #checkboxList>\n <div class=\"ax selection-list {{ size }}\" [ngClass]=\"direction\">\n <ax-check-box\n label=\"{{ item[textField] }}\"\n *ngFor=\"let item of items\"\n [disabled]=\"item.disable || disabled\"\n [readonly]=\"item.readonly || readonly\"\n [value]=\"selectedValues.indexOf(item[valueField]) > -1\"\n (onValueChanged)=\"onCheckValueChange(item[valueField], $event.value)\"\n (onClick)=\"checkBoxClick($event, item)\"\n >\n </ax-check-box>\n </div>\n</ng-template>\n<ng-template #radioButtonList>\n <div\n style=\"flex-wrap: wrap-reverse; gap: 4p\"\n class=\"ax selection-list {{ size }}\"\n [ngClass]=\"direction\"\n >\n <label\n class=\"ax radio\"\n for=\"{{ uid }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n *ngFor=\"let item of items\"\n (click)=\"onvalueChanged(item)\"\n >\n {{ item[textField] }}\n <input\n type=\"radio\"\n (change)=\"onCheckValueChange(item[valueField], true)\"\n [value]=\"item[valueField]\"\n [checked]=\"selectedValues == item[valueField]\"\n [name]=\"uid\"\n [disabled]=\"item.disable || disabled\"\n [readonly]=\"item.readonly || readonly\"\n />\n <span class=\"checkmark\"></span>\n </label>\n </div>\n</ng-template>\n" }]
|
84
84
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { readonly: [{
|
85
85
|
type: Input
|
86
86
|
}], value: [{
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
110
110
|
}], selectedValues: [{
|
111
111
|
type: Input
|
112
112
|
}] } });
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0aW9uLWxpc3Qvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0aW9uLWxpc3Qvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFRL0IsTUFBTSxPQUFPLHdCQUNYLFNBQVEsc0JBQXNCO0lBd0VWO0lBckVaLGNBQWMsR0FBVSxFQUFFLENBQUM7SUFHbkMsUUFBUSxDQUFVO0lBR2xCLEtBQUssQ0FBVTtJQUdmLFFBQVEsQ0FBVTtJQUdsQixJQUFJLEdBQWtCLElBQUksQ0FBQztJQUczQixTQUFTLEdBQVcsWUFBWSxDQUFDO0lBR2pDLEtBQUssR0FBMkIsRUFBRSxDQUFDO0lBR25DLElBQUksR0FBVyxRQUFRLENBQUM7SUFHeEIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUczQixVQUFVLEdBQVcsT0FBTyxDQUFDO0lBRzdCLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRzlELG1CQUFtQixHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO0lBRXJFLElBQ1csYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLGFBQWEsQ0FBQyxDQUFRO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdB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QkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FTL0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsbUJBQW1CO3NCQURsQixNQUFNO2dCQUlJLGFBQWE7c0JBRHZCLEtBQUs7Z0JBV04sb0JBQW9CO3NCQURuQixNQUFNO2dCQUlJLGNBQWM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3QgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFYQmFzZUNvbXBvbmVudCxcclxuICBBWEJhc2VTaXphYmxlQ29tcG9uZW50LFxyXG4gIEFYRWxlbWVudFNpemUsXHJcbiAgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCxcclxufSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1zZWxlY3Rpb24tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VDb21wb25lbnRcclxue1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZG9ubHk6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdmFsdWU6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlyZWN0aW9uOiBzdHJpbmcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXRlbXM6IEFycmF5PEFYU2VsZWN0aW9uTGlzdD4gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBtb2RlOiBzdHJpbmcgPSAnc2luZ2xlJztcclxuXHJcbiAgQElucHV0KClcclxuICB0ZXh0RmllbGQ6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQElucHV0KClcclxuICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAndmFsdWUnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzZWxlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzZWxlY3RlZEl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMgfHwgW107XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRJdGVtcyh2OiBhbnlbXSkge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IHY7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRWYWx1ZXMoKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKChjKSA9PiBjW3RoaXMudmFsdWVGaWVsZF0pIHx8IFtdO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHNlbGVjdGVkVmFsdWVzKHY6IGFueVtdKSB7XHJcbiAgICBjb25zdCBvbGQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xyXG4gICAgaWYgKHYgPT0gbnVsbCkge1xyXG4gICAgICB2ID0gW107XHJcbiAgICB9XHJcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkob2xkKSAhPSBKU09OLnN0cmluZ2lmeSh2KSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoYykgPT5cclxuICAgICAgICB2LmluY2x1ZGVzKGNbdGhpcy52YWx1ZUZpZWxkXSlcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgb25DaGVja1ZhbHVlQ2hhbmdlKHZhbHVlOiBhbnksIGNoZWNrZWQ6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnc2luZ2xlJykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbdmFsdWVdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRWYWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbLi4udGhpcy5zZWxlY3RlZFZhbHVlcywgLi4uW3ZhbHVlXV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcigoYykgPT4gYyAhPT0gdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBmb2N1cygpOiB2b2lkIHt9XHJcblxyXG4gIG9udmFsdWVDaGFuZ2VkKGUpIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdChbZV0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tCb3hDbGljayhlLCBkYXRhKSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIHZhbHVlRmllbGQ6IGRhdGFbdGhpcy52YWx1ZUZpZWxkXSxcclxuICAgICAgdmFsdWU6IGUudmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiBtb2RlID09ICdtdWx0aXBsZSc7IHRoZW4gY2hlY2tib3hMaXN0OyBlbHNlIHJhZGlvQnV0dG9uTGlzdFwiPjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2NoZWNrYm94TGlzdD5cclxuICAgIDxkaXYgY2xhc3M9XCJheCBzZWxlY3Rpb24tbGlzdCB7e3NpemV9fVwiIFtuZ0NsYXNzXT1cImRpcmVjdGlvblwiPlxyXG4gICAgICAgIDxheC1jaGVjay1ib3ggbGFiZWw9XCJ7e2l0ZW1bdGV4dEZpZWxkXX19XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlIHx8IGRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHkgfHwgcmVhZG9ubHlcIiBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZXMuaW5kZXhPZihpdGVtW3ZhbHVlRmllbGRdKT4tMVwiXHJcbiAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJvbkNoZWNrVmFsdWVDaGFuZ2UoaXRlbVt2YWx1ZUZpZWxkXSwkZXZlbnQudmFsdWUpXCIgKG9uQ2xpY2spPVwiY2hlY2tCb3hDbGljaygkZXZlbnQsaXRlbSlcIj5cclxuICAgICAgICA8L2F4LWNoZWNrLWJveD5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3JhZGlvQnV0dG9uTGlzdD5cclxuICAgIDxkaXYgY2xhc3M9XCJheCBzZWxlY3Rpb24tbGlzdCB7e3NpemV9fVwiIFtuZ0NsYXNzXT1cImRpcmVjdGlvblwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImF4IHJhZGlvXCIgZm9yPVwie3t1aWR9fVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgKGNsaWNrKT1cIm9udmFsdWVDaGFuZ2VkKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW1bdGV4dEZpZWxkXSB9fVxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgKGNoYW5nZSk9XCJvbkNoZWNrVmFsdWVDaGFuZ2UoaXRlbVt2YWx1ZUZpZWxkXSx0cnVlKVwiIFt2YWx1ZV09XCJpdGVtW3ZhbHVlRmllbGRdXCJcclxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkVmFsdWVzPT1pdGVtW3ZhbHVlRmllbGRdXCIgW25hbWVdPVwidWlkXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZSB8fCBkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiaXRlbS5yZWFkb25seSB8fCByZWFkb25seVwiIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2ttYXJrXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0aW9uLWxpc3Qvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0aW9uLWxpc3Qvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFRL0IsTUFBTSxPQUFPLHdCQUNYLFNBQVEsc0JBQXNCO0lBd0VWO0lBckVaLGNBQWMsR0FBVSxFQUFFLENBQUM7SUFHbkMsUUFBUSxDQUFVO0lBR2xCLEtBQUssQ0FBVTtJQUdmLFFBQVEsQ0FBVTtJQUdsQixJQUFJLEdBQWtCLElBQUksQ0FBQztJQUczQixTQUFTLEdBQVcsWUFBWSxDQUFDO0lBR2pDLEtBQUssR0FBMkIsRUFBRSxDQUFDO0lBR25DLElBQUksR0FBVyxRQUFRLENBQUM7SUFHeEIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUczQixVQUFVLEdBQVcsT0FBTyxDQUFDO0lBRzdCLGdCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRzlELG1CQUFtQixHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO0lBRXJFLElBQ1csYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLGFBQWEsQ0FBQyxDQUFRO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdB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bUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07d0dBUy9DLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFJSSxhQUFhO3NCQUR2QixLQUFLO2dCQVdOLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFJSSxjQUFjO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYQmFzZUNvbXBvbmVudCxcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbiAgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCxcbn0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc2VsZWN0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhTZWxlY3Rpb25MaXN0Q29tcG9uZW50XG4gIGV4dGVuZHMgQVhWYWxpZGF0YWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUNvbXBvbmVudFxue1xuICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogc3RyaW5nID0gJ2hvcml6b250YWwnO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBcnJheTxBWFNlbGVjdGlvbkxpc3Q+ID0gW107XG5cbiAgQElucHV0KClcbiAgbW9kZTogc3RyaW5nID0gJ3NpbmdsZSc7XG5cbiAgQElucHV0KClcbiAgdGV4dEZpZWxkOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgQElucHV0KClcbiAgdmFsdWVGaWVsZDogc3RyaW5nID0gJ3ZhbHVlJztcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzZWxlY3RlZEl0ZW1zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcyB8fCBbXTtcbiAgfVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkSXRlbXModjogYW55W10pIHtcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gdjtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZFZhbHVlc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBzZWxlY3RlZFZhbHVlcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKChjKSA9PiBjW3RoaXMudmFsdWVGaWVsZF0pIHx8IFtdO1xuICB9XG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRWYWx1ZXModjogYW55W10pIHtcbiAgICBjb25zdCBvbGQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xuICAgIGlmICh2ID09IG51bGwpIHtcbiAgICAgIHYgPSBbXTtcbiAgICB9XG4gICAgaWYgKEpTT04uc3RyaW5naWZ5KG9sZCkgIT0gSlNPTi5zdHJpbmdpZnkodikpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChjKSA9PlxuICAgICAgICB2LmluY2x1ZGVzKGNbdGhpcy52YWx1ZUZpZWxkXSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvbkNoZWNrVmFsdWVDaGFuZ2UodmFsdWU6IGFueSwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFt2YWx1ZV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbLi4udGhpcy5zZWxlY3RlZFZhbHVlcywgLi4uW3ZhbHVlXV07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcigoYykgPT4gYyAhPT0gdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZvY3VzKCk6IHZvaWQge31cblxuICBvbnZhbHVlQ2hhbmdlZChlKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNDaGFuZ2UuZW1pdChbZV0pO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrQm94Q2xpY2soZSwgZGF0YSkge1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHtcbiAgICAgIHZhbHVlRmllbGQ6IGRhdGFbdGhpcy52YWx1ZUZpZWxkXSxcbiAgICAgIHZhbHVlOiBlLnZhbHVlLFxuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwibW9kZSA9PSAnbXVsdGlwbGUnOyB0aGVuIGNoZWNrYm94TGlzdDsgZWxzZSByYWRpb0J1dHRvbkxpc3RcIlxuPjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNjaGVja2JveExpc3Q+XG4gIDxkaXYgY2xhc3M9XCJheCBzZWxlY3Rpb24tbGlzdCB7eyBzaXplIH19XCIgW25nQ2xhc3NdPVwiZGlyZWN0aW9uXCI+XG4gICAgPGF4LWNoZWNrLWJveFxuICAgICAgbGFiZWw9XCJ7eyBpdGVtW3RleHRGaWVsZF0gfX1cIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZSB8fCBkaXNhYmxlZFwiXG4gICAgICBbcmVhZG9ubHldPVwiaXRlbS5yZWFkb25seSB8fCByZWFkb25seVwiXG4gICAgICBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZXMuaW5kZXhPZihpdGVtW3ZhbHVlRmllbGRdKSA+IC0xXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJvbkNoZWNrVmFsdWVDaGFuZ2UoaXRlbVt2YWx1ZUZpZWxkXSwgJGV2ZW50LnZhbHVlKVwiXG4gICAgICAob25DbGljayk9XCJjaGVja0JveENsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgID5cbiAgICA8L2F4LWNoZWNrLWJveD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyYWRpb0J1dHRvbkxpc3Q+XG4gIDxkaXZcbiAgICBzdHlsZT1cImZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyBnYXA6IDRwXCJcbiAgICBjbGFzcz1cImF4IHNlbGVjdGlvbi1saXN0IHt7IHNpemUgfX1cIlxuICAgIFtuZ0NsYXNzXT1cImRpcmVjdGlvblwiXG4gID5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiYXggcmFkaW9cIlxuICAgICAgZm9yPVwie3sgdWlkIH19XCJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgKGNsaWNrKT1cIm9udmFsdWVDaGFuZ2VkKGl0ZW0pXCJcbiAgICA+XG4gICAgICB7eyBpdGVtW3RleHRGaWVsZF0gfX1cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ2hlY2tWYWx1ZUNoYW5nZShpdGVtW3ZhbHVlRmllbGRdLCB0cnVlKVwiXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtW3ZhbHVlRmllbGRdXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRWYWx1ZXMgPT0gaXRlbVt2YWx1ZUZpZWxkXVwiXG4gICAgICAgIFtuYW1lXT1cInVpZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGUgfHwgZGlzYWJsZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwiaXRlbS5yZWFkb25seSB8fCByZWFkb25seVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja21hcmtcIj48L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -5,11 +5,11 @@ import { AXCheckBoxModule } from '../checkbox/checkbox.module';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export class AXSelectionListModule {
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListModule, declarations: [AXSelectionListComponent], imports: [CommonModule, FormsModule, AXCheckBoxModule], exports: [AXSelectionListComponent] });
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListModule, imports: [CommonModule, FormsModule, AXCheckBoxModule] });
|
11
11
|
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSelectionListModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{
|
15
15
|
declarations: [AXSelectionListComponent],
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
18
18
|
providers: []
|
19
19
|
}]
|
20
20
|
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc2VsZWN0aW9uLWxpc3Qvc2VsZWN0aW9uLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFRN0MsTUFBTSxPQUFPLHFCQUFxQjt3R0FBckIscUJBQXFCO3lHQUFyQixxQkFBcUIsaUJBTGpCLHdCQUF3QixhQUM3QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixhQUMzQyx3QkFBd0I7eUdBR3ZCLHFCQUFxQixZQUp0QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQjs7NEZBSTFDLHFCQUFxQjtrQkFOakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWFNlbGVjdGlvbkxpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhDaGVja0JveE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFNlbGVjdGlvbkxpc3RDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VsZWN0aW9uTGlzdE1vZHVsZSB7IH1cbiJdfQ==
|
@@ -31,12 +31,12 @@ export class AXSwitchComponent extends AXBaseComponent {
|
|
31
31
|
this.cdr = cdr;
|
32
32
|
}
|
33
33
|
focus() { }
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSwitchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXSwitchComponent, selector: "ax-switch", inputs: { tabIndex: "tabIndex", value: "value", readonly: "readonly", disabled: "disabled", size: "size" }, outputs: { onValueChanged: "onValueChanged", valueChange: "valueChange" }, usesInheritance: true, ngImport: i0, template: "<label class=\"ax ax-switch\" >\n <input type=\"checkbox\" [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\" [attr.tabindex]=\"tabIndex\">\n <span class=\"slider round\"></span>\n</label>", styles: [".ax.ax-switch{position:relative;display:inline-block;width:46px;height:25px;margin:5px}.ax.ax-switch>input{opacity:0;width:0;height:0}.ax.ax-switch>input:checked+.slider{background-color:var(--ax-primary-color)}.ax.ax-switch>input:checked+.slider:before{transform:translate(21px)}.ax.ax-switch:focus-within .slider{outline:1px solid var(--ax-primary-color)}.ax.ax-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.2s}.ax.ax-switch .slider:before{content:\"\";position:absolute;height:21px;width:21px;left:2px;bottom:2px;background-color:#fff;transition:.2s}.ax.ax-switch .slider.round{border-radius:25px}.ax.ax-switch .slider.round:before{border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
36
36
|
}
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXSwitchComponent, decorators: [{
|
38
38
|
type: Component,
|
39
|
-
args: [{ selector: 'ax-switch', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label class=\"ax ax-switch\" >\
|
39
|
+
args: [{ selector: 'ax-switch', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label class=\"ax ax-switch\" >\n <input type=\"checkbox\" [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\" [attr.tabindex]=\"tabIndex\">\n <span class=\"slider round\"></span>\n</label>", styles: [".ax.ax-switch{position:relative;display:inline-block;width:46px;height:25px;margin:5px}.ax.ax-switch>input{opacity:0;width:0;height:0}.ax.ax-switch>input:checked+.slider{background-color:var(--ax-primary-color)}.ax.ax-switch>input:checked+.slider:before{transform:translate(21px)}.ax.ax-switch:focus-within .slider{outline:1px solid var(--ax-primary-color)}.ax.ax-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.2s}.ax.ax-switch .slider:before{content:\"\";position:absolute;height:21px;width:21px;left:2px;bottom:2px;background-color:#fff;transition:.2s}.ax.ax-switch .slider.round{border-radius:25px}.ax.ax-switch .slider.round:before{border-radius:50%}\n"] }]
|
40
40
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { onValueChanged: [{
|
41
41
|
type: Output
|
42
42
|
}], valueChange: [{
|
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
|
|
52
52
|
}], size: [{
|
53
53
|
type: Input
|
54
54
|
}] } });
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxlQUFlLEVBQStELE1BQU0sdUJBQXVCLENBQUM7OztBQVVySCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQXdDOUI7SUFwQ3RCLGNBQWMsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7SUFHaEcsV0FBVyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBR2pFLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFYixNQUFNLENBQVU7SUFDeEIsSUFDVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxDQUFVO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsUUFBUTtnQkFDUixLQUFLLEVBQUUsQ0FBQzthQUNULENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUlELFFBQVEsQ0FBVTtJQUdsQixRQUFRLENBQVU7SUFHbEIsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFM0IsWUFBc0IsR0FBc0I7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFEWSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO0lBRUQsS0FBSyxLQUFXLENBQUM7d0dBNUNOLGlCQUFpQjs0RkFBakIsaUJBQWlCLCtQQ1g5QixnTkFHUTs7NEZEUUssaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FNL0MsY0FBYztzQkFEYixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxRQUFRO3NCQURQLEtBQUs7Z0JBS0ssS0FBSztzQkFEZixLQUFLO2dCQW1CTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZVZhbHVlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcbmltcG9ydCB7IEFYVmFsdWVFdmVudCB9IGZyb20gJy4uL2Jhc2UvZXZlbnRzLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N3aXRjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhTd2l0Y2hDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VWYWx1ZUNvbXBvbmVudDxib29sZWFuPiB7XG5cblxuICBAT3V0cHV0KClcbiAgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8Ym9vbGVhbj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8Ym9vbGVhbj4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KClcbiAgdGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsdWUodjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB2XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQgeyB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJheCBheC1zd2l0Y2hcIiA+XG4gICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJzbGlkZXIgcm91bmRcIj48L3NwYW4+XG48L2xhYmVsPiJdfQ==
|