@provoly/dashboard 1.4.22 → 1.4.24

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.
Files changed (27) hide show
  1. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  2. package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
  3. package/esm2022/lib/core/store/search/search.effects.mjs +10 -5
  4. package/esm2022/lib/core/store/search/search.service.mjs +14 -5
  5. package/esm2022/lib/dashboard/components/dashboard.component.mjs +7 -10
  6. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +4 -2
  7. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +32 -23
  8. package/esm2022/lib/dashboard/resultset-utils.mjs +18 -11
  9. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  10. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +11 -19
  11. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +5 -2
  12. package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +17 -1
  13. package/fesm2022/provoly-dashboard.mjs +144 -105
  14. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  15. package/lib/core/model/manifest.interface.d.ts +7 -0
  16. package/lib/core/store/search/search.actions.d.ts +5 -4
  17. package/lib/core/store/search/search.effects.d.ts +2 -1
  18. package/lib/core/store/search/search.service.d.ts +4 -3
  19. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +3 -9
  20. package/lib/dashboard/resultset-utils.d.ts +1 -0
  21. package/lib/dashboard/store/dashboard.actions.d.ts +5 -3
  22. package/lib/dashboard/store/dashboard.effects.d.ts +3 -3
  23. package/lib/dashboard/store/manifest-utils.class.d.ts +2 -1
  24. package/package.json +43 -43
  25. package/search/search-fulltext/store/search-fulltext.effects.d.ts +1 -1
  26. package/search/search-mono-class/store/search-mono-class.effects.d.ts +1 -1
  27. package/search/search-multi-class/store/search-multi-class.effects.d.ts +1 -1
@@ -4,6 +4,7 @@ import { WidgetFillerComponent } from '../widget-filler/widget-filler.component'
4
4
  import { WidgetPlaceholderComponent } from '../widget-placeholder/widget-placeholder.component';
5
5
  import { DatasourceUtils } from '../../../../core/store/data-source/datasource-utils';
6
6
  import { DataSourceSelectors } from '../../../../core/store/data-source/data-source.selectors';
7
+ import { ManifestUtils } from '../../../store/manifest-utils.class';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@ngrx/store";
9
10
  export const WIDGET_DEFINITION = new InjectionToken('Widgets definition');
@@ -55,23 +56,31 @@ export class WidgetFactoryService {
55
56
  return this.reference$.pipe(map((componentDefs) => !!componentDefs[type]));
56
57
  }
