@mediusinc/mng-commons 5.4.0 → 5.5.0-rc.1
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/core/descriptors/table.descriptor.d.ts +4 -2
- package/core/directives/rerender.directive.d.ts +9 -0
- package/core/helpers/route.d.ts +25 -25
- package/core/index.d.ts +2 -0
- package/core/models/version.model.d.ts +16 -4
- package/core/reactivity/effect.d.ts +16 -0
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +4 -4
- package/esm2022/core/components/pages/error/error.page.component.mjs +4 -4
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +4 -4
- package/esm2022/core/data-list/data-list-params-helpers.mjs +18 -3
- package/esm2022/core/descriptors/table.descriptor.mjs +1 -1
- package/esm2022/core/directives/component.directive.mjs +4 -4
- package/esm2022/core/directives/rerender.directive.mjs +25 -0
- package/esm2022/core/directives/template.directive.mjs +4 -4
- package/esm2022/core/index.mjs +4 -1
- package/esm2022/core/models/version.model.mjs +1 -1
- package/esm2022/core/pipes/boolean.pipe.mjs +6 -6
- package/esm2022/core/pipes/class-map.pipe.mjs +4 -4
- package/esm2022/core/pipes/enum.pipe.mjs +4 -4
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +4 -4
- package/esm2022/core/pipes/enumerate.pipe.mjs +4 -4
- package/esm2022/core/pipes/getter.pipe.mjs +5 -5
- package/esm2022/core/pipes/i18n-property.pipe.mjs +4 -4
- package/esm2022/core/pipes/json-path.pipe.mjs +4 -4
- package/esm2022/core/pipes/parametrize.pipe.mjs +4 -4
- package/esm2022/core/pipes/template.pipe.mjs +4 -4
- package/esm2022/core/reactivity/effect.mjs +22 -0
- package/esm2022/core/security/permission.service.mjs +4 -4
- package/esm2022/core/services/commons-init.service.mjs +4 -4
- package/esm2022/core/services/commons-router.service.mjs +4 -4
- package/esm2022/core/services/commons-storage.service.mjs +4 -4
- package/esm2022/core/services/commons.service.mjs +8 -8
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +32 -25
- package/esm2022/filter/descriptors/filter.descriptor.mjs +53 -1
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/form/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/form/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/form/components/number-range/number-range.component.mjs +4 -4
- package/esm2022/form/directives/input-trim.directive.mjs +4 -4
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
- package/esm2022/table/api/descriptors/table.descriptor.mjs +31 -7
- package/esm2022/table/components/column-filter/column-filter.component.mjs +33 -40
- package/esm2022/table/components/column-value/column-value.component.mjs +6 -6
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +7 -7
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +28 -35
- package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +44 -45
- package/esm2022/table/components/table/table.component.mjs +114 -430
- package/esm2022/table/helpers/filters.mjs +9 -25
- package/esm2022/table/helpers/table.mjs +24 -0
- package/esm2022/table/index.mjs +2 -2
- package/esm2022/table/models/column-preferences.model.mjs +1 -1
- package/esm2022/table/models/filter.model.mjs +1 -1
- package/esm2022/table/pipes/filter-value.pipe.mjs +4 -4
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +4 -4
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +4 -4
- package/esm2022/table/services/table-data.service.mjs +194 -0
- package/esm2022/table/services/table-metadata.service.mjs +136 -0
- package/esm2022/table/services/table-preferences.service.mjs +142 -0
- package/esm2022/tableview/action/components/action/action.component.mjs +6 -7
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +4 -4
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +69 -46
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +4 -4
- package/esm2022/tableview/action/components/route/action-route.component.mjs +5 -6
- package/esm2022/tableview/action/components/table/action-table.component.mjs +6 -6
- package/esm2022/tableview/action/helpers/action-execution.mjs +25 -0
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +2 -3
- package/esm2022/tableview/action/services/action-executor.service.mjs +12 -79
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +4 -4
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +4 -4
- package/esm2022/tableview/action/services/navigation.service.mjs +4 -4
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +4 -4
- package/esm2022/tableview/action/services/view-container.service.mjs +4 -4
- package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +13 -1
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +67 -10
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +2 -2
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +17 -1
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +32 -7
- package/esm2022/tableview/api/action/models/execution/action-instance-state.model.mjs +2 -2
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +2 -1
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +4 -4
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +13 -5
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +3 -2
- package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +2 -2
- package/esm2022/tableview/editor/components/editor/auto-save-status/auto-save-status.component.mjs +4 -4
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +31 -38
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +7 -5
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +7 -5
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +7 -5
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +5 -5
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +5 -6
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +5 -6
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +6 -7
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-type.abstract.component.mjs +6 -5
- package/esm2022/tableview/editor/components/formly/pipes/formly-field-label.pipe.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/helpers/editor-autosave.mjs +2 -2
- package/esm2022/tableview/editor/services/form-editor.service.mjs +4 -4
- package/esm2022/tableview/index.mjs +1 -2
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +4 -4
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-core.mjs +130 -71
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +83 -24
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +15 -15
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +31 -7
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +704 -606
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +146 -26
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +260 -317
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/filter/descriptors/filter-lookup.descriptor.d.ts +17 -20
- package/filter/descriptors/filter.descriptor.d.ts +32 -2
- package/form/components/date-range/date-range.component.d.ts +3 -3
- package/form/components/number-range/number-range.component.d.ts +2 -2
- package/package.json +4 -4
- package/table/api/descriptors/column.descriptor.d.ts +1 -1
- package/table/api/descriptors/sort.descriptor.d.ts +2 -2
- package/table/api/descriptors/table.descriptor.d.ts +20 -6
- package/table/components/column-filter/column-filter.component.d.ts +8 -14
- package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +5 -5
- package/table/components/filter/filter-form/filter-form.component.d.ts +10 -19
- package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +11 -13
- package/table/components/table/table.component.d.ts +20 -64
- package/table/helpers/filters.d.ts +4 -7
- package/table/helpers/table.d.ts +6 -0
- package/table/index.d.ts +1 -1
- package/table/models/column-preferences.model.d.ts +2 -2
- package/table/models/filter.model.d.ts +14 -2
- package/table/services/table-data.service.d.ts +36 -0
- package/table/services/table-metadata.service.d.ts +31 -0
- package/table/services/table-preferences.service.d.ts +25 -0
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +4 -7
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +1 -1
- package/tableview/action/helpers/action-execution.d.ts +7 -0
- package/tableview/action/models/execution/action-instance.model.d.ts +1 -2
- package/tableview/action/services/action-executor.service.d.ts +1 -2
- package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +1 -0
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +12 -4
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -0
- package/tableview/api/action/descriptors/action.descriptor.d.ts +5 -3
- package/tableview/api/action/models/execution/action-instance-state.model.d.ts +1 -1
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +4 -10
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +1 -1
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +6 -4
- package/tableview/editor/components/editor/form-editor.component.d.ts +3 -2
- package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +2 -1
- package/tableview/index.d.ts +0 -1
- package/version-info.json +6 -6
- package/esm2022/table/services/data-list.service.mjs +0 -29
- package/esm2022/tableview/action/models/execution/action-instance-state.model.mjs +0 -32
- package/table/services/data-list.service.d.ts +0 -19
- package/tableview/action/models/execution/action-instance-state.model.d.ts +0 -30
|
@@ -3,8 +3,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
3
3
|
import { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationSkipped, NavigationStart, Router } from '@angular/router';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { CommonsInternalError } from '@mediusinc/mng-commons/core';
|
|
6
|
-
import { ActionActivationTriggerEnum, ActionTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
7
|
-
import { ActionInstanceStateEnum } from '../../models/execution/action-instance-state.model';
|
|
6
|
+
import { ActionActivationTriggerEnum, ActionInstanceStateEnum, ActionTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
8
7
|
import { ActionInstance } from '../../models/execution/action-instance.model';
|
|
9
8
|
import { ActionExecutorService } from '../../services/action-executor.service';
|
|
10
9
|
import { provideActionExecutor } from '../../services/providers/provide-action-executor';
|
|
@@ -137,11 +136,11 @@ export default class ActionRouteComponent {
|
|
|
137
136
|
this.instanceStateSubscription?.unsubscribe();
|
|
138
137
|
this.instanceReactivationSubscription?.unsubscribe();
|
|
139
138
|
}
|
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ActionRouteComponent, isStandalone: true, selector: "mng-action-route", providers: [provideActionExecutor()], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
142
141
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionRouteComponent, decorators: [{
|
|
144
143
|
type: Component,
|
|
145
144
|
args: [{ standalone: true, selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideActionExecutor()], template: "" }]
|
|
146
145
|
}] });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBVSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVySixPQUFPLEVBQTJCLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQStCLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0YsT0FBTyxFQUFDLDJCQUEyQixFQUF3QixjQUFjLEVBQWtCLE1BQU0sc0NBQXNDLENBQUM7QUFHeEksT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFTcEUsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQkFBb0I7SUFQekM7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QixvQkFBb0I7a0dBQXBCLG9CQUFvQiwrREFGMUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLDBCQ3JCeEMsRUFBQTs7MkZEdUJxQixvQkFBb0I7a0JBUHhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU2tpcHBlZCwgTmF2aWdhdGlvblN0YXJ0LCBQYXJhbXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25EYXRhLCBBY3Rpb25QYXJhbWV0ZXJzLCBDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7QWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLCBBY3Rpb25EZXNjcmlwdG9ySW5zdCwgQWN0aW9uVHlwZUVudW0sIElBY3Rpb25JbnN0YW5jZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtDYW5Db21wb25lbnREZWFjdGl2YXRlfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FuLWNvbXBvbmVudC1kZWFjdGl2YXRlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2VTdGF0ZUVudW19IGZyb20gJy4uLy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLXN0YXRlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2V9IGZyb20gJy4uLy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5pbXBvcnQge3Byb3ZpZGVBY3Rpb25FeGVjdXRvcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvdmlkZXJzL3Byb3ZpZGUtYWN0aW9uLWV4ZWN1dG9yJztcbmltcG9ydCB7Vmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlldy1jb250YWluZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLXJvdXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlQWN0aW9uRXhlY3V0b3IoKV1cbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBY3Rpb25Sb3V0ZUNvbXBvbmVudDxJdGVtLCBTZXJ2aWNlPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5Db21wb25lbnREZWFjdGl2YXRlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uRXhlY3V0b3IgPSBpbmplY3QoQWN0aW9uRXhlY3V0b3JTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXI/ID0gaW5qZWN0KFZpZXdDb250YWluZXI8SXRlbSwgU2VydmljZT4sIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8YW55Pj4gPSB0aGlzLnZpZXdDb250YWluZXI/LmFjdGlvbnMoKS5maWx0ZXIoYSA9PiBhLmFjdGl2YXRpb25UcmlnZ2VyID09PSBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW0uT25Sb3V0ZSkgPz8gW107XG4gICAgcHJpdmF0ZSBpbnN0YW5jZT86IEFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+O1xuICAgIHByaXZhdGUgaW5zdGFuY2VTdGF0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGluc3RhbmNlUmVhY3RpdmF0aW9uU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBpc1JvdXRlck5hdmlnYXRpb25JblByb2dyZXNzID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShwID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZmluZEFjdGlvbkZvclJvdXRlKHApID8/IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlQWN0aW9uKGFjdGlvbiwgcCwgdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUm91dGVyTmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU2tpcHBlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNSb3V0ZXJOYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy51bnNldEluc3RhbmNlKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uRXhlY3V0b3Iub25BY3Rpb25Sb3V0ZURlc3Ryb3koaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWN0aXZhdGVBY3Rpb24oYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+LCBwOiBQYXJhbXMsIHFwOiBQYXJhbXMpIHtcbiAgICAgICAgY29uc3QgaXRlbUlkID0gcFsnaXRlbUlkJ107XG4gICAgICAgIGNvbnN0IGFjdGlvbkRhdGE6IEFjdGlvbkRhdGEgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcCkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1JZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBxcCkge1xuICAgICAgICAgICAgYWN0aW9uRGF0YVtrZXldID0gcFtrZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzQWN0aW9uSW5zdGFuY2UoXG4gICAgICAgICAgICB0aGlzLmFjdGlvbkV4ZWN1dG9yLmFjdGl2YXRlQWN0aW9uKGFjdGlvbiwgPEFjdGlvblBhcmFtZXRlcnM8SXRlbT4+e1xuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXRlbUlkLFxuICAgICAgICAgICAgICAgIGFjdGlvbkRhdGE6IGFjdGlvbkRhdGEsXG4gICAgICAgICAgICAgICAgc291cmNlQ29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICAgIHJvdXRlOiB0aGlzLnJvdXRlXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdW50cmlnZ2VyQWN0aW9uKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2UgfHwgdGhpcy5pc1JvdXRlck5hdmlnYXRpb25JblByb2dyZXNzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmluc3RhbmNlO1xuICAgICAgICB0aGlzLnVuc2V0SW5zdGFuY2UoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25FeGVjdXRvci5maW5pc2hBY3Rpb25Sb3V0ZVVudHJpZ2dlcihpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aW9uRm9yUm91dGUocGFyYW1zOiBQYXJhbXMpOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC51cmw7XG4gICAgICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgICAgbGV0IGFjdGlvblVybCA9IGFjdGlvbi5yb3V0ZVVybCA/PyAnJztcbiAgICAgICAgICAgIGlmIChhY3Rpb25Vcmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uVXJsID0gYWN0aW9uVXJsLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFjdGlvblVybFNlZ21lbnRzID0gYWN0aW9uVXJsLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICBpZiAoYWN0aW9uVXJsU2VnbWVudHMubGVuZ3RoICE9PSB1cmxTZWdtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBpc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aW9uVXJsU2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uVXJsU2VnbWVudHNbaV0uc3RhcnRzV2l0aCgnOicpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IGFjdGlvblVybFNlZ21lbnRzW2ldLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwYXJhbXNbcGFyYW1OYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvblVybFNlZ21lbnRzW2ldICE9PSB1cmxTZWdtZW50c1tpXS5wYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0FjdGlvbkluc3RhbmNlKGluc3RhbmNlOiBJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4pIHtcbiAgICAgICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBBY3Rpb25JbnN0YW5jZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignVW5rbm93biB0eXBlIG9mIGFjdGlvbiBpbnN0YW5jZSByZWNlaXZlZCcsIHtkZXRhaWxzOiBpbnN0YW5jZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlIHx8IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VMb25nTmFtZSAhPT0gaW5zdGFuY2UuaW5zdGFuY2VMb25nTmFtZSkge1xuICAgICAgICAgICAgdGhpcy51bnNldEluc3RhbmNlKCk7XG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG5cbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VTdGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuaW5zdGFuY2Uuc3RhdGUkLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hTdWNjZXNzUmVhY3RpdmF0ZUZpbmFsOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5yZWxvYWRUYWJsZSgpOyAvLyByZWxvYWQgb25seSBpZiBubyBlcnJvciBpbiBhY3Rpb24gYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hTdWNjZXNzRmluYWw6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LnJlbG9hZFRhYmxlKCk7IC8vIHJlbG9hZCBvbmx5IGlmIG5vIGVycm9yIGluIGFjdGlvbiBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudW50cmlnZ2VyQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hFcnJvckZpbmFsOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaERpc21pc3NlZEZpbmFsOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51bnRyaWdnZXJBY3Rpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlUmVhY3RpdmF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5pbnN0YW5jZS5yZWFjdGl2YXRpb25JbnN0YW5jZSQuc3Vic2NyaWJlKG5ld0luc3RhbmNlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NBY3Rpb25JbnN0YW5jZShuZXdJbnN0YW5jZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZT8uYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGVFbnVtLkVkaXRvciAmJiB0aGlzLmluc3RhbmNlLmFjdGl2YXRpb25FZGl0b3JDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmFjdGl2YXRpb25FZGl0b3JDb21wb25lbnRSZWYuY2xvc2VXaXRoVW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24odHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bnNldEluc3RhbmNlKCkge1xuICAgICAgICB0aGlzLmluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmluc3RhbmNlU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VSZWFjdGl2YXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBVSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVySixPQUFPLEVBQTJCLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQStCLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0YsT0FBTyxFQUFDLDJCQUEyQixFQUF3Qix1QkFBdUIsRUFBRSxjQUFjLEVBQWtCLE1BQU0sc0NBQXNDLENBQUM7QUFHakssT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFTcEUsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQkFBb0I7SUFQekM7UUFRcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBSSxNQUFNLENBQUMsQ0FBQSxhQUE0QixDQUFBLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpDLFlBQU8sR0FBcUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEtBQUssMkJBQTJCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBS3pKLGlDQUE0QixHQUFHLEtBQUssQ0FBQztLQW1JaEQ7SUFqSVUsUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUN2RCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLGVBQWUsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDO1lBQzdDLENBQUM7aUJBQU0sSUFBSSxDQUFDLFlBQVksYUFBYSxJQUFJLENBQUMsWUFBWSxnQkFBZ0IsSUFBSSxDQUFDLFlBQVksZUFBZSxJQUFJLENBQUMsWUFBWSxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2SSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDO1lBQzlDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWlDLEVBQUUsQ0FBUyxFQUFFLEVBQVU7UUFDM0UsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sVUFBVSxHQUFlLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixTQUFTO1lBQ2IsQ0FBQztZQUNELFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELEtBQUssTUFBTSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQTBCO1lBQy9ELE1BQU0sRUFBRSxNQUFNO1lBQ2QsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZUFBZSxFQUFFLElBQUk7WUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3BCLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDdEQsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUM1QyxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUNELE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xELFNBQVM7WUFDYixDQUFDO1lBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7d0JBQ3JCLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ2hCLE1BQU07b0JBQ1YsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN0RCxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNoQixNQUFNO2dCQUNWLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxRQUF3QztRQUNsRSxJQUFJLENBQUMsQ0FBQyxRQUFRLFlBQVksY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksb0JBQW9CLENBQUMsMENBQTBDLEVBQUUsRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsS0FBSyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNqRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFFekIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEUsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDUixLQUFLLHVCQUF1QixDQUFDLDRCQUE0Qjt3QkFDckQsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLHdDQUF3Qzt3QkFDM0UsTUFBTTtvQkFDVixLQUFLLHVCQUF1QixDQUFDLGtCQUFrQjt3QkFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLHdDQUF3Qzt3QkFDM0UsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUN2QixNQUFNO29CQUNWLEtBQUssdUJBQXVCLENBQUMsZ0JBQWdCLENBQUM7b0JBQzlDLEtBQUssdUJBQXVCLENBQUMsb0JBQW9CO3dCQUM3QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLE1BQU07Z0JBQ2QsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNoRyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDckcsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUMxQixJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pELENBQUM7K0dBOUlnQixvQkFBb0I7bUdBQXBCLG9CQUFvQiwrREFGMUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLDBCQ3BCeEMsRUFBQTs7NEZEc0JxQixvQkFBb0I7a0JBUHhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgT25EZXN0cm95LCBPbkluaXQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU2tpcHBlZCwgTmF2aWdhdGlvblN0YXJ0LCBQYXJhbXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25EYXRhLCBBY3Rpb25QYXJhbWV0ZXJzLCBDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7QWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLCBBY3Rpb25EZXNjcmlwdG9ySW5zdCwgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0sIEFjdGlvblR5cGVFbnVtLCBJQWN0aW9uSW5zdGFuY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7Q2FuQ29tcG9uZW50RGVhY3RpdmF0ZX0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhbi1jb21wb25lbnQtZGVhY3RpdmF0ZS5tb2RlbCc7XG5pbXBvcnQge0FjdGlvbkluc3RhbmNlfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS5tb2RlbCc7XG5pbXBvcnQge0FjdGlvbkV4ZWN1dG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtwcm92aWRlQWN0aW9uRXhlY3V0b3J9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb3ZpZGVycy9wcm92aWRlLWFjdGlvbi1leGVjdXRvcic7XG5pbXBvcnQge1ZpZXdDb250YWluZXJ9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXctY29udGFpbmVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWFjdGlvbi1yb3V0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1yb3V0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbcHJvdmlkZUFjdGlvbkV4ZWN1dG9yKCldXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWN0aW9uUm91dGVDb21wb25lbnQ8SXRlbSwgU2VydmljZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbkV4ZWN1dG9yID0gaW5qZWN0KEFjdGlvbkV4ZWN1dG9yU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyPyA9IGluamVjdChWaWV3Q29udGFpbmVyPEl0ZW0sIFNlcnZpY2U+LCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBwcml2YXRlIGFjdGlvbnM6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT4+ID0gdGhpcy52aWV3Q29udGFpbmVyPy5hY3Rpb25zKCkuZmlsdGVyKGEgPT4gYS5hY3RpdmF0aW9uVHJpZ2dlciA9PT0gQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLk9uUm91dGUpID8/IFtdO1xuICAgIHByaXZhdGUgaW5zdGFuY2U/OiBBY3Rpb25JbnN0YW5jZTxJdGVtLCBTZXJ2aWNlPjtcbiAgICBwcml2YXRlIGluc3RhbmNlU3RhdGVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBpbnN0YW5jZVJlYWN0aXZhdGlvblN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgaXNSb3V0ZXJOYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUocCA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmZpbmRBY3Rpb25Gb3JSb3V0ZShwKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZUFjdGlvbihhY3Rpb24sIHAsIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1JvdXRlck5hdmlnYXRpb25JblByb2dyZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHwgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvciB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblNraXBwZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUm91dGVyTmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuaW5zdGFuY2U7XG4gICAgICAgIHRoaXMudW5zZXRJbnN0YW5jZSgpO1xuICAgICAgICB0aGlzLmFjdGlvbkV4ZWN1dG9yLm9uQWN0aW9uUm91dGVEZXN0cm95KGluc3RhbmNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlQWN0aW9uKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvckluc3Q8YW55PiwgcDogUGFyYW1zLCBxcDogUGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1JZCA9IHBbJ2l0ZW1JZCddO1xuICAgICAgICBjb25zdCBhY3Rpb25EYXRhOiBBY3Rpb25EYXRhID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHApIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09ICdpdGVtSWQnKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY3Rpb25EYXRhW2tleV0gPSBwW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcXApIHtcbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvY2Vzc0FjdGlvbkluc3RhbmNlKFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25FeGVjdXRvci5hY3RpdmF0ZUFjdGlvbihhY3Rpb24sIDxBY3Rpb25QYXJhbWV0ZXJzPEl0ZW0+PntcbiAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JZCxcbiAgICAgICAgICAgICAgICBhY3Rpb25EYXRhOiBhY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHNvdXJjZUNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICAgICAgICByb3V0ZTogdGhpcy5yb3V0ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVudHJpZ2dlckFjdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlIHx8IHRoaXMuaXNSb3V0ZXJOYXZpZ2F0aW9uSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy51bnNldEluc3RhbmNlKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uRXhlY3V0b3IuZmluaXNoQWN0aW9uUm91dGVVbnRyaWdnZXIoaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEFjdGlvbkZvclJvdXRlKHBhcmFtczogUGFyYW1zKTogQWN0aW9uRGVzY3JpcHRvckluc3Q8YW55PiB8IG51bGwge1xuICAgICAgICBjb25zdCB1cmxTZWdtZW50cyA9IHRoaXMucm91dGUuc25hcHNob3QudXJsO1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiB0aGlzLmFjdGlvbnMpIHtcbiAgICAgICAgICAgIGxldCBhY3Rpb25VcmwgPSBhY3Rpb24ucm91dGVVcmwgPz8gJyc7XG4gICAgICAgICAgICBpZiAoYWN0aW9uVXJsLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgIGFjdGlvblVybCA9IGFjdGlvblVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhY3Rpb25VcmxTZWdtZW50cyA9IGFjdGlvblVybC5zcGxpdCgnLycpO1xuICAgICAgICAgICAgaWYgKGFjdGlvblVybFNlZ21lbnRzLmxlbmd0aCAhPT0gdXJsU2VnbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgaXNNYXRjaCA9IHRydWU7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjdGlvblVybFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvblVybFNlZ21lbnRzW2ldLnN0YXJ0c1dpdGgoJzonKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBhY3Rpb25VcmxTZWdtZW50c1tpXS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcGFyYW1zW3BhcmFtTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhY3Rpb25VcmxTZWdtZW50c1tpXSAhPT0gdXJsU2VnbWVudHNbaV0ucGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBpc01hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc01hdGNoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NBY3Rpb25JbnN0YW5jZShpbnN0YW5jZTogSUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+KSB7XG4gICAgICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQWN0aW9uSW5zdGFuY2UpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ1Vua25vd24gdHlwZSBvZiBhY3Rpb24gaW5zdGFuY2UgcmVjZWl2ZWQnLCB7ZGV0YWlsczogaW5zdGFuY2V9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pbnN0YW5jZSB8fCB0aGlzLmluc3RhbmNlLmluc3RhbmNlTG9uZ05hbWUgIT09IGluc3RhbmNlLmluc3RhbmNlTG9uZ05hbWUpIHtcbiAgICAgICAgICAgIHRoaXMudW5zZXRJbnN0YW5jZSgpO1xuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlU3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLmluc3RhbmNlLnN0YXRlJC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoU3VjY2Vzc1JlYWN0aXZhdGVGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8ucmVsb2FkVGFibGUoKTsgLy8gcmVsb2FkIG9ubHkgaWYgbm8gZXJyb3IgaW4gYWN0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoU3VjY2Vzc0ZpbmFsOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5yZWxvYWRUYWJsZSgpOyAvLyByZWxvYWQgb25seSBpZiBubyBlcnJvciBpbiBhY3Rpb24gYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVudHJpZ2dlckFjdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoRXJyb3JGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hEaXNtaXNzZWRGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudW50cmlnZ2VyQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVJlYWN0aXZhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuaW5zdGFuY2UucmVhY3RpdmF0aW9uSW5zdGFuY2UkLnN1YnNjcmliZShuZXdJbnN0YW5jZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzQWN0aW9uSW5zdGFuY2UobmV3SW5zdGFuY2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuRGVhY3RpdmF0ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2U/LmFjdGlvbi50eXBlID09PSBBY3Rpb25UeXBlRW51bS5FZGl0b3IgJiYgdGhpcy5pbnN0YW5jZS5hY3RpdmF0aW9uRWRpdG9yQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZS5hY3RpdmF0aW9uRWRpdG9yQ29tcG9uZW50UmVmLmNsb3NlV2l0aFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdW5zZXRJbnN0YW5jZSgpIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5pbnN0YW5jZVN0YXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmluc3RhbmNlUmVhY3RpdmF0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, QueryList, booleanAttribute, computed, contentChildren, inject, input, output, viewChild, viewChildren } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { ActivatedRoute } from '@angular/router';
|
|
@@ -92,11 +92,11 @@ export class ActionTableComponent {
|
|
|
92
92
|
this.reload();
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ActionTableComponent, isStandalone: true, selector: "mng-action-table", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, result: { classPropertyName: "result", publicName: "result", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, useQueryParams: { classPropertyName: "useQueryParams", publicName: "useQueryParams", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionEnabled: { classPropertyName: "selectionEnabled", publicName: "selectionEnabled", isSignal: true, isRequired: false, transformFunction: null }, globalFilterFields: { classPropertyName: "globalFilterFields", publicName: "globalFilterFields", isSignal: true, isRequired: false, transformFunction: null }, rowReorderEnabled: { classPropertyName: "rowReorderEnabled", publicName: "rowReorderEnabled", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, captionComponent: { classPropertyName: "captionComponent", publicName: "captionComponent", isSignal: true, isRequired: false, transformFunction: null }, columnActionComponent: { classPropertyName: "columnActionComponent", publicName: "columnActionComponent", isSignal: true, isRequired: false, transformFunction: null }, columnActionMinWidthInput: { classPropertyName: "columnActionMinWidthInput", publicName: "columnActionMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tableLoad: "tableLoad", selectionChange: "selectionChange", captionComponentInstance: "captionComponentInstance", columnActionComponentInstance: "columnActionComponentInstance", rowReorder: "rowReorder" }, providers: [provideActionExecutor()], queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "components", predicate: (QueryList), descendants: true, isSignal: true }, { propertyName: "table", first: true, predicate: TableComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [captionComponent]=\"captionComponent()\"\n [columnCustomLastComponent]=\"columnActionComponent()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"captionComponentInstance.emit($event)\"\n (columnCustomLastComponentInstance)=\"columnActionComponentInstance.emit($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (!columnActionComponent() && rowInlineActions().length > 0) {\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n @if (captionTemplate() && !captionComponent()) {\n <ng-template mngTemplate=\"caption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate()\"></ng-container>\n </ng-template>\n }\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n</mng-table>\n", dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }, { kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "directive", type: TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ActionTableComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
|
-
args: [{ standalone: true, selector: 'mng-action-table', imports: [TableComponent, ActionComponent, TemplateDirective, NgTemplateOutlet
|
|
100
|
+
args: [{ standalone: true, selector: 'mng-action-table', imports: [TableComponent, ActionComponent, TemplateDirective, NgTemplateOutlet], providers: [provideActionExecutor()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [captionComponent]=\"captionComponent()\"\n [columnCustomLastComponent]=\"columnActionComponent()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"captionComponentInstance.emit($event)\"\n (columnCustomLastComponentInstance)=\"columnActionComponentInstance.emit($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (!columnActionComponent() && rowInlineActions().length > 0) {\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n @if (captionTemplate() && !captionComponent()) {\n <ng-template mngTemplate=\"caption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate()\"></ng-container>\n </ng-template>\n }\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n</mng-table>\n" }]
|
|
101
101
|
}], ctorParameters: () => [] });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBSVQsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFJL0MsT0FBTyxFQUF1RCxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3hJLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQXVCLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFOUYsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFckUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxl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TSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgY29tcHV0ZWQsXG4gICAgY29udGVudENoaWxkcmVuLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgdmlld0NoaWxkLFxuICAgIHZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1RhYmxlUm93UmVvcmRlckV2ZW50fSBmcm9tICdwcmltZW5nL3RhYmxlJztcblxuaW1wb3J0IHtBY3Rpb25QYXJhbWV0ZXJzLCBDb21wb25lbnREaXJlY3RpdmUsIERhdGFMaXN0UmVzdWx0LCBUZW1wbGF0ZURpcmVjdGl2ZSwgZmluZFRlbXBsYXRlQnlOYW1lfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtUYWJsZUNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZSc7XG5pbXBvcnQge0lUYWJsZURhdGFQcm92aWRlciwgVGFibGVDZWxsQ2xpY2tFdmVudCwgVGFibGVEZXNjcmlwdG9ySW5zdCwgVGFibGVMb2FkRXZlbnQsIFRhYmxlUmVsb2FkRXZlbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUvYXBpJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvckluc3QsIEFjdGlvblBvc2l0aW9uRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtjYWxjdWxhdGVUYWJsZUNvbHVtbkFjdGlvbldpZHRofSBmcm9tICcuLi8uLi9oZWxwZXJzL3N0eWxlcyc7XG5pbXBvcnQge0FjdGlvbkluc3RhbmNlfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS5tb2RlbCc7XG5pbXBvcnQge0FjdGlvbkV4ZWN1dG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtwcm92aWRlQWN0aW9uRXhlY3V0b3J9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb3ZpZGVycy9wcm92aWRlLWFjdGlvbi1leGVjdXRvcic7XG5pbXBvcnQge1ZpZXdDb250YWluZXJ9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZpZXctY29udGFpbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2FjdGlvbi9hY3Rpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hY3Rpb24tdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUYWJsZUNvbXBvbmVudCwgQWN0aW9uQ29tcG9uZW50LCBUZW1wbGF0ZURpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgQXN5bmNQaXBlXSxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlQWN0aW9uRXhlY3V0b3IoKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uVGFibGVDb21wb25lbnQ8SXRlbSA9IGFueSwgU2VydmljZSA9IHVuZGVmaW5lZCwgU29ydHMgPSBrZXlvZiBJdGVtLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgSXRlbT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uRXhlY3V0b3IgPSBpbmplY3QoQWN0aW9uRXhlY3V0b3JTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lcjxJdGVtLCBTZXJ2aWNlPiwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICAvLyBtZXRhZGF0YSBpbnB1dFxuICAgIHB1YmxpYyBkZXNjcmlwdG9yID0gaW5wdXQucmVxdWlyZWQ8VGFibGVEZXNjcmlwdG9ySW5zdDxJdGVtLCBTb3J0cywgRmlsdGVycz4+KCk7XG5cbiAgICAvLyBkYXRhIHNvdXJjZSBpbnB1dHNcbiAgICBwdWJsaWMgaXRlbXMgPSBpbnB1dDxBcnJheTxJdGVtPj4oKTtcbiAgICBwdWJsaWMgcmVzdWx0ID0gaW5wdXQ8RGF0YUxpc3RSZXN1bHQ8SXRlbT4+KCk7XG5cbiAgICBwdWJsaWMgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSk7XG4gICAgcHVibGljIGRhdGFQcm92aWRlciA9IGlucHV0PElUYWJsZURhdGFQcm92aWRlcjxJdGVtLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4+KCk7XG4gICAgcHVibGljIHVzZVF1ZXJ5UGFyYW1zID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgLy8gZXh0cmEgZmVhdHVyZXMgaW5wdXRcbiAgICBwdWJsaWMgc2VsZWN0aW9uTW9kZSA9IGlucHV0PCdzaW5nbGUnIHwgJ211bHRpcGxlJz4oJ211bHRpcGxlJyk7XG4gICAgcHVibGljIHNlbGVjdGlvbkVuYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgcHVibGljIGdsb2JhbEZpbHRlckZpZWxkcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIHB1YmxpYyByb3dSZW9yZGVyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgLy8gYWN0aW9uc1xuICAgIHB1YmxpYyBhY3Rpb25zID0gaW5wdXQ8QXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8YW55Pj4+KFtdKTsgLy8gY2FuIGJlIGFueXRoaW5nXG5cbiAgICAvLyBjb21wb25lbnQgaW5wdXRzXG4gICAgcHVibGljIGNhcHRpb25Db21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4+KCk7XG4gICAgcHVibGljIGNvbHVtbkFjdGlvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55Pj4oKTtcbiAgICBwdWJsaWMgY29sdW1uQWN0aW9uTWluV2lkdGhJbnB1dCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7YWxpYXM6ICdjb2x1bW5BY3Rpb25NaW5XaWR0aCd9KTtcbiAgICBwdWJsaWMgY29sdW1uQWN0aW9uTWluV2lkdGggPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmRlc2NyaXB0b3IoKSAmJiAhdGhpcy5jb2x1bW5BY3Rpb25NaW5XaWR0aElucHV0KClcbiAgICAgICAgICAgID8gY2FsY3VsYXRlVGFibGVDb2x1bW5BY3Rpb25XaWR0aCh0aGlzLmRlc2NyaXB0b3IoKSBhcyBUYWJsZURlc2NyaXB0b3JJbnN0PGFueT4sIHRoaXMucm93SW5saW5lQWN0aW9ucygpKVxuICAgICAgICAgICAgOiB0aGlzLmNvbHVtbkFjdGlvbk1pbldpZHRoSW5wdXQoKVxuICAgICk7XG5cbiAgICAvLyBldmVudCBvdXRwdXRzXG4gICAgcHVibGljIHRhYmxlTG9hZCA9IG91dHB1dDxUYWJsZUxvYWRFdmVudD4oKTtcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gb3V0cHV0PEFycmF5PEl0ZW0+PigpO1xuICAgIHB1YmxpYyBjYXB0aW9uQ29tcG9uZW50SW5zdGFuY2UgPSBvdXRwdXQ8YW55PigpO1xuICAgIHB1YmxpYyBjb2x1bW5BY3Rpb25Db21wb25lbnRJbnN0YW5jZSA9IG91dHB1dDxhbnk+KCk7XG4gICAgcHVibGljIHJvd1Jlb3JkZXIgPSBvdXRwdXQ8VGFibGVSb3dSZW9yZGVyRXZlbnQ+KCk7XG5cbiAgICAvLyBjb250ZW50IGFuZCB2aWV3IHF1ZXJpZXNcbiAgICBwdWJsaWMgdGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgICBwdWJsaWMgY29tcG9uZW50cyA9IHZpZXdDaGlsZHJlbihRdWVyeUxpc3Q8Q29tcG9uZW50RGlyZWN0aXZlPGFueT4+KTtcbiAgICBwdWJsaWMgdGFibGUgPSB2aWV3Q2hpbGQucmVxdWlyZWQoVGFibGVDb21wb25lbnQpO1xuXG4gICAgLy8gdGVtcGxhdGVzXG4gICAgcHVibGljIGNhcHRpb25UZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdjYXB0aW9uJykpO1xuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdmb290ZXInKSk7XG4gICAgcHVibGljIHJvd0V4cGFuZFRlbXBsYXRlOiBTaWduYWw8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT4gZmluZFRlbXBsYXRlQnlOYW1lKFsuLi50aGlzLnRlbXBsYXRlcygpXSwgJ3Jvd0V4cGFuZENvbnRlbnQnKSk7XG5cbiAgICAvLyBhY3Rpb25zXG4gICAgcHVibGljIHJvd0NsaWNrQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnBvc2l0aW9uID09PSBBY3Rpb25Qb3NpdGlvbkVudW0uUm93Q2xpY2spO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJvd0lubGluZUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMoKS5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi5wb3NpdGlvbiA9PT0gQWN0aW9uUG9zaXRpb25FbnVtLlJvd0lubGluZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy50YWJsZVJlbG9hZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKGUgPT4gdGhpcy5yZWxvYWQoZSBhcyBUYWJsZVJlbG9hZEV2ZW50PFNvcnRzLCBGaWx0ZXJzPikpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoZT86IFRhYmxlUmVsb2FkRXZlbnQ8U29ydHMsIEZpbHRlcnM+KSB7XG4gICAgICAgIHRoaXMudGFibGUoKS5yZWxvYWQoZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2VsbENsaWNrKGV2ZW50OiBUYWJsZUNlbGxDbGlja0V2ZW50PEl0ZW0+KSB7XG4gICAgICAgIGlmICh0aGlzLnJvd0NsaWNrQWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5yb3dDbGlja0FjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkUHJvcCA9IHRoaXMuZGVzY3JpcHRvcigpPy50cmFja1Byb3BlcnR5ID8/IGFjdGlvbj8ubW9kZWw/LmlkUHJvcGVydHk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyczogQWN0aW9uUGFyYW1ldGVyczxJdGVtPiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkOiBpZFByb3AgPyBldmVudC5yb3dJdGVtW2lkUHJvcCBhcyBrZXlvZiBvYmplY3RdIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBldmVudC5yb3dJdGVtLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25EYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtSW5kZXg6IGV2ZW50LnJvd0luZGV4XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VDb21wb25lbnQ6IHRoaXNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uRXhlY3V0b3IudHJpZ2dlckFjdGlvbihhY3Rpb24sIHBhcmFtZXRlcnMsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGl0ZW1zOiBBcnJheTxJdGVtPikge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3dSZW9yZGVyKGV2ZW50OiBUYWJsZVJvd1Jlb3JkZXJFdmVudCkge1xuICAgICAgICB0aGlzLnJvd1Jlb3JkZXIuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWN0aW9uRmluaXNoKHJ1blJlc3VsdDogQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4pIHtcbiAgICAgICAgaWYgKCFydW5SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bW5nLXRhYmxlXG4gICAgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvcigpXCJcbiAgICBbaXRlbXNdPVwiaXRlbXMoKVwiXG4gICAgW3Jlc3VsdF09XCJyZXN1bHQoKVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZygpXCJcbiAgICBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlcigpXCJcbiAgICBbdXNlUXVlcnlQYXJhbXNdPVwidXNlUXVlcnlQYXJhbXMoKVwiXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcbiAgICBbc2VsZWN0aW9uRW5hYmxlZF09XCJzZWxlY3Rpb25FbmFibGVkKClcIlxuICAgIFtnbG9iYWxGaWx0ZXJGaWVsZHNdPVwiZ2xvYmFsRmlsdGVyRmllbGRzKClcIlxuICAgIFtjYXB0aW9uQ29tcG9uZW50XT1cImNhcHRpb25Db21wb25lbnQoKVwiXG4gICAgW2NvbHVtbkN1c3RvbUxhc3RDb21wb25lbnRdPVwiY29sdW1uQWN0aW9uQ29tcG9uZW50KClcIlxuICAgIFtjb2x1bW5MYXN0TWluV2lkdGhdPVwiY29sdW1uQWN0aW9uTWluV2lkdGgoKVwiXG4gICAgW2NlbGxDbGlja0VuYWJsZWRdPVwidGhpcy5yb3dDbGlja0FjdGlvbnMoKS5sZW5ndGggPiAwXCJcbiAgICBbcm93UmVvcmRlckVuYWJsZWRdPVwicm93UmVvcmRlckVuYWJsZWQoKVwiXG4gICAgKHRhYmxlTG9hZCk9XCJ0YWJsZUxvYWQuZW1pdCgkZXZlbnQpXCJcbiAgICAoY2VsbENsaWNrKT1cIm9uQ2VsbENsaWNrKCRldmVudClcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGNhcHRpb25Db21wb25lbnRJbnN0YW5jZSk9XCJjYXB0aW9uQ29tcG9uZW50SW5zdGFuY2UuZW1pdCgkZXZlbnQpXCJcbiAgICAoY29sdW1uQ3VzdG9tTGFzdENvbXBvbmVudEluc3RhbmNlKT1cImNvbHVtbkFjdGlvbkNvbXBvbmVudEluc3RhbmNlLmVtaXQoJGV2ZW50KVwiXG4gICAgKHJvd1Jlb3JkZXIpPVwib25Sb3dSZW9yZGVyKCRldmVudClcIj5cbiAgICBAaWYgKCFjb2x1bW5BY3Rpb25Db21wb25lbnQoKSAmJiByb3dJbmxpbmVBY3Rpb25zKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJjb2x1bW5DdXN0b21MYXN0XCIgbGV0LWl0ZW09XCJyb3dJdGVtXCIgbGV0LWlkeD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICBAZm9yIChhY3Rpb24gb2Ygcm93SW5saW5lQWN0aW9ucygpOyB0cmFjayBhY3Rpb24uYWN0aW9uTmFtZUxvbmcpIHtcbiAgICAgICAgICAgICAgICA8bW5nLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbaG9zdENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1JZF09XCJkZXNjcmlwdG9yKCkubW9kZWwuaWRQcm9wZXJ0eSA/IGl0ZW1bZGVzY3JpcHRvcigpLm1vZGVsLmlkUHJvcGVydHkhXSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uRGF0YV09XCJ7aXRlbUluZGV4OiBpZHh9XCJcbiAgICAgICAgICAgICAgICAgICAgKGZpbmlzaCk9XCJvbkFjdGlvbkZpbmlzaCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9tbmctYWN0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgICBAaWYgKGNhcHRpb25UZW1wbGF0ZSgpICYmICFjYXB0aW9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1uZ1RlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhcHRpb25UZW1wbGF0ZSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAocm93RXhwYW5kVGVtcGxhdGUoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJyb3dFeHBhbmRDb250ZW50XCIgbGV0LWl0ZW09XCJyb3dJdGVtXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93RXhwYW5kVGVtcGxhdGUoKTsgY29udGV4dDoge3Jvd0l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoZm9vdGVyVGVtcGxhdGUoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJmb290ZXJcIiBsZXQtZGF0YT1cImRhdGFcIiBsZXQtdG90YWxDb3VudD1cInRvdGFsQ291bnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZSgpOyBjb250ZXh0OiB7ZGF0YSwgdG90YWxDb3VudH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG48L21uZy10YWJsZT5cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFJVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQXVELGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDeEksT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBdUIsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUU5RixPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxN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WyJpbXBvcnQge05nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBjb21wdXRlZCxcbiAgICBjb250ZW50Q2hpbGRyZW4sXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG91dHB1dCxcbiAgICB2aWV3Q2hpbGQsXG4gICAgdmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7VGFibGVSb3dSZW9yZGVyRXZlbnR9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuXG5pbXBvcnQge0FjdGlvblBhcmFtZXRlcnMsIENvbXBvbmVudERpcmVjdGl2ZSwgRGF0YUxpc3RSZXN1bHQsIFRlbXBsYXRlRGlyZWN0aXZlLCBmaW5kVGVtcGxhdGVCeU5hbWV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge1RhYmxlQ29tcG9uZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlJztcbmltcG9ydCB7SVRhYmxlRGF0YVByb3ZpZGVyLCBUYWJsZUNlbGxDbGlja0V2ZW50LCBUYWJsZURlc2NyaXB0b3JJbnN0LCBUYWJsZUxvYWRFdmVudCwgVGFibGVSZWxvYWRFdmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9ySW5zdCwgQWN0aW9uUG9zaXRpb25FbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge2NhbGN1bGF0ZVRhYmxlQ29sdW1uQWN0aW9uV2lkdGh9IGZyb20gJy4uLy4uL2hlbHBlcnMvc3R5bGVzJztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2V9IGZyb20gJy4uLy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcbmltcG9ydCB7QWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5pbXBvcnQge3Byb3ZpZGVBY3Rpb25FeGVjdXRvcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvdmlkZXJzL3Byb3ZpZGUtYWN0aW9uLWV4ZWN1dG9yJztcbmltcG9ydCB7Vmlld0NvbnRhaW5lcn0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlldy1jb250YWluZXIuc2VydmljZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vYWN0aW9uL2FjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWFjdGlvbi10YWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1RhYmxlQ29tcG9uZW50LCBBY3Rpb25Db21wb25lbnQsIFRlbXBsYXRlRGlyZWN0aXZlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlQWN0aW9uRXhlY3V0b3IoKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uVGFibGVDb21wb25lbnQ8SXRlbSA9IGFueSwgU2VydmljZSA9IHVuZGVmaW5lZCwgU29ydHMgPSBrZXlvZiBJdGVtLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgSXRlbT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uRXhlY3V0b3IgPSBpbmplY3QoQWN0aW9uRXhlY3V0b3JTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lcjxJdGVtLCBTZXJ2aWNlPiwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICAvLyBtZXRhZGF0YSBpbnB1dFxuICAgIHB1YmxpYyBkZXNjcmlwdG9yID0gaW5wdXQucmVxdWlyZWQ8VGFibGVEZXNjcmlwdG9ySW5zdDxJdGVtLCBTb3J0cywgRmlsdGVycz4+KCk7XG5cbiAgICAvLyBkYXRhIHNvdXJjZSBpbnB1dHNcbiAgICBwdWJsaWMgaXRlbXMgPSBpbnB1dDxBcnJheTxJdGVtPj4oKTtcbiAgICBwdWJsaWMgcmVzdWx0ID0gaW5wdXQ8RGF0YUxpc3RSZXN1bHQ8SXRlbT4+KCk7XG5cbiAgICBwdWJsaWMgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSk7XG4gICAgcHVibGljIGRhdGFQcm92aWRlciA9IGlucHV0PElUYWJsZURhdGFQcm92aWRlcjxJdGVtLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4+KCk7XG4gICAgcHVibGljIHVzZVF1ZXJ5UGFyYW1zID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgLy8gZXh0cmEgZmVhdHVyZXMgaW5wdXRcbiAgICBwdWJsaWMgc2VsZWN0aW9uTW9kZSA9IGlucHV0PCdzaW5nbGUnIHwgJ211bHRpcGxlJz4oJ211bHRpcGxlJyk7XG4gICAgcHVibGljIHNlbGVjdGlvbkVuYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgcHVibGljIGdsb2JhbEZpbHRlckZpZWxkcyA9IGlucHV0PHN0cmluZ1tdPigpO1xuICAgIHB1YmxpYyByb3dSZW9yZGVyRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgLy8gYWN0aW9uc1xuICAgIHB1YmxpYyBhY3Rpb25zID0gaW5wdXQ8QXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8YW55Pj4+KFtdKTsgLy8gY2FuIGJlIGFueXRoaW5nXG5cbiAgICAvLyBjb21wb25lbnQgaW5wdXRzXG4gICAgcHVibGljIGNhcHRpb25Db21wb25lbnQgPSBpbnB1dDxUeXBlPGFueT4+KCk7XG4gICAgcHVibGljIGNvbHVtbkFjdGlvbkNvbXBvbmVudCA9IGlucHV0PFR5cGU8YW55Pj4oKTtcbiAgICBwdWJsaWMgY29sdW1uQWN0aW9uTWluV2lkdGhJbnB1dCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7YWxpYXM6ICdjb2x1bW5BY3Rpb25NaW5XaWR0aCd9KTtcbiAgICBwdWJsaWMgY29sdW1uQWN0aW9uTWluV2lkdGggPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmRlc2NyaXB0b3IoKSAmJiAhdGhpcy5jb2x1bW5BY3Rpb25NaW5XaWR0aElucHV0KClcbiAgICAgICAgICAgID8gY2FsY3VsYXRlVGFibGVDb2x1bW5BY3Rpb25XaWR0aCh0aGlzLmRlc2NyaXB0b3IoKSBhcyBUYWJsZURlc2NyaXB0b3JJbnN0PGFueT4sIHRoaXMucm93SW5saW5lQWN0aW9ucygpKVxuICAgICAgICAgICAgOiB0aGlzLmNvbHVtbkFjdGlvbk1pbldpZHRoSW5wdXQoKVxuICAgICk7XG5cbiAgICAvLyBldmVudCBvdXRwdXRzXG4gICAgcHVibGljIHRhYmxlTG9hZCA9IG91dHB1dDxUYWJsZUxvYWRFdmVudD4oKTtcbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlID0gb3V0cHV0PEFycmF5PEl0ZW0+PigpO1xuICAgIHB1YmxpYyBjYXB0aW9uQ29tcG9uZW50SW5zdGFuY2UgPSBvdXRwdXQ8YW55PigpO1xuICAgIHB1YmxpYyBjb2x1bW5BY3Rpb25Db21wb25lbnRJbnN0YW5jZSA9IG91dHB1dDxhbnk+KCk7XG4gICAgcHVibGljIHJvd1Jlb3JkZXIgPSBvdXRwdXQ8VGFibGVSb3dSZW9yZGVyRXZlbnQ+KCk7XG5cbiAgICAvLyBjb250ZW50IGFuZCB2aWV3IHF1ZXJpZXNcbiAgICBwdWJsaWMgdGVtcGxhdGVzID0gY29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgICBwdWJsaWMgY29tcG9uZW50cyA9IHZpZXdDaGlsZHJlbihRdWVyeUxpc3Q8Q29tcG9uZW50RGlyZWN0aXZlPGFueT4+KTtcbiAgICBwdWJsaWMgdGFibGUgPSB2aWV3Q2hpbGQucmVxdWlyZWQoVGFibGVDb21wb25lbnQpO1xuXG4gICAgLy8gdGVtcGxhdGVzXG4gICAgcHVibGljIGNhcHRpb25UZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdjYXB0aW9uJykpO1xuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogU2lnbmFsPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPiA9IGNvbXB1dGVkKCgpID0+IGZpbmRUZW1wbGF0ZUJ5TmFtZShbLi4udGhpcy50ZW1wbGF0ZXMoKV0sICdmb290ZXInKSk7XG4gICAgcHVibGljIHJvd0V4cGFuZFRlbXBsYXRlOiBTaWduYWw8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+ID0gY29tcHV0ZWQoKCkgPT4gZmluZFRlbXBsYXRlQnlOYW1lKFsuLi50aGlzLnRlbXBsYXRlcygpXSwgJ3Jvd0V4cGFuZENvbnRlbnQnKSk7XG5cbiAgICAvLyBhY3Rpb25zXG4gICAgcHVibGljIHJvd0NsaWNrQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLnBvc2l0aW9uID09PSBBY3Rpb25Qb3NpdGlvbkVudW0uUm93Q2xpY2spO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJvd0lubGluZUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMoKS5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi5wb3NpdGlvbiA9PT0gQWN0aW9uUG9zaXRpb25FbnVtLlJvd0lubGluZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy50YWJsZVJlbG9hZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKGUgPT4gdGhpcy5yZWxvYWQoZSBhcyBUYWJsZVJlbG9hZEV2ZW50PFNvcnRzLCBGaWx0ZXJzPikpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWQoZT86IFRhYmxlUmVsb2FkRXZlbnQ8U29ydHMsIEZpbHRlcnM+KSB7XG4gICAgICAgIHRoaXMudGFibGUoKS5yZWxvYWQoZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2VsbENsaWNrKGV2ZW50OiBUYWJsZUNlbGxDbGlja0V2ZW50PEl0ZW0+KSB7XG4gICAgICAgIGlmICh0aGlzLnJvd0NsaWNrQWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5yb3dDbGlja0FjdGlvbnMoKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkUHJvcCA9IHRoaXMuZGVzY3JpcHRvcigpPy50cmFja1Byb3BlcnR5ID8/IGFjdGlvbj8ubW9kZWw/LmlkUHJvcGVydHk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyczogQWN0aW9uUGFyYW1ldGVyczxJdGVtPiA9IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkOiBpZFByb3AgPyBldmVudC5yb3dJdGVtW2lkUHJvcCBhcyBrZXlvZiBvYmplY3RdIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBldmVudC5yb3dJdGVtLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25EYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtSW5kZXg6IGV2ZW50LnJvd0luZGV4XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlOiB0aGlzLnJvdXRlLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VDb21wb25lbnQ6IHRoaXNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aW9uRXhlY3V0b3IudHJpZ2dlckFjdGlvbihhY3Rpb24sIHBhcmFtZXRlcnMsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGl0ZW1zOiBBcnJheTxJdGVtPikge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3dSZW9yZGVyKGV2ZW50OiBUYWJsZVJvd1Jlb3JkZXJFdmVudCkge1xuICAgICAgICB0aGlzLnJvd1Jlb3JkZXIuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWN0aW9uRmluaXNoKHJ1blJlc3VsdDogQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4pIHtcbiAgICAgICAgaWYgKCFydW5SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bW5nLXRhYmxlXG4gICAgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvcigpXCJcbiAgICBbaXRlbXNdPVwiaXRlbXMoKVwiXG4gICAgW3Jlc3VsdF09XCJyZXN1bHQoKVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZygpXCJcbiAgICBbZGF0YVByb3ZpZGVyXT1cImRhdGFQcm92aWRlcigpXCJcbiAgICBbdXNlUXVlcnlQYXJhbXNdPVwidXNlUXVlcnlQYXJhbXMoKVwiXG4gICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcbiAgICBbc2VsZWN0aW9uRW5hYmxlZF09XCJzZWxlY3Rpb25FbmFibGVkKClcIlxuICAgIFtnbG9iYWxGaWx0ZXJGaWVsZHNdPVwiZ2xvYmFsRmlsdGVyRmllbGRzKClcIlxuICAgIFtjYXB0aW9uQ29tcG9uZW50XT1cImNhcHRpb25Db21wb25lbnQoKVwiXG4gICAgW2NvbHVtbkN1c3RvbUxhc3RDb21wb25lbnRdPVwiY29sdW1uQWN0aW9uQ29tcG9uZW50KClcIlxuICAgIFtjb2x1bW5MYXN0TWluV2lkdGhdPVwiY29sdW1uQWN0aW9uTWluV2lkdGgoKVwiXG4gICAgW2NlbGxDbGlja0VuYWJsZWRdPVwidGhpcy5yb3dDbGlja0FjdGlvbnMoKS5sZW5ndGggPiAwXCJcbiAgICBbcm93UmVvcmRlckVuYWJsZWRdPVwicm93UmVvcmRlckVuYWJsZWQoKVwiXG4gICAgKHRhYmxlTG9hZCk9XCJ0YWJsZUxvYWQuZW1pdCgkZXZlbnQpXCJcbiAgICAoY2VsbENsaWNrKT1cIm9uQ2VsbENsaWNrKCRldmVudClcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGNhcHRpb25Db21wb25lbnRJbnN0YW5jZSk9XCJjYXB0aW9uQ29tcG9uZW50SW5zdGFuY2UuZW1pdCgkZXZlbnQpXCJcbiAgICAoY29sdW1uQ3VzdG9tTGFzdENvbXBvbmVudEluc3RhbmNlKT1cImNvbHVtbkFjdGlvbkNvbXBvbmVudEluc3RhbmNlLmVtaXQoJGV2ZW50KVwiXG4gICAgKHJvd1Jlb3JkZXIpPVwib25Sb3dSZW9yZGVyKCRldmVudClcIj5cbiAgICBAaWYgKCFjb2x1bW5BY3Rpb25Db21wb25lbnQoKSAmJiByb3dJbmxpbmVBY3Rpb25zKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJjb2x1bW5DdXN0b21MYXN0XCIgbGV0LWl0ZW09XCJyb3dJdGVtXCIgbGV0LWlkeD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICBAZm9yIChhY3Rpb24gb2Ygcm93SW5saW5lQWN0aW9ucygpOyB0cmFjayBhY3Rpb24uYWN0aW9uTmFtZUxvbmcpIHtcbiAgICAgICAgICAgICAgICA8bW5nLWFjdGlvblxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbaG9zdENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1JZF09XCJkZXNjcmlwdG9yKCkubW9kZWwuaWRQcm9wZXJ0eSA/IGl0ZW1bZGVzY3JpcHRvcigpLm1vZGVsLmlkUHJvcGVydHkhXSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYWN0aW9uRGF0YV09XCJ7aXRlbUluZGV4OiBpZHh9XCJcbiAgICAgICAgICAgICAgICAgICAgKGZpbmlzaCk9XCJvbkFjdGlvbkZpbmlzaCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPC9tbmctYWN0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgICBAaWYgKGNhcHRpb25UZW1wbGF0ZSgpICYmICFjYXB0aW9uQ29tcG9uZW50KCkpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIG1uZ1RlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNhcHRpb25UZW1wbGF0ZSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAocm93RXhwYW5kVGVtcGxhdGUoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJyb3dFeHBhbmRDb250ZW50XCIgbGV0LWl0ZW09XCJyb3dJdGVtXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93RXhwYW5kVGVtcGxhdGUoKTsgY29udGV4dDoge3Jvd0l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoZm9vdGVyVGVtcGxhdGUoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJmb290ZXJcIiBsZXQtZGF0YT1cImRhdGFcIiBsZXQtdG90YWxDb3VudD1cInRvdGFsQ291bnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZSgpOyBjb250ZXh0OiB7ZGF0YSwgdG90YWxDb3VudH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG48L21uZy10YWJsZT5cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ActionDataProviderSource } from '../models/execution/action-context.model';
|
|
2
|
+
export function actionExecutionSelectDataProvider(action, dataProvider, viewContainer) {
|
|
3
|
+
if (dataProvider) {
|
|
4
|
+
return {
|
|
5
|
+
dataProvider,
|
|
6
|
+
source: ActionDataProviderSource.ParameterOrInput
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
if (action.dataProvider) {
|
|
10
|
+
return {
|
|
11
|
+
dataProvider: action.dataProvider,
|
|
12
|
+
source: ActionDataProviderSource.Descriptor
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (viewContainer?.dataProvider()) {
|
|
16
|
+
return {
|
|
17
|
+
dataProvider: viewContainer?.dataProvider(),
|
|
18
|
+
source: ActionDataProviderSource.ViewContainer
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
source: ActionDataProviderSource.Undefined
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL2hlbHBlcnMvYWN0aW9uLWV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixNQUFNLFVBQVUsaUNBQWlDLENBQzdDLE1BQTJDLEVBQzNDLFlBQTJDLEVBQzNDLGFBQStDO0lBSy9DLElBQUksWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPO1lBQ0gsWUFBWTtZQUNaLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxnQkFBZ0I7U0FDcEQsQ0FBQztJQUNOLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixPQUFPO1lBQ0gsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1lBQ2pDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxVQUFVO1NBQzlDLENBQUM7SUFDTixDQUFDO0lBQ0QsSUFBSSxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUNoQyxPQUFPO1lBQ0gsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUU7WUFDM0MsTUFBTSxFQUFFLHdCQUF3QixDQUFDLGFBQWE7U0FDakQsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLHdCQUF3QixDQUFDLFNBQVM7S0FDN0MsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhUHJvdmlkZXJ9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0LCBJVmlld0NvbnRhaW5lcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtBY3Rpb25EYXRhUHJvdmlkZXJTb3VyY2V9IGZyb20gJy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWNvbnRleHQubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uRXhlY3V0aW9uU2VsZWN0RGF0YVByb3ZpZGVyPEl0ZW0sIFNlcnZpY2U+KFxuICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbSwgU2VydmljZT4sXG4gICAgZGF0YVByb3ZpZGVyPzogSURhdGFQcm92aWRlcjxJdGVtLCBTZXJ2aWNlPixcbiAgICB2aWV3Q29udGFpbmVyPzogSVZpZXdDb250YWluZXI8YW55LCBhbnk+IHwgbnVsbFxuKToge1xuICAgIGRhdGFQcm92aWRlcj86IElEYXRhUHJvdmlkZXI8SXRlbSwgU2VydmljZT47XG4gICAgc291cmNlOiBBY3Rpb25EYXRhUHJvdmlkZXJTb3VyY2U7XG59IHtcbiAgICBpZiAoZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXIsXG4gICAgICAgICAgICBzb3VyY2U6IEFjdGlvbkRhdGFQcm92aWRlclNvdXJjZS5QYXJhbWV0ZXJPcklucHV0XG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChhY3Rpb24uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IGFjdGlvbi5kYXRhUHJvdmlkZXIsXG4gICAgICAgICAgICBzb3VyY2U6IEFjdGlvbkRhdGFQcm92aWRlclNvdXJjZS5EZXNjcmlwdG9yXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICh2aWV3Q29udGFpbmVyPy5kYXRhUHJvdmlkZXIoKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YVByb3ZpZGVyOiB2aWV3Q29udGFpbmVyPy5kYXRhUHJvdmlkZXIoKSxcbiAgICAgICAgICAgIHNvdXJjZTogQWN0aW9uRGF0YVByb3ZpZGVyU291cmNlLlZpZXdDb250YWluZXJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc291cmNlOiBBY3Rpb25EYXRhUHJvdmlkZXJTb3VyY2UuVW5kZWZpbmVkXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { BehaviorSubject, ReplaySubject, Subject, distinctUntilChanged, take } from 'rxjs';
|
|
2
2
|
import { filter, map } from 'rxjs/operators';
|
|
3
3
|
import { LoggerService } from '@mediusinc/mng-commons/core';
|
|
4
|
-
import { ActionActivationTriggerEnum, ActionTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
5
|
-
import { ActionInstanceStateEnum } from './action-instance-state.model';
|
|
4
|
+
import { ActionActivationTriggerEnum, ActionInstanceStateEnum, ActionTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
6
5
|
/**
|
|
7
6
|
* Action execution instance containing data about execution state of action
|
|
8
7
|
*/
|
|
@@ -167,4 +166,4 @@ export class ActionInstance {
|
|
|
167
166
|
this.contexts.every(c => c.isClosed()));
|
|
168
167
|
}
|
|
169
168
|
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWluc3RhbmNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24taW5zdGFuY2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkgsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQW1CLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFDSCwyQkFBMkIsRUFHM0IsY0FBYyxFQUdqQixNQUFNLHNDQUFzQyxDQUFDO0FBRzlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFxQ3ZCLFlBQVksTUFBa0MsRUFBRSxLQUFLLEdBQUcsdUJBQXVCLENBQUMsWUFBWTtRQWpDNUUsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzlCLFdBQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFdkUscUJBQXFCO1FBQ0wsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFLaEQsYUFBUSxHQUF3QyxFQUFFLENBQUM7UUFDbkQscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBMEIsQ0FBQyxDQUFDLENBQUM7UUFDL0Qsa0JBQWEsR0FBRyxJQUFJLGFBQWEs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QUFFLENBQUMsQ0FDekMsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25QYXJhbWV0ZXJzLCBMb2dnZXJTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW0sXG4gICAgQWN0aW9uRGVzY3JpcHRvckluc3QsXG4gICAgQWN0aW9uRXhlY3V0aW9uRXJyb3IsXG4gICAgQWN0aW9uVHlwZUVudW0sXG4gICAgSUFjdGlvbkVkaXRvckNvbXBvbmVudCxcbiAgICBJQWN0aW9uSW5zdGFuY2Vcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtBY3Rpb25Db250ZXh0fSBmcm9tICcuL2FjdGlvbi1jb250ZXh0Lm1vZGVsJztcbmltcG9ydCB7QWN0aW9uSW5zdGFuY2VTdGF0ZUVudW19IGZyb20gJy4vYWN0aW9uLWluc3RhbmNlLXN0YXRlLm1vZGVsJztcblxuLyoqXG4gKiBBY3Rpb24gZXhlY3V0aW9uIGluc3RhbmNlIGNvbnRhaW5pbmcgZGF0YSBhYm91dCBleGVjdXRpb24gc3RhdGUgb2YgYWN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3Rpb25JbnN0YW5jZTxJdGVtLCBTZXJ2aWNlID0gdW5kZWZpbmVkPiBpbXBsZW1lbnRzIElBY3Rpb25JbnN0YW5jZTxJdGVtLCBTZXJ2aWNlPiB7XG4gICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VMb25nTmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0+O1xuICAgIHB1YmxpYyByZWFkb25seSBjcmVhdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJTZXJ2aWNlLmdldCgpLmNyZWF0ZSgnQWN0aW9uSW5zdGFuY2UnKTtcblxuICAgIC8vIGZ1bmN0aW9uIGV4ZWN1dGlvblxuICAgIHB1YmxpYyByZWFkb25seSBpc1J1bkxvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICAvLyBwYXJhbWV0ZXJzLCBjb250ZXh0cywgc3RhdGVzXG4gICAgcHVibGljIHRyaWdnZXJQYXJhbWV0ZXJzPzogQWN0aW9uUGFyYW1ldGVyczxJdGVtPjtcbiAgICBwdWJsaWMgYWN0aXZhdGlvblBhcmFtZXRlcnM/OiBBY3Rpb25QYXJhbWV0ZXJzPEl0ZW0+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dHM6IEFycmF5PEFjdGlvbkNvbnRleHQ8SXRlbSwgU2VydmljZT4+ID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBleGVjdXRpb25TdWJqZWN0ID0gbmV3IFN1YmplY3Q8SXRlbSB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBleGVjdXRpb25Jc1J1bm5pbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtPigxKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3VsdFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxJdGVtIHwgbnVsbD4oMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvclN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxBY3Rpb25FeGVjdXRpb25FcnJvcj4oMSk7XG5cbiAgICBwcml2YXRlIGNvbnRleHRFeGVjdXRpb25TdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICAvLyByZXN1bHQgb3IgZXJyb3JcbiAgICBwcml2YXRlIF9yZXN1bHQ/OiBJdGVtIHwgbnVsbDtcbiAgICBwcml2YXRlIF9lcnJvcj86IEFjdGlvbkV4ZWN1dGlvbkVycm9yO1xuXG4gICAgLy8gYWRkaXRpb25hbCBkYXRhIGZyb20gdHJpZ2dlci9hY3RpdmF0aW9uXG4gICAgcHVibGljIGFjdGl2YXRpb25EaWFsb2dSZWY/OiBEeW5hbWljRGlhbG9nUmVmO1xuICAgIHB1YmxpYyBhY3RpdmF0aW9uRWRpdG9yQ29tcG9uZW50UmVmPzogSUFjdGlvbkVkaXRvckNvbXBvbmVudDtcblxuICAgIC8vIGxpbmtlZCBhY3Rpb25zXG4gICAgcHJpdmF0ZSBfcmVhY3RpdmF0aW9uSW5zdGFuY2VTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7IC8vIGVkaXRvciBhY3Rpb24gd2l0aCByZXN1Ym1pdCBlbmFibGVkXG4gICAgcHVibGljIHJlYWN0aXZhdGlvblByZXZpb3VzSW5zdGFuY2U/OiBJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT47IC8vIHVzZWQgd2hlbiBsaW5raW5nIHRvIHByZXZpb3VzIGluc3RhbmNlIGluIGNhc2Ugb2YgYWN0aW9uIHJlYWN0aXZhdGlvbiAod2l0aGluIHNhbWUgZWRpdG9yKVxuICAgIHB1YmxpYyBwcmV2aW91c0luc3RhbmNlPzogSUFjdGlvbkluc3RhbmNlPGFueSwgYW55PjsgLy8gbGlua2luZyB0byBwcmV2aW91cyBhY3Rpb24gd2hlbiB1c2luZyBuZXh0IGFjdGlvbiBmZWF0dXJlXG4gICAgcHVibGljIG5leHRBY3Rpb25JbnN0YW5jZT86IElBY3Rpb25JbnN0YW5jZTxhbnksIGFueT47IC8vIGFzIGRlZmluZWQgaW4gYWN0aW9uIGRlc2NyaXB0b3JcbiAgICBwdWJsaWMgZXJyb3JBY3Rpb25JbnN0YW5jZT86IElBY3Rpb25JbnN0YW5jZTxJdGVtLCBTZXJ2aWNlPjsgLy8gZXJyb3IgYWN0aW9uIG11c3QgcmVseSBvbiBzYW1lIHR5cGUsIGFzIGRlZmluZWQgaW4gYWN0aW9uIGRlc2NyaXB0b3JcblxuICAgIGNvbnN0cnVjdG9yKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbT4sIHN0YXRlID0gQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uVHJpZ2dlclN0YXJ0KSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VJZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZUxvbmdOYW1lID0gYCR7YWN0aW9uLmFjdGlvbk5hbWVMb25nfV8ke3RoaXMuaW5zdGFuY2VJZH1gO1xuICAgICAgICB0aGlzLmFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNSdW5Mb2FkaW5nJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSdW5Mb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHRzLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHRoaXMuY29udGV4dHNbdGhpcy5jb250ZXh0cy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGV4ZWN1dGlvbiQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4ZWN1dGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBleGVjdXRpb25Jc1J1bm5pbmckKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb25Jc1J1bm5pbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgc3RhdGUoc3RhdGU6IEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtKSB7XG4gICAgICAgIGlmIChzdGF0ZSA+IHRoaXMuc3RhdGVTdWJqZWN0LnZhbHVlIHx8ICh0aGlzLnN0YXRlU3ViamVjdC52YWx1ZSA9PT0gQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uUnVuRXJyb3IgJiYgc3RhdGUgPT09IEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLlJ1blN0YXJ0KSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYEluc3RhbmNlICR7dGhpcy5pbnN0YW5jZUxvbmdOYW1lfSAtIHN0YXRlICMke3N0YXRlfTogJHtBY3Rpb25JbnN0YW5jZVN0YXRlRW51bVtzdGF0ZV19YCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0YXRlKTtcbiAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFN1Y2Nlc3NGaW5hbDpcbiAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaEVycm9yRmluYWw6XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hEaXNtaXNzZWRGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uLmFjdGl2YXRpb25UcmlnZ2VyID09PSBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW0uT25DbGljaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFN1Y2Nlc3NSZWFjdGl2YXRlRmluYWw6XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhcnRpYWxseSBmaW5pc2ggcmVhY3RpdmF0aW9uIGJlY2F1c2UgbmV3IGluc3RhbmNlIGV2ZW50IG11c3Qgc3RpbGwgYmUgZW1pdHRlZFxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24udHlwZSA9PT0gQWN0aW9uVHlwZUVudW0uRWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaENvbXBvbmVudERlc3Ryb3lGaW5hbDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hSb3V0ZVVudHJpZ2dlckVuZEZpbmFsOlxuICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoUm91dGVVbnRyaWdnZXJUaW1lb3V0RmluYWw6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGlvbi5hY3RpdmF0aW9uVHJpZ2dlciA9PT0gQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLk9uUm91dGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHN0YXRlJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1bHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByZXN1bHQocmVzdWx0OiBJdGVtIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKGBJbnN0YW5jZSAke3RoaXMuaW5zdGFuY2VMb25nTmFtZX0gLSByZXN1bHRgLCByZXN1bHQpO1xuXG4gICAgICAgIHRoaXMuX3Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5yZXN1bHRTdWJqZWN0Lm5leHQocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlc3VsdCQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VsdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Vycm9yO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZXJyb3IoZXJyb3I6IEFjdGlvbkV4ZWN1dGlvbkVycm9yIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShgSW5zdGFuY2UgJHt0aGlzLmluc3RhbmNlTG9uZ05hbWV9IC0gZXJyb3JgLCBlcnJvcik7XG5cbiAgICAgICAgdGhpcy5fZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5lcnJvclN1YmplY3QubmV4dChlcnJvcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlcnJvciQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHJlYWN0aXZhdGlvbkluc3RhbmNlKGluc3RhbmNlOiBJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gdGhpcyBpcyBhbGxvd2VkIHRvIG9ubHkgYmUgZXhlY3V0ZWQgb25jZSBmb3Igc3ViamVjdCBhbmQgbXVzdCBiZSBpbiBjb3JyZWN0IHN0YXR1cyFcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFN1Y2Nlc3NSZWFjdGl2YXRlRmluYWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QubmV4dChpbnN0YW5jZSk7XG4gICAgICAgIHRoaXMuX3JlYWN0aXZhdGlvbkluc3RhbmNlU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVhY3RpdmF0aW9uSW5zdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZWFjdGl2YXRpb25JbnN0YW5jZSQoKTogT2JzZXJ2YWJsZTxJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWN0aXZhdGlvbkluc3RhbmNlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGkgPT4gISFpKSwgLy8gaWdub3JlIHVuZGVmaW5lZCBldmVudHMgKHVzdWFsbHkgaW5pdGlhbClcbiAgICAgICAgICAgIG1hcChpID0+IGkhKSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGV4dEF0KGlkeDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBpZHggPCB0aGlzLmNvbnRleHRzLmxlbmd0aCA/IHRoaXMuY29udGV4dHNbaWR4XSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIG5ld0NvbnRleHQoY29udGV4dDogQWN0aW9uQ29udGV4dDxJdGVtLCBTZXJ2aWNlPiwgZmluaXNoUHJldmlvdXMgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKGBJbnN0YW5jZSAke3RoaXMuaW5zdGFuY2VMb25nTmFtZX0gLSBuZXcgY29udGV4dCAke2NvbnRleHQuY29udGV4dExvbmdOYW1lfWApO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBpZiAoY3VycmVudENvbnRleHQpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb250ZXh0LmV4ZWN1dGlvbkNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0RXhlY3V0aW9uU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5jb250ZXh0RXhlY3V0aW9uU3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLmNvbnRleHRFeGVjdXRpb25TdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICBjb250ZXh0LmV4ZWN1dGlvbiQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiBuZXh0ID0+IHRoaXMuZXhlY3V0aW9uU3ViamVjdC5uZXh0KG5leHQpLFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvciA9PiB0aGlzLmV4ZWN1dGlvblN1YmplY3QuZXJyb3IoZXJyb3IpXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNvbnRleHRFeGVjdXRpb25TdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICBjb250ZXh0LmV4ZWN1dGlvbklzUnVubmluZyQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiBuZXh0ID0+IHRoaXMuZXhlY3V0aW9uSXNSdW5uaW5nU3ViamVjdC5uZXh0KG5leHQpXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNvbnRleHRzLnB1c2goY29udGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvcmNlRmluaXNoKCkge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBGb3JjZSBmaW5pc2hpbmcgaW5zdGFuY2UgJyR7dGhpcy5pbnN0YW5jZUxvbmdOYW1lfScuIFRyeSBjb21wbGV0aW5nIGluc3RhbmNlIHdpdGggc3RhdGVzIGluc3RlYWQuYCk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hEaXNtaXNzZWRGaW5hbDtcbiAgICAgICAgdGhpcy5maW5pc2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmlzaChyZWFjdGl2YXRlID0gZmFsc2UpIHtcbiAgICAgICAgLy8gY29tcGxldGUgYWxsIHN1YmplY3RzXG4gICAgICAgIHRoaXMuY29udGV4dHMuZm9yRWFjaChjID0+IGMuZmluaXNoKCkpO1xuICAgICAgICB0aGlzLmV4ZWN1dGlvblN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5leGVjdXRpb25Jc1J1bm5pbmdTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVzdWx0U3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmVycm9yU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAoIXJlYWN0aXZhdGUpIHtcbiAgICAgICAgICAgIC8vIGFsbG93IHJlYWN0aXZhdGlvbiBpbnN0YW5jZSB0byBiZSBlbWl0dGVkIHNlcGFyYXRlbHlcbiAgICAgICAgICAgIHRoaXMuX3JlYWN0aXZhdGlvbkluc3RhbmNlU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5leGVjdXRpb25TdWJqZWN0LmlzU3RvcHBlZCAmJlxuICAgICAgICAgICAgdGhpcy5leGVjdXRpb25Jc1J1bm5pbmdTdWJqZWN0LmlzU3RvcHBlZCAmJlxuICAgICAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QuaXNTdG9wcGVkICYmXG4gICAgICAgICAgICB0aGlzLnJlc3VsdFN1YmplY3QuaXNTdG9wcGVkICYmXG4gICAgICAgICAgICB0aGlzLmVycm9yU3ViamVjdC5pc1N0b3BwZWQgJiZcbiAgICAgICAgICAgIHRoaXMuX3JlYWN0aXZhdGlvbkluc3RhbmNlU3ViamVjdC5pc1N0b3BwZWQgJiZcbiAgICAgICAgICAgIHRoaXMuY29udGV4dEV4ZWN1dGlvblN1YnNjcmlwdGlvbnMuZXZlcnkocyA9PiBzLmNsb3NlZCkgJiZcbiAgICAgICAgICAgIHRoaXMuY29udGV4dHMuZXZlcnkoYyA9PiBjLmlzQ2xvc2VkKCkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWluc3RhbmNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9hY3Rpb24vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24taW5zdGFuY2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkgsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQW1CLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFDSCwyQkFBMkIsRUFHM0IsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFHakIsTUFBTSxzQ0FBc0MsQ0FBQztBQUk5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBcUN2QixZQUFZLE1BQWtDLEVBQUUsS0FBSyxHQUFHLHVCQUF1QixDQUFDLFlBQVk7UUFqQzVFLGdCQUFXLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QixXQUFNLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZFLHFCQUFxQjtRQUNMLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBS2hELGFBQVEsR0FBd0MsRUFBRSxDQUFDO1FBQ25ELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUEyQixDQUFDO1FBQzFELDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQy9ELGtCQUFhLEdBQUcsSUFBSSxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsaUJBQVks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Q0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0R5bmFtaWNEaWFsb2dSZWZ9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uUGFyYW1ldGVycywgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7XG4gICAgQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLFxuICAgIEFjdGlvbkRlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkV4ZWN1dGlvbkVycm9yLFxuICAgIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLFxuICAgIEFjdGlvblR5cGVFbnVtLFxuICAgIElBY3Rpb25FZGl0b3JDb21wb25lbnQsXG4gICAgSUFjdGlvbkluc3RhbmNlXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7QWN0aW9uQ29udGV4dH0gZnJvbSAnLi9hY3Rpb24tY29udGV4dC5tb2RlbCc7XG5cbi8qKlxuICogQWN0aW9uIGV4ZWN1dGlvbiBpbnN0YW5jZSBjb250YWluaW5nIGRhdGEgYWJvdXQgZXhlY3V0aW9uIHN0YXRlIG9mIGFjdGlvblxuICovXG5leHBvcnQgY2xhc3MgQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZSA9IHVuZGVmaW5lZD4gaW1wbGVtZW50cyBJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4ge1xuICAgIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlTG9uZ05hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtPjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyU2VydmljZS5nZXQoKS5jcmVhdGUoJ0FjdGlvbkluc3RhbmNlJyk7XG5cbiAgICAvLyBmdW5jdGlvbiBleGVjdXRpb25cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNSdW5Mb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgLy8gcGFyYW1ldGVycywgY29udGV4dHMsIHN0YXRlc1xuICAgIHB1YmxpYyB0cmlnZ2VyUGFyYW1ldGVycz86IEFjdGlvblBhcmFtZXRlcnM8SXRlbT47XG4gICAgcHVibGljIGFjdGl2YXRpb25QYXJhbWV0ZXJzPzogQWN0aW9uUGFyYW1ldGVyczxJdGVtPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRzOiBBcnJheTxBY3Rpb25Db250ZXh0PEl0ZW0sIFNlcnZpY2U+PiA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhlY3V0aW9uU3ViamVjdCA9IG5ldyBTdWJqZWN0PEl0ZW0gfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXhlY3V0aW9uSXNSdW5uaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3Rpb25JbnN0YW5jZVN0YXRlRW51bT4oMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN1bHRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8SXRlbSB8IG51bGw+KDEpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8QWN0aW9uRXhlY3V0aW9uRXJyb3I+KDEpO1xuXG4gICAgcHJpdmF0ZSBjb250ZXh0RXhlY3V0aW9uU3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gICAgLy8gcmVzdWx0IG9yIGVycm9yXG4gICAgcHJpdmF0ZSBfcmVzdWx0PzogSXRlbSB8IG51bGw7XG4gICAgcHJpdmF0ZSBfZXJyb3I/OiBBY3Rpb25FeGVjdXRpb25FcnJvcjtcblxuICAgIC8vIGFkZGl0aW9uYWwgZGF0YSBmcm9tIHRyaWdnZXIvYWN0aXZhdGlvblxuICAgIHB1YmxpYyBhY3RpdmF0aW9uRGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZjtcbiAgICBwdWJsaWMgYWN0aXZhdGlvbkVkaXRvckNvbXBvbmVudFJlZj86IElBY3Rpb25FZGl0b3JDb21wb25lbnQ7XG5cbiAgICAvLyBsaW5rZWQgYWN0aW9uc1xuICAgIHByaXZhdGUgX3JlYWN0aXZhdGlvbkluc3RhbmNlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpOyAvLyBlZGl0b3IgYWN0aW9uIHdpdGggcmVzdWJtaXQgZW5hYmxlZFxuICAgIHB1YmxpYyByZWFjdGl2YXRpb25QcmV2aW91c0luc3RhbmNlPzogSUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+OyAvLyB1c2VkIHdoZW4gbGlua2luZyB0byBwcmV2aW91cyBpbnN0YW5jZSBpbiBjYXNlIG9mIGFjdGlvbiByZWFjdGl2YXRpb24gKHdpdGhpbiBzYW1lIGVkaXRvcilcbiAgICBwdWJsaWMgcHJldmlvdXNJbnN0YW5jZT86IElBY3Rpb25JbnN0YW5jZTxhbnksIGFueT47IC8vIGxpbmtpbmcgdG8gcHJldmlvdXMgYWN0aW9uIHdoZW4gdXNpbmcgbmV4dCBhY3Rpb24gZmVhdHVyZVxuICAgIHB1YmxpYyBuZXh0QWN0aW9uSW5zdGFuY2U/OiBJQWN0aW9uSW5zdGFuY2U8YW55LCBhbnk+OyAvLyBhcyBkZWZpbmVkIGluIGFjdGlvbiBkZXNjcmlwdG9yXG4gICAgcHVibGljIGVycm9yQWN0aW9uSW5zdGFuY2U/OiBJQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT47IC8vIGVycm9yIGFjdGlvbiBtdXN0IHJlbHkgb24gc2FtZSB0eXBlLCBhcyBkZWZpbmVkIGluIGFjdGlvbiBkZXNjcmlwdG9yXG5cbiAgICBjb25zdHJ1Y3RvcihhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3JJbnN0PEl0ZW0+LCBzdGF0ZSA9IEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLlRyaWdnZXJTdGFydCkge1xuICAgICAgICB0aGlzLmluc3RhbmNlSWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VMb25nTmFtZSA9IGAke2FjdGlvbi5hY3Rpb25OYW1lTG9uZ31fJHt0aGlzLmluc3RhbmNlSWR9YDtcbiAgICAgICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzUnVuTG9hZGluZyQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUnVuTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0cy5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiB0aGlzLmNvbnRleHRzW3RoaXMuY29udGV4dHMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBleGVjdXRpb24kKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5leGVjdXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXhlY3V0aW9uSXNSdW5uaW5nJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhlY3V0aW9uSXNSdW5uaW5nU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlU3ViamVjdC52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHN0YXRlKHN0YXRlOiBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bSkge1xuICAgICAgICBpZiAoc3RhdGUgPiB0aGlzLnN0YXRlU3ViamVjdC52YWx1ZSB8fCAodGhpcy5zdGF0ZVN1YmplY3QudmFsdWUgPT09IEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLlJ1bkVycm9yICYmIHN0YXRlID09PSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5SdW5TdGFydCkpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKGBJbnN0YW5jZSAke3RoaXMuaW5zdGFuY2VMb25nTmFtZX0gLSBzdGF0ZSAjJHtzdGF0ZX06ICR7QWN0aW9uSW5zdGFuY2VTdGF0ZUVudW1bc3RhdGVdfWApO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGF0ZSk7XG4gICAgICAgICAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hTdWNjZXNzRmluYWw6XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hFcnJvckZpbmFsOlxuICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoRGlzbWlzc2VkRmluYWw6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGlvbi5hY3RpdmF0aW9uVHJpZ2dlciA9PT0gQWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLk9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hTdWNjZXNzUmVhY3RpdmF0ZUZpbmFsOlxuICAgICAgICAgICAgICAgICAgICAvLyBwYXJ0aWFsbHkgZmluaXNoIHJlYWN0aXZhdGlvbiBiZWNhdXNlIG5ldyBpbnN0YW5jZSBldmVudCBtdXN0IHN0aWxsIGJlIGVtaXR0ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGVFbnVtLkVkaXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5pc2godHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hDb21wb25lbnREZXN0cm95RmluYWw6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoUm91dGVVbnRyaWdnZXJFbmRGaW5hbDpcbiAgICAgICAgICAgICAgICBjYXNlIEFjdGlvbkluc3RhbmNlU3RhdGVFbnVtLkZpbmlzaFJvdXRlVW50cmlnZ2VyVGltZW91dEZpbmFsOlxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24uYWN0aXZhdGlvblRyaWdnZXIgPT09IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bS5PblJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdGF0ZSQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzdWx0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcmVzdWx0KHJlc3VsdDogSXRlbSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShgSW5zdGFuY2UgJHt0aGlzLmluc3RhbmNlTG9uZ05hbWV9IC0gcmVzdWx0YCwgcmVzdWx0KTtcblxuICAgICAgICB0aGlzLl9yZXN1bHQgPSByZXN1bHQ7XG4gICAgICAgIHRoaXMucmVzdWx0U3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1bHQkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXN1bHRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lcnJvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IGVycm9yKGVycm9yOiBBY3Rpb25FeGVjdXRpb25FcnJvciB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodHlwZW9mIGVycm9yID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYEluc3RhbmNlICR7dGhpcy5pbnN0YW5jZUxvbmdOYW1lfSAtIGVycm9yYCwgZXJyb3IpO1xuXG4gICAgICAgIHRoaXMuX2Vycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQoZXJyb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXJyb3IkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByZWFjdGl2YXRpb25JbnN0YW5jZShpbnN0YW5jZTogSUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIHRoaXMgaXMgYWxsb3dlZCB0byBvbmx5IGJlIGV4ZWN1dGVkIG9uY2UgZm9yIHN1YmplY3QgYW5kIG11c3QgYmUgaW4gY29ycmVjdCBzdGF0dXMhXG4gICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBBY3Rpb25JbnN0YW5jZVN0YXRlRW51bS5GaW5pc2hTdWNjZXNzUmVhY3RpdmF0ZUZpbmFsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVhY3RpdmF0aW9uSW5zdGFuY2VTdWJqZWN0Lm5leHQoaW5zdGFuY2UpO1xuICAgICAgICB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlYWN0aXZhdGlvbkluc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhY3RpdmF0aW9uSW5zdGFuY2VTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVhY3RpdmF0aW9uSW5zdGFuY2UkKCk6IE9ic2VydmFibGU8SUFjdGlvbkluc3RhbmNlPEl0ZW0sIFNlcnZpY2U+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpID0+ICEhaSksIC8vIGlnbm9yZSB1bmRlZmluZWQgZXZlbnRzICh1c3VhbGx5IGluaXRpYWwpXG4gICAgICAgICAgICBtYXAoaSA9PiBpISksXG4gICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRleHRBdChpZHg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gaWR4IDwgdGhpcy5jb250ZXh0cy5sZW5ndGggPyB0aGlzLmNvbnRleHRzW2lkeF0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHB1YmxpYyBuZXdDb250ZXh0KGNvbnRleHQ6IEFjdGlvbkNvbnRleHQ8SXRlbSwgU2VydmljZT4sIGZpbmlzaFByZXZpb3VzID0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShgSW5zdGFuY2UgJHt0aGlzLmluc3RhbmNlTG9uZ05hbWV9IC0gbmV3IGNvbnRleHQgJHtjb250ZXh0LmNvbnRleHRMb25nTmFtZX1gKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50Q29udGV4dCA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgaWYgKGN1cnJlbnRDb250ZXh0KSB7XG4gICAgICAgICAgICBjdXJyZW50Q29udGV4dC5leGVjdXRpb25Db21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dEV4ZWN1dGlvblN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuY29udGV4dEV4ZWN1dGlvblN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0RXhlY3V0aW9uU3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgY29udGV4dC5leGVjdXRpb24kLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogbmV4dCA9PiB0aGlzLmV4ZWN1dGlvblN1YmplY3QubmV4dChuZXh0KSxcbiAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5leGVjdXRpb25TdWJqZWN0LmVycm9yKGVycm9yKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZXh0RXhlY3V0aW9uU3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgY29udGV4dC5leGVjdXRpb25Jc1J1bm5pbmckLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogbmV4dCA9PiB0aGlzLmV4ZWN1dGlvbklzUnVubmluZ1N1YmplY3QubmV4dChuZXh0KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3JjZUZpbmlzaCgpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihgRm9yY2UgZmluaXNoaW5nIGluc3RhbmNlICcke3RoaXMuaW5zdGFuY2VMb25nTmFtZX0nLiBUcnkgY29tcGxldGluZyBpbnN0YW5jZSB3aXRoIHN0YXRlcyBpbnN0ZWFkLmApO1xuICAgICAgICB0aGlzLnN0YXRlID0gQWN0aW9uSW5zdGFuY2VTdGF0ZUVudW0uRmluaXNoRGlzbWlzc2VkRmluYWw7XG4gICAgICAgIHRoaXMuZmluaXNoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5pc2gocmVhY3RpdmF0ZSA9IGZhbHNlKSB7XG4gICAgICAgIC8vIGNvbXBsZXRlIGFsbCBzdWJqZWN0c1xuICAgICAgICB0aGlzLmNvbnRleHRzLmZvckVhY2goYyA9PiBjLmZpbmlzaCgpKTtcbiAgICAgICAgdGhpcy5leGVjdXRpb25TdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZXhlY3V0aW9uSXNSdW5uaW5nU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnJlc3VsdFN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5lcnJvclN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgaWYgKCFyZWFjdGl2YXRlKSB7XG4gICAgICAgICAgICAvLyBhbGxvdyByZWFjdGl2YXRpb24gaW5zdGFuY2UgdG8gYmUgZW1pdHRlZCBzZXBhcmF0ZWx5XG4gICAgICAgICAgICB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc0Nsb3NlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0aW9uU3ViamVjdC5pc1N0b3BwZWQgJiZcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0aW9uSXNSdW5uaW5nU3ViamVjdC5pc1N0b3BwZWQgJiZcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0LmlzU3RvcHBlZCAmJlxuICAgICAgICAgICAgdGhpcy5yZXN1bHRTdWJqZWN0LmlzU3RvcHBlZCAmJlxuICAgICAgICAgICAgdGhpcy5lcnJvclN1YmplY3QuaXNTdG9wcGVkICYmXG4gICAgICAgICAgICB0aGlzLl9yZWFjdGl2YXRpb25JbnN0YW5jZVN1YmplY3QuaXNTdG9wcGVkICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRFeGVjdXRpb25TdWJzY3JpcHRpb25zLmV2ZXJ5KHMgPT4gcy5jbG9zZWQpICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRzLmV2ZXJ5KGMgPT4gYy5pc0Nsb3NlZCgpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|