@provoly/dashboard 1.4.18 → 1.4.20
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/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.d.ts +2 -3
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.d.ts +2 -3
- package/admin/components/admin-classes/store/admin-class.effects.d.ts +22 -8
- package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +13 -5
- package/admin/components/admin-fields/store/fields.effects.d.ts +7 -5
- package/admin/store/admin.effects.d.ts +3 -1
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +2 -2
- package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +2 -2
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +2 -2
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -6
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -6
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +14 -13
- package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +3 -3
- package/esm2022/admin/components/admin-dataset/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +7 -8
- package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +2 -2
- package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +2 -2
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +2 -2
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +7 -10
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +3 -3
- package/esm2022/admin/components/admin-links/admin-links.component.mjs +3 -3
- package/esm2022/admin/components/admin-links/store/links.effects.mjs +2 -2
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +2 -2
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +2 -2
- package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +2 -2
- package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +2 -2
- package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +2 -2
- package/esm2022/admin/components/shared/add-category-modal/add-category-modal.component.mjs +2 -2
- package/esm2022/admin/store/admin.effects.mjs +2 -2
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +2 -2
- package/esm2022/components/text-editor/component/text-editor.component.mjs +2 -2
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -4
- package/esm2022/dataset/components/dataset.component.mjs +4 -4
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/filters/number/number-filter.component.mjs +2 -2
- package/esm2022/filters/text/text-filter.component.mjs +2 -2
- package/esm2022/import/components/form/import-form.component.mjs +2 -2
- package/esm2022/import/components/list/import-list.component.mjs +2 -2
- package/esm2022/import/store/import.effects.mjs +2 -2
- package/esm2022/lib/core/components/select/select.component.mjs +2 -2
- package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +3 -3
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +2 -2
- package/esm2022/lib/core/components/upload/upload.component.mjs +2 -2
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +2 -2
- package/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +3 -4
- package/esm2022/lib/core/store/category/category.actions.mjs +3 -3
- package/esm2022/lib/core/store/category/category.effects.mjs +10 -6
- package/esm2022/lib/core/store/class/class.actions.mjs +3 -3
- package/esm2022/lib/core/store/class/class.effects.mjs +10 -6
- package/esm2022/lib/core/store/config/config.actions.mjs +2 -2
- package/esm2022/lib/core/store/config/config.effects.mjs +13 -8
- package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +2 -2
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +8 -8
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +21 -21
- package/esm2022/lib/core/store/field/field.actions.mjs +3 -3
- package/esm2022/lib/core/store/field/field.effects.mjs +10 -6
- package/esm2022/lib/core/store/image/image.effects.mjs +2 -2
- package/esm2022/lib/core/store/item/item.effects.mjs +2 -2
- package/esm2022/lib/core/store/relation-types/relation-types.actions.mjs +4 -4
- package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +11 -10
- package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +3 -2
- package/esm2022/lib/core/store/search/search.selectors.mjs +3 -1
- package/esm2022/lib/core/store/search/search.service.mjs +4 -9
- package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +2 -2
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +2 -2
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +29 -23
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +3 -4
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +2 -2
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
- package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
- package/esm2022/lib/dashboard/store/refresh.service.mjs +2 -2
- package/esm2022/lib/dashboard/store/wms.service.mjs +2 -2
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +2 -2
- package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +3 -5
- package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +2 -2
- package/esm2022/pipeline/store/pipeline.effects.mjs +2 -2
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +2 -3
- package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +2 -2
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +2 -2
- package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +2 -2
- package/esm2022/restitution/components/restitution/restitution.component.mjs +5 -5
- package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +2 -2
- package/esm2022/search/search-home/search-home.component.mjs +3 -4
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +2 -2
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +2 -2
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +1 -1
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +2 -2
- package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +2 -2
- package/esm2022/search/search-tools/search-tools.component.mjs +5 -6
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +2 -2
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +2 -2
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +2 -2
- package/esm2022/toolbox/components/toolbox.component.mjs +2 -2
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +2 -2
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +2 -2
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +10 -13
- package/esm2022/widgets/widget-image/component/widget-image.component.mjs +2 -2
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
- package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +2 -2
- package/esm2022/widgets/widget-template/component/widget-template.component.mjs +2 -2
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +2 -2
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs +121 -123
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +12 -13
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-text-editor.mjs +1 -2
- package/fesm2022/provoly-dashboard-components-text-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +5 -6
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +3 -3
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-number.mjs +1 -2
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-text.mjs +1 -2
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +5 -6
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +3 -4
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +2 -3
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +2 -2
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +16 -18
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +4 -4
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +19 -20
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +3 -4
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +1 -2
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +8 -12
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +2 -3
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -2
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +989 -975
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/filter.interface.d.ts +1 -0
- package/lib/core/store/category/category.actions.d.ts +7 -3
- package/lib/core/store/category/category.effects.d.ts +4 -2
- package/lib/core/store/class/class.actions.d.ts +7 -3
- package/lib/core/store/class/class.effects.d.ts +4 -2
- package/lib/core/store/config/config.actions.d.ts +5 -1
- package/lib/core/store/config/config.effects.d.ts +12 -4
- package/lib/core/store/data-source/data-source.actions.d.ts +23 -11
- package/lib/core/store/data-source/data-source.effects.d.ts +23 -15
- package/lib/core/store/field/field.actions.d.ts +7 -3
- package/lib/core/store/field/field.effects.d.ts +4 -2
- package/lib/core/store/relation-types/relation-types.actions.d.ts +9 -5
- package/lib/core/store/relation-types/relation-types.effects.d.ts +8 -6
- package/lib/core/store/search/search.actions.d.ts +2 -0
- package/lib/core/store/search/search.selectors.d.ts +5 -0
- package/lib/core/store/search/search.service.d.ts +1 -1
- package/lib/dashboard/components/dashboard.component.d.ts +5 -3
- package/package.json +11 -11
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +1 -1
- package/widgets/widget-graph/component/widget-graph.component.d.ts +2 -5
|
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { createEffect, ofType } from '@ngrx/effects';
|
|
3
3
|
import { ClassSelectors, DataSourceActions, DataSourceSelectors, DatasourceUtils, DEFAULT_NAMED_QUERY_ID, FieldSelectors, FieldType, NamedQueryTypes, SearchActions } from '@provoly/dashboard';
|
|
4
4
|
import { combineLatest, of } from 'rxjs';
|
|
5
|
-
import { catchError, first, map, mergeMap, switchMap, withLatestFrom } from 'rxjs
|
|
5
|
+
import { catchError, first, map, mergeMap, switchMap, withLatestFrom } from 'rxjs';
|
|
6
6
|
import { v4 as uuidv4 } from 'uuid';
|
|
7
7
|
import { SearchMultiClassActions } from '../../../search/search-multi-class/store/search-multi-class.actions';
|
|
8
8
|
import { SearchMonoClassActions } from './search-mono-class.actions';
|
|
@@ -109,4 +109,4 @@ export class SearchMonoClassEffects {
|
|
|
109
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SearchMonoClassEffects, decorators: [{
|
|
110
110
|
type: Injectable
|
|
111
111
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.SearchService }, { type: i3.SearchMonoClassService }, { type: i4.Store }] });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vbm8tY2xhc3MuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtbW9uby1jbGFzcy9zdG9yZS9zZWFyY2gtbW9uby1jbGFzcy5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLFNBQVMsRUFHVCxlQUFlLEVBR2YsYUFBYSxFQUVkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDOUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQUl6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsUUFBaUIsRUFDakIsYUFBNEIsRUFDNUIsc0JBQThDLEVBQzlDLEtBQWlCO1FBSGpCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWU7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RSxXQUFXLENBQUMsT0FBaUMsRUFBRSxDQUFDLENBQzFHLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN6RSxDQUNGLENBQUM7UUFFRixjQUFTLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFDN0MsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLEVBQUUsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUM5RixDQUNGLENBQUM7SUEzS0MsQ0FBQzs4R0FOTyxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBEYXRhc291cmNlVXRpbHMsXG4gIERFRkFVTFRfTkFNRURfUVVFUllfSUQsXG4gIEZpZWxkU2VsZWN0b3JzLFxuICBGaWVsZFR5cGUsXG4gIE1vbm9DbGFzc1NlYXJjaFBheWxvYWQsXG4gIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkLFxuICBOYW1lZFF1ZXJ5VHlwZXMsXG4gIE5vcm1hbGl6ZWRDb25kaXRpb24sXG4gIE9yZGVyVmFsdWUsXG4gIFNlYXJjaEFjdGlvbnMsXG4gIFNlYXJjaFNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaXJzdCwgbWFwLCBtZXJnZU1hcCwgc3dpdGNoTWFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zZWFyY2gvc2VhcmNoLW11bHRpLWNsYXNzL3N0b3JlL3NlYXJjaC1tdWx0aS1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMgfSBmcm9tICcuL3NlYXJjaC1tb25vLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi9zZWFyY2gtbW9uby1jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLW1vbm8tY2xhc3Muc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWFyY2hNb25vQ2xhc3NFZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hNb25vQ2xhc3NTZXJ2aWNlOiBTZWFyY2hNb25vQ2xhc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7fVxuXG4gIHNlbGVjdGVkTW9ub0NsYXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnNlbGVjdE1vbm9DbGFzc1NlYXJjaCksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb246IE5vcm1hbGl6ZWRDb25kaXRpb24gPSB0aGlzLnNlYXJjaE1vbm9DbGFzc1NlcnZpY2UuaW5pdE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZChudWxsKTtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkRmlyc3ROb3JtYWxpemVkQ29uZGl0aW9uKHsgY29uZGl0aW9uIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgYWRkTm9ybWFsaXplZENvbmRpdGlvbkF0dHJpYnV0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGROb3JtYWxpemVkQ29uZGl0aW9uQXR0cmlidXRlRm9yQ29uZGl0aW9uSWQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbb2YoYWN0aW9uKSwgdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRCeUlkKGFjdGlvbi5hdHRyaWJ1dGUuZmllbGQuaWQpKV0pLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBmaWVsZF0pID0+IHtcbiAgICAgICAgY29uc3QgcGF0dGVybiA9IHRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5nZXRQYXR0ZXJuRm9yRmllbGQoZmllbGQpO1xuICAgICAgICBjb25zdCBpc0RhdGUgPSBmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuSU5TVEFOVDtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uOiBOb3JtYWxpemVkQ29uZGl0aW9uID0ge1xuICAgICAgICAgIC4uLnRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5pbml0Tm9ybWFsaXplZENvbmRpdGlvbkF0dHJpYnV0ZShhY3Rpb24uY29uZGl0aW9uSWQsIGFjdGlvbi5hdHRyaWJ1dGUuaWQpLFxuICAgICAgICAgIGlzRGF0ZSxcbiAgICAgICAgICBwYXR0ZXJuXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkZvckNvbmRpdGlvbklkKHtcbiAgICAgICAgICBjb25kaXRpb25JZDogYWN0aW9uLmNvbmRpdGlvbklkLFxuICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFkZE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGROb3JtYWxpemVkQ29uZGl0aW9uQ29tcG9zZWRGb3JDb25kaXRpb25JZCksXG4gICAgICBtYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb246IE5vcm1hbGl6ZWRDb25kaXRpb24gPSB0aGlzLnNlYXJjaE1vbm9DbGFzc1NlcnZpY2UuaW5pdE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZChcbiAgICAgICAgICBhY3Rpb24uY29uZGl0aW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkZvckNvbmRpdGlvbklkKHtcbiAgICAgICAgICBjb25kaXRpb25JZDogYWN0aW9uLmNvbmRpdGlvbklkLFxuICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZU5vcm1hbGl6ZWRDb25kaXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuZGVsZXRlTm9ybWFsaXplZENvbmRpdGlvbkJ5SWQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgb2YoYWN0aW9uKSxcbiAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMuc2VsZWN0TW9ub0NsYXNzQ29uZGl0aW9uc0J5SWQoYWN0aW9uLmNvbmRpdGlvbklkKSlcbiAgICAgICAgXSkucGlwZShmaXJzdCgpKVxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoW2FjdGlvbiwgY29uZGl0aW9uXSkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25Db25kaXRpb24kID0gU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5kZWxldGVOb3JtYWxpemVkQ29uZGl0aW9uKHsgY29uZGl0aW9uIH0pO1xuICAgICAgICBjb25zdCBhY3Rpb25QYXJlbnQkID0gU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5yZW1vdmVDb25kaXRpb25Gcm9tQ29tcG9zZWQoe1xuICAgICAgICAgIHBhcmVudElkOiBjb25kaXRpb24ucGFyZW50SWQgPz8gbnVsbCxcbiAgICAgICAgICBjaGlsZHJlbklkOiBjb25kaXRpb24uaWRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnNDb21wb3NlZCQgPSBjb25kaXRpb24uY29tcG9zZWQ/Lm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmRlbGV0ZU5vcm1hbGl6ZWRDb25kaXRpb25CeUlkKHsgY29uZGl0aW9uSWQ6IGlkIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBhY3Rpb25zQ29tcG9zZWQkXG4gICAgICAgICAgPyBbYWN0aW9uQ29uZGl0aW9uJCwgYWN0aW9uUGFyZW50JCwgLi4uYWN0aW9uc0NvbXBvc2VkJF1cbiAgICAgICAgICA6IFthY3Rpb25Db25kaXRpb24kLCBhY3Rpb25QYXJlbnQkXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFjdGlvbk1vbm9DbGFzc1NlYXJjaCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5zZWFyY2gsIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuc2F2ZSksXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlbGVjdE1vbm9DbGFzc0lkU2VhcmNoKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlbGVjdE1vbm9DbGFzc0NvbmRpdGlvbnNNYXN0ZXJJZCksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE1vbm9DbGFzc1NlbGVjdG9ycy5zZWxlY3RNb25vQ2xhc3NDb25kaXRpb25zKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLm9yZGVyKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdClcbiAgICAgICksXG4gICAgICBtYXAoKFthY3Rpb24sIG9DbGFzcywgbWFzdGVySWQsIGNvbmRpdGlvbnMsIG9yZGVyLCBjdXJyZW50RWRpdF0pID0+IHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5idWlsZE1vbm9DbGFzc1NlYXJjaFBheWxvYWRGb3JTZWFyY2goXG4gICAgICAgICAgb0NsYXNzID8/ICcnLFxuICAgICAgICAgIG1hc3RlcklkID8/ICcnLFxuICAgICAgICAgIGNvbmRpdGlvbnMsXG4gICAgICAgICAgb3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnNhdmUudHlwZSAmJiBERUZBVUxUX05BTUVEX1FVRVJZX0lEICE9PSBhY3Rpb24/LmlkKSB7XG4gICAgICAgICAgcmV0dXJuIERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkucG9zdCh7XG4gICAgICAgICAgICBpZDogYWN0aW9uLmlkID8/IGN1cnJlbnRFZGl0Py5pZCxcbiAgICAgICAgICAgIG5hbWU6IGFjdGlvbi5kZXNjcmlwdGlvblF1ZXJ5Lm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LnZpc2liaWxpdHksXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRFZGl0Py5jb2xvcixcbiAgICAgICAgICAgIGZhdm9yaXRlOiBjdXJyZW50RWRpdD8uZmF2b3JpdGUgPz8gZmFsc2UsXG4gICAgICAgICAgICBpc0VkaXQ6ICEhY3VycmVudEVkaXRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU2VhcmNoQWN0aW9ucy5zZWFyY2goeyBwYXlsb2FkIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgbG9hZEV4aXN0aW5nQ29uZGl0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLCB0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCBjbGFzc2VzLCBmaWVsZHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgb0NsYXNzLCBjb25kaXRpb24sIHNvcnQgfSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBjb25zdCBtYXN0ZXJJZCA9IHV1aWR2NCgpO1xuICAgICAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWFyY2hNb25vQ2xhc3NTZXJ2aWNlLmxvYWROb3JtYWxpemVkQ29uZGl0aW9ucyhcbiAgICAgICAgICBjb25kaXRpb24sXG4gICAgICAgICAgbWFzdGVySWQsXG4gICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgbWFzdGVySWQsXG4gICAgICAgICAgc29ydFxuICAgICAgICApLmNvbmRpdGlvbnM7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvbmRpdGlvbnMubWFwKChjb25kKSA9PiBjb25kLmlkKTtcbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBjb25kaXRpb25zLnJlZHVjZSgoYWNjLCBjb25kKSA9PiAoeyAuLi5hY2MsIFtjb25kLmlkXTogY29uZCB9KSwge30pO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkSWRNYXN0ZXIoeyBpZDogbWFzdGVySWQgfSksXG4gICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGRJZENvbmRpdGlvbih7IGlkcyB9KSxcbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmFkZEVudGl0aWVzKHsgZW50aXRpZXMgfSksXG4gICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGRJZENsYXNzKHsgaWQ6IG9DbGFzcyB9KSxcbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmFkZE9yZGVyKHsgYXR0cmlidXRlOiBzb3J0Py5hdHRyaWJ1dGUsIGFzYzogc29ydD8uZGlyZWN0aW9uIGFzIE9yZGVyVmFsdWUgfSlcbiAgICAgICAgXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFkZEVkaXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlbkVkaXQpLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdCkpLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIGN1cnJlbnRFZGl0XSkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW10gYXMgQWN0aW9uW107XG4gICAgICAgIGlmICghIWN1cnJlbnRFZGl0KSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IERhdGFzb3VyY2VVdGlscy5nZXRUeXBlRnJvbVBheWxvYWQoY3VycmVudEVkaXQucmVxdWVzdCk7XG4gICAgICAgICAgaWYgKHR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NVUxUSV9DTEFTUykge1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICBTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKHtcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiBjdXJyZW50RWRpdC5yZXF1ZXN0IGFzIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZSA9PT0gTmFtZWRRdWVyeVR5cGVzLk1PTk9fQ0xBU1MpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKHsgcGF5bG9hZDogY3VycmVudEVkaXQucmVxdWVzdCBhcyBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LmZhaWx1cmUoeyBlcnJvciB9KV0pXG4gICAgKVxuICApO1xuXG4gIHN0b3BFZGl0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnN0b3BFZGl0KSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IFtTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5yZXNldFNlYXJjaCgpLCBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnJlc2V0U2VhcmNoKCldKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vbm8tY2xhc3MuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtbW9uby1jbGFzcy9zdG9yZS9zZWFyY2gtbW9uby1jbGFzcy5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLFNBQVMsRUFHVCxlQUFlLEVBR2YsYUFBYSxFQUVkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFJekUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLFFBQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLHNCQUE4QyxFQUM5QyxLQUFpQjtRQUhqQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FB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V0FBVyxDQUFDLE9BQWlDLEVBQUUsQ0FBQyxDQUMxRyxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDekUsQ0FDRixDQUFDO1FBRUYsY0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQzdDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxFQUFFLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FDOUYsQ0FDRixDQUFDO0lBM0tDLENBQUM7OEdBTk8sc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgQWN0aW9uLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENsYXNzU2VsZWN0b3JzLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YXNvdXJjZVV0aWxzLFxuICBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmllbGRUeXBlLFxuICBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkLFxuICBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCxcbiAgTmFtZWRRdWVyeVR5cGVzLFxuICBOb3JtYWxpemVkQ29uZGl0aW9uLFxuICBPcmRlclZhbHVlLFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZWFyY2hTZXJ2aWNlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHN3aXRjaE1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zZWFyY2gvc2VhcmNoLW11bHRpLWNsYXNzL3N0b3JlL3NlYXJjaC1tdWx0aS1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMgfSBmcm9tICcuL3NlYXJjaC1tb25vLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi9zZWFyY2gtbW9uby1jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLW1vbm8tY2xhc3Muc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWFyY2hNb25vQ2xhc3NFZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hNb25vQ2xhc3NTZXJ2aWNlOiBTZWFyY2hNb25vQ2xhc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7fVxuXG4gIHNlbGVjdGVkTW9ub0NsYXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnNlbGVjdE1vbm9DbGFzc1NlYXJjaCksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb246IE5vcm1hbGl6ZWRDb25kaXRpb24gPSB0aGlzLnNlYXJjaE1vbm9DbGFzc1NlcnZpY2UuaW5pdE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZChudWxsKTtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkRmlyc3ROb3JtYWxpemVkQ29uZGl0aW9uKHsgY29uZGl0aW9uIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgYWRkTm9ybWFsaXplZENvbmRpdGlvbkF0dHJpYnV0ZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGROb3JtYWxpemVkQ29uZGl0aW9uQXR0cmlidXRlRm9yQ29uZGl0aW9uSWQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbb2YoYWN0aW9uKSwgdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRCeUlkKGFjdGlvbi5hdHRyaWJ1dGUuZmllbGQuaWQpKV0pLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBmaWVsZF0pID0+IHtcbiAgICAgICAgY29uc3QgcGF0dGVybiA9IHRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5nZXRQYXR0ZXJuRm9yRmllbGQoZmllbGQpO1xuICAgICAgICBjb25zdCBpc0RhdGUgPSBmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuSU5TVEFOVDtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uOiBOb3JtYWxpemVkQ29uZGl0aW9uID0ge1xuICAgICAgICAgIC4uLnRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5pbml0Tm9ybWFsaXplZENvbmRpdGlvbkF0dHJpYnV0ZShhY3Rpb24uY29uZGl0aW9uSWQsIGFjdGlvbi5hdHRyaWJ1dGUuaWQpLFxuICAgICAgICAgIGlzRGF0ZSxcbiAgICAgICAgICBwYXR0ZXJuXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkZvckNvbmRpdGlvbklkKHtcbiAgICAgICAgICBjb25kaXRpb25JZDogYWN0aW9uLmNvbmRpdGlvbklkLFxuICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFkZE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGROb3JtYWxpemVkQ29uZGl0aW9uQ29tcG9zZWRGb3JDb25kaXRpb25JZCksXG4gICAgICBtYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBjb25kaXRpb246IE5vcm1hbGl6ZWRDb25kaXRpb24gPSB0aGlzLnNlYXJjaE1vbm9DbGFzc1NlcnZpY2UuaW5pdE5vcm1hbGl6ZWRDb25kaXRpb25Db21wb3NlZChcbiAgICAgICAgICBhY3Rpb24uY29uZGl0aW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkZvckNvbmRpdGlvbklkKHtcbiAgICAgICAgICBjb25kaXRpb25JZDogYWN0aW9uLmNvbmRpdGlvbklkLFxuICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZU5vcm1hbGl6ZWRDb25kaXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuZGVsZXRlTm9ybWFsaXplZENvbmRpdGlvbkJ5SWQpLFxuICAgICAgbWVyZ2VNYXAoKGFjdGlvbikgPT5cbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgb2YoYWN0aW9uKSxcbiAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMuc2VsZWN0TW9ub0NsYXNzQ29uZGl0aW9uc0J5SWQoYWN0aW9uLmNvbmRpdGlvbklkKSlcbiAgICAgICAgXSkucGlwZShmaXJzdCgpKVxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoW2FjdGlvbiwgY29uZGl0aW9uXSkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25Db25kaXRpb24kID0gU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5kZWxldGVOb3JtYWxpemVkQ29uZGl0aW9uKHsgY29uZGl0aW9uIH0pO1xuICAgICAgICBjb25zdCBhY3Rpb25QYXJlbnQkID0gU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5yZW1vdmVDb25kaXRpb25Gcm9tQ29tcG9zZWQoe1xuICAgICAgICAgIHBhcmVudElkOiBjb25kaXRpb24ucGFyZW50SWQgPz8gbnVsbCxcbiAgICAgICAgICBjaGlsZHJlbklkOiBjb25kaXRpb24uaWRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnNDb21wb3NlZCQgPSBjb25kaXRpb24uY29tcG9zZWQ/Lm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmRlbGV0ZU5vcm1hbGl6ZWRDb25kaXRpb25CeUlkKHsgY29uZGl0aW9uSWQ6IGlkIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBhY3Rpb25zQ29tcG9zZWQkXG4gICAgICAgICAgPyBbYWN0aW9uQ29uZGl0aW9uJCwgYWN0aW9uUGFyZW50JCwgLi4uYWN0aW9uc0NvbXBvc2VkJF1cbiAgICAgICAgICA6IFthY3Rpb25Db25kaXRpb24kLCBhY3Rpb25QYXJlbnQkXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFjdGlvbk1vbm9DbGFzc1NlYXJjaCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5zZWFyY2gsIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuc2F2ZSksXG4gICAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlbGVjdE1vbm9DbGFzc0lkU2VhcmNoKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlbGVjdE1vbm9DbGFzc0NvbmRpdGlvbnNNYXN0ZXJJZCksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE1vbm9DbGFzc1NlbGVjdG9ycy5zZWxlY3RNb25vQ2xhc3NDb25kaXRpb25zKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLm9yZGVyKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdClcbiAgICAgICksXG4gICAgICBtYXAoKFthY3Rpb24sIG9DbGFzcywgbWFzdGVySWQsIGNvbmRpdGlvbnMsIG9yZGVyLCBjdXJyZW50RWRpdF0pID0+IHtcbiAgICAgICAgY29uc3QgcGF5bG9hZCA9IHRoaXMuc2VhcmNoTW9ub0NsYXNzU2VydmljZS5idWlsZE1vbm9DbGFzc1NlYXJjaFBheWxvYWRGb3JTZWFyY2goXG4gICAgICAgICAgb0NsYXNzID8/ICcnLFxuICAgICAgICAgIG1hc3RlcklkID8/ICcnLFxuICAgICAgICAgIGNvbmRpdGlvbnMsXG4gICAgICAgICAgb3JkZXJcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnNhdmUudHlwZSAmJiBERUZBVUxUX05BTUVEX1FVRVJZX0lEICE9PSBhY3Rpb24/LmlkKSB7XG4gICAgICAgICAgcmV0dXJuIERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkucG9zdCh7XG4gICAgICAgICAgICBpZDogYWN0aW9uLmlkID8/IGN1cnJlbnRFZGl0Py5pZCxcbiAgICAgICAgICAgIG5hbWU6IGFjdGlvbi5kZXNjcmlwdGlvblF1ZXJ5Lm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LnZpc2liaWxpdHksXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRFZGl0Py5jb2xvcixcbiAgICAgICAgICAgIGZhdm9yaXRlOiBjdXJyZW50RWRpdD8uZmF2b3JpdGUgPz8gZmFsc2UsXG4gICAgICAgICAgICBpc0VkaXQ6ICEhY3VycmVudEVkaXRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU2VhcmNoQWN0aW9ucy5zZWFyY2goeyBwYXlsb2FkIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgbG9hZEV4aXN0aW5nQ29uZGl0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLCB0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCBjbGFzc2VzLCBmaWVsZHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgb0NsYXNzLCBjb25kaXRpb24sIHNvcnQgfSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBjb25zdCBtYXN0ZXJJZCA9IHV1aWR2NCgpO1xuICAgICAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWFyY2hNb25vQ2xhc3NTZXJ2aWNlLmxvYWROb3JtYWxpemVkQ29uZGl0aW9ucyhcbiAgICAgICAgICBjb25kaXRpb24sXG4gICAgICAgICAgbWFzdGVySWQsXG4gICAgICAgICAgY2xhc3NlcyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgbWFzdGVySWQsXG4gICAgICAgICAgc29ydFxuICAgICAgICApLmNvbmRpdGlvbnM7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvbmRpdGlvbnMubWFwKChjb25kKSA9PiBjb25kLmlkKTtcbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBjb25kaXRpb25zLnJlZHVjZSgoYWNjLCBjb25kKSA9PiAoeyAuLi5hY2MsIFtjb25kLmlkXTogY29uZCB9KSwge30pO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkSWRNYXN0ZXIoeyBpZDogbWFzdGVySWQgfSksXG4gICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGRJZENvbmRpdGlvbih7IGlkcyB9KSxcbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmFkZEVudGl0aWVzKHsgZW50aXRpZXMgfSksXG4gICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGRJZENsYXNzKHsgaWQ6IG9DbGFzcyB9KSxcbiAgICAgICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmFkZE9yZGVyKHsgYXR0cmlidXRlOiBzb3J0Py5hdHRyaWJ1dGUsIGFzYzogc29ydD8uZGlyZWN0aW9uIGFzIE9yZGVyVmFsdWUgfSlcbiAgICAgICAgXTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGFkZEVkaXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlbkVkaXQpLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdCkpLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIGN1cnJlbnRFZGl0XSkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW10gYXMgQWN0aW9uW107XG4gICAgICAgIGlmICghIWN1cnJlbnRFZGl0KSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IERhdGFzb3VyY2VVdGlscy5nZXRUeXBlRnJvbVBheWxvYWQoY3VycmVudEVkaXQucmVxdWVzdCk7XG4gICAgICAgICAgaWYgKHR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NVUxUSV9DTEFTUykge1xuICAgICAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICBTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKHtcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiBjdXJyZW50RWRpdC5yZXF1ZXN0IGFzIE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZSA9PT0gTmFtZWRRdWVyeVR5cGVzLk1PTk9fQ0xBU1MpIHtcbiAgICAgICAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5sb2FkRXhpc3RpbmdDb25kaXRpb25zKHsgcGF5bG9hZDogY3VycmVudEVkaXQucmVxdWVzdCBhcyBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IFtEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LmZhaWx1cmUoeyBlcnJvciB9KV0pXG4gICAgKVxuICApO1xuXG4gIHN0b3BFZGl0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnN0b3BFZGl0KSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IFtTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5yZXNldFNlYXJjaCgpLCBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnJlc2V0U2VhcmNoKCldKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { createEffect, ofType } from '@ngrx/effects';
|
|
3
3
|
import { ClassSelectors, DataSourceActions, DataSourceSelectors, DEFAULT_NAMED_QUERY_ID, FieldSelectors, FieldType, SearchActions } from '@provoly/dashboard';
|
|
4
4
|
import { combineLatest } from 'rxjs';
|
|
5
|
-
import { filter, first, map, mergeMap, withLatestFrom } from 'rxjs
|
|
5
|
+
import { filter, first, map, mergeMap, withLatestFrom } from 'rxjs';
|
|
6
6
|
import { SearchMultiClassActions } from './search-multi-class.actions';
|
|
7
7
|
import { SearchMultiClassSelectors } from './search-multi-class.selectors';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -63,4 +63,4 @@ export class SearchMultiClassEffects {
|
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SearchMultiClassEffects, decorators: [{
|
|
64
64
|
type: Injectable
|
|
65
65
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Store }, { type: i3.SearchMultiClassService }] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW11bHRpLWNsYXNzLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9zZWFyY2gvc2VhcmNoLW11bHRpLWNsYXNzL3N0b3JlL3NlYXJjaC1tdWx0aS1jbGFzcy5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsU0FBUyxFQUVULGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBSTNFLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDVSxRQUFpQixFQUNqQixLQUFpQixFQUNqQixpQkFBMEM7UUFGMUMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBeUI7UUFHcEQsa0JBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsRUFDcEQsR0FB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O1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgRmllbGRUeXBlLFxuICBNdWx0aUNsYXNzQ29uZGl0aW9uLFxuICBTZWFyY2hBY3Rpb25zXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIG1lcmdlTWFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMgfSBmcm9tICcuL3NlYXJjaC1tdWx0aS1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IFNlYXJjaE11bHRpQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuL3NlYXJjaC1tdWx0aS1jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc1NlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1tdWx0aS1jbGFzcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlYXJjaE11bHRpQ2xhc3NFZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgbXVsdGlDbGFzc1NlcnZpY2U6IFNlYXJjaE11bHRpQ2xhc3NTZXJ2aWNlXG4gICkge31cblxuICBhZGRDb25kaXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLmFkZE5ld0VtcHR5Q29uZGl0aW9uKSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IHRoaXMubXVsdGlDbGFzc1NlcnZpY2UuZ2VuZXJhdGVDb25kaXRpb24oKTtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLmFkZE11bHRpQ2xhc3NDb25kaXRpb24oeyBjb25kaXRpb24gfSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcbiAgdXBkYXRlQ29uZGl0aW9uRmllbGQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnVwZGF0ZUNvbmRpdGlvbkZpZWxkKSxcbiAgICAgIG1lcmdlTWFwKChhY3Rpb24pID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIHRoaXMuc3RvcmVcbiAgICAgICAgICAgIC5zZWxlY3QoU2VhcmNoTXVsdGlDbGFzc1NlbGVjdG9ycy5nZXRDb25kaXRpb25CeUlkKGFjdGlvbi5jb25kaXRpb25JZCkpXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGMpOiBjIGlzIE11bHRpQ2xhc3NDb25kaXRpb24gPT4gYyAhPT0gdW5kZWZpbmVkKSksXG4gICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRCeUlkKGFjdGlvbi5maWVsZCkpXG4gICAgICAgIF0pLnBpcGUoZmlyc3QoKSlcbiAgICAgICksXG4gICAgICBtYXAoKFtjb25kaXRpb24sIGZpZWxkXSkgPT4ge1xuICAgICAgICBjb25zdCBwYXR0ZXJuID0gdGhpcy5tdWx0aUNsYXNzU2VydmljZS5nZXRQYXR0ZXJuRm9yRmllbGQoZmllbGQpO1xuICAgICAgICBjb25zdCBpc0RhdGUgPSBmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuSU5TVEFOVDtcbiAgICAgICAgcmV0dXJuIFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnVwZGF0ZUNvbmRpdGlvblBhdHRlcm4oe1xuICAgICAgICAgIGNvbmRpdGlvbklkOiBjb25kaXRpb24uaWQsXG4gICAgICAgICAgcGF0dGVybixcbiAgICAgICAgICBpc0RhdGVcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIClcbiAgKTtcblxuICBhY3Rpb25NdWx0aUNsYXNzU2VhcmNoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5zZWFyY2gsIFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnNhdmUpLFxuICAgICAgd2l0aExhdGVzdEZyb20oXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE11bHRpQ2xhc3NTZWxlY3RvcnMuY29uZGl0aW9ucyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE11bHRpQ2xhc3NTZWxlY3RvcnMubXVsdGlUeXBlKSxcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3NlcyksXG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuY3VycmVudEVkaXQpXG4gICAgICApLFxuICAgICAgbWFwKChbYWN0aW9uLCBjb25kaXRpb25zLCBtdWx0aVR5cGUsIGNsYXNzZXMsIGN1cnJlbnRFZGl0XSkgPT4ge1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gdGhpcy5tdWx0aUNsYXNzU2VydmljZS5idWlsZENvbmRpdGlvbnNUb1NlYXJjaFBheWxvYWQoY29uZGl0aW9ucywgY2xhc3NlcywgbXVsdGlUeXBlKTtcbiAgICAgICAgaWYgKGFjdGlvbi50eXBlID09PSBTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucy5zYXZlLnR5cGUgJiYgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCAhPT0gY3VycmVudEVkaXQ/LmlkKSB7XG4gICAgICAgICAgcmV0dXJuIERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkucG9zdCh7XG4gICAgICAgICAgICBpZDogYWN0aW9uLmlkID8/IGN1cnJlbnRFZGl0Py5pZCxcbiAgICAgICAgICAgIG5hbWU6IGFjdGlvbi5kZXNjcmlwdGlvblF1ZXJ5Lm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogYWN0aW9uLmRlc2NyaXB0aW9uUXVlcnk/LnZpc2liaWxpdHksXG4gICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRFZGl0Py5jb2xvcixcbiAgICAgICAgICAgIGZhdm9yaXRlOiBjdXJyZW50RWRpdD8uZmF2b3JpdGUgPz8gZmFsc2UsXG4gICAgICAgICAgICBpc0VkaXQ6ICEhY3VycmVudEVkaXRcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU2VhcmNoQWN0aW9ucy5zZWFyY2goeyBwYXlsb2FkIH0pO1xuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgbG9hZEV4aXN0aW5nQ29uZGl0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMubG9hZEV4aXN0aW5nQ29uZGl0aW9ucyksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpKSxcbiAgICAgIG1lcmdlTWFwKChbYWN0aW9uLCBmaWVsZHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbnMgPSB0aGlzLm11bHRpQ2xhc3NTZXJ2aWNlLmdldENvbmRpdGlvbnNGcm9tU2VhcmNoUGF5bG9hZChhY3Rpb24ucGF5bG9hZCwgZmllbGRzKTtcbiAgICAgICAgY29uc3QgbXVsdGlUeXBlID0gYWN0aW9uLnBheWxvYWQubXVsdGlUeXBlO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnVwZGF0ZUNvbmRpdGlvbnMoeyBjb25kaXRpb25zIH0pLFxuICAgICAgICAgIFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnVwZGF0ZU11bHRpVHlwZSh7IG11bHRpVHlwZSB9KVxuICAgICAgICBdO1xuICAgICAgfSlcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding } from '@angular/core';
|
|
2
2
|
import { ClassActions, DashboardActions, DataSourceActions, DataSourceSelectors, DEFAULT_NAMED_QUERY_ID, FieldActions, NamedQueryTypes } from '@provoly/dashboard';
|
|
3
|
-
import { combineLatest, map, of, Subscription } from 'rxjs';
|
|
4
|
-
import { delay } from 'rxjs/operators';
|
|
3
|
+
import { combineLatest, delay, map, of, Subscription } from 'rxjs';
|
|
5
4
|
import { v4 } from 'uuid';
|
|
6
5
|
import { SearchMonoClassActions } from '../search-mono-class/store/search-mono-class.actions';
|
|
7
6
|
import { SearchMonoClassSelectors } from '../search-mono-class/store/search-mono-class.selectors';
|
|
@@ -55,9 +54,9 @@ export class PrySearchToolsComponent {
|
|
|
55
54
|
this.MULTI_CLASS = NamedQueryTypes.MULTI_CLASS;
|
|
56
55
|
this.sub = new Subscription();
|
|
57
56
|
this.loading$ = this.store.select(DataSourceSelectors.isLoading);
|
|
58
|
-
this.store.dispatch(DataSourceActions.load());
|
|
59
|
-
this.store.dispatch(FieldActions.load());
|
|
60
|
-
this.store.dispatch(ClassActions.load());
|
|
57
|
+
this.store.dispatch(DataSourceActions.load({}));
|
|
58
|
+
this.store.dispatch(FieldActions.load({}));
|
|
59
|
+
this.store.dispatch(ClassActions.load({}));
|
|
61
60
|
this.searchMultiClassValid$ = this.store.select(SearchMultiClassSelectors.searchMultiClassValid).pipe(delay(100));
|
|
62
61
|
this.searchMonoClassValid$ = this.store.select(SearchMonoClassSelectors.searchMonoClassValid).pipe(delay(100));
|
|
63
62
|
this.editInProgress$ = this.store.select(DataSourceSelectors.editInProgress);
|
|
@@ -148,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
148
147
|
type: HostBinding,
|
|
149
148
|
args: ['class.is-close']
|
|
150
149
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtdG9vbHMvc2VhcmNoLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtdG9vbHMvc2VhcmNoLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFDTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLFlBQVksRUFHWixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU1yRyxNQUFNLE9BQU8sdUJBQXVCO0lBZ0JsQyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3BELENB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Q0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQzs4R0F0SlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsK0tDN0JwQyw4dklBMEdBOzsyRkQ3RWEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJcUIsS0FBSztzQkFBckQsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBQ2hCLGdCQUFnQjtzQkFBOUMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3NBY3Rpb25zLFxuICBDbGFzc1N0YXRlLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVN0YXRlLFxuICBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICBGaWVsZEFjdGlvbnMsXG4gIEZpZWxkU3RhdGUsXG4gIE5hbWVkUXVlcnksXG4gIE5hbWVkUXVlcnlUeXBlc1xufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTZWFyY2hGdWxsdGV4dENoYW5nZSB9IGZyb20gJy4uL3NlYXJjaC1mdWxsdGV4dC9zZWFyY2gtZnVsbHRleHQvc2VhcmNoLWZ1bGx0ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zIH0gZnJvbSAnLi4vc2VhcmNoLW1vbm8tY2xhc3Mvc3RvcmUvc2VhcmNoLW1vbm8tY2xhc3MuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi9zZWFyY2gtbW9uby1jbGFzcy9zdG9yZS9zZWFyY2gtbW9uby1jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMgfSBmcm9tICcuLi9zZWFyY2gtbXVsdGktY2xhc3Mvc3RvcmUvc2VhcmNoLW11bHRpLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc1N0YXRlIH0gZnJvbSAnLi4vc2VhcmNoLW11bHRpLWNsYXNzL3N0b3JlL3NlYXJjaC1tdWx0aS1jbGFzcy5yZWR1Y2VyJztcbmltcG9ydCB7IFNlYXJjaE11bHRpQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi9zZWFyY2gtbXVsdGktY2xhc3Mvc3RvcmUvc2VhcmNoLW11bHRpLWNsYXNzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1zZWFyY2gtdG9vbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXRvb2xzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlTZWFyY2hUb29sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3Muby1wcnktc2VhcmNoLXRvb2xzLXdyYXBwZXInKSBjbGFzcyA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtY2xvc2UnKSBzZWFyY2hUb29sc0Nsb3NlID0gZmFsc2U7XG5cbiAgc2VhcmNoTXVsdGlDbGFzc1ZhbGlkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2VhcmNoTW9ub0NsYXNzVmFsaWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNSZW5hbWUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGlzU2VhcmNoQ3JpdGVyaWEgPSBmYWxzZTtcbiAgaXNTZWFyY2hNb25vID0gZmFsc2U7XG4gIGlzU2VhcmNoRnVsbFRleHQgPSBmYWxzZTtcbiAgaXNTZWFyY2hGdWxsdGV4dFZhbGlkID0gZmFsc2U7XG4gIGlzTW9yZUxpc3QgPSBmYWxzZTtcbiAgd2lkZ2V0VHlwZTogc3RyaW5nID0gJ3RhYmxlJztcblxuICBnZXQgaXNOZXdNb25vKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU2VhcmNoQ3JpdGVyaWEgJiYgdGhpcy5pc1NlYXJjaE1vbm87XG4gIH1cblxuICBnZXQgaXNFZGl0TW9ubyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMuY3VycmVudEVkaXRUeXBlJCwgdGhpcy5pc1JlbmFtZSRdKS5waXBlKFxuICAgICAgbWFwKChbdHlwZSwgaXNSZW5hbWVdKSA9PiB0eXBlID09PSBOYW1lZFF1ZXJ5VHlwZXMuTU9OT19DTEFTUyAmJiAhaXNSZW5hbWUpXG4gICAgKTtcbiAgfVxuXG4gIGdldEljb24gPSB7XG4gICAgY2FyYWN0ZXJpc3RpcXVlOiAnZGVmYXVsdCcsXG4gICAgbGlldTogJ2RlZmF1bHQnLFxuICAgIG1ldGVvOiAnZGVmYXVsdCcsXG4gICAgdXNhZ2VyOiAncHJvZmlsJyxcbiAgICB2YWxldXJfZm9uY2llcmU6ICdkZWZhdWx0JyxcbiAgICB2ZWhpY3VsZTogJ2NhcidcbiAgfSBhcyB7IFtjbGF6ejogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgaXRlbXM6IE9ic2VydmFibGU8YW55W10gfCBudWxsPiA9IG9mKFtcbiAgICB7IGlkOiAxLCBuYW1lOiAnMScgfSxcbiAgICB7IGlkOiAyLCBuYW1lOiAnMicgfSxcbiAgICB7IGlkOiAzLCBuYW1lOiAnMycgfSxcbiAgICB7IGlkOiA0LCBuYW1lOiAnNCcgfVxuICBdKTtcbiAgZWRpdEluUHJvZ3Jlc3MkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBjdXJyZW50RWRpdCQ6IE9ic2VydmFibGU8TmFtZWRRdWVyeSB8IHVuZGVmaW5lZD47XG4gIGN1cnJlbnRFZGl0VHlwZSQ6IE9ic2VydmFibGU8TmFtZWRRdWVyeVR5cGVzIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgRlVMTF9URVhUID0gTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVDtcbiAgcmVhZG9ubHkgTU9OT19DTEFTUyA9IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTO1xuICByZWFkb25seSBNVUxUSV9DTEFTUyA9IE5hbWVkUXVlcnlUeXBlcy5NVUxUSV9DTEFTUztcbiAgc2VhcmNoRnVsbHRleHRUZW1wPzogU2VhcmNoRnVsbHRleHRDaGFuZ2U7XG5cbiAgcHJpdmF0ZSBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8RGF0YVNvdXJjZVN0YXRlIHwgU2VhcmNoTXVsdGlDbGFzc1N0YXRlIHwgRmllbGRTdGF0ZSB8IENsYXNzU3RhdGU+KSB7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuaXNMb2FkaW5nKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChGaWVsZEFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsYXNzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc2VhcmNoTXVsdGlDbGFzc1ZhbGlkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE11bHRpQ2xhc3NTZWxlY3RvcnMuc2VhcmNoTXVsdGlDbGFzc1ZhbGlkKS5waXBlKGRlbGF5KDEwMCkpO1xuICAgIHRoaXMuc2VhcmNoTW9ub0NsYXNzVmFsaWQkID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlYXJjaE1vbm9DbGFzc1ZhbGlkKS5waXBlKGRlbGF5KDEwMCkpO1xuICAgIHRoaXMuZWRpdEluUHJvZ3Jlc3MkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5lZGl0SW5Qcm9ncmVzcyk7XG4gICAgdGhpcy5jdXJyZW50RWRpdFR5cGUkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdFR5cGUpO1xuICAgIHRoaXMuY3VycmVudEVkaXQkID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5jdXJyZW50RWRpdCk7XG4gICAgdGhpcy5pc1JlbmFtZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmlzUmVuYW1lKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmVkaXRJblByb2dyZXNzJCwgdGhpcy5pc1JlbmFtZSRdKS5zdWJzY3JpYmUoKFtlZGl0SW5Qcm9ncmVzcywgaXNSZW5hbWVdKSA9PiB7XG4gICAgICAgIGlmIChlZGl0SW5Qcm9ncmVzcyAmJiB0aGlzLnNlYXJjaFRvb2xzQ2xvc2UgJiYgIWlzUmVuYW1lKSB7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZVBhbmVsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvblNlYXJjaENyaXRlcmlhKCkge1xuICAgIHRoaXMuaXNTZWFyY2hDcml0ZXJpYSA9IHRydWU7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlbkVkaXQoe1xuICAgICAgICBjdXJyZW50RWRpdDoge1xuICAgICAgICAgIHNvdXJjZVR5cGU6ICduYW1lZFF1ZXJ5JyxcbiAgICAgICAgICBpZDogdjQoKSxcbiAgICAgICAgICByZXF1ZXN0OiB7IHR5cGU6IE5hbWVkUXVlcnlUeXBlcy5NVUxUSV9DTEFTUywgZnVsbFNlYXJjaDogbnVsbCwgZmllbGRzOiBbXSwgbXVsdGlUeXBlOiAnQU5EJyB9LFxuICAgICAgICAgIG5hbWU6ICcnXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uU2VhcmNoVG9vbHMoKSB7XG4gICAgdGhpcy5pc1NlYXJjaENyaXRlcmlhID0gZmFsc2U7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnN0b3BFZGl0KCkpO1xuICAgIHRoaXMucmVzaXplU2NyZWVuKCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5zdG9wRWRpdCgpKTtcbiAgICB0aGlzLnJlc2l6ZVNjcmVlbigpO1xuICB9XG5cbiAgb25Nb25vU2VhcmNoKCkge1xuICAgIHRoaXMuaXNTZWFyY2hNb25vID0gIXRoaXMuaXNTZWFyY2hNb25vO1xuICAgIHRoaXMucmVzaXplU2NyZWVuKCk7XG4gIH1cblxuICBvbkNoYW5nZUxpc3RWaWV3KGlzTW9yZUxpc3Q6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzTW9yZUxpc3QgPSAhaXNNb3JlTGlzdDtcbiAgfVxuXG4gIG9uU2VhcmNoRnVsbHRleHRDaGFuZ2UocGF5bG9hZDogU2VhcmNoRnVsbHRleHRDaGFuZ2UpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNTZWFyY2hGdWxsdGV4dFZhbGlkID0gcGF5bG9hZC52YWx1ZSAhPT0gJyc7XG4gICAgICB0aGlzLnNlYXJjaEZ1bGx0ZXh0VGVtcCA9IHBheWxvYWQ7XG4gICAgfSwgMTApO1xuICB9XG5cbiAgb25TZWFyY2goKSB7XG4gICAgaWYgKHRoaXMuaXNTZWFyY2hNb25vKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuc2VhcmNoKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNlYXJjaE11bHRpQ2xhc3NBY3Rpb25zLnNlYXJjaCgpKTtcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24oe1xuICAgICAgICBpZDogREVGQVVMVF9OQU1FRF9RVUVSWV9JRCxcbiAgICAgICAgd2lkZ2V0VHlwZTogdGhpcy53aWRnZXRUeXBlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvbkNoYW5nZVBhbmVsKCkge1xuICAgIHRoaXMuc2VhcmNoVG9vbHNDbG9zZSA9ICF0aGlzLnNlYXJjaFRvb2xzQ2xvc2U7XG4gICAgdGhpcy5yZXNpemVTY3JlZW4oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplU2NyZWVuKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJykpLCA0MDApO1xuICB9XG5cbiAgc2VsZWN0V2lkZ2V0KCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy53aWRnZXRUeXBlID0gJGV2ZW50O1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnN0b3BFZGl0KCkpO1xuICAgIHRoaXMuaXNTZWFyY2hDcml0ZXJpYSA9IHRydWU7XG4gIH1cblxuICB1cGRhdGVWaXNpYmlsaXR5KCRldmVudDogYW55KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnVwZGF0ZUN1cnJlbnRFZGl0KHsgY3VycmVudEVkaXQ6IHsgdmlzaWJpbGl0eTogJGV2ZW50IH0gfSkpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiby1wcnktc2VhcmNoLXRvb2xzXCJcbiAgW2NsYXNzLmlzLWNsb3NlXT1cInNlYXJjaFRvb2xzQ2xvc2VcIlxuICBbY2xhc3MuaXMtbW9ub109XCJpc05ld01vbm8gfHwgKGlzRWRpdE1vbm8kIHwgYXN5bmMpXCJcbiAgPlxuICBAaWYgKCgoZWRpdEluUHJvZ3Jlc3MkIHwgYXN5bmMpICYmICEoaXNSZW5hbWUkIHwgYXN5bmMpKSB8fCBpc1NlYXJjaENyaXRlcmlhKSB7XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgLWJhY2sgYS10b29sdGlwXCJcbiAgICAgIChjbGljayk9XCJvblNlYXJjaFRvb2xzKClcIlxuICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnNlYXJjaC5idXR0b24uYmFja1NlYXJjaCcgfCBpMThuXCJcbiAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICA+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFycm93X2JhY2tcIiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgW2FuaW1hdGlvbl09XCJmYWxzZVwiPjwvcHJ5LWljb24+XG4gICAgICA8c3Bhbj57eyAnQHByeS5zZWFyY2guYnV0dG9uLmJhY2tTZWFyY2gnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLXRvb2xzX19jb250ZW50XCIgW2NsYXNzLmlzLWNsb3NlXT1cInNlYXJjaFRvb2xzQ2xvc2VcIj5cbiAgICBAaWYgKCgoZWRpdEluUHJvZ3Jlc3MkIHwgYXN5bmMpICYmICEoaXNSZW5hbWUkIHwgYXN5bmMpKSB8fCBpc1NlYXJjaENyaXRlcmlhKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCAtbGluay1saWtlIHUtc2VsZi1lbmRcIlxuICAgICAgICAoY2xpY2spPVwicmVzZXQoKVwiXG4gICAgICAgIGlkPVwiYnRuX3Jlc2V0XCJcbiAgICAgICAgPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlc2V0XCIgW3dpZHRoXT1cIjE4XCIgW2hlaWdodF09XCIxOFwiPjwvcHJ5LWljb24+XG4gICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5idXR0b24ucmVzZXQnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIEBpZiAoZWRpdEluUHJvZ3Jlc3MkIHwgYXN5bmMpIHtcbiAgICAgIDxwcnktc2hhcmUgW25nTW9kZWxdPVwiKGN1cnJlbnRFZGl0JCB8IGFzeW5jKT8udmlzaWJpbGl0eVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVZpc2liaWxpdHkoJGV2ZW50KVwiPjwvcHJ5LXNoYXJlPlxuICAgIH1cbiAgICBAaWYgKChlZGl0SW5Qcm9ncmVzcyQgfCBhc3luYykgJiYgIShpc1JlbmFtZSQgfCBhc3luYykgJiYgIShsb2FkaW5nJCB8IGFzeW5jKSkge1xuICAgICAgPHByeS1lZGl0LW5hbWVkLXF1ZXJ5XG4gICAgICAgIChzZWFyY2hGdWxsdGV4dENoYW5nZSk9XCJvblNlYXJjaEZ1bGx0ZXh0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAoY2FuY2VsbGVkKT1cIm9uU2VhcmNoVG9vbHMoKVwiXG4gICAgICA+PC9wcnktZWRpdC1uYW1lZC1xdWVyeT5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAoaXNTZWFyY2hDcml0ZXJpYSAmJiAhKGxvYWRpbmckIHwgYXN5bmMpKSB7XG4gICAgICAgIDxwcnktdG9nZ2xlXG4gICAgICAgICAgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNfX2NvbnRlbnRfX3RvZ2dsZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiaXNTZWFyY2hNb25vXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vbm9TZWFyY2goKVwiXG4gICAgICAgICAgW2Fsd2F5c0FjdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICBtb2RlPVwiYWN0aW9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgKGlzU2VhcmNoTW9ubyA/ICdAcHJ5LnNlYXJjaC5idXR0b24ubW9ubycgOiAnQHByeS5zZWFyY2guYnV0dG9uLm11bHRpJykgfCBpMThuIH19XG4gICAgICAgIDwvcHJ5LXRvZ2dsZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC10b29sc19fY29udGVudF9fZnVsbFwiPlxuICAgICAgICAgIEBpZiAoaXNTZWFyY2hNb25vKSB7XG4gICAgICAgICAgICA8cHJ5LXNlYXJjaC1tb25vLWNsYXNzPjwvcHJ5LXNlYXJjaC1tb25vLWNsYXNzPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHByeS1zZWFyY2gtbXVsdGktY2xhc3M+PC9wcnktc2VhcmNoLW11bHRpLWNsYXNzPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNfX2NvbnRlbnRfX2J1dHRvbi1zZWFyY2hcIj5cbiAgICAgICAgICBAaWYgKGlzU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICAgICAgICAgIDxwcnktY2hvb3NlLXdpZGdldCAoc2VsZWN0ZWQpPVwic2VsZWN0V2lkZ2V0KCRldmVudClcIj48L3ByeS1jaG9vc2Utd2lkZ2V0PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKCFpc1NlYXJjaENyaXRlcmlhKSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwib25TZWFyY2hUb29scygpXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5idXR0b24uY2FuY2VsJyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICghKHNlYXJjaE11bHRpQ2xhc3NWYWxpZCQgfCBhc3luYykgJiYgIWlzU2VhcmNoTW9ubykgfHwgKCEoc2VhcmNoTW9ub0NsYXNzVmFsaWQkIHwgYXN5bmMpICYmIGlzU2VhcmNoTW9ubylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic2VhcmNoLWxpbmVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLmJ1dHRvbi5zZWFyY2gnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLXRvb2xzX19jb250ZW50X19mdWxsXCI+XG4gICAgICAgICAgPHByeS1zZWFyY2gtaG9tZVxuICAgICAgICAgICAgY2xhc3M9XCJvLXByeS1zZWFyY2gtaG9tZVwiXG4gICAgICAgICAgICBbaXNNb3JlTGlzdF09XCJpc01vcmVMaXN0XCJcbiAgICAgICAgICAgIFtzZWFyY2hGdWxsdGV4dFRwbF09XCJzZWFyY2hGdWxsdGV4dFRwbFwiXG4gICAgICAgICAgICAoY2hhbmdlTGlzdFZpZXcpPVwib25DaGFuZ2VMaXN0VmlldygkZXZlbnQpXCJcbiAgICAgICAgICAgIChjaGFuZ2VTZWFyY2hDcml0ZXJpYSk9XCJvblNlYXJjaENyaXRlcmlhKClcIlxuICAgICAgICAgID48L3ByeS1zZWFyY2gtaG9tZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NlYXJjaEZ1bGx0ZXh0VHBsPlxuICAgICAgICAgICAgPHByeS1zZWFyY2gtZnVsbHRleHQgbW9kZT1cInZlcnRpY2FsXCIgKHNlYXJjaENoYW5nZSk9XCJvblNlYXJjaEZ1bGx0ZXh0Q2hhbmdlKCRldmVudClcIj48L3ByeS1zZWFyY2gtZnVsbHRleHQ+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgfVxuXG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLXRvb2xzX19mb290ZXJcIiBbY2xhc3MuaXMtY2xvc2VdPVwic2VhcmNoVG9vbHNDbG9zZVwiPlxuICAgIDxwcnktc2F2ZS1xdWVyeS1idXR0b25cbiAgICAgIFtlZGl0SW5Qcm9ncmVzc109XCJlZGl0SW5Qcm9ncmVzcyQgfCBhc3luY1wiXG4gICAgICBbY3VycmVudEVkaXRdPVwiY3VycmVudEVkaXQkIHwgYXN5bmNcIlxuICAgICAgW2N1cnJlbnRFZGl0VHlwZV09XCJjdXJyZW50RWRpdFR5cGUkIHwgYXN5bmNcIlxuICAgICAgW2Z1bGx0ZXh0VmFsaWRdPVwiaXNTZWFyY2hGdWxsdGV4dFZhbGlkXCJcbiAgICAgIFttdWx0aVZhbGlkXT1cInNlYXJjaE11bHRpQ2xhc3NWYWxpZCQgfCBhc3luY1wiXG4gICAgICBbbW9ub1ZhbGlkXT1cInNlYXJjaE1vbm9DbGFzc1ZhbGlkJCB8IGFzeW5jXCJcbiAgICAgIFtpc05vdEZ1bGx0ZXh0XT1cImlzU2VhcmNoQ3JpdGVyaWFcIlxuICAgICAgW2lzTW9ub1NlYXJjaF09XCJpc1NlYXJjaE1vbm9cIlxuICAgICAgW2Z1bGx0ZXh0U2VhcmNoXT1cInNlYXJjaEZ1bGx0ZXh0VGVtcFwiXG4gICAgPjwvcHJ5LXNhdmUtcXVlcnktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRvb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtdG9vbHMvc2VhcmNoLXRvb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtdG9vbHMvc2VhcmNoLXRvb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFDTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLFlBQVksRUFHWixlQUFlLEVBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUVqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU1yRyxNQUFNLE9BQU8sdUJBQXVCO0lBZ0JsQyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGFBQWEs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SCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBVztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQzs4R0F0SlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsK0tDNUJwQyw4dklBMEdBOzsyRkQ5RWEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJcUIsS0FBSztzQkFBckQsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBQ2hCLGdCQUFnQjtzQkFBOUMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3NBY3Rpb25zLFxuICBDbGFzc1N0YXRlLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVN0YXRlLFxuICBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICBGaWVsZEFjdGlvbnMsXG4gIEZpZWxkU3RhdGUsXG4gIE5hbWVkUXVlcnksXG4gIE5hbWVkUXVlcnlUeXBlc1xufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGVsYXksIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFNlYXJjaEZ1bGx0ZXh0Q2hhbmdlIH0gZnJvbSAnLi4vc2VhcmNoLWZ1bGx0ZXh0L3NlYXJjaC1mdWxsdGV4dC9zZWFyY2gtZnVsbHRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMgfSBmcm9tICcuLi9zZWFyY2gtbW9uby1jbGFzcy9zdG9yZS9zZWFyY2gtbW9uby1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IFNlYXJjaE1vbm9DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3NlYXJjaC1tb25vLWNsYXNzL3N0b3JlL3NlYXJjaC1tb25vLWNsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBTZWFyY2hNdWx0aUNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3NlYXJjaC1tdWx0aS1jbGFzcy9zdG9yZS9zZWFyY2gtbXVsdGktY2xhc3MuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZWFyY2hNdWx0aUNsYXNzU3RhdGUgfSBmcm9tICcuLi9zZWFyY2gtbXVsdGktY2xhc3Mvc3RvcmUvc2VhcmNoLW11bHRpLWNsYXNzLnJlZHVjZXInO1xuaW1wb3J0IHsgU2VhcmNoTXVsdGlDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3NlYXJjaC1tdWx0aS1jbGFzcy9zdG9yZS9zZWFyY2gtbXVsdGktY2xhc3Muc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlYXJjaC10b29scycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtdG9vbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaFRvb2xzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vLXByeS1zZWFyY2gtdG9vbHMtd3JhcHBlcicpIGNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jbG9zZScpIHNlYXJjaFRvb2xzQ2xvc2UgPSBmYWxzZTtcblxuICBzZWFyY2hNdWx0aUNsYXNzVmFsaWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzZWFyY2hNb25vQ2xhc3NWYWxpZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc1JlbmFtZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgaXNTZWFyY2hDcml0ZXJpYSA9IGZhbHNlO1xuICBpc1NlYXJjaE1vbm8gPSBmYWxzZTtcbiAgaXNTZWFyY2hGdWxsVGV4dCA9IGZhbHNlO1xuICBpc1NlYXJjaEZ1bGx0ZXh0VmFsaWQgPSBmYWxzZTtcbiAgaXNNb3JlTGlzdCA9IGZhbHNlO1xuICB3aWRnZXRUeXBlOiBzdHJpbmcgPSAndGFibGUnO1xuXG4gIGdldCBpc05ld01vbm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWFyY2hDcml0ZXJpYSAmJiB0aGlzLmlzU2VhcmNoTW9ubztcbiAgfVxuXG4gIGdldCBpc0VkaXRNb25vJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5jdXJyZW50RWRpdFR5cGUkLCB0aGlzLmlzUmVuYW1lJF0pLnBpcGUoXG4gICAgICBtYXAoKFt0eXBlLCBpc1JlbmFtZV0pID0+IHR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTICYmICFpc1JlbmFtZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0SWNvbiA9IHtcbiAgICBjYXJhY3RlcmlzdGlxdWU6ICdkZWZhdWx0JyxcbiAgICBsaWV1OiAnZGVmYXVsdCcsXG4gICAgbWV0ZW86ICdkZWZhdWx0JyxcbiAgICB1c2FnZXI6ICdwcm9maWwnLFxuICAgIHZhbGV1cl9mb25jaWVyZTogJ2RlZmF1bHQnLFxuICAgIHZlaGljdWxlOiAnY2FyJ1xuICB9IGFzIHsgW2NsYXp6OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBpdGVtczogT2JzZXJ2YWJsZTxhbnlbXSB8IG51bGw+ID0gb2YoW1xuICAgIHsgaWQ6IDEsIG5hbWU6ICcxJyB9LFxuICAgIHsgaWQ6IDIsIG5hbWU6ICcyJyB9LFxuICAgIHsgaWQ6IDMsIG5hbWU6ICczJyB9LFxuICAgIHsgaWQ6IDQsIG5hbWU6ICc0JyB9XG4gIF0pO1xuICBlZGl0SW5Qcm9ncmVzcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGN1cnJlbnRFZGl0JDogT2JzZXJ2YWJsZTxOYW1lZFF1ZXJ5IHwgdW5kZWZpbmVkPjtcbiAgY3VycmVudEVkaXRUeXBlJDogT2JzZXJ2YWJsZTxOYW1lZFF1ZXJ5VHlwZXMgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBGVUxMX1RFWFQgPSBOYW1lZFF1ZXJ5VHlwZXMuRlVMTF9URVhUO1xuICByZWFkb25seSBNT05PX0NMQVNTID0gTmFtZWRRdWVyeVR5cGVzLk1PTk9fQ0xBU1M7XG4gIHJlYWRvbmx5IE1VTFRJX0NMQVNTID0gTmFtZWRRdWVyeVR5cGVzLk1VTFRJX0NMQVNTO1xuICBzZWFyY2hGdWxsdGV4dFRlbXA/OiBTZWFyY2hGdWxsdGV4dENoYW5nZTtcblxuICBwcml2YXRlIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxEYXRhU291cmNlU3RhdGUgfCBTZWFyY2hNdWx0aUNsYXNzU3RhdGUgfCBGaWVsZFN0YXRlIHwgQ2xhc3NTdGF0ZT4pIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5pc0xvYWRpbmcpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubG9hZCh7fSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoe30pKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsYXNzQWN0aW9ucy5sb2FkKHt9KSk7XG4gICAgdGhpcy5zZWFyY2hNdWx0aUNsYXNzVmFsaWQkID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTXVsdGlDbGFzc1NlbGVjdG9ycy5zZWFyY2hNdWx0aUNsYXNzVmFsaWQpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgdGhpcy5zZWFyY2hNb25vQ2xhc3NWYWxpZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMuc2VhcmNoTW9ub0NsYXNzVmFsaWQpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgdGhpcy5lZGl0SW5Qcm9ncmVzcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmVkaXRJblByb2dyZXNzKTtcbiAgICB0aGlzLmN1cnJlbnRFZGl0VHlwZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmN1cnJlbnRFZGl0VHlwZSk7XG4gICAgdGhpcy5jdXJyZW50RWRpdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmN1cnJlbnRFZGl0KTtcbiAgICB0aGlzLmlzUmVuYW1lJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuaXNSZW5hbWUpO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZWRpdEluUHJvZ3Jlc3MkLCB0aGlzLmlzUmVuYW1lJF0pLnN1YnNjcmliZSgoW2VkaXRJblByb2dyZXNzLCBpc1JlbmFtZV0pID0+IHtcbiAgICAgICAgaWYgKGVkaXRJblByb2dyZXNzICYmIHRoaXMuc2VhcmNoVG9vbHNDbG9zZSAmJiAhaXNSZW5hbWUpIHtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlUGFuZWwoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uU2VhcmNoQ3JpdGVyaWEoKSB7XG4gICAgdGhpcy5pc1NlYXJjaENyaXRlcmlhID0gdHJ1ZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5vcGVuRWRpdCh7XG4gICAgICAgIGN1cnJlbnRFZGl0OiB7XG4gICAgICAgICAgc291cmNlVHlwZTogJ25hbWVkUXVlcnknLFxuICAgICAgICAgIGlkOiB2NCgpLFxuICAgICAgICAgIHJlcXVlc3Q6IHsgdHlwZTogTmFtZWRRdWVyeVR5cGVzLk1VTFRJX0NMQVNTLCBmdWxsU2VhcmNoOiBudWxsLCBmaWVsZHM6IFtdLCBtdWx0aVR5cGU6ICdBTkQnIH0sXG4gICAgICAgICAgbmFtZTogJydcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25TZWFyY2hUb29scygpIHtcbiAgICB0aGlzLmlzU2VhcmNoQ3JpdGVyaWEgPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuc3RvcEVkaXQoKSk7XG4gICAgdGhpcy5yZXNpemVTY3JlZW4oKTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5uYW1lZFF1ZXJ5LnN0b3BFZGl0KCkpO1xuICAgIHRoaXMucmVzaXplU2NyZWVuKCk7XG4gIH1cblxuICBvbk1vbm9TZWFyY2goKSB7XG4gICAgdGhpcy5pc1NlYXJjaE1vbm8gPSAhdGhpcy5pc1NlYXJjaE1vbm87XG4gICAgdGhpcy5yZXNpemVTY3JlZW4oKTtcbiAgfVxuXG4gIG9uQ2hhbmdlTGlzdFZpZXcoaXNNb3JlTGlzdDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNNb3JlTGlzdCA9ICFpc01vcmVMaXN0O1xuICB9XG5cbiAgb25TZWFyY2hGdWxsdGV4dENoYW5nZShwYXlsb2FkOiBTZWFyY2hGdWxsdGV4dENoYW5nZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc1NlYXJjaEZ1bGx0ZXh0VmFsaWQgPSBwYXlsb2FkLnZhbHVlICE9PSAnJztcbiAgICAgIHRoaXMuc2VhcmNoRnVsbHRleHRUZW1wID0gcGF5bG9hZDtcbiAgICB9LCAxMCk7XG4gIH1cblxuICBvblNlYXJjaCgpIHtcbiAgICBpZiAodGhpcy5pc1NlYXJjaE1vbm8pIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5zZWFyY2goKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2VhcmNoTXVsdGlDbGFzc0FjdGlvbnMuc2VhcmNoKCkpO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVXaWRnZXRJblByZXNlbnRhdGlvbih7XG4gICAgICAgIGlkOiBERUZBVUxUX05BTUVEX1FVRVJZX0lELFxuICAgICAgICB3aWRnZXRUeXBlOiB0aGlzLndpZGdldFR5cGVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uQ2hhbmdlUGFuZWwoKSB7XG4gICAgdGhpcy5zZWFyY2hUb29sc0Nsb3NlID0gIXRoaXMuc2VhcmNoVG9vbHNDbG9zZTtcbiAgICB0aGlzLnJlc2l6ZVNjcmVlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNpemVTY3JlZW4oKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB3aW5kb3c/LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnKSksIDQwMCk7XG4gIH1cblxuICBzZWxlY3RXaWRnZXQoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLndpZGdldFR5cGUgPSAkZXZlbnQ7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuc3RvcEVkaXQoKSk7XG4gICAgdGhpcy5pc1NlYXJjaENyaXRlcmlhID0gdHJ1ZTtcbiAgfVxuXG4gIHVwZGF0ZVZpc2liaWxpdHkoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkudXBkYXRlQ3VycmVudEVkaXQoeyBjdXJyZW50RWRpdDogeyB2aXNpYmlsaXR5OiAkZXZlbnQgfSB9KSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNcIlxuICBbY2xhc3MuaXMtY2xvc2VdPVwic2VhcmNoVG9vbHNDbG9zZVwiXG4gIFtjbGFzcy5pcy1tb25vXT1cImlzTmV3TW9ubyB8fCAoaXNFZGl0TW9ubyQgfCBhc3luYylcIlxuICA+XG4gIEBpZiAoKChlZGl0SW5Qcm9ncmVzcyQgfCBhc3luYykgJiYgIShpc1JlbmFtZSQgfCBhc3luYykpIHx8IGlzU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCAtYmFjayBhLXRvb2x0aXBcIlxuICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoVG9vbHMoKVwiXG4gICAgICBhcmlhLXByZXNzZWQ9XCJmYWxzZVwiXG4gICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0Bwcnkuc2VhcmNoLmJ1dHRvbi5iYWNrU2VhcmNoJyB8IGkxOG5cIlxuICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgID5cbiAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiYXJyb3dfYmFja1wiIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBbYW5pbWF0aW9uXT1cImZhbHNlXCI+PC9wcnktaWNvbj5cbiAgICAgIDxzcGFuPnt7ICdAcHJ5LnNlYXJjaC5idXR0b24uYmFja1NlYXJjaCcgfCBpMThuIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNfX2NvbnRlbnRcIiBbY2xhc3MuaXMtY2xvc2VdPVwic2VhcmNoVG9vbHNDbG9zZVwiPlxuICAgIEBpZiAoKChlZGl0SW5Qcm9ncmVzcyQgfCBhc3luYykgJiYgIShpc1JlbmFtZSQgfCBhc3luYykpIHx8IGlzU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IC1saW5rLWxpa2UgdS1zZWxmLWVuZFwiXG4gICAgICAgIChjbGljayk9XCJyZXNldCgpXCJcbiAgICAgICAgaWQ9XCJidG5fcmVzZXRcIlxuICAgICAgICA+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwicmVzZXRcIiBbd2lkdGhdPVwiMThcIiBbaGVpZ2h0XT1cIjE4XCI+PC9wcnktaWNvbj5cbiAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLmJ1dHRvbi5yZXNldCcgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgQGlmIChlZGl0SW5Qcm9ncmVzcyQgfCBhc3luYykge1xuICAgICAgPHByeS1zaGFyZSBbbmdNb2RlbF09XCIoY3VycmVudEVkaXQkIHwgYXN5bmMpPy52aXNpYmlsaXR5XCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eSgkZXZlbnQpXCI+PC9wcnktc2hhcmU+XG4gICAgfVxuICAgIEBpZiAoKGVkaXRJblByb2dyZXNzJCB8IGFzeW5jKSAmJiAhKGlzUmVuYW1lJCB8IGFzeW5jKSAmJiAhKGxvYWRpbmckIHwgYXN5bmMpKSB7XG4gICAgICA8cHJ5LWVkaXQtbmFtZWQtcXVlcnlcbiAgICAgICAgKHNlYXJjaEZ1bGx0ZXh0Q2hhbmdlKT1cIm9uU2VhcmNoRnVsbHRleHRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChjYW5jZWxsZWQpPVwib25TZWFyY2hUb29scygpXCJcbiAgICAgID48L3ByeS1lZGl0LW5hbWVkLXF1ZXJ5PlxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIChpc1NlYXJjaENyaXRlcmlhICYmICEobG9hZGluZyQgfCBhc3luYykpIHtcbiAgICAgICAgPHByeS10b2dnbGVcbiAgICAgICAgICBjbGFzcz1cIm8tcHJ5LXNlYXJjaC10b29sc19fY29udGVudF9fdG9nZ2xlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpc1NlYXJjaE1vbm9cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9ub1NlYXJjaCgpXCJcbiAgICAgICAgICBbYWx3YXlzQWN0aXZlXT1cInRydWVcIlxuICAgICAgICAgIG1vZGU9XCJhY3Rpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICB7eyAoaXNTZWFyY2hNb25vID8gJ0Bwcnkuc2VhcmNoLmJ1dHRvbi5tb25vJyA6ICdAcHJ5LnNlYXJjaC5idXR0b24ubXVsdGknKSB8IGkxOG4gfX1cbiAgICAgICAgPC9wcnktdG9nZ2xlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLXRvb2xzX19jb250ZW50X19mdWxsXCI+XG4gICAgICAgICAgQGlmIChpc1NlYXJjaE1vbm8pIHtcbiAgICAgICAgICAgIDxwcnktc2VhcmNoLW1vbm8tY2xhc3M+PC9wcnktc2VhcmNoLW1vbm8tY2xhc3M+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8cHJ5LXNlYXJjaC1tdWx0aS1jbGFzcz48L3ByeS1zZWFyY2gtbXVsdGktY2xhc3M+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC10b29sc19fY29udGVudF9fYnV0dG9uLXNlYXJjaFwiPlxuICAgICAgICAgIEBpZiAoaXNTZWFyY2hDcml0ZXJpYSkge1xuICAgICAgICAgICAgPHByeS1jaG9vc2Utd2lkZ2V0IChzZWxlY3RlZCk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50KVwiPjwvcHJ5LWNob29zZS13aWRnZXQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoIWlzU2VhcmNoQ3JpdGVyaWEpIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJvblNlYXJjaFRvb2xzKClcIj5cbiAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLmJ1dHRvbi5jYW5jZWwnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgKCEoc2VhcmNoTXVsdGlDbGFzc1ZhbGlkJCB8IGFzeW5jKSAmJiAhaXNTZWFyY2hNb25vKSB8fCAoIShzZWFyY2hNb25vQ2xhc3NWYWxpZCQgfCBhc3luYykgJiYgaXNTZWFyY2hNb25vKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJzZWFyY2gtbGluZVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICB7eyAnQHByeS5zZWFyY2guYnV0dG9uLnNlYXJjaCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNfX2NvbnRlbnRfX2Z1bGxcIj5cbiAgICAgICAgICA8cHJ5LXNlYXJjaC1ob21lXG4gICAgICAgICAgICBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1ob21lXCJcbiAgICAgICAgICAgIFtpc01vcmVMaXN0XT1cImlzTW9yZUxpc3RcIlxuICAgICAgICAgICAgW3NlYXJjaEZ1bGx0ZXh0VHBsXT1cInNlYXJjaEZ1bGx0ZXh0VHBsXCJcbiAgICAgICAgICAgIChjaGFuZ2VMaXN0Vmlldyk9XCJvbkNoYW5nZUxpc3RWaWV3KCRldmVudClcIlxuICAgICAgICAgICAgKGNoYW5nZVNlYXJjaENyaXRlcmlhKT1cIm9uU2VhcmNoQ3JpdGVyaWEoKVwiXG4gICAgICAgICAgPjwvcHJ5LXNlYXJjaC1ob21lPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VhcmNoRnVsbHRleHRUcGw+XG4gICAgICAgICAgICA8cHJ5LXNlYXJjaC1mdWxsdGV4dCBtb2RlPVwidmVydGljYWxcIiAoc2VhcmNoQ2hhbmdlKT1cIm9uU2VhcmNoRnVsbHRleHRDaGFuZ2UoJGV2ZW50KVwiPjwvcHJ5LXNlYXJjaC1mdWxsdGV4dD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtdG9vbHNfX2Zvb3RlclwiIFtjbGFzcy5pcy1jbG9zZV09XCJzZWFyY2hUb29sc0Nsb3NlXCI+XG4gICAgPHByeS1zYXZlLXF1ZXJ5LWJ1dHRvblxuICAgICAgW2VkaXRJblByb2dyZXNzXT1cImVkaXRJblByb2dyZXNzJCB8IGFzeW5jXCJcbiAgICAgIFtjdXJyZW50RWRpdF09XCJjdXJyZW50RWRpdCQgfCBhc3luY1wiXG4gICAgICBbY3VycmVudEVkaXRUeXBlXT1cImN1cnJlbnRFZGl0VHlwZSQgfCBhc3luY1wiXG4gICAgICBbZnVsbHRleHRWYWxpZF09XCJpc1NlYXJjaEZ1bGx0ZXh0VmFsaWRcIlxuICAgICAgW211bHRpVmFsaWRdPVwic2VhcmNoTXVsdGlDbGFzc1ZhbGlkJCB8IGFzeW5jXCJcbiAgICAgIFttb25vVmFsaWRdPVwic2VhcmNoTW9ub0NsYXNzVmFsaWQkIHwgYXN5bmNcIlxuICAgICAgW2lzTm90RnVsbHRleHRdPVwiaXNTZWFyY2hDcml0ZXJpYVwiXG4gICAgICBbaXNNb25vU2VhcmNoXT1cImlzU2VhcmNoTW9ub1wiXG4gICAgICBbZnVsbHRleHRTZWFyY2hdPVwic2VhcmNoRnVsbHRleHRUZW1wXCJcbiAgICA+PC9wcnktc2F2ZS1xdWVyeS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import { TemplatePortal } from '@angular/cdk/portal';
|
|
|
4
4
|
import { Component, Inject, Input, Optional, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
5
5
|
import { ClassSelectors, ConfigActions, DashboardActions, DashboardSelectors, DataSourceSelectors, FieldSelectors, FieldType, NamedQueryTypes, PRY_ACCESS_TOKEN } from '@provoly/dashboard';
|
|
6
6
|
import { BehaviorSubject, combineLatest, map } from 'rxjs';
|
|
7
|
-
import { withLatestFrom } from 'rxjs
|
|
7
|
+
import { withLatestFrom } from 'rxjs';
|
|
8
8
|
import { v4 } from 'uuid';
|
|
9
9
|
import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
@@ -270,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
270
270
|
type: ViewChild,
|
|
271
271
|
args: ['container', { read: ViewContainerRef }]
|
|
272
272
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFZLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBRUwsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsU0FBUyxFQUtULGVBQWUsRUFDZixnQkFBZ0IsRUFHakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7Ozs7QUFF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QUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RixLQUFLLE1BQU07b0JBQ1QsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0c7b0JBQ0UsT0FBTyxRQUFRLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLFdBQW1CLEVBQUUsU0FBaUI7UUFDekQsT0FBTyxHQUFHLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzhHQWhTVSwwQkFBMEIsdUNBdUNmLGdCQUFnQjtrR0F2QzNCLDBCQUEwQixnTEFFTixXQUFXLGlHQWdDVixnQkFBZ0Isb0RDbEZsRCxrZ09BNktBOzsyRkQ3SGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHFCQUFxQjs7MEJBMEM1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQjtxTEF0QzdCLEtBQUs7c0JBQWIsS0FBSztnQkFDd0MsZ0JBQWdCO3NCQUE3RCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBZ0NRLFNBQVM7c0JBQTVELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDbGFzcyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ0FjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZSxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRmllbGRTZWxlY3RvcnMsXG4gIEZpZWxkVHlwZSxcbiAgRmlsdGVyLFxuICBGaWx0ZXJGYWN0b3J5U2VydmljZSxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIE1vbm9DbGFzc1NlYXJjaFBheWxvYWQsXG4gIE5hbWVkUXVlcnlUeXBlcyxcbiAgUFJZX0FDQ0VTU19UT0tFTixcbiAgUHJ5QmFzZUFjY2VzcyxcbiAgUHJ5STE4blNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBUb29sYm94QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIEZpbHRlclN0ZXBzIHtcbiAgTElTVCA9ICdsaXN0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgY3VzdG9tSWQ6IHN0cmluZztcbiAgdGVjaG5pY2FsTmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXRhc291cmNlOiBzdHJpbmc7XG4gIHR5cGU6IEZpZWxkVHlwZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWZpbHRlci1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUZpbHRlclNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxhYmVsID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZCgnc2V0dGluZ3MnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlU2V0dGluZ3MhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBvdmVybGF5UmVmU2V0dGluZ3M/OiBPdmVybGF5UmVmO1xuICBzZXR0aW5nc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBtYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICB0eXBlcyQ6IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXT47XG4gIGN1cnJlbnRGaWx0ZXJDb21wb25lbnRUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICBjdXJyZW50U3RlcDogRmlsdGVyU3RlcHMgPSBGaWx0ZXJTdGVwcy5MSVNUO1xuICBzdGVwcyA9IEZpbHRlclN0ZXBzO1xuICBmaWx0ZXI6IEZpbHRlciA9IHtcbiAgICBpZDogdjQoKSxcbiAgICBuYW1lOiAnJyxcbiAgICB0eXBlOiAnJyxcbiAgICBhdHRyaWJ1dGVzOiBbXVxuICB9O1xuICBkYXRhc291cmNlJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBvcGVyYXRvcnMgPSBbXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmVxdWFsc1N0cmluZycsIHZhbHVlOiAnRVFVQUxTJyB9LFxuICAgIHsgbGFiZWw6ICdAcHJ5LnNlYXJjaC5vcGVyYXRvci5ub3RFcXVhbHNTdHJpbmcnLCB2YWx1ZTogJ05PVF9FUVVBTFMnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmNvbnRhaW5zJywgdmFsdWU6ICdDT05UQUlOUycgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuY29udGFpbnNDYXNlSW5zZW5zaXRpdmUnLCB2YWx1ZTogJ0lfQ09OVEFJTlMnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLnN0YXJ0V2l0aCcsIHZhbHVlOiAnU1RBUlRfV0lUSCcgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuZW5kV2l0aCcsIHZhbHVlOiAnRU5EX1dJVEgnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmdyZWF0ZXJUaGFuTnVtYmVyJywgdmFsdWU6ICdHUkVBVEVSX1RIQU4nIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmxvd2VyVGhhbk51bWJlcicsIHZhbHVlOiAnTE9XRVJfVEhBTicgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuaW5uZXJCb3VuZHNEYXRlJywgdmFsdWU6ICdJTlNJREUnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm91dGVyQm91bmRzRGF0ZScsIHZhbHVlOiAnT1VUU0lERScgfVxuICBdO1xuICBjdXJyZW50T3BlcmF0b3JzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5vcGVyYXRvcnMpO1xuICBjbGFzc2VzOiBDbGFzc1tdID0gW107XG4gIGF0dHJpYnV0ZXMkOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVtdPjtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4odGhpcy5maWx0ZXIuYXR0cmlidXRlcy5tYXAoKGF0dHIpID0+IGF0dHIuaWQpKTtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUFJZX0FDQ0VTU19UT0tFTikgYWNjZXNzOiBQcnlCYXNlQWNjZXNzLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBmaWx0ZXJGYWN0b3J5U2VydmljZTogRmlsdGVyRmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUsIGFjY2Vzcyk7XG4gICAgdGhpcy5tYW5pZmVzdCQgPSBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5tYW5pZmVzdCQuc3Vic2NyaWJlKChtYW5pZmVzdCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBtYW5pZmVzdC5maWx0ZXJzID8gWy4uLm1hbmlmZXN0LmZpbHRlcnNdIDogW107XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFzb3VyY2UkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzKSxcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMubmFtZWRRdWVyaWVzVXNlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YVNvdXJjZXMsIGRhdGFTb3VyY2VzVXNlZF0pID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGFTb3VyY2VzVXNlZCkubWFwKChpZCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZGF0YVNvdXJjZXMuZmluZCgoZGF0YVNvdXJjZSkgPT4gZGF0YVNvdXJjZS5pZCA9PT0gaWQpPy5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBpZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy50eXBlcyQgPSB0aGlzLmZpbHRlckZhY3RvcnlTZXJ2aWNlLnR5cGVzJC5waXBlKFxuICAgICAgbWFwKCh0eXBlcykgPT5cbiAgICAgICAgdHlwZXMubWFwKCh0eXBlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiAnQHByeS5maWx0ZXJzLnR5cGVzLicgKyB0eXBlLFxuICAgICAgICAgIHZhbHVlOiB0eXBlXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50T3BlcmF0b3JzJC5uZXh0KHRoaXMuZ2V0T3BlcmF0b3JzKCkpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hdHRyaWJ1dGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpLFxuICAgICAgc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKSxcbiAgICAgIHN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKSxcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpKSxcbiAgICAgIG1hcCgoW1tkYXRhU291cmNlcywgY3VycmVudERhdGFTb3VyY2VzLCBjbGFzc2VzLCBjb21wb25lbnRUeXBlXSwgZmllbGRzXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YVNvdXJjZXNJblByZXMgPSBkYXRhU291cmNlcy5maWx0ZXIoKGRhdGFTb3VyY2UpID0+XG4gICAgICAgICAgT2JqZWN0LmtleXMoY3VycmVudERhdGFTb3VyY2VzKS5pbmNsdWRlcyhkYXRhU291cmNlLmlkKSA/IGRhdGFTb3VyY2UgOiBmYWxzZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZXNJblByZXNcbiAgICAgICAgICAubWFwKChkYXRhU291cmNlKSA9PlxuICAgICAgICAgICAgKHRoaXMuZ2V0RGF0YXNvdXJjZUNsYXNzKGRhdGFTb3VyY2UsIGNsYXNzZXMpPy5hdHRyaWJ1dGVzID8/IFtdKS5tYXAoKGF0dHIpID0+ICh7XG4gICAgICAgICAgICAgIGlkOiBhdHRyLmlkLFxuICAgICAgICAgICAgICBjdXN0b21JZDogdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVJZChhdHRyLmlkLCBkYXRhU291cmNlLmlkKSxcbiAgICAgICAgICAgICAgdGVjaG5pY2FsTmFtZTogYXR0ci50ZWNobmljYWxOYW1lLFxuICAgICAgICAgICAgICBsYWJlbDogYCR7YXR0ci5uYW1lfSAvICR7ZGF0YVNvdXJjZS5uYW1lfWAsXG4gICAgICAgICAgICAgIGRhdGFzb3VyY2U6IGRhdGFTb3VyY2UuaWQsXG4gICAgICAgICAgICAgIHR5cGU6IGF0dHIuZmllbGQudHlwZSA/PyBGaWVsZFR5cGUuU1RSSU5HXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIC5zb3J0KChhdHRyMSwgYXR0cjIpID0+IGF0dHIxLmxhYmVsLmxvY2FsZUNvbXBhcmUoYXR0cjIubGFiZWwpKVxuICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IHRoaXMuaXNWYWxpZEF0dHJpYnV0ZUZvckNvbXBvbmVudFR5cGUoY29tcG9uZW50VHlwZSwgYXR0cikpO1xuICAgICAgfSksXG4gICAgICBtYXAoXG4gICAgICAgIChhdHRyaWJ1dGVzKSA9PlxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlci5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcy5tYXAoKGEpID0+IGEuaWQpLmluY2x1ZGVzKGF0dHIuaWQpXG4gICAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uYXR0cixcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7dGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3gubm90SW5Ec0F0dHInKX0gLSAke2F0dHIubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnLXdhcm4nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiAhIWF0dHIpXG4gICAgICAgICAgXSBhcyBBdHRyaWJ1dGVbXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXR0cmlidXRlcyQuc3Vic2NyaWJlKChhdHRycykgPT4gKHRoaXMuYXR0cmlidXRlcyA9IGF0dHJzKSkpO1xuICB9XG5cbiAgZ2V0RGF0YXNvdXJjZUNsYXNzKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsIGNsYXNzZXM6IENsYXNzW10pOiBDbGFzcyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGNsYXp6OiBDbGFzcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZGF0YVNvdXJjZS5zb3VyY2VUeXBlID09PSAnZGF0YXNldCcpIHtcbiAgICAgIGNsYXp6ID0gY2xhc3Nlcy5maW5kKChjbGF6eikgPT4gY2xhenouaWQgPT09IGRhdGFTb3VyY2Uub0NsYXNzKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgZGF0YVNvdXJjZS5zb3VyY2VUeXBlID09PSAnbmFtZWRRdWVyeScgJiZcbiAgICAgIGRhdGFTb3VyY2UucmVxdWVzdCAmJlxuICAgICAgZGF0YVNvdXJjZS5yZXF1ZXN0LnR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTXG4gICAgKSB7XG4gICAgICBjbGF6eiA9IGNsYXNzZXMuZmluZCgoY2xhenopID0+IGNsYXp6LmlkID09PSAoZGF0YVNvdXJjZS5yZXF1ZXN0IGFzIE1vbm9DbGFzc1NlYXJjaFBheWxvYWQpLm9DbGFzcyk7XG4gICAgfVxuICAgIHJldHVybiBjbGF6ejtcbiAgfVxuXG4gIGlzVmFsaWRBdHRyaWJ1dGVGb3JDb21wb25lbnRUeXBlKGNvbXBvbmVudFR5cGU6IHN0cmluZywgYXR0cmlidXRlOiBBdHRyaWJ1dGUpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGNvbXBvbmVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gYXR0cmlidXRlLnR5cGUgPT09IEZpZWxkVHlwZS5JTlNUQU5UO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuSU5URUdFUiwgRmllbGRUeXBlLkRFQ0lNQUwsIEZpZWxkVHlwZS5MT05HXS5pbmNsdWRlcyhhdHRyaWJ1dGUudHlwZSk7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuU1RSSU5HLCBGaWVsZFR5cGUuS0VZV09SRF0uaW5jbHVkZXMoYXR0cmlidXRlLnR5cGUpO1xuICAgICAgY2FzZSAnYXV0b2NvbXBsZXRlJzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuS0VZV09SRF0uaW5jbHVkZXMoYXR0cmlidXRlLnR5cGUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8RmlsdGVyW10+KSB7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZmlsdGVycywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxuXG4gIHRvZ2dsZVNldHRpbmdzKCkge1xuICAgIHRoaXMuc2V0dGluZ3NPcGVuZWQgPSAhdGhpcy5zZXR0aW5nc09wZW5lZDtcbiAgICBpZiAodGhpcy5zZXR0aW5nc09wZW5lZCkge1xuICAgICAgdGhpcy5vcGVuU2V0dGluZ3MoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmU2V0dGluZ3M/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZlNldHRpbmdzID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnNldEZpbHRlcnMoeyBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMgfSkpO1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU2V0dGluZ3MoKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmU2V0dGluZ3MgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInLCAnby1zZWxlY3QtZ3JpZC1sYXlvdXQtbW9kYWwtd3JhcHBlciddLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AtLXdpdGgtY29sb3InXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZTZXR0aW5ncy5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmdvQmFjaygpO1xuICAgICAgdGhpcy50b2dnbGVTZXR0aW5ncygpO1xuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZlNldHRpbmdzLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVNldHRpbmdzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlclR5cGUoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbHRlci50eXBlID0gJGV2ZW50O1xuICAgIHN3aXRjaCAoJGV2ZW50KSB7XG4gICAgICBjYXNlICdsaXN0JzpcbiAgICAgIGNhc2UgJ2F1dG9jb21wbGV0ZSc6XG4gICAgICAgIHRoaXMuZmlsdGVyLm9wZXJhdG9yID0gJ0VRVUFMUyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIHRoaXMuZmlsdGVyLm9wZXJhdG9yID0gJ0lfQ09OVEFJTlMnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXIudHlwZSAhPT0gJycgJiYgdGhpcy5jb250YWluZXIpIHtcbiAgICAgIGxldCBjb21wb25lbnQgPSB0aGlzLmZpbHRlckZhY3RvcnlTZXJ2aWNlLmdlbmVyYXRlRmlsdGVyKHRoaXMuZmlsdGVyLnR5cGUsIHRoaXMuaW5qZWN0b3IsIHRoaXMuY29udGFpbmVyKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIGNvbXBvbmVudC5zdWJzY3JpYmUoKGNvbXBvbmVudFJlZikgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkLm5leHQoY29tcG9uZW50UmVmLmluc3RhbmNlLnR5cGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXIubGltaXQgPSB0aGlzLmZpbHRlci50eXBlID09PSAnYXV0b2NvbXBsZXRlJyA/IHRoaXMuZmlsdGVyLmxpbWl0ID8/IDEwIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0RmlsdGVyQXR0cmlidXRlcyhmaWx0ZXI6IEZpbHRlciwgYXR0ckNvdW50OiBudW1iZXIpIHtcbiAgICBhdHRyQ291bnQgPSBhdHRyQ291bnQgPD0gZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoID8gYXR0ckNvdW50IDogZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoO1xuICAgIHJldHVybiBmaWx0ZXIuYXR0cmlidXRlc1xuICAgICAgLm1hcCgoYXR0cikgPT4gYXR0ci50ZWNobmljYWxOYW1lKVxuICAgICAgLnNsaWNlKDAsIGF0dHJDb3VudClcbiAgICAgIC5qb2luKCcsICcpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZmlsdGVyID0ge1xuICAgICAgaWQ6IHY0KCksXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgYXR0cmlidXRlczogW11cbiAgICB9O1xuICAgIHRoaXMuY3VycmVudFN0ZXAgPSBGaWx0ZXJTdGVwcy5MSVNUO1xuICB9XG5cbiAgZ29Ub0VkaXRpb24oZmlsdGVyOiBGaWx0ZXIpIHtcbiAgICB0aGlzLmZpbHRlciA9IHtcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIGF0dHJpYnV0ZXM6IFtcbiAgICAgICAgLi4uZmlsdGVyLmF0dHJpYnV0ZXMubWFwKChhdHRyKSA9PiAoeyAuLi5hdHRyLCBjdXN0b21JZDogdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVJZChhdHRyLmlkLCBhdHRyLmRhdGFzb3VyY2UpIH0pKVxuICAgICAgXVxuICAgIH07XG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IEZpbHRlclN0ZXBzLkVESVRJT047XG4gIH1cblxuICBnb1RvQ3JlYXRpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQubmV4dCgnJyk7XG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IEZpbHRlclN0ZXBzLkNSRUFUSU9OO1xuICB9XG5cbiAgc3VibWl0RmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyLmF0dHJpYnV0ZXMgPSB0aGlzLmZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cikgPT5cbiAgICAgIHR5cGVvZiBhdHRyID09PSAnc3RyaW5nJyA/IHRoaXMuYXR0cmlidXRlcy5maW5kKChhdHRyT2JqKSA9PiBhdHRyT2JqLmN1c3RvbUlkID09PSBhdHRyKSEgOiBhdHRyXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRmlsdGVycyh7IGZpbHRlcjogdGhpcy5maWx0ZXIgfSkpO1xuICAgIHRoaXMuZ29CYWNrKCk7XG4gIH1cblxuICBzZWxlY3RBdHRyaWJ1dGUoJGV2ZW50OiBBdHRyaWJ1dGVbXSkge1xuICAgIHRoaXMuZmlsdGVyLmF0dHJpYnV0ZXMgPSAkZXZlbnQ7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSQubmV4dCgkZXZlbnQubWFwKChhdHRyKSA9PiBhdHRyLmlkKSk7XG4gIH1cblxuICBkZWxldGVGaWx0ZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZW1vdmVGaWx0ZXIoeyBpZCB9KSk7XG4gIH1cblxuICBnZXRPcGVyYXRvcnMoKTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0b3JzLmZpbHRlcigob3BlcmF0b3IpID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQudmFsdWUpIHtcbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLmhhc0RhdGVSYW5nZVxuICAgICAgICAgICAgPyBbJ0lOU0lERScsICdPVVRTSURFJ10uaW5jbHVkZXMob3BlcmF0b3IudmFsdWUpXG4gICAgICAgICAgICA6IFsnRVFVQUxTJywgJ05PVF9FUVVBTFMnLCAnR1JFQVRFUl9USEFOJywgJ0xPV0VSX1RIQU4nXS5pbmNsdWRlcyhvcGVyYXRvci52YWx1ZSk7XG4gICAgICAgIGNhc2UgJ2xpc3QnOlxuICAgICAgICBjYXNlICdhdXRvY29tcGxldGUnOlxuICAgICAgICAgIHJldHVybiBbJ0VRVUFMUyddLmluY2x1ZGVzKG9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICByZXR1cm4gWydFUVVBTFMnLCAnTk9UX0VRVUFMUycsICdHUkVBVEVSX1RIQU4nLCAnTE9XRVJfVEhBTiddLmluY2x1ZGVzKG9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgcmV0dXJuIFsnSV9DT05UQUlOUycsICdDT05UQUlOUycsICdFUVVBTFMnLCAnTk9UX0VRVUFMUycsICdTVEFSVF9XSVRIJywgJ0VORF9XSVRIJ10uaW5jbHVkZXMob3BlcmF0b3IudmFsdWUpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldEN1c3RvbUF0dHJpYnV0ZUlkKGF0dHJpYnV0ZUlkOiBzdHJpbmcsIGRhdGFzZXRJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7YXR0cmlidXRlSWR9QCR7ZGF0YXNldElkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRmlsdGVyU3RlcHMgPSBGaWx0ZXJTdGVwcztcbn1cbiIsIjxwcnktdG9vbGJveC1jc3M+PC9wcnktdG9vbGJveC1jc3M+XG48ZGl2IGNsYXNzPVwic2F2ZS1tYW5pZmVzdC1jb250YWluZXJcIj5cbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgW2Rpc2FibGVkXT1cIihhdHRyaWJ1dGVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlU2V0dGluZ3MoKVwiXG4gICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gID5cbiAgICBAaWYgKGxhYmVsKSB7XG4gICAgICB7eyAnQHByeS5maWx0ZXJzLmxhYmVsJyB8IGkxOG4gfX1cbiAgICB9XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2V0dGluZ3M+XG4gIDxkaXYgY2xhc3M9XCJvLWZpbHRlcnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1maWx0ZXJzX19oZWFkZXJcIj5cbiAgICAgIEBpZiAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkxJU1QpIHtcbiAgICAgICAgPGgyPnt7ICdAcHJ5LmZpbHRlcnMubGFiZWwnIHwgaTE4biB9fTwvaDI+XG4gICAgICB9XG4gICAgICBAaWYgKGN1cnJlbnRTdGVwID09PSBGaWx0ZXJTdGVwcy5DUkVBVElPTiB8fCBjdXJyZW50U3RlcCA9PT0gRmlsdGVyU3RlcHMuRURJVElPTikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXJvdyAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29CYWNrKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJiYWNrLWJ1dHRvblwiPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjaGV2cm9uX3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8aDI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkNSRUFUSU9OID8gJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi5jcmVhdGUnIDogJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi51cGRhdGUnKVxuICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzKClcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgQGlmIChjdXJyZW50U3RlcCA9PT0gRmlsdGVyU3RlcHMuTElTVCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsdGVyc19fY29udGVudFwiPlxuICAgICAgICBAaWYgKChhdHRyaWJ1dGVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImEtdGFibGUtd3JhcHBlclwiPjwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwiYS10YWJsZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgPHRib2R5IGNka0Ryb3BMaXN0IFtjZGtEcm9wTGlzdERhdGFdPVwiZmlsdGVyc1wiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZmlsdGVyIG9mIGZpbHRlcnM7IHRyYWNrIGZpbHRlci5pZCkge1xuICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiby1maWx0ZXJzX19maWx0ZXJcIiBjZGtEcmFnPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRGaWx0ZXJBdHRyaWJ1dGVzKGZpbHRlciwgMykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImRlbGV0ZUZpbHRlcihmaWx0ZXIuaWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwiZ29Ub0VkaXRpb24oZmlsdGVyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZmlsdGVycy5saXN0Lm1vZGlmeScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZHJhZ19pbmRpY2F0b3JcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLWZpbHRlcnNfX25vLWZpbHRlcnNcIj57eyAnQHByeS5maWx0ZXJzLm5vRmlsdGVycycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvQ3JlYXRpb24oKVwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIj57eyAnQHByeS5maWx0ZXJzLmxpc3QuYWRkJyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkNSRUFUSU9OIHx8IGN1cnJlbnRTdGVwID09PSBGaWx0ZXJTdGVwcy5FRElUSU9OKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiby1maWx0ZXJzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlsdGVyTmFtZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24ubmFtZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWx0ZXJOYW1lXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLm5hbWVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWx0ZXJUeXBlXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi50eXBlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICBpZD1cImZpbHRlclR5cGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmZpbHRlcnMuY3JlYXRpb24udHlwZScgfCBpMThuXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJ0eXBlcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci50eXBlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlclR5cGUoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoKGN1cnJlbnRGaWx0ZXJDb21wb25lbnRUeXBlJCB8IGFzeW5jKSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCB1LWRpc3BsYXktZmxleCAtcm93XCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZS1yYW5nZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24uZGF0ZVJhbmdlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgICBpZD1cImRhdGUtcmFuZ2VcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci5oYXNEYXRlUmFuZ2VcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLmN1cnJlbnRPcGVyYXRvcnMkLm5leHQoZ2V0T3BlcmF0b3JzKCkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnbGlzdCcpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwicG9zc2libGVWYWx1ZXNcIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5maWx0ZXJzLmNyZWF0aW9uLnZhbHVlcycgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cInBvc3NpYmxlVmFsdWVzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyLnBvc3NpYmxlVmFsdWVzXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ2YWxldXIxLCB2YWxldXIyLCB2YWxldXIzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsaW1pdFwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24ubGltaXQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsaW1pdFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBtYXg9XCI1MFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLmxpbWl0XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImF0dHJpYnV0ZXNcIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5maWx0ZXJzLmNyZWF0aW9uLmF0dHJpYnV0ZXMnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgIGlkPVwiYXR0cmlidXRlc1wiXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImF0dHJpYnV0ZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZmlsdGVyLmF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0QXR0cmlidXRlKCRldmVudClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmZpbHRlcnMuY3JlYXRpb24uYXR0cmlidXRlcycgfCBpMThuXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cImN1c3RvbUlkXCJcbiAgICAgICAgICAgIGJpbmRDbGFzc2VzPVwiY2xhc3Nlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwib3BlcmF0aW9uc1wiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuYXR0cmlidXRlcy5vcGVyYXRvcicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJvcGVyYXRpb25zXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJjdXJyZW50T3BlcmF0b3JzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyLm9wZXJhdG9yXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQHByeS5maWx0ZXJzLmF0dHJpYnV0ZXMub3BlcmF0b3InIHwgaTE4blwiXG4gICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgIChjdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQgfCBhc3luYykgPT09ICdsaXN0JyB8fFxuICAgICAgICAgICAgICAoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnYXV0b2NvbXBsZXRlJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wcnktc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGaWx0ZXIoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiEoZmlsdGVyLm5hbWUgJiYgZmlsdGVyLnR5cGUgJiYgZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoICE9PSAwICYmIGZpbHRlci5vcGVyYXRvcilcIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9maWx0ZXItc2V0dGluZ3MvZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFZLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBRUwsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsU0FBUyxFQUtULGVBQWUsRUFDZixnQkFBZ0IsRUFHakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7O0FBRTlG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RSxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekYsS0FBSyxNQUFNO29CQUNULE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9HO29CQUNFLE9BQU8sUUFBUSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQixFQUFFLFNBQWlCO1FBQ3pELE9BQU8sR0FBRyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7SUFDdkMsQ0FBQzs4R0FoU1UsMEJBQTBCLHVDQXVDZixnQkFBZ0I7a0dBdkMzQiwwQkFBMEIsZ0xBRU4sV0FBVyxpR0FnQ1YsZ0JBQWdCLG9EQ2xGbEQsa2dPQTZLQTs7MkZEN0hhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSxxQkFBcUI7OzBCQTBDNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7cUxBdEM3QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ3dDLGdCQUFnQjtzQkFBN0QsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQWdDUSxTQUFTO3NCQUE1RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2xhc3MsXG4gIENsYXNzU2VsZWN0b3JzLFxuICBDb25maWdBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXNoYm9hcmRTZWxlY3RvcnMsXG4gIERhdGFTb3VyY2UsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIEZpZWxkU2VsZWN0b3JzLFxuICBGaWVsZFR5cGUsXG4gIEZpbHRlcixcbiAgRmlsdGVyRmFjdG9yeVNlcnZpY2UsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkLFxuICBOYW1lZFF1ZXJ5VHlwZXMsXG4gIFBSWV9BQ0NFU1NfVE9LRU4sXG4gIFByeUJhc2VBY2Nlc3MsXG4gIFByeUkxOG5TZXJ2aWNlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBUb29sYm94QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Rvb2xib3gtYWN0aW9uL3Rvb2xib3gtYWN0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIEZpbHRlclN0ZXBzIHtcbiAgTElTVCA9ICdsaXN0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgY3VzdG9tSWQ6IHN0cmluZztcbiAgdGVjaG5pY2FsTmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXRhc291cmNlOiBzdHJpbmc7XG4gIHR5cGU6IEZpZWxkVHlwZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWZpbHRlci1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUZpbHRlclNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgVG9vbGJveEFjdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxhYmVsID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZCgnc2V0dGluZ3MnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlU2V0dGluZ3MhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBvdmVybGF5UmVmU2V0dGluZ3M/OiBPdmVybGF5UmVmO1xuICBzZXR0aW5nc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBtYW5pZmVzdCQ6IE9ic2VydmFibGU8R2xvYmFsTWFuaWZlc3Q+O1xuICBmaWx0ZXJzOiBGaWx0ZXJbXSA9IFtdO1xuICB0eXBlcyQ6IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXT47XG4gIGN1cnJlbnRGaWx0ZXJDb21wb25lbnRUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICBjdXJyZW50U3RlcDogRmlsdGVyU3RlcHMgPSBGaWx0ZXJTdGVwcy5MSVNUO1xuICBzdGVwcyA9IEZpbHRlclN0ZXBzO1xuICBmaWx0ZXI6IEZpbHRlciA9IHtcbiAgICBpZDogdjQoKSxcbiAgICBuYW1lOiAnJyxcbiAgICB0eXBlOiAnJyxcbiAgICBhdHRyaWJ1dGVzOiBbXVxuICB9O1xuICBkYXRhc291cmNlJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBvcGVyYXRvcnMgPSBbXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmVxdWFsc1N0cmluZycsIHZhbHVlOiAnRVFVQUxTJyB9LFxuICAgIHsgbGFiZWw6ICdAcHJ5LnNlYXJjaC5vcGVyYXRvci5ub3RFcXVhbHNTdHJpbmcnLCB2YWx1ZTogJ05PVF9FUVVBTFMnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmNvbnRhaW5zJywgdmFsdWU6ICdDT05UQUlOUycgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuY29udGFpbnNDYXNlSW5zZW5zaXRpdmUnLCB2YWx1ZTogJ0lfQ09OVEFJTlMnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLnN0YXJ0V2l0aCcsIHZhbHVlOiAnU1RBUlRfV0lUSCcgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuZW5kV2l0aCcsIHZhbHVlOiAnRU5EX1dJVEgnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmdyZWF0ZXJUaGFuTnVtYmVyJywgdmFsdWU6ICdHUkVBVEVSX1RIQU4nIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLmxvd2VyVGhhbk51bWJlcicsIHZhbHVlOiAnTE9XRVJfVEhBTicgfSxcbiAgICB7IGxhYmVsOiAnQHByeS5zZWFyY2gub3BlcmF0b3IuaW5uZXJCb3VuZHNEYXRlJywgdmFsdWU6ICdJTlNJREUnIH0sXG4gICAgeyBsYWJlbDogJ0Bwcnkuc2VhcmNoLm9wZXJhdG9yLm91dGVyQm91bmRzRGF0ZScsIHZhbHVlOiAnT1VUU0lERScgfVxuICBdO1xuICBjdXJyZW50T3BlcmF0b3JzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5vcGVyYXRvcnMpO1xuICBjbGFzc2VzOiBDbGFzc1tdID0gW107XG4gIGF0dHJpYnV0ZXMkOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVtdPjtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4odGhpcy5maWx0ZXIuYXR0cmlidXRlcy5tYXAoKGF0dHIpID0+IGF0dHIuaWQpKTtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RvcmU6IFN0b3JlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUFJZX0FDQ0VTU19UT0tFTikgYWNjZXNzOiBQcnlCYXNlQWNjZXNzLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBmaWx0ZXJGYWN0b3J5U2VydmljZTogRmlsdGVyRmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUsIGFjY2Vzcyk7XG4gICAgdGhpcy5tYW5pZmVzdCQgPSBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5tYW5pZmVzdCQuc3Vic2NyaWJlKChtYW5pZmVzdCkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBtYW5pZmVzdC5maWx0ZXJzID8gWy4uLm1hbmlmZXN0LmZpbHRlcnNdIDogW107XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmRhdGFzb3VyY2UkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzKSxcbiAgICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMubmFtZWRRdWVyaWVzVXNlcylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YVNvdXJjZXMsIGRhdGFTb3VyY2VzVXNlZF0pID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGFTb3VyY2VzVXNlZCkubWFwKChpZCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogZGF0YVNvdXJjZXMuZmluZCgoZGF0YVNvdXJjZSkgPT4gZGF0YVNvdXJjZS5pZCA9PT0gaWQpPy5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBpZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy50eXBlcyQgPSB0aGlzLmZpbHRlckZhY3RvcnlTZXJ2aWNlLnR5cGVzJC5waXBlKFxuICAgICAgbWFwKCh0eXBlcykgPT5cbiAgICAgICAgdHlwZXMubWFwKCh0eXBlKSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiAnQHByeS5maWx0ZXJzLnR5cGVzLicgKyB0eXBlLFxuICAgICAgICAgIHZhbHVlOiB0eXBlXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50T3BlcmF0b3JzJC5uZXh0KHRoaXMuZ2V0T3BlcmF0b3JzKCkpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hdHRyaWJ1dGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpLFxuICAgICAgc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKSxcbiAgICAgIHN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKSxcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkXG4gICAgXSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpKSxcbiAgICAgIG1hcCgoW1tkYXRhU291cmNlcywgY3VycmVudERhdGFTb3VyY2VzLCBjbGFzc2VzLCBjb21wb25lbnRUeXBlXSwgZmllbGRzXSkgPT4ge1xuICAgICAgICBsZXQgZGF0YVNvdXJjZXNJblByZXMgPSBkYXRhU291cmNlcy5maWx0ZXIoKGRhdGFTb3VyY2UpID0+XG4gICAgICAgICAgT2JqZWN0LmtleXMoY3VycmVudERhdGFTb3VyY2VzKS5pbmNsdWRlcyhkYXRhU291cmNlLmlkKSA/IGRhdGFTb3VyY2UgOiBmYWxzZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZGF0YVNvdXJjZXNJblByZXNcbiAgICAgICAgICAubWFwKChkYXRhU291cmNlKSA9PlxuICAgICAgICAgICAgKHRoaXMuZ2V0RGF0YXNvdXJjZUNsYXNzKGRhdGFTb3VyY2UsIGNsYXNzZXMpPy5hdHRyaWJ1dGVzID8/IFtdKS5tYXAoKGF0dHIpID0+ICh7XG4gICAgICAgICAgICAgIGlkOiBhdHRyLmlkLFxuICAgICAgICAgICAgICBjdXN0b21JZDogdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVJZChhdHRyLmlkLCBkYXRhU291cmNlLmlkKSxcbiAgICAgICAgICAgICAgdGVjaG5pY2FsTmFtZTogYXR0ci50ZWNobmljYWxOYW1lLFxuICAgICAgICAgICAgICBsYWJlbDogYCR7YXR0ci5uYW1lfSAvICR7ZGF0YVNvdXJjZS5uYW1lfWAsXG4gICAgICAgICAgICAgIGRhdGFzb3VyY2U6IGRhdGFTb3VyY2UuaWQsXG4gICAgICAgICAgICAgIHR5cGU6IGF0dHIuZmllbGQudHlwZSA/PyBGaWVsZFR5cGUuU1RSSU5HXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICApXG4gICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIC5zb3J0KChhdHRyMSwgYXR0cjIpID0+IGF0dHIxLmxhYmVsLmxvY2FsZUNvbXBhcmUoYXR0cjIubGFiZWwpKVxuICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IHRoaXMuaXNWYWxpZEF0dHJpYnV0ZUZvckNvbXBvbmVudFR5cGUoY29tcG9uZW50VHlwZSwgYXR0cikpO1xuICAgICAgfSksXG4gICAgICBtYXAoXG4gICAgICAgIChhdHRyaWJ1dGVzKSA9PlxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlci5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcy5tYXAoKGEpID0+IGEuaWQpLmluY2x1ZGVzKGF0dHIuaWQpXG4gICAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uYXR0cixcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7dGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3gubm90SW5Ec0F0dHInKX0gLSAke2F0dHIubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzOiAnLXdhcm4nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiAhIWF0dHIpXG4gICAgICAgICAgXSBhcyBBdHRyaWJ1dGVbXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXR0cmlidXRlcyQuc3Vic2NyaWJlKChhdHRycykgPT4gKHRoaXMuYXR0cmlidXRlcyA9IGF0dHJzKSkpO1xuICB9XG5cbiAgZ2V0RGF0YXNvdXJjZUNsYXNzKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsIGNsYXNzZXM6IENsYXNzW10pOiBDbGFzcyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGNsYXp6OiBDbGFzcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoZGF0YVNvdXJjZS5zb3VyY2VUeXBlID09PSAnZGF0YXNldCcpIHtcbiAgICAgIGNsYXp6ID0gY2xhc3Nlcy5maW5kKChjbGF6eikgPT4gY2xhenouaWQgPT09IGRhdGFTb3VyY2Uub0NsYXNzKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgZGF0YVNvdXJjZS5zb3VyY2VUeXBlID09PSAnbmFtZWRRdWVyeScgJiZcbiAgICAgIGRhdGFTb3VyY2UucmVxdWVzdCAmJlxuICAgICAgZGF0YVNvdXJjZS5yZXF1ZXN0LnR5cGUgPT09IE5hbWVkUXVlcnlUeXBlcy5NT05PX0NMQVNTXG4gICAgKSB7XG4gICAgICBjbGF6eiA9IGNsYXNzZXMuZmluZCgoY2xhenopID0+IGNsYXp6LmlkID09PSAoZGF0YVNvdXJjZS5yZXF1ZXN0IGFzIE1vbm9DbGFzc1NlYXJjaFBheWxvYWQpLm9DbGFzcyk7XG4gICAgfVxuICAgIHJldHVybiBjbGF6ejtcbiAgfVxuXG4gIGlzVmFsaWRBdHRyaWJ1dGVGb3JDb21wb25lbnRUeXBlKGNvbXBvbmVudFR5cGU6IHN0cmluZywgYXR0cmlidXRlOiBBdHRyaWJ1dGUpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGNvbXBvbmVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gYXR0cmlidXRlLnR5cGUgPT09IEZpZWxkVHlwZS5JTlNUQU5UO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuSU5URUdFUiwgRmllbGRUeXBlLkRFQ0lNQUwsIEZpZWxkVHlwZS5MT05HXS5pbmNsdWRlcyhhdHRyaWJ1dGUudHlwZSk7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuU1RSSU5HLCBGaWVsZFR5cGUuS0VZV09SRF0uaW5jbHVkZXMoYXR0cmlidXRlLnR5cGUpO1xuICAgICAgY2FzZSAnYXV0b2NvbXBsZXRlJzpcbiAgICAgICAgcmV0dXJuIFtGaWVsZFR5cGUuS0VZV09SRF0uaW5jbHVkZXMoYXR0cmlidXRlLnR5cGUpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8RmlsdGVyW10+KSB7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuZmlsdGVycywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxuXG4gIHRvZ2dsZVNldHRpbmdzKCkge1xuICAgIHRoaXMuc2V0dGluZ3NPcGVuZWQgPSAhdGhpcy5zZXR0aW5nc09wZW5lZDtcbiAgICBpZiAodGhpcy5zZXR0aW5nc09wZW5lZCkge1xuICAgICAgdGhpcy5vcGVuU2V0dGluZ3MoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmU2V0dGluZ3M/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZlNldHRpbmdzID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnNldEZpbHRlcnMoeyBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMgfSkpO1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU2V0dGluZ3MoKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmU2V0dGluZ3MgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInLCAnby1zZWxlY3QtZ3JpZC1sYXlvdXQtbW9kYWwtd3JhcHBlciddLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AtLXdpdGgtY29sb3InXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZTZXR0aW5ncy5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmdvQmFjaygpO1xuICAgICAgdGhpcy50b2dnbGVTZXR0aW5ncygpO1xuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZlNldHRpbmdzLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVNldHRpbmdzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlclR5cGUoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbHRlci50eXBlID0gJGV2ZW50O1xuICAgIHN3aXRjaCAoJGV2ZW50KSB7XG4gICAgICBjYXNlICdsaXN0JzpcbiAgICAgIGNhc2UgJ2F1dG9jb21wbGV0ZSc6XG4gICAgICAgIHRoaXMuZmlsdGVyLm9wZXJhdG9yID0gJ0VRVUFMUyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIHRoaXMuZmlsdGVyLm9wZXJhdG9yID0gJ0lfQ09OVEFJTlMnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXIudHlwZSAhPT0gJycgJiYgdGhpcy5jb250YWluZXIpIHtcbiAgICAgIGxldCBjb21wb25lbnQgPSB0aGlzLmZpbHRlckZhY3RvcnlTZXJ2aWNlLmdlbmVyYXRlRmlsdGVyKHRoaXMuZmlsdGVyLnR5cGUsIHRoaXMuaW5qZWN0b3IsIHRoaXMuY29udGFpbmVyKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIGNvbXBvbmVudC5zdWJzY3JpYmUoKGNvbXBvbmVudFJlZikgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkLm5leHQoY29tcG9uZW50UmVmLmluc3RhbmNlLnR5cGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXIubGltaXQgPSB0aGlzLmZpbHRlci50eXBlID09PSAnYXV0b2NvbXBsZXRlJyA/IHRoaXMuZmlsdGVyLmxpbWl0ID8/IDEwIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0RmlsdGVyQXR0cmlidXRlcyhmaWx0ZXI6IEZpbHRlciwgYXR0ckNvdW50OiBudW1iZXIpIHtcbiAgICBhdHRyQ291bnQgPSBhdHRyQ291bnQgPD0gZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoID8gYXR0ckNvdW50IDogZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoO1xuICAgIHJldHVybiBmaWx0ZXIuYXR0cmlidXRlc1xuICAgICAgLm1hcCgoYXR0cikgPT4gYXR0ci50ZWNobmljYWxOYW1lKVxuICAgICAgLnNsaWNlKDAsIGF0dHJDb3VudClcbiAgICAgIC5qb2luKCcsICcpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuZmlsdGVyID0ge1xuICAgICAgaWQ6IHY0KCksXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgYXR0cmlidXRlczogW11cbiAgICB9O1xuICAgIHRoaXMuY3VycmVudFN0ZXAgPSBGaWx0ZXJTdGVwcy5MSVNUO1xuICB9XG5cbiAgZ29Ub0VkaXRpb24oZmlsdGVyOiBGaWx0ZXIpIHtcbiAgICB0aGlzLmZpbHRlciA9IHtcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIGF0dHJpYnV0ZXM6IFtcbiAgICAgICAgLi4uZmlsdGVyLmF0dHJpYnV0ZXMubWFwKChhdHRyKSA9PiAoeyAuLi5hdHRyLCBjdXN0b21JZDogdGhpcy5nZXRDdXN0b21BdHRyaWJ1dGVJZChhdHRyLmlkLCBhdHRyLmRhdGFzb3VyY2UpIH0pKVxuICAgICAgXVxuICAgIH07XG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IEZpbHRlclN0ZXBzLkVESVRJT047XG4gIH1cblxuICBnb1RvQ3JlYXRpb24oKSB7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQubmV4dCgnJyk7XG4gICAgdGhpcy5jdXJyZW50U3RlcCA9IEZpbHRlclN0ZXBzLkNSRUFUSU9OO1xuICB9XG5cbiAgc3VibWl0RmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyLmF0dHJpYnV0ZXMgPSB0aGlzLmZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cikgPT5cbiAgICAgIHR5cGVvZiBhdHRyID09PSAnc3RyaW5nJyA/IHRoaXMuYXR0cmlidXRlcy5maW5kKChhdHRyT2JqKSA9PiBhdHRyT2JqLmN1c3RvbUlkID09PSBhdHRyKSEgOiBhdHRyXG4gICAgKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRmlsdGVycyh7IGZpbHRlcjogdGhpcy5maWx0ZXIgfSkpO1xuICAgIHRoaXMuZ29CYWNrKCk7XG4gIH1cblxuICBzZWxlY3RBdHRyaWJ1dGUoJGV2ZW50OiBBdHRyaWJ1dGVbXSkge1xuICAgIHRoaXMuZmlsdGVyLmF0dHJpYnV0ZXMgPSAkZXZlbnQ7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSQubmV4dCgkZXZlbnQubWFwKChhdHRyKSA9PiBhdHRyLmlkKSk7XG4gIH1cblxuICBkZWxldGVGaWx0ZXIoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZW1vdmVGaWx0ZXIoeyBpZCB9KSk7XG4gIH1cblxuICBnZXRPcGVyYXRvcnMoKTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0b3JzLmZpbHRlcigob3BlcmF0b3IpID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy5jdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQudmFsdWUpIHtcbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLmhhc0RhdGVSYW5nZVxuICAgICAgICAgICAgPyBbJ0lOU0lERScsICdPVVRTSURFJ10uaW5jbHVkZXMob3BlcmF0b3IudmFsdWUpXG4gICAgICAgICAgICA6IFsnRVFVQUxTJywgJ05PVF9FUVVBTFMnLCAnR1JFQVRFUl9USEFOJywgJ0xPV0VSX1RIQU4nXS5pbmNsdWRlcyhvcGVyYXRvci52YWx1ZSk7XG4gICAgICAgIGNhc2UgJ2xpc3QnOlxuICAgICAgICBjYXNlICdhdXRvY29tcGxldGUnOlxuICAgICAgICAgIHJldHVybiBbJ0VRVUFMUyddLmluY2x1ZGVzKG9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICByZXR1cm4gWydFUVVBTFMnLCAnTk9UX0VRVUFMUycsICdHUkVBVEVSX1RIQU4nLCAnTE9XRVJfVEhBTiddLmluY2x1ZGVzKG9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgcmV0dXJuIFsnSV9DT05UQUlOUycsICdDT05UQUlOUycsICdFUVVBTFMnLCAnTk9UX0VRVUFMUycsICdTVEFSVF9XSVRIJywgJ0VORF9XSVRIJ10uaW5jbHVkZXMob3BlcmF0b3IudmFsdWUpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBvcGVyYXRvcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldEN1c3RvbUF0dHJpYnV0ZUlkKGF0dHJpYnV0ZUlkOiBzdHJpbmcsIGRhdGFzZXRJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7YXR0cmlidXRlSWR9QCR7ZGF0YXNldElkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRmlsdGVyU3RlcHMgPSBGaWx0ZXJTdGVwcztcbn1cbiIsIjxwcnktdG9vbGJveC1jc3M+PC9wcnktdG9vbGJveC1jc3M+XG48ZGl2IGNsYXNzPVwic2F2ZS1tYW5pZmVzdC1jb250YWluZXJcIj5cbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRhaW5lcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiXG4gICAgW2Rpc2FibGVkXT1cIihhdHRyaWJ1dGVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlU2V0dGluZ3MoKVwiXG4gICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gID5cbiAgICBAaWYgKGxhYmVsKSB7XG4gICAgICB7eyAnQHByeS5maWx0ZXJzLmxhYmVsJyB8IGkxOG4gfX1cbiAgICB9XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2V0dGluZ3M+XG4gIDxkaXYgY2xhc3M9XCJvLWZpbHRlcnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1maWx0ZXJzX19oZWFkZXJcIj5cbiAgICAgIEBpZiAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkxJU1QpIHtcbiAgICAgICAgPGgyPnt7ICdAcHJ5LmZpbHRlcnMubGFiZWwnIHwgaTE4biB9fTwvaDI+XG4gICAgICB9XG4gICAgICBAaWYgKGN1cnJlbnRTdGVwID09PSBGaWx0ZXJTdGVwcy5DUkVBVElPTiB8fCBjdXJyZW50U3RlcCA9PT0gRmlsdGVyU3RlcHMuRURJVElPTikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLXJvdyAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29CYWNrKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJiYWNrLWJ1dHRvblwiPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjaGV2cm9uX3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8aDI+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkNSRUFUSU9OID8gJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi5jcmVhdGUnIDogJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi51cGRhdGUnKVxuICAgICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZVNldHRpbmdzKClcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgQGlmIChjdXJyZW50U3RlcCA9PT0gRmlsdGVyU3RlcHMuTElTVCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsdGVyc19fY29udGVudFwiPlxuICAgICAgICBAaWYgKChhdHRyaWJ1dGVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImEtdGFibGUtd3JhcHBlclwiPjwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwiYS10YWJsZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICAgICAgPHRib2R5IGNka0Ryb3BMaXN0IFtjZGtEcm9wTGlzdERhdGFdPVwiZmlsdGVyc1wiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZmlsdGVyIG9mIGZpbHRlcnM7IHRyYWNrIGZpbHRlci5pZCkge1xuICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPVwiby1maWx0ZXJzX19maWx0ZXJcIiBjZGtEcmFnPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRGaWx0ZXJBdHRyaWJ1dGVzKGZpbHRlciwgMykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImRlbGV0ZUZpbHRlcihmaWx0ZXIuaWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24uZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwiZ29Ub0VkaXRpb24oZmlsdGVyKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuZmlsdGVycy5saXN0Lm1vZGlmeScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZHJhZ19pbmRpY2F0b3JcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLWZpbHRlcnNfX25vLWZpbHRlcnNcIj57eyAnQHByeS5maWx0ZXJzLm5vRmlsdGVycycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb1RvQ3JlYXRpb24oKVwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIj57eyAnQHByeS5maWx0ZXJzLmxpc3QuYWRkJyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoY3VycmVudFN0ZXAgPT09IEZpbHRlclN0ZXBzLkNSRUFUSU9OIHx8IGN1cnJlbnRTdGVwID09PSBGaWx0ZXJTdGVwcy5FRElUSU9OKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiby1maWx0ZXJzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwiZmlsdGVyTmFtZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24ubmFtZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWx0ZXJOYW1lXCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLm5hbWVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJmaWx0ZXJUeXBlXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkuZmlsdGVycy5jcmVhdGlvbi50eXBlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICBpZD1cImZpbHRlclR5cGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmZpbHRlcnMuY3JlYXRpb24udHlwZScgfCBpMThuXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJ0eXBlcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci50eXBlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlclR5cGUoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoKGN1cnJlbnRGaWx0ZXJDb21wb25lbnRUeXBlJCB8IGFzeW5jKSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCB1LWRpc3BsYXktZmxleCAtcm93XCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGF0ZS1yYW5nZVwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24uZGF0ZVJhbmdlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgICBpZD1cImRhdGUtcmFuZ2VcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci5oYXNEYXRlUmFuZ2VcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLmN1cnJlbnRPcGVyYXRvcnMkLm5leHQoZ2V0T3BlcmF0b3JzKCkpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnbGlzdCcpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwicG9zc2libGVWYWx1ZXNcIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5maWx0ZXJzLmNyZWF0aW9uLnZhbHVlcycgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cInBvc3NpYmxlVmFsdWVzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyLnBvc3NpYmxlVmFsdWVzXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ2YWxldXIxLCB2YWxldXIyLCB2YWxldXIzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnYXV0b2NvbXBsZXRlJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsaW1pdFwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuY3JlYXRpb24ubGltaXQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJsaW1pdFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBtYXg9XCI1MFwiIFsobmdNb2RlbCldPVwiZmlsdGVyLmxpbWl0XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImF0dHJpYnV0ZXNcIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5maWx0ZXJzLmNyZWF0aW9uLmF0dHJpYnV0ZXMnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgIGlkPVwiYXR0cmlidXRlc1wiXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImF0dHJpYnV0ZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiZmlsdGVyLmF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0QXR0cmlidXRlKCRldmVudClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmZpbHRlcnMuY3JlYXRpb24uYXR0cmlidXRlcycgfCBpMThuXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cImN1c3RvbUlkXCJcbiAgICAgICAgICAgIGJpbmRDbGFzc2VzPVwiY2xhc3Nlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgZm9yPVwib3BlcmF0aW9uc1wiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmZpbHRlcnMuYXR0cmlidXRlcy5vcGVyYXRvcicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJvcGVyYXRpb25zXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJjdXJyZW50T3BlcmF0b3JzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyLm9wZXJhdG9yXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQHByeS5maWx0ZXJzLmF0dHJpYnV0ZXMub3BlcmF0b3InIHwgaTE4blwiXG4gICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgIChjdXJyZW50RmlsdGVyQ29tcG9uZW50VHlwZSQgfCBhc3luYykgPT09ICdsaXN0JyB8fFxuICAgICAgICAgICAgICAoY3VycmVudEZpbHRlckNvbXBvbmVudFR5cGUkIHwgYXN5bmMpID09PSAnYXV0b2NvbXBsZXRlJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9wcnktc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGaWx0ZXIoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiEoZmlsdGVyLm5hbWUgJiYgZmlsdGVyLnR5cGUgJiYgZmlsdGVyLmF0dHJpYnV0ZXMubGVuZ3RoICE9PSAwICYmIGZpbHRlci5vcGVyYXRvcilcIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -9,7 +9,7 @@ export class NamedQueryComponent {
|
|
|
9
9
|
this.store = store;
|
|
10
10
|
this.label = true;
|
|
11
11
|
this.displayCombo = false;
|
|
12
|
-
this.store.dispatch(DataSourceActions.load());
|
|
12
|
+
this.store.dispatch(DataSourceActions.load({}));
|
|
13
13
|
this.namedQueries$ = this.store.select(DashboardSelectors.availableNamedQueries);
|
|
14
14
|
}
|
|
15
15
|
toggle() {
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
32
32
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { label: [{
|
|
33
33
|
type: Input
|
|
34
34
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtcXVlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvdG9vbGJveC9jb21wb25lbnRzL25hbWVkLXF1ZXJ5L25hbWVkLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9uYW1lZC1xdWVyeS9uYW1lZC1xdWVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFPaEcsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSjVCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFJbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFpQixFQUFFLEVBQVU7UUFDckMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUNsRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFpQjtRQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs4R0F0QlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsbUZDVGhDLDByQkFvQkE7OzJGRFhhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7MEVBSWxCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzLCBEYXRhU291cmNlQWN0aW9ucywgTUlNRV9UWVBFX1JFU1VMVFNFVCB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1uYW1lZC1xdWVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYW1lZC1xdWVyeS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmFtZWRRdWVyeUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxhYmVsID0gdHJ1ZTtcbiAgZGlzcGxheUNvbWJvID0gZmFsc2U7XG4gIG5hbWVkUXVlcmllcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmxvYWQoe30pKTtcbiAgICB0aGlzLm5hbWVkUXVlcmllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuYXZhaWxhYmxlTmFtZWRRdWVyaWVzKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmRpc3BsYXlDb21ibyA9ICF0aGlzLmRpc3BsYXlDb21ibztcbiAgfVxuXG4gIGRyYWdTdGFydCgkZXZlbnQ6IERyYWdFdmVudCwgcnM6IHN0cmluZykge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1JFU1VMVFNFVCkpIHtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfUkVTVUxUU0VULCBycyk7XG4gICAgfVxuICB9XG5cbiAgZHJhZ0xlYXZlKCRldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tbmFtZWQtcXVlcnlcIj5cbiAgPGRpdiBjbGFzcz1cImNvbWJvYm94LWNvbnRhaW5lclwiIChkcmFnbGVhdmUpPVwiZHJhZ0xlYXZlKCRldmVudClcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1hY3Rpb25cIiAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZGF0YV91c2FnZVwiPjwvcHJ5LWljb24+XG4gICAgICBAaWYgKGxhYmVsKSB7XG4gICAgICAgIHt7ICdAcHJ5LnRvb2xib3gucmVzdWx0U2V0JyB8IGkxOG4gfX1cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cblxuICAgIEBpZiAoZGlzcGxheUNvbWJvKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY29tYm9ib3hcIiAobW91c2VsZWF2ZSk9XCJ0b2dnbGUoKVwiPlxuICAgICAgICBAZm9yIChycyBvZiBuYW1lZFF1ZXJpZXMkIHwgYXN5bmM7IHRyYWNrIHJzKSB7XG4gICAgICAgICAgPGRpdiBkcmFnZ2FibGU9XCJ0cnVlXCIgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnQoJGV2ZW50LCBycylcIj5cbiAgICAgICAgICAgIHt7IHJzIHwgdHJhbnNsYXRlSWQ6IHsgdHlwZTogJ2RhdGFzb3VyY2UnLCBvdXRwdXQ6ICduYW1lJyB9IHwgYXN5bmMgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|