57
58
  datasourcesToAutoLoad(manifest) {
58
- const widgetDefinition = this.reference$.getValue()[manifest.type];
59
- const datasourcesArray = Array.isArray(manifest.datasource ?? [])
60
- ? (manifest.datasource ?? [])
61
- : [manifest.datasource];
62
- return datasourcesArray
63
- .filter((datasource) => {
64
- const matching = this.datasources.find((ds) => ds.id === datasource);
65
- return (!!matching &&
66
- (widgetDefinition.autoLoadDatasource === undefined ||
67
- widgetDefinition.autoLoadDatasource === 'all' ||
68
- (widgetDefinition.autoLoadDatasource === 'geo' && DatasourceUtils.isGeo(matching)) ||
69
- (widgetDefinition.autoLoadDatasource === 'not-geo' && !DatasourceUtils.isGeo(matching))));
59
+ return ManifestUtils.mergeDatasourceRequests(manifest.widgets
60
+ .map((widgetManifest) => {
61
+ const widgetDefinition = this.reference$.getValue()[widgetManifest.type];
62
+ const datasourcesArray = Array.isArray(widgetManifest.datasource ?? [])
63
+ ? (widgetManifest.datasource ?? [])
64
+ : [widgetManifest.datasource];
65
+ return datasourcesArray
66
+ .filter((datasource) => {
67
+ const matching = this.datasources.find((ds) => ds.id === datasource);
68
+ return (!!matching &&
69
+ (widgetDefinition.autoLoadDatasource === undefined ||
70
+ widgetDefinition.autoLoadDatasource === 'all' ||
71
+ (widgetDefinition.autoLoadDatasource === 'geo' && DatasourceUtils.isGeo(matching)) ||
72
+ (widgetDefinition.autoLoadDatasource === 'not-geo' && !DatasourceUtils.isGeo(matching))));
73
+ })
74
+ .map((datasetId) => {
75
+ const matching = this.datasources.find((ds) => ds.id === datasetId);
76
+ return {
77
+ datasetId: datasetId,
78
+ excludeGeo: this.calculateExcludeGeo(widgetManifest, matching),
79
+ linkedItems: manifest.linkedItems
80
+ };
81
+ });
70
82
  })
71
- .map((datasetId) => {
72
- const matching = this.datasources.find((ds) => ds.id === datasetId);
73
- return { datasetId: datasetId, excludeGeo: this.calculateExcludeGeo(manifest, matching) };
74
- });
83
+ .flat());
75
84
  }
76
85
  calculateExcludeGeo(manifest, matching) {
77
86
  if (manifest.excludeGeo === undefined || manifest.excludeGeo === 'widget-type-based') {
@@ -99,16 +108,16 @@ export class WidgetFactoryService {
99
108
  const datasources = [];
100
109
  const aggregates = [];
101
110
  manifest.windows.forEach((windowManifest) => {
111
+ this.datasourcesToAutoLoad(windowManifest).forEach((res) => {
112
+ if (res.datasetId) {
113
+ datasources.push(res);
114
+ }
115
+ });
102
116
  (windowManifest.widgets ?? []).forEach((widgetManifest) => {
103
- this.datasourcesToAutoLoad(widgetManifest).forEach((res) => {
104
- if (res.datasetId) {
105
- datasources.push(res);
106
- }
107
- });
108
117
  this.aggregatesToAutoLoad(widgetManifest).forEach((ds) => aggregates.push(ds));
109
118
  });
110
119
  });
111
- return { datasources, aggregates };
120
+ return { datasources: ManifestUtils.mergeDatasourceRequests(datasources), aggregates };
112
121
  }
113
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetFactoryService, deps: [{ token: i0.Injector }, { token: WIDGET_DEFINITION }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
114
123
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetFactoryService, providedIn: 'root' }); }
@@ -122,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
122
131
  type: Inject,
123
132
  args: [WIDGET_DEFINITION]
124
133
  }] }, { type: i1.Store }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFJL0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ3hCLENBQUM7QUFLRixNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsUUFBa0IsRUFDQyxTQUE4QyxFQUNqRSxLQUFZO1FBRlosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVnRCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBc0M7WUFDcEUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVB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LFdBQVcsQ0FDL0csQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUF3QjtRQUMzQyxNQUFNLFdBQVcsR0FBaUQsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUVoQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFDLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDeEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQStDLEVBQUUsRUFBRTtvQkFDckcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBeEhVLG9CQUFvQiwwQ0FVckIsaUJBQWlCO2tIQVZoQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHbG9iYWxNYW5pZmVzdCwgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZpbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1maWxsZXIvd2lkZ2V0LWZpbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtcGxhY2Vob2xkZXIvd2lkZ2V0LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXREZWZpbml0aW9uLCBXaWRnZXRMYXp5RGVmaW5pdGlvbiwgV2lkZ2V0U3RhdGljRGVmaW5pdGlvbiB9IGZyb20gJy4vd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGFzb3VyY2VVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBXSURHRVRfREVGSU5JVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdXaWRnZXRzIGRlZmluaXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IE5PTl9FWENMVURFX0dFT19XSURHRVRfVFlQRVMgPSB7XG4gIHZhbHVlczogWydtYXAnLCAndGlsZSddXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRGYWN0b3J5U2VydmljZSB7XG4gIHJlZmVyZW5jZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9Pih7XG4gICAgcGxhY2Vob2xkZXI6IHsgbmFtZTogJ3BsYWNlaG9sZGVyJywgY29tcG9uZW50OiBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCB9LFxuICAgIGZpbGxlcjogeyBuYW1lOiAnZmlsbGVyJywgY29tcG9uZW50OiBXaWRnZXRGaWxsZXJDb21wb25lbnQgfVxuICB9KTtcbiAgbW9kdWxlUmVmQ2FjaGUgPSB7fSBhcyB7IFttYW5pZmVzdFR5cGU6IHN0cmluZ106IFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD4gfTtcbiAgZGF0YXNvdXJjZXM6IERhdGFTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoV0lER0VUX0RFRklOSVRJT04pIHJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy5wdXREZWZpbml0aW9ucyhyZWZlcmVuY2UpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpLnN1YnNjcmliZSgoZGF0YXNvdXJjZXMpID0+ICh0aGlzLmRhdGFzb3VyY2VzID0gZGF0YXNvdXJjZXMpKTtcbiAgfVxuXG4gIHJlc29sdmVDb21wb25lbnQobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KSB7XG4gICAgaWYgKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIHJldHVybiBvZih0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKTtcbiAgICB9XG4gICAgaWYgKCEhbWFuaWZlc3QgJiYgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICh0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXS5sb2FkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgICB0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXSBhcyBXaWRnZXRTdGF0aWNEZWZpbml0aW9uXG4gICAgICAgICkuY29tcG9uZW50O1xuICAgICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0TGF6eURlZmluaXRpb24pLmxvYWQoKS50aGVuKChmbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IGZuKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbJ3BsYWNlaG9sZGVyJ10gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgKS5jb21wb25lbnQ7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwdXREZWZpbml0aW9ucyhkZWZpbml0aW9uczogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0pIHtcbiAgICB0aGlzLnJlZmVyZW5jZSQubmV4dCh7XG4gICAgICAuLi50aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKSxcbiAgICAgIC4uLmRlZmluaXRpb25zXG4gICAgfSk7XG4gIH1cblxuICBpc01vZHVsZUxvYWRlZCh0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2UkLnBpcGUobWFwKChjb21wb25lbnREZWZzKSA9PiAhIWNvbXBvbmVudERlZnNbdHlwZV0pKTtcbiAgfVxuXG4gIGRhdGFzb3VyY2VzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5XG4gICAgICAuZmlsdGVyKChkYXRhc291cmNlKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nID0gdGhpcy5kYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGRhdGFzb3VyY2UpITtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAhIW1hdGNoaW5nICYmXG4gICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnYWxsJyB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnZ2VvJyAmJiBEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnbm90LWdlbycgJiYgIURhdGFzb3VyY2VVdGlscy5pc0dlbyhtYXRjaGluZykpKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGRhdGFzZXRJZCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc2V0SWQpITtcbiAgICAgICAgcmV0dXJuIHsgZGF0YXNldElkOiBkYXRhc2V0SWQsIGV4Y2x1ZGVHZW86IHRoaXMuY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdCwgbWF0Y2hpbmcpIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nOiBOYW1lZFF1ZXJ5IHwgRGF0YXNldCkge1xuICAgIGlmIChtYW5pZmVzdC5leGNsdWRlR2VvID09PSB1bmRlZmluZWQgfHwgbWFuaWZlc3QuZXhjbHVkZUdlbyA9PT0gJ3dpZGdldC10eXBlLWJhc2VkJykge1xuICAgICAgcmV0dXJuICFOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTLnZhbHVlcy5pbmNsdWRlcyhtYW5pZmVzdC50eXBlKTtcbiAgICB9XG4gICAgc3dpdGNoIChtYW5pZmVzdC5leGNsdWRlR2VvKSB7XG4gICAgICBjYXNlICdleGNsdWRlLWFsbCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1ub25lJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1nZW8nOlxuICAgICAgICByZXR1cm4gRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICAgIGNhc2UgJ2V4Y2x1ZGUtbm90LWdlbyc6XG4gICAgICAgIHJldHVybiAhRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZ2dyZWdhdGVzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5LmZpbHRlcihcbiAgICAgICgpID0+IHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHwgd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09ICdhZ2dyZWdhdGUnXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdHNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCkge1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzOiB7IGRhdGFzZXRJZDogc3RyaW5nOyBleGNsdWRlR2VvOiBib29sZWFuIH1bXSA9IFtdO1xuICAgIGNvbnN0IGFnZ3JlZ2F0ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBtYW5pZmVzdC53aW5kb3dzLmZvckVhY2goKHdpbmRvd01hbmlmZXN0KSA9PiB7XG4gICAgICAod2luZG93TWFuaWZlc3Qud2lkZ2V0cyA/PyBbXSkuZm9yRWFjaCgod2lkZ2V0TWFuaWZlc3QpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKHJlczogeyBkYXRhc2V0SWQ6IHN0cmluZzsgZXhjbHVkZUdlbzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcy5kYXRhc2V0SWQpIHtcbiAgICAgICAgICAgIGRhdGFzb3VyY2VzLnB1c2gocmVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWdncmVnYXRlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKGRzOiBzdHJpbmcpID0+IGFnZ3JlZ2F0ZXMucHVzaChkcykpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBkYXRhc291cmNlcywgYWdncmVnYXRlcyB9O1xuICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRy9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNVLFFBQWtCLEVBQ0MsU0FBOEMsRUFDakUsS0FBWTtRQUZaLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVZ0QixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQXNDO1lBQ3BFLFdBQVcsRUFBRSxF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QiwwQ0FVckIsaUJBQWlCO2tIQVZoQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgRGF0YXNvdXJjZVJlcXVlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZpbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1maWxsZXIvd2lkZ2V0LWZpbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtcGxhY2Vob2xkZXIvd2lkZ2V0LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXREZWZpbml0aW9uLCBXaWRnZXRMYXp5RGVmaW5pdGlvbiwgV2lkZ2V0U3RhdGljRGVmaW5pdGlvbiB9IGZyb20gJy4vd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGFzb3VyY2VVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBNYW5pZmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvbWFuaWZlc3QtdXRpbHMuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgV0lER0VUX0RFRklOSVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignV2lkZ2V0cyBkZWZpbml0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTID0ge1xuICB2YWx1ZXM6IFsnbWFwJywgJ3RpbGUnXVxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RmFjdG9yeVNlcnZpY2Uge1xuICByZWZlcmVuY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IFdpZGdldERlZmluaXRpb24gfT4oe1xuICAgIHBsYWNlaG9sZGVyOiB7IG5hbWU6ICdwbGFjZWhvbGRlcicsIGNvbXBvbmVudDogV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSxcbiAgICBmaWxsZXI6IHsgbmFtZTogJ2ZpbGxlcicsIGNvbXBvbmVudDogV2lkZ2V0RmlsbGVyQ29tcG9uZW50IH1cbiAgfSk7XG4gIG1vZHVsZVJlZkNhY2hlID0ge30gYXMgeyBbbWFuaWZlc3RUeXBlOiBzdHJpbmddOiBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+IH07XG4gIGRhdGFzb3VyY2VzOiBEYXRhU291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KFdJREdFVF9ERUZJTklUSU9OKSByZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlXG4gICkge1xuICAgIHRoaXMucHV0RGVmaW5pdGlvbnMocmVmZXJlbmNlKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzKS5zdWJzY3JpYmUoKGRhdGFzb3VyY2VzKSA9PiAodGhpcy5kYXRhc291cmNlcyA9IGRhdGFzb3VyY2VzKSk7XG4gIH1cblxuICByZXNvbHZlQ29tcG9uZW50KG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCkge1xuICAgIGlmICh0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICAgIGlmICghIW1hbmlmZXN0ICYmIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0ubG9hZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgICApLmNvbXBvbmVudDtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgKHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdIGFzIFdpZGdldExhenlEZWZpbml0aW9uKS5sb2FkKCkudGhlbigoZm4pID0+IHtcbiAgICAgICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSBmbih0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpWydwbGFjZWhvbGRlciddIGFzIFdpZGdldFN0YXRpY0RlZmluaXRpb25cbiAgICAgICkuY29tcG9uZW50O1xuICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHV0RGVmaW5pdGlvbnMoZGVmaW5pdGlvbnM6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UkLm5leHQoe1xuICAgICAgLi4udGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKCksXG4gICAgICAuLi5kZWZpbml0aW9uc1xuICAgIH0pO1xuICB9XG5cbiAgaXNNb2R1bGVMb2FkZWQodHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlJC5waXBlKG1hcCgoY29tcG9uZW50RGVmcykgPT4gISFjb21wb25lbnREZWZzW3R5cGVdKSk7XG4gIH1cblxuICBkYXRhc291cmNlc1RvQXV0b0xvYWQobWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0KSB7XG4gICAgcmV0dXJuIE1hbmlmZXN0VXRpbHMubWVyZ2VEYXRhc291cmNlUmVxdWVzdHMoXG4gICAgICBtYW5pZmVzdC53aWRnZXRzXG4gICAgICAgIC5tYXAoKHdpZGdldE1hbmlmZXN0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgd2lkZ2V0RGVmaW5pdGlvbiA9IHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW3dpZGdldE1hbmlmZXN0LnR5cGVdO1xuICAgICAgICAgIGNvbnN0IGRhdGFzb3VyY2VzQXJyYXk6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh3aWRnZXRNYW5pZmVzdC5kYXRhc291cmNlID8/IFtdKVxuICAgICAgICAgICAgPyAoKHdpZGdldE1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pIGFzIHN0cmluZ1tdKVxuICAgICAgICAgICAgOiAoW3dpZGdldE1hbmlmZXN0LmRhdGFzb3VyY2VdIGFzIHN0cmluZ1tdKTtcblxuICAgICAgICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5XG4gICAgICAgICAgICAuZmlsdGVyKChkYXRhc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nID0gdGhpcy5kYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGRhdGFzb3VyY2UpITtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAhIW1hdGNoaW5nICYmXG4gICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgIHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnYWxsJyB8fFxuICAgICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnZ2VvJyAmJiBEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSB8fFxuICAgICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnbm90LWdlbycgJiYgIURhdGFzb3VyY2VVdGlscy5pc0dlbyhtYXRjaGluZykpKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKGRhdGFzZXRJZCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc2V0SWQpITtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkYXRhc2V0SWQ6IGRhdGFzZXRJZCxcbiAgICAgICAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmNhbGN1bGF0ZUV4Y2x1ZGVHZW8od2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nKSxcbiAgICAgICAgICAgICAgICBsaW5rZWRJdGVtczogbWFuaWZlc3QubGlua2VkSXRlbXNcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuZmxhdCgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nOiBOYW1lZFF1ZXJ5IHwgRGF0YXNldCkge1xuICAgIGlmIChtYW5pZmVzdC5leGNsdWRlR2VvID09PSB1bmRlZmluZWQgfHwgbWFuaWZlc3QuZXhjbHVkZUdlbyA9PT0gJ3dpZGdldC10eXBlLWJhc2VkJykge1xuICAgICAgcmV0dXJuICFOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTLnZhbHVlcy5pbmNsdWRlcyhtYW5pZmVzdC50eXBlKTtcbiAgICB9XG4gICAgc3dpdGNoIChtYW5pZmVzdC5leGNsdWRlR2VvKSB7XG4gICAgICBjYXNlICdleGNsdWRlLWFsbCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1ub25lJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1nZW8nOlxuICAgICAgICByZXR1cm4gRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICAgIGNhc2UgJ2V4Y2x1ZGUtbm90LWdlbyc6XG4gICAgICAgIHJldHVybiAhRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZ2dyZWdhdGVzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5LmZpbHRlcihcbiAgICAgICgpID0+IHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHwgd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09ICdhZ2dyZWdhdGUnXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdHNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCkge1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzOiBEYXRhc291cmNlUmVxdWVzdFtdID0gW107XG4gICAgY29uc3QgYWdncmVnYXRlczogc3RyaW5nW10gPSBbXTtcblxuICAgIG1hbmlmZXN0LndpbmRvd3MuZm9yRWFjaCgod2luZG93TWFuaWZlc3QpID0+IHtcbiAgICAgIHRoaXMuZGF0YXNvdXJjZXNUb0F1dG9Mb2FkKHdpbmRvd01hbmlmZXN0KS5mb3JFYWNoKChyZXM6IHsgZGF0YXNldElkOiBzdHJpbmc7IGV4Y2x1ZGVHZW86IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGFzZXRJZCkge1xuICAgICAgICAgIGRhdGFzb3VyY2VzLnB1c2gocmVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgICh3aW5kb3dNYW5pZmVzdC53aWRnZXRzID8/IFtdKS5mb3JFYWNoKCh3aWRnZXRNYW5pZmVzdCkgPT4ge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZXNUb0F1dG9Mb2FkKHdpZGdldE1hbmlmZXN0KS5mb3JFYWNoKChkczogc3RyaW5nKSA9PiBhZ2dyZWdhdGVzLnB1c2goZHMpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgZGF0YXNvdXJjZXM6IE1hbmlmZXN0VXRpbHMubWVyZ2VEYXRhc291cmNlUmVxdWVzdHMoZGF0YXNvdXJjZXMpLCBhZ2dyZWdhdGVzIH07XG4gIH1cbn1cbiJdfQ==
@@ -5,17 +5,10 @@ export class ResultsetUtils {
5
5
  if (!rs2)
6
6
  return rs1;
7
7
  const rs1Copy = structuredClone(rs1);
8
- Object.keys(rs2.items ?? {}).forEach((key) => {
9
- if (!rs1Copy.items[key]) {
10
- rs1Copy.items[key] = [];
11
- }
12
- rs1Copy.items[key].push(...rs2.items[key]);
13
- });
8
+ this.mergeItems(rs1Copy, rs2, (rs) => rs.items);
9
+ this.mergeItems(rs1Copy, rs2, (rs) => rs.sourceItems ?? {});
10
+ this.mergeItems(rs1Copy, rs2, (rs) => rs.destinationItems ?? {});
14
11
  /* Make items and relations unique in resulted dataset */
15
- Object.keys(rs1Copy.items).forEach((key) => {
16
- const uniqueList = [...new Set(rs1Copy.items[key].map((it) => it.id))];
17
- rs1Copy.items[key] = uniqueList.map((id) => rs1Copy.items[key].find((it) => it.id === id));
18
- });
19
12
  rs1Copy.relations = [
20
13
  ...new Set([
21
14
  ...([...(rs1Copy.relations ?? []), ...(rs2.relations ?? [])] ?? []).map((rel) => `${rel.relationType}|${rel.source}|${rel.destination}`),
@@ -40,5 +33,19 @@ export class ResultsetUtils {
40
33
  rs1Copy.searchAfter = rs2.searchAfter ?? rs1Copy.searchAfter;
41
34
  return rs1Copy;
42
35
  }
36
+ static mergeItems(rs1, rs2, getItemsToMerge) {
37
+ const rs1Items = getItemsToMerge(rs1);
38
+ const rs2Items = getItemsToMerge(rs2);
39
+ Object.keys(rs2Items).forEach((key) => {
40
+ if (!rs1Items[key]) {
41
+ rs1Items[key] = [];
42
+ }
43
+ rs1Items[key].push(...rs2Items[key]);
44
+ });
45
+ Object.keys(rs1Items).forEach((key) => {
46
+ const uniqueList = [...new Set(rs1Items[key].map((it) => it.id))];
47
+ rs1Items[key] = uniqueList.map((id) => (rs1Items ? rs1Items[key].find((it) => it.id === id) : []));
48
+ });
49
+ }
43
50
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0c2V0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFjLEVBQUUsR0FBYztRQUNuRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBYyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCx5REFBeUQ7UUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQVcsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxTQUFTLEdBQUc7WUFDbEIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDVCxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDckUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FDaEU7Z0JBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUYsQ0FBQztTQUNILENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9GLENBQUMsQ0FBZSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckQsQ0FBQztZQUNELE9BQU8sQ0FBQyxLQUFNLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3hELFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsS0FBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVE7YUFDbkUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFFN0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFJlc3VsdHNldFV0aWxzIHtcbiAgc3RhdGljIG1lcmdlUmVzdWx0U2V0cyhyczE6IFJlc3VsdFNldCwgcnMyOiBSZXN1bHRTZXQpOiBSZXN1bHRTZXQge1xuICAgIGlmICghcnMxKSByZXR1cm4gcnMyO1xuICAgIGlmICghcnMyKSByZXR1cm4gcnMxO1xuICAgIGNvbnN0IHJzMUNvcHkgPSBzdHJ1Y3R1cmVkQ2xvbmUocnMxKSBhcyBSZXN1bHRTZXQ7XG4gICAgT2JqZWN0LmtleXMocnMyLml0ZW1zID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5pdGVtc1trZXldKSB7XG4gICAgICAgIHJzMUNvcHkuaXRlbXNba2V5XSA9IFtdO1xuICAgICAgfVxuICAgICAgcnMxQ29weS5pdGVtc1trZXldLnB1c2goLi4ucnMyLml0ZW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgLyogTWFrZSBpdGVtcyBhbmQgcmVsYXRpb25zIHVuaXF1ZSBpbiByZXN1bHRlZCBkYXRhc2V0ICovXG4gICAgT2JqZWN0LmtleXMocnMxQ29weS5pdGVtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCB1bmlxdWVMaXN0ID0gWy4uLm5ldyBTZXQocnMxQ29weS5pdGVtc1trZXldLm1hcCgoaXQpID0+IGl0LmlkKSldO1xuICAgICAgcnMxQ29weS5pdGVtc1trZXldID0gdW5pcXVlTGlzdC5tYXAoKGlkKSA9PiByczFDb3B5Lml0ZW1zW2tleV0uZmluZCgoaXQpID0+IGl0LmlkID09PSBpZCkpIGFzIEl0ZW1bXTtcbiAgICB9KTtcblxuICAgIHJzMUNvcHkucmVsYXRpb25zID0gW1xuICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgIC4uLihbLi4uKHJzMUNvcHkucmVsYXRpb25zID8/IFtdKSwgLi4uKHJzMi5yZWxhdGlvbnMgPz8gW10pXSA/PyBbXSkubWFwKFxuICAgICAgICAgIChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YFxuICAgICAgICApLFxuICAgICAgICAuLi4ocnMyLnJlbGF0aW9ucyA/PyBbXSkubWFwKChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YClcbiAgICAgIF0pXG4gICAgXS5tYXAoKGtleSkgPT4ge1xuICAgICAgY29uc3Qgc3BsaXR0ZWRLZXkgPSBrZXkuc3BsaXQoJ3wnKTtcbiAgICAgIHJldHVybiB7IHJlbGF0aW9uVHlwZTogc3BsaXR0ZWRLZXlbMF0sIHNvdXJjZTogc3BsaXR0ZWRLZXlbMV0sIGRlc3RpbmF0aW9uOiBzcGxpdHRlZEtleVsyXSB9O1xuICAgIH0pIGFzIFJlbGF0aW9uW107XG5cbiAgICBpZiAoIXJzMUNvcHkuY291bnQpIHtcbiAgICAgIHJzMUNvcHkuY291bnQgPSB7fTtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocnMyLmNvdW50ID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5jb3VudCFba2V5XSkge1xuICAgICAgICByczFDb3B5LmNvdW50IVtrZXldID0geyBjb3VudDogMCwgYWNjdXJhdGU6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJzMUNvcHkuY291bnQhW2tleV0gPSB7XG4gICAgICAgIGNvdW50OiByczFDb3B5LmNvdW50IVtrZXldLmNvdW50ICsgcnMyLmNvdW50IVtrZXldLmNvdW50LFxuICAgICAgICBhY2N1cmF0ZTogcnMxQ29weS5jb3VudCFba2V5XS5hY2N1cmF0ZSAmJiByczIuY291bnQhW2tleV0uYWNjdXJhdGVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByczFDb3B5LnNlYXJjaEFmdGVyID0gcnMyLnNlYXJjaEFmdGVyID8/IHJzMUNvcHkuc2VhcmNoQWZ0ZXI7XG5cbiAgICByZXR1cm4gcnMxQ29weTtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0c2V0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFjLEVBQUUsR0FBYztRQUNuRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVqRSx5REFBeUQ7UUFDekQsT0FBTyxDQUFDLFNBQVMsR0FBRztZQUNsQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNULEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUNyRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENB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LENBQUMsQ0FBQztZQUNsRSxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFXLENBQUM7UUFDL0csQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCB9IGZyb20gJy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgUmVzdWx0c2V0VXRpbHMge1xuICBzdGF0aWMgbWVyZ2VSZXN1bHRTZXRzKHJzMTogUmVzdWx0U2V0LCByczI6IFJlc3VsdFNldCk6IFJlc3VsdFNldCB7XG4gICAgaWYgKCFyczEpIHJldHVybiByczI7XG4gICAgaWYgKCFyczIpIHJldHVybiByczE7XG4gICAgY29uc3QgcnMxQ29weSA9IHN0cnVjdHVyZWRDbG9uZShyczEpO1xuXG4gICAgdGhpcy5tZXJnZUl0ZW1zKHJzMUNvcHksIHJzMiwgKHJzKSA9PiBycy5pdGVtcyk7XG4gICAgdGhpcy5tZXJnZUl0ZW1zKHJzMUNvcHksIHJzMiwgKHJzKSA9PiBycy5zb3VyY2VJdGVtcyA/PyB7fSk7XG4gICAgdGhpcy5tZXJnZUl0ZW1zKHJzMUNvcHksIHJzMiwgKHJzKSA9PiBycy5kZXN0aW5hdGlvbkl0ZW1zID8/IHt9KTtcblxuICAgIC8qIE1ha2UgaXRlbXMgYW5kIHJlbGF0aW9ucyB1bmlxdWUgaW4gcmVzdWx0ZWQgZGF0YXNldCAqL1xuICAgIHJzMUNvcHkucmVsYXRpb25zID0gW1xuICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgIC4uLihbLi4uKHJzMUNvcHkucmVsYXRpb25zID8/IFtdKSwgLi4uKHJzMi5yZWxhdGlvbnMgPz8gW10pXSA/PyBbXSkubWFwKFxuICAgICAgICAgIChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YFxuICAgICAgICApLFxuICAgICAgICAuLi4ocnMyLnJlbGF0aW9ucyA/PyBbXSkubWFwKChyZWwpID0+IGAke3JlbC5yZWxhdGlvblR5cGV9fCR7cmVsLnNvdXJjZX18JHtyZWwuZGVzdGluYXRpb259YClcbiAgICAgIF0pXG4gICAgXS5tYXAoKGtleSkgPT4ge1xuICAgICAgY29uc3Qgc3BsaXR0ZWRLZXkgPSBrZXkuc3BsaXQoJ3wnKTtcbiAgICAgIHJldHVybiB7IHJlbGF0aW9uVHlwZTogc3BsaXR0ZWRLZXlbMF0sIHNvdXJjZTogc3BsaXR0ZWRLZXlbMV0sIGRlc3RpbmF0aW9uOiBzcGxpdHRlZEtleVsyXSB9O1xuICAgIH0pIGFzIFJlbGF0aW9uW107XG5cbiAgICBpZiAoIXJzMUNvcHkuY291bnQpIHtcbiAgICAgIHJzMUNvcHkuY291bnQgPSB7fTtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMocnMyLmNvdW50ID8/IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghcnMxQ29weS5jb3VudCFba2V5XSkge1xuICAgICAgICByczFDb3B5LmNvdW50IVtrZXldID0geyBjb3VudDogMCwgYWNjdXJhdGU6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJzMUNvcHkuY291bnQhW2tleV0gPSB7XG4gICAgICAgIGNvdW50OiByczFDb3B5LmNvdW50IVtrZXldLmNvdW50ICsgcnMyLmNvdW50IVtrZXldLmNvdW50LFxuICAgICAgICBhY2N1cmF0ZTogcnMxQ29weS5jb3VudCFba2V5XS5hY2N1cmF0ZSAmJiByczIuY291bnQhW2tleV0uYWNjdXJhdGVcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByczFDb3B5LnNlYXJjaEFmdGVyID0gcnMyLnNlYXJjaEFmdGVyID8/IHJzMUNvcHkuc2VhcmNoQWZ0ZXI7XG5cbiAgICByZXR1cm4gcnMxQ29weTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1lcmdlSXRlbXMoXG4gICAgcnMxOiBSZXN1bHRTZXQsXG4gICAgcnMyOiBSZXN1bHRTZXQsXG4gICAgZ2V0SXRlbXNUb01lcmdlOiAocnM6IFJlc3VsdFNldCkgPT4ge1xuICAgICAgW2tleTogc3RyaW5nXTogSXRlbVtdO1xuICAgIH1cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcnMxSXRlbXMgPSBnZXRJdGVtc1RvTWVyZ2UocnMxKTtcbiAgICBjb25zdCByczJJdGVtcyA9IGdldEl0ZW1zVG9NZXJnZShyczIpO1xuXG4gICAgT2JqZWN0LmtleXMocnMySXRlbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFyczFJdGVtc1trZXldKSB7XG4gICAgICAgIHJzMUl0ZW1zW2tleV0gPSBbXTtcbiAgICAgIH1cbiAgICAgIHJzMUl0ZW1zW2tleV0ucHVzaCguLi5yczJJdGVtc1trZXldKTtcbiAgICB9KTtcblxuICAgIE9iamVjdC5rZXlzKHJzMUl0ZW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHVuaXF1ZUxpc3QgPSBbLi4ubmV3IFNldChyczFJdGVtc1trZXldLm1hcCgoaXQpID0+IGl0LmlkKSldO1xuICAgICAgcnMxSXRlbXNba2V5XSA9IHVuaXF1ZUxpc3QubWFwKChpZCkgPT4gKHJzMUl0ZW1zID8gcnMxSXRlbXNba2V5XS5maW5kKChpdCkgPT4gaXQuaWQgPT09IGlkKSA6IFtdKSkgYXMgSXRlbVtdO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -89,4 +89,4 @@ export const DashboardActions = {
89
89
  triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
90
90
  loadPresentation: createAction('[Dashboard] load presentation', props())
91
91
  };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBNkJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHJlcXVlc3RNYW5pZmVzdHNUb0VtaXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcHJlLXNhdmUgbWFuaWZlc3QsIGFza2luZyBhbGwgd2lkZ2V0cyB0byBlbWl0JyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNb3JlSXRlbXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgbW9yZSBpdGVtcycsIHByb3BzPHsgaWQ6IHN0cmluZzsgd2lkZ2V0VHlwZTogc3RyaW5nIH0+KCkpLFxuICBlbmRMb2FkaW5nOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGVuZCBsb2FkaW5nJyksXG4gIHVwZGF0ZVN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIHN0YXRpY01hbmlmZXN0JyxcbiAgICBwcm9wczx7IHN0YXRpY01hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PigpXG4gICksXG4gIGxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIG1hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkQW5kQWN0aXZhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIGFuZCBhY3RpdmF0ZSBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZG93bmxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkb3dubG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+KCkpLFxuICBjb25maXJtTWFuaWZlc3REZWxldGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjb25maXJtIG1hbmlmZXN0IGRlbGV0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkZWxldGluZyBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgc2F2ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNhdmUgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG1hbmlmZXN0PzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBpbWFnZT86IHN0cmluZztcbiAgICAgIG1ldGFkYXRhPzogeyBtZXRhZGF0YURlZklkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICAgICAgYWNjZXNzUmlnaHRzQnlHcm91cD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbj86IHN0cmluZztcbiAgICB9PigpXG4gICksXG4gIHNvbHZlQ29sbGlzaW9uczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzb2x2aW5nIGNvbGxpc2lvbnMnKSxcbiAgY2xlYXJNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjbGVhciBtYW5pZmVzdCcpLFxuICBmb2xsb3dNYW5pZmVzdFJvdXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZvbGxvdyBtYW5pZmVzdCByb3V0ZScpLFxuICBtb3ZlV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1vdmluZyB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXI7IHRhcmdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIG1heGltaXplV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1heGltaXplIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgYXNzZXJ0UmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBhc3NlcnQgcmVzdWx0U2V0JywgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0IH0+KCkpLFxuICB1cGRhdGVSZXN1bHRTZXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbmFtZWQgcmVzdWx0U2V0IChub3QtYWN0aXZlLWFjdGlvbiknLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgcmVzdWx0U2V0OiBSZXN1bHRTZXQ7IHBhcmFtcz86IHN0cmluZzsgbmV4dD86IGJvb2xlYW4gfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgcmVtb3ZlUmVsYXRpb25zRnJvbVJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIHJlbGF0aW9ucyBmcm9tIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyByZWxhdGlvbjogUmVsYXRpb24gfT4oKVxuICApLFxuICBhZGRJdGVtVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBpdGVtIHRvIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpdGVtOiBJdGVtOyByZXN1bHRTZXQ/OiBzdHJpbmcgfT4oKVxuICApLFxuICBzdGFydGluZ01pc3NpbmdWaWV3czogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBvcGVuaW5nIG1pc3Npbmcgdmlld3MgZm9yIG1hbmlmZXN0JyksXG4gIHNldEF2YWlsYWJsZU5hbWVkUXVlcmllczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgYXZhaWxhYmxlIHJzIG5hbWVzJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHNldERlZmF1bHREYXRhc291cmNlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNldCBjdXJyZW50IHJzIG5hbWUnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlRGFzaGJvYXJkUGFyYW1zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNldCBkYXNoYm9hcmQgY2VsbCBwYXJhbXMnLFxuICAgIHByb3BzPHsgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+IH0+KClcbiAgKSxcbiAgdG9nZ2xlRWRpdGlvbk1vZGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gdG9nZ2xlIGVkaXRpb24gbW9kZScsIHByb3BzPHsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW0nLCBwcm9wczx7IGlkOiBzdHJpbmc7IGN1bXVsYXRpdmU6IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdE1hbnk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW1zJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBpbnZlcnRTZWxlY3Rpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaW52ZXJ0IHNlbGVjdGlvbicpLFxuICBmZXRjaE9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGZldGNoIG9iamVjdHMgZGV0YWlscycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIG9iamVjdHMgZGV0YWlscycsXG4gICAgcHJvcHM8eyBsaXN0OiB7IFtpZDogc3RyaW5nXTogSXRlbSB9IH0+KClcbiAgKSxcbiAgZXhwbG9yZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpc29sYXRlIGluIGRhdGEgc2V0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZXRhaWw6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGRldGFpbCB2aWV3JywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBwcm94aW1pdHk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gcHJveGltaXR5IHNlYXJjaCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgdGFyZ2V0UmVzdWx0U2V0OiBzdHJpbmcgfT4oKSksXG4gIG11bHRpU25hY2tCYXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZGlzcGxheSBzbmFjayBtZXNzYWdlJywgcHJvcHM8eyBtZXNzYWdlOiBQcnlTbmFja01lc3NhZ2UgfT4oKSksXG4gIHF1aWNrT3JkZXI6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcXVpY2sgb3JkZXInLFxuICAgIHByb3BzPHsgZGF0YXNvdXJjZUlkOiBzdHJpbmc7IGF0dHJpYnV0ZTogc3RyaW5nOyBhc2M6IE9yZGVyVmFsdWUgfT4oKVxuICApLFxuICBzZXRHcmlkTGF5b3V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNldCBncmlkIGxheW91dCcsIHByb3BzPHsgbGF5b3V0OiBzdHJpbmcgfT4oKSksXG4gIHByb3BhZ2F0ZUdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgY2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdDsgcmFuazogbnVtYmVyIH0+KClcbiAgKSxcbiAgY3JlYXRlVGFiOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNyZWF0ZSBuZXcgdGFiJyksXG4gIHJlc3RvcmVJbml0aWFsTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVzdG9yaW5nIG1pc3NpbmcgdGFicycpLFxuICBzZXRGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcnM6IEZpbHRlcltdIH0+KCkpLFxuICB1cGRhdGVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcjogRmlsdGVyIH0+KCkpLFxuICByZW1vdmVGaWx0ZXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlciBpbiBwcmVzZW50YXRpb24nLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHJlbW92ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlcnMnKSxcbiAgdXBkYXRlRmlsdGVyVmFsdWU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGZpbHRlciB2YWx1ZScsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRhc291cmNlSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGNsZWFyQWxsRmlsdGVyVmFsdWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNsZWFyIGFsbCBmaWx0ZXIgdmFsdWVzJyksXG4gIGRpc3BhdGNoRmlsdGVyczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBhcHBseSBmaWx0ZXJzIHRvIHByZXNlbnRhdGlvbiBkYXRhc291cmNlcycsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0IH0+KClcbiAgKSxcbiAgcmVzZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gUmVzZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55OyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXZnNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3IgcG9pbnQnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IHN0eWxlOiBzdHJpbmcgfT4oKVxuICApLFxuICBnZXRXZnNGZWF0dXJlc0ZvclBvaW50U3RhY2tUb29sdGlwczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3Igc2hvd2luZyBzdGFjayB0b29sdGlwcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gKGJ1cykgVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBWaWV3TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKSxcbiAgZ2V0Q2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBjYXBhYmlsaXR5JywgcHJvcHM8eyB1cmw6IHN0cmluZzsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICB1cGRhdGVDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBTdG9yZSBXbXMgY2FwYWJpbGl0eScsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgY2FwYWJpbGl0eTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0+KClcbiAgKSxcbiAgYWRkTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBBZGQgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBEZWxldGUgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgdHJpZ2dlckFnZ3JlZ2F0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBUcmlnZ2VyaW5nIGFnZ3JlZ2F0ZXMgZm9yIGRhdGFzb3VyY2UnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGxvYWRQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gbG9hZCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uOyB2aWV3TW9kZTogVmlld01vZGUgfT4oKVxuICApXG59O1xuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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Z0JBQWdCLEVBQUUsWUFBWSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUNqSCxnQkFBZ0IsRUFBRSxZQUFZLENBQzVCLCtCQUErQixFQUMvQixLQUFLLEVBQTZELENBQ25FO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcnlTbmFja01lc3NhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2suaW50ZXJmYWNlJztcbmltcG9ydCB7IERpc3BsYXlPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIExpbmtlZEl0ZW1zT3B0aW9ucyxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcmRlclZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCwgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuL3dtcy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgRGFzaGJvYXJkQ2VsbFBhcmFtcyA9IHtcbiAgZ3JpZFdpZHRoOiBudW1iZXI7XG4gIGdyaWRIZWlnaHQ6IG51bWJlcjtcbiAgZ3JpZEdhcDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGNlbGxIZWlnaHQ6IG51bWJlcjtcbiAgcm93czogbnVtYmVyO1xuICBjZWxsV2lkdGg6IG51bWJlcjtcbiAgb2Zmc2V0TGVmdDogbnVtYmVyO1xuICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgbW9iaWxlTW9kZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIFZpZXdNb2RlIHtcbiAgQ0FUQUxPRyA9ICdjYXRhbG9nJyxcbiAgQ09OU1VMVCA9ICdjb25zdWx0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nLFxuICBFRElUT1IgPSAnZWRpdG9yJyxcbiAgU0VBUkNIID0gJ3NlYXJjaCcsXG4gIENVU1RPTSA9ICdjdXN0b20nXG59XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRBY3Rpb25zID0ge1xuICBqb2luOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGpvaW5lZCcsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIGxlYXZlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGxlYXZlJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlckZldGNoOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIGZldGNoJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0V2l0aG91dEFjdGl2YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYnV0IGRvIG5vdCBhY3RpdmF0ZSBpdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgam9pbicsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgICBwcmVzZW50YXRpb24/OiB7IGN1cnJlbnQ/OiBNYW5pZmVzdERlc2NyaXB0aW9uOyBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7IHZpZXdNb2RlPzogVmlld01vZGUgfTtcbiAgICAgIGRpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucztcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgbGVhdmUnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc2VsZWN0UHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdFByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgdmlld01vZGU/OiBWaWV3TW9kZTtcbiAgICB9PigpXG4gICksXG4gIHNldEluaXRpYWxQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGluaXRpYWwgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgfT4oKVxuICApLFxuICBkZWNsYXJlU2VuZGVySWQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2VsZi11cGRhdGluZyBtYW5pZmVzdCcsIHByb3BzPHsgdGVuYW50czogc3RyaW5nW107IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyBkYXNoYm9hcmQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3QgfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyB3aWRnZXQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3Q7IGluZGV4OiBudW1iZXIgfT4oKVxuICApLFxuICBhZGRXaWRnZXRUb1ByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBhZGQgd2lkZ2V0IHRvIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55OyBhbGVydD86IGJvb2xlYW4gfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRJblByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGUgd2lkZ2V0IGluIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55IH0+KClcbiAgKSxcbiAgcmVxdWVzdEFsbFJvdXRlczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXF1ZXN0aW5nIHJvdXRlIHVwZGF0ZScpLFxuICByZXF1ZXN0TWFuaWZlc3RzVG9FbWl0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHByZS1zYXZlIG1hbmlmZXN0LCBhc2tpbmcgYWxsIHdpZGdldHMgdG8gZW1pdCcpLFxuICB1cGRhdGVSb3V0ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIHJvdXRlJywgcHJvcHM8eyBzZW5kZXI/OiBzdHJpbmc7IHJvdXRlOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBhdmFpbGFibGUgbWFuaWZlc3RzJyksXG4gIHNldFJlZnJlc2hSYXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldHRpbmcgcmVmcmVzaFJhdGUnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHJhdGU6IG51bWJlciB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBtYW5pZmVzdHMgbGlzdCcsXG4gICAgcHJvcHM8eyBtYW5pZmVzdHM6IE1hbmlmZXN0RGVzY3JpcHRpb25bXSB9PigpXG4gICksXG4gIGZldGNoU3RhdGljTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgc3RhdGljTWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTW9yZUl0ZW1zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIG1vcmUgaXRlbXMnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHdpZGdldFR5cGU6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb24/OiBzdHJpbmc7XG4gICAgfT4oKVxuICApLFxuICBzb2x2ZUNvbGxpc2lvbnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc29sdmluZyBjb2xsaXNpb25zJyksXG4gIGNsZWFyTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY2xlYXIgbWFuaWZlc3QnKSxcbiAgZm9sbG93TWFuaWZlc3RSb3V0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmb2xsb3cgbWFuaWZlc3Qgcm91dGUnKSxcbiAgbW92ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtb3Zpbmcgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyOyB0YXJnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBtYXhpbWl6ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtYXhpbWl6ZSB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIGFzc2VydFJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gYXNzZXJ0IHJlc3VsdFNldCcsXG4gICAgcHJvcHM8e1xuICAgICAgc3RhdGljTWFuaWZlc3Q/OiBEYXNoYm9hcmRNYW5pZmVzdCB8IG51bGw7XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVSZXN1bHRTZXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbmFtZWQgcmVzdWx0U2V0IChub3QtYWN0aXZlLWFjdGlvbiknLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgcmVzdWx0U2V0OiBSZXN1bHRTZXQ7IHBhcmFtcz86IHN0cmluZzsgbmV4dD86IGJvb2xlYW4gfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgcmVtb3ZlUmVsYXRpb25zRnJvbVJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIHJlbGF0aW9ucyBmcm9tIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyByZWxhdGlvbjogUmVsYXRpb24gfT4oKVxuICApLFxuICBhZGRJdGVtVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBpdGVtIHRvIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpdGVtOiBJdGVtOyByZXN1bHRTZXQ/OiBzdHJpbmcgfT4oKVxuICApLFxuICBzdGFydGluZ01pc3NpbmdWaWV3czogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBvcGVuaW5nIG1pc3Npbmcgdmlld3MgZm9yIG1hbmlmZXN0JyksXG4gIHNldEF2YWlsYWJsZU5hbWVkUXVlcmllczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgYXZhaWxhYmxlIHJzIG5hbWVzJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHNldERlZmF1bHREYXRhc291cmNlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNldCBjdXJyZW50IHJzIG5hbWUnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlRGFzaGJvYXJkUGFyYW1zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNldCBkYXNoYm9hcmQgY2VsbCBwYXJhbXMnLFxuICAgIHByb3BzPHsgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+IH0+KClcbiAgKSxcbiAgdG9nZ2xlRWRpdGlvbk1vZGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gdG9nZ2xlIGVkaXRpb24gbW9kZScsIHByb3BzPHsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW0nLCBwcm9wczx7IGlkOiBzdHJpbmc7IGN1bXVsYXRpdmU6IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdE1hbnk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW1zJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBpbnZlcnRTZWxlY3Rpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaW52ZXJ0IHNlbGVjdGlvbicpLFxuICBmZXRjaE9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGZldGNoIG9iamVjdHMgZGV0YWlscycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIG9iamVjdHMgZGV0YWlscycsXG4gICAgcHJvcHM8eyBsaXN0OiB7IFtpZDogc3RyaW5nXTogSXRlbSB9IH0+KClcbiAgKSxcbiAgZXhwbG9yZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpc29sYXRlIGluIGRhdGEgc2V0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZXRhaWw6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGRldGFpbCB2aWV3JywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBwcm94aW1pdHk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gcHJveGltaXR5IHNlYXJjaCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgdGFyZ2V0UmVzdWx0U2V0OiBzdHJpbmcgfT4oKSksXG4gIG11bHRpU25hY2tCYXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZGlzcGxheSBzbmFjayBtZXNzYWdlJywgcHJvcHM8eyBtZXNzYWdlOiBQcnlTbmFja01lc3NhZ2UgfT4oKSksXG4gIHF1aWNrT3JkZXI6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcXVpY2sgb3JkZXInLFxuICAgIHByb3BzPHtcbiAgICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nO1xuICAgICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgICBhc2M6IE9yZGVyVmFsdWU7XG4gICAgICBsaW5rZWRJdGVtcz86IExpbmtlZEl0ZW1zT3B0aW9ucztcbiAgICB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IHN0cmluZyB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVycycpLFxuICB1cGRhdGVGaWx0ZXJWYWx1ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZmlsdGVyIHZhbHVlJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgY2xlYXJBbGxGaWx0ZXJWYWx1ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY2xlYXIgYWxsIGZpbHRlciB2YWx1ZXMnKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyxcbiAgICBwcm9wczx7XG4gICAgICBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0O1xuICAgIH0+KClcbiAgKSxcbiAgcmVzZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gUmVzZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55OyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXZnNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3IgcG9pbnQnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IHN0eWxlOiBzdHJpbmcgfT4oKVxuICApLFxuICBnZXRXZnNGZWF0dXJlc0ZvclBvaW50U3RhY2tUb29sdGlwczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3Igc2hvd2luZyBzdGFjayB0b29sdGlwcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gKGJ1cykgVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBWaWV3TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKSxcbiAgZ2V0Q2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBjYXBhYmlsaXR5JywgcHJvcHM8eyB1cmw6IHN0cmluZzsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICB1cGRhdGVDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBTdG9yZSBXbXMgY2FwYWJpbGl0eScsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgY2FwYWJpbGl0eTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0+KClcbiAgKSxcbiAgYWRkTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBBZGQgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBEZWxldGUgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgdHJpZ2dlckFnZ3JlZ2F0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBUcmlnZ2VyaW5nIGFnZ3JlZ2F0ZXMgZm9yIGRhdGFzb3VyY2UnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGxvYWRQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gbG9hZCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uOyB2aWV3TW9kZTogVmlld01vZGUgfT4oKVxuICApXG59O1xuIl19