@eo-sdk/client 10.5.0-rc.1 → 10.6.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +14 -0
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +1 -2
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +1 -0
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +1 -2
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/clipboard/clipboard-action.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +15 -7
- package/assets/_default/i18n/en.json +24 -16
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +58 -6
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +97 -69
- package/esm2020/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +9 -4
- package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +3 -10
- package/esm2020/app/eo-client/settings/settings.component.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +2 -3
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +3 -2
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +1 -1
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
- package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +1 -1
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
- package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +3 -3
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +6 -6
- package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +6 -1
- package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +6 -1
- package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +3 -3
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +12 -2
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +194 -120
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +12 -2
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +188 -110
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +1 -0
- package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +1 -1
|
@@ -45,8 +45,7 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
45
45
|
this.refreshingRequest = true;
|
|
46
46
|
if (this._widgetConfig?.formValue.countTile) {
|
|
47
47
|
let count = new Map();
|
|
48
|
-
this.
|
|
49
|
-
this.appSearchService.aggregate().valueOf();
|
|
48
|
+
this._query = this.searchService.buildQuery(this._query);
|
|
50
49
|
this.searchService.getSearchState({ aggs: { type: {} }, ...this._query.getQueryJson() })
|
|
51
50
|
.pipe(map(state => {
|
|
52
51
|
return count = state.aggregations.type;
|
|
@@ -68,8 +67,7 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
68
67
|
this._query.addSortOption(this._widgetConfig?.formValue.sortField, 'asc');
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
|
-
this.
|
|
72
|
-
this.appSearchService.aggregate();
|
|
70
|
+
this._query = this.searchService.buildQuery(this._query);
|
|
73
71
|
this.searchService
|
|
74
72
|
.executeQuery(this._query.getQueryJson(), false, this._widgetConfig?.formValue.size)
|
|
75
73
|
.pipe(map(result => {
|
|
@@ -102,11 +100,6 @@ let HitlistWidgetComponent = class HitlistWidgetComponent {
|
|
|
102
100
|
this.executeQuery();
|
|
103
101
|
});
|
|
104
102
|
}
|
|
105
|
-
clearQuery(clearAfterExecute) {
|
|
106
|
-
if (clearAfterExecute) {
|
|
107
|
-
this.appSearchService.clearQuery();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
103
|
onItemClick(item, event) {
|
|
111
104
|
const url = window.location.href.split('/dashboard')[0] + '/object/' + item.id + '?type=' + item.type.name + '\n';
|
|
112
105
|
window.open(url, event?.ctrlKey || this.editMode ? '_blank' : '_self');
|
|
@@ -134,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
134
127
|
}], widgetConfig: [{
|
|
135
128
|
type: Input
|
|
136
129
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBK0UsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBUTVCLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBU2pDLFlBQ1UsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixvQkFBMEM7UUFKMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUczQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRnZCLENBQUM7SUFJSixJQUFhLFlBQVksQ0FBQyxDQUFXO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFD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ZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtIaXRsaXN0Q291bnRUaWxlUmVzdWx0LCBJSGl0bGlzdH0gZnJvbSAnLi9JSGl0bGlzdCc7XG5pbXBvcnQge1NlYXJjaFF1ZXJ5LCBTZWFyY2hTZXJ2aWNlLCBTdG9yZWRRdWVyaWVzU2VydmljZSwgU3RvcmVkUXVlcnksIFN5c3RlbVNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtBcHBTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWFyY2gvYXBwLXNlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1oaXRsaXN0LXdpZGdldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXRsaXN0LXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hpdGxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGl0bGlzdFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQge1xuXG4gIGhpdGxpc3RSZXN1bHQ6IFtdO1xuICBwcml2YXRlIF9xdWVyeTogU2VhcmNoUXVlcnk7XG4gIGNvdW50VGlsZVJlc3VsdDogSGl0bGlzdENvdW50VGlsZVJlc3VsdDtcbiAgcmVmcmVzaGluZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSUhpdGxpc3Q7XG4gIHN0b3JlZFF1ZXJ5OiBTdG9yZWRRdWVyeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogSUhpdGxpc3QpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LnN0b3JlZFF1ZXJ5KSB7XG4gICAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5KHRoaXMuX3dpZGdldENvbmZpZy5zdG9yZWRRdWVyeSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgICAgdGhpcy5leGVjdXRlUXVlcnkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGdldFN0b3JlZFF1ZXJ5KGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5nZXRTdG9yZWRRdWVyeShpZCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgdGFwKHN0b3JlZFF1ZXJ5ID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZWRRdWVyeSA9IHN0b3JlZFF1ZXJ5O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkoKSB7XG4gICAgdGhpcy5yZWZyZXNoaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZSkge1xuICAgICAgbGV0IGNvdW50ID0gbmV3IE1hcCgpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuX3F1ZXJ5KTtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5hZ2dyZWdhdGUoKS52YWx1ZU9mKCk7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoU3RhdGUoe2FnZ3M6IHt0eXBlOiB7fX0sIC4uLnRoaXMuX3F1ZXJ5LmdldFF1ZXJ5SnNvbigpfSlcbiAgICAgICAgLnBpcGUobWFwKHN0YXRlID0+IHtcbiAgICAgICAgICByZXR1cm4gY291bnQgPSBzdGF0ZS5hZ2dyZWdhdGlvbnMudHlwZTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNvdW50VGlsZVJlc3VsdCA9IHtjb3VudDogQXJyYXkuZnJvbShjb3VudC52YWx1ZXMoKSkucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MgKyB2YWx1ZSwgMCl9O1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcXVlcnlOYW1lID0gdGhpcy5fcXVlcnkubmFtZTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5uYW1lO1xuICAgICAgdGhpcy5fcXVlcnkuZmllbGRzID0gWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJywgJ2lkJywgJ2NyZWF0ZWQnXTtcbiAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRSZXZlcnQpIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2Rlc2MnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9xdWVyeS5hZGRTb3J0T3B0aW9uKHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNvcnRGaWVsZCwgJ2FzYycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2Uuc2V0UXVlcnkodGhpcy5fcXVlcnkpO1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLmFnZ3JlZ2F0ZSgpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAgIC5leGVjdXRlUXVlcnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCksIGZhbHNlLCB0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zaXplKVxuICAgICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LmhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICd0aXRsZSc6IGhpdC5fc291cmNlLnRpdGxlLFxuICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBoaXQuX3NvdXJjZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgJ3R5cGUnOiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShoaXQuX3NvdXJjZS50eXBlKSxcbiAgICAgICAgICAgICAgJ2lkJzogaGl0Ll9zb3VyY2UuaWQsXG4gICAgICAgICAgICAgICdkYXRlJzogaGl0Ll9zb3VyY2UuY3JlYXRlZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGhpdHMpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5oaXRsaXN0UmVzdWx0ID0gaGl0cztcbiAgICAgICAgICB0aGlzLl9xdWVyeS5uYW1lID0gcXVlcnlOYW1lO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5LnJlbW92ZVNvcnRPcHRpb24odGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0UXVlcnlUb0FwcFNlYXJjaCgpIHtcbiAgICAgIHRoaXMuYXBwU2VhcmNoU2VydmljZS5zZXRRdWVyeSh0aGlzLnN0b3JlZFF1ZXJ5KTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7ICBcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclF1ZXJ5KGNsZWFyQWZ0ZXJFeGVjdXRlKSB7XG4gICAgaWYgKGNsZWFyQWZ0ZXJFeGVjdXRlKSB7XG4gICAgICB0aGlzLmFwcFNlYXJjaFNlcnZpY2UuY2xlYXJRdWVyeSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSXRlbUNsaWNrKGl0ZW0sIGV2ZW50KSB7XG4gICAgY29uc3QgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJy9kYXNoYm9hcmQnKVswXSArICcvb2JqZWN0LycgKyBpdGVtLmlkICsgJz90eXBlPScgKyBpdGVtLnR5cGUubmFtZSArICdcXG4nO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cblxuICBvbkVtaXRRdWVyeUNsaWNrKGV2ZW50KSB7XG4gICAgZGVsZXRlIHRoaXMuX3F1ZXJ5LmZpZWxkcztcbiAgICBjb25zdCB1cmlQYXJhbSA9IGVuY29kZVVSSUNvbXBvbmVudChVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSkpO1xuICAgIGNvbnN0IHVyaVBhcmFtUXVlcnk6IE5hdmlnYXRpb25FeHRyYXMgPSB7cXVlcnlQYXJhbXM6IHsncXVlcnknOiB1cmlQYXJhbX19O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmlQYXJhbVF1ZXJ5LnF1ZXJ5UGFyYW1zKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL3Jlc3VsdD8nICsgcXVlcnlQYXJhbXM7XG4gICAgd2luZG93Lm9wZW4odXJsLCBldmVudD8uY3RybEtleSB8fCB0aGlzLmVkaXRNb2RlID8gJ19ibGFuaycgOiAnX3NlbGYnKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc3RvcmVkUXVlcnlcIj5cbiAgICAgICAgICAgIHt7d2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc3RvcmVkUXVlcnl9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbnMtdGl0bGVcIiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeVwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NhdmVkX3NlYXJjaC5zdmcnXCIgKGNsaWNrKT1cInNldFF1ZXJ5VG9BcHBTZWFyY2goKVwiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5zYXZlZFNlYXJjaEljb24nfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX29wZW5fdGFiLnN2ZydcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVtaXRRdWVyeUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLm9wZW5pbnJlc3VsdGxpc3QnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby53aWRnZXQuaGl0bGlzdC50b29sdGlwLnJlZnJlc2gnfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvaGVhZGVyPlxuXG48bWFpbiBjbGFzcz1cImNvdW50VGlsZVwiICpuZ0lmPVwid2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuY291bnRUaWxlOyBlbHNlIHRwbFJlc3VsdExpc3RcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiY291bnQgY2xyXCI+e3t0aGlzLmNvdW50VGlsZVJlc3VsdD8uY291bnR9fTwvYnV0dG9uPlxuPC9tYWluPlxuXG48bWFpbiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJyZWZyZXNoaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ2xhcmdlJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuPC9tYWluPlxuXG48bmctdGVtcGxhdGUgI3RwbFJlc3VsdExpc3Q+XG4gICAgPG1haW4gY2xhc3M9XCJoaXRsaXN0XCIgKm5nSWY9XCIhcmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInRoaXMud2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeTsgZWxzZSB0cGxFbXB0eVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaSBvZiBoaXRsaXN0UmVzdWx0XCIgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGksICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlZFwiPnt7aS5kYXRlIHwgbG9jYWxlRGF0ZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpLnRpdGxlfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2kuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxlby1pY29uIFtvYmplY3RUeXBlXT1cImkudHlwZVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0cGxFbXB0eT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LnN0b3JlZC5xdWVyaWVzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbWFpbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaGl0bGlzdC13aWRnZXQvaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBK0UsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBUTVCLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBV2pDLFlBQ1UsTUFBYyxFQUNkLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixvQkFBMEM7UUFKMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVAzQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBUXZCLENBQUM7SUFFSixJQUFhLFlBQVksQ0FBQyxDQUFXO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFD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QUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixNQUFNLGFBQWEsR0FBcUIsRUFBQyxXQUFXLEVBQUUsRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O21IQW5IVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5SENoQm5DLHFwRUEwQ0E7QUQxQmEsc0JBQXNCO0lBTmxDLFlBQVksRUFBRTtHQU1GLHNCQUFzQixDQW9IbEM7U0FwSFksc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1CO3VOQWFwQixRQUFRO3NCQUFoQixLQUFLO2dCQVVPLFlBQVk7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0Q29tcG9uZW50fSBmcm9tICdAeXV1dmlzL3dpZGdldC1ncmlkJztcbmltcG9ydCB7SGl0bGlzdENvdW50VGlsZVJlc3VsdCwgSUhpdGxpc3R9IGZyb20gJy4vSUhpdGxpc3QnO1xuaW1wb3J0IHtTZWFyY2hRdWVyeSwgU2VhcmNoU2VydmljZSwgU3RvcmVkUXVlcmllc1NlcnZpY2UsIFN0b3JlZFF1ZXJ5LCBTeXN0ZW1TZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXBwU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VhcmNoL2FwcC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hdmlnYXRpb25FeHRyYXMsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taGl0bGlzdC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaGl0bGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oaXRsaXN0LXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhpdGxpc3RXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0Q29tcG9uZW50IHtcblxuICBoaXRsaXN0UmVzdWx0OiBbXTtcbiAgcHJpdmF0ZSBfcXVlcnk6IFNlYXJjaFF1ZXJ5O1xuICBjb3VudFRpbGVSZXN1bHQ6IEhpdGxpc3RDb3VudFRpbGVSZXN1bHQ7XG4gIHJlZnJlc2hpbmdSZXF1ZXN0OiBib29sZWFuO1xuICBwcml2YXRlIF93aWRnZXRDb25maWc6IElIaXRsaXN0O1xuICBzdG9yZWRRdWVyeTogU3RvcmVkUXVlcnk7XG5cbiAgQElucHV0KCkgZWRpdE1vZGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFNlYXJjaFNlcnZpY2U6IEFwcFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmVkUXVlcmllc1NlcnZpY2U6IFN0b3JlZFF1ZXJpZXNTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IElIaXRsaXN0KSB7XG4gICAgdGhpcy5fd2lkZ2V0Q29uZmlnID0gYztcbiAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5zdG9yZWRRdWVyeSkge1xuICAgICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5zdG9yZWRRdWVyeSk7XG4gICAgICAgIHRoaXMuX3dpZGdldENvbmZpZy5mb3JtVmFsdWUuc3RvcmVkUXVlcnkgPSB0aGlzLnN0b3JlZFF1ZXJ5Lm5hbWU7XG4gICAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgd2lkZ2V0Q29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRDb25maWc7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2UuZ2V0U3RvcmVkUXVlcnkoaWQpLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgIHRhcChzdG9yZWRRdWVyeSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVkUXVlcnkgPSBzdG9yZWRRdWVyeTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZVF1ZXJ5KCkge1xuICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSB0cnVlO1xuICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5jb3VudFRpbGUpIHtcbiAgICAgIGxldCBjb3VudCA9IG5ldyBNYXAoKTtcbiAgICAgIHRoaXMuX3F1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLmJ1aWxkUXVlcnkodGhpcy5fcXVlcnkpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFNlYXJjaFN0YXRlKHthZ2dzOiB7dHlwZToge319LCAuLi50aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKX0pXG4gICAgICAgIC5waXBlKG1hcChzdGF0ZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvdW50ID0gc3RhdGUuYWdncmVnYXRpb25zLnR5cGU7XG4gICAgICAgIH0pKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jb3VudFRpbGVSZXN1bHQgPSB7Y291bnQ6IEFycmF5LmZyb20oY291bnQudmFsdWVzKCkpLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjICsgdmFsdWUsIDApfTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHF1ZXJ5TmFtZSA9IHRoaXMuX3F1ZXJ5Lm5hbWU7XG4gICAgICBkZWxldGUgdGhpcy5fcXVlcnkubmFtZTtcbiAgICAgIHRoaXMuX3F1ZXJ5LmZpZWxkcyA9IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZScsICdpZCcsICdjcmVhdGVkJ107XG4gICAgICBpZiAodGhpcy5fd2lkZ2V0Q29uZmlnPy5mb3JtVmFsdWUuc29ydEZpZWxkKSB7XG4gICAgICAgIGlmICh0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0UmV2ZXJ0KSB7XG4gICAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdkZXNjJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fcXVlcnkuYWRkU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQsICdhc2MnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5fcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2UuYnVpbGRRdWVyeSh0aGlzLl9xdWVyeSk7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgICAgLmV4ZWN1dGVRdWVyeSh0aGlzLl9xdWVyeS5nZXRRdWVyeUpzb24oKSwgZmFsc2UsIHRoaXMuX3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnNpemUpXG4gICAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuaGl0cy5oaXRzLm1hcChoaXQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogaGl0Ll9zb3VyY2UudGl0bGUsXG4gICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IGhpdC5fc291cmNlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAndHlwZSc6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGhpdC5fc291cmNlLnR5cGUpLFxuICAgICAgICAgICAgICAnaWQnOiBoaXQuX3NvdXJjZS5pZCxcbiAgICAgICAgICAgICAgJ2RhdGUnOiBoaXQuX3NvdXJjZS5jcmVhdGVkXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KSlcbiAgICAgICAgLnN1YnNjcmliZSgoaGl0cykgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaGluZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmhpdGxpc3RSZXN1bHQgPSBoaXRzO1xuICAgICAgICAgIHRoaXMuX3F1ZXJ5Lm5hbWUgPSBxdWVyeU5hbWU7XG4gICAgICAgICAgdGhpcy5fcXVlcnkucmVtb3ZlU29ydE9wdGlvbih0aGlzLl93aWRnZXRDb25maWc/LmZvcm1WYWx1ZS5zb3J0RmllbGQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRRdWVyeVRvQXBwU2VhcmNoKCkge1xuICAgICAgdGhpcy5hcHBTZWFyY2hTZXJ2aWNlLnNldFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5nZXRTdG9yZWRRdWVyeSh0aGlzLl93aWRnZXRDb25maWcuc3RvcmVkUXVlcnkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9xdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5idWlsZFF1ZXJ5KHRoaXMuc3RvcmVkUXVlcnkpO1xuICAgICAgdGhpcy5fd2lkZ2V0Q29uZmlnLmZvcm1WYWx1ZS5zdG9yZWRRdWVyeSA9IHRoaXMuc3RvcmVkUXVlcnkubmFtZTtcbiAgICAgIHRoaXMuZXhlY3V0ZVF1ZXJ5KCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtLCBldmVudCkge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcvZGFzaGJvYXJkJylbMF0gKyAnL29iamVjdC8nICsgaXRlbS5pZCArICc/dHlwZT0nICsgaXRlbS50eXBlLm5hbWUgKyAnXFxuJztcbiAgICB3aW5kb3cub3Blbih1cmwsIGV2ZW50Py5jdHJsS2V5IHx8IHRoaXMuZWRpdE1vZGUgPyAnX2JsYW5rJyA6ICdfc2VsZicpO1xuICB9XG5cbiAgb25FbWl0UXVlcnlDbGljayhldmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLl9xdWVyeS5maWVsZHM7XG4gICAgY29uc3QgdXJpUGFyYW0gPSBlbmNvZGVVUklDb21wb25lbnQoVXRpbHMuZm9ybURhdGFTdHJpbmdpZnkodGhpcy5fcXVlcnkuZ2V0UXVlcnlKc29uKCkpKTtcbiAgICBjb25zdCB1cmlQYXJhbVF1ZXJ5OiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3F1ZXJ5JzogdXJpUGFyYW19fTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXModXJpUGFyYW1RdWVyeS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnL2Rhc2hib2FyZCcpWzBdICsgJy9yZXN1bHQ/JyArIHF1ZXJ5UGFyYW1zO1xuICAgIHdpbmRvdy5vcGVuKHVybCwgZXZlbnQ/LmN0cmxLZXkgfHwgdGhpcy5lZGl0TW9kZSA/ICdfYmxhbmsnIDogJ19zZWxmJyk7XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5XCI+XG4gICAgICAgICAgICB7e3dpZGdldENvbmZpZz8uZm9ybVZhbHVlLnN0b3JlZFF1ZXJ5fX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb25zLXRpdGxlXCIgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnlcIj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zYXZlZF9zZWFyY2guc3ZnJ1wiIChjbGljayk9XCJzZXRRdWVyeVRvQXBwU2VhcmNoKClcIlxuICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLndpZGdldC5oaXRsaXN0LnRvb2x0aXAuc2F2ZWRTZWFyY2hJY29uJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19vcGVuX3RhYi5zdmcnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FbWl0UXVlcnlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5vcGVuaW5yZXN1bHRsaXN0J3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIiAoY2xpY2spPVwicmVmcmVzaCgpXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ud2lkZ2V0LmhpdGxpc3QudG9vbHRpcC5yZWZyZXNoJ3wgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2hlYWRlcj5cblxuPG1haW4gY2xhc3M9XCJjb3VudFRpbGVcIiAqbmdJZj1cIndpZGdldENvbmZpZz8uZm9ybVZhbHVlLmNvdW50VGlsZTsgZWxzZSB0cGxSZXN1bHRMaXN0XCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImNvdW50IGNsclwiPnt7dGhpcy5jb3VudFRpbGVSZXN1bHQ/LmNvdW50fX08L2J1dHRvbj5cbjwvbWFpbj5cblxuPG1haW4gY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwicmVmcmVzaGluZ1JlcXVlc3RcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvbWFpbj5cblxuPG5nLXRlbXBsYXRlICN0cGxSZXN1bHRMaXN0PlxuICAgIDxtYWluIGNsYXNzPVwiaGl0bGlzdFwiICpuZ0lmPVwiIXJlZnJlc2hpbmdSZXF1ZXN0XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLndpZGdldENvbmZpZz8uc3RvcmVkUXVlcnk7IGVsc2UgdHBsRW1wdHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IGkgb2YgaGl0bGlzdFJlc3VsdFwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZWRcIj57e2kuZGF0ZSB8IGxvY2FsZURhdGV9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aS50aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tpLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBbb2JqZWN0VHlwZV09XCJpLnR5cGVcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdHBsRW1wdHk+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5zdG9yZWQucXVlcmllcy5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21haW4+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -256,7 +256,7 @@ let SettingsComponent = class SettingsComponent {
|
|
|
256
256
|
loadLocalSettings() {
|
|
257
257
|
this.userService.loadLocalSettings().subscribe(settings => {
|
|
258
258
|
this.storageService.setStorage(settings.localSettings);
|
|
259
|
-
this.cacheService.
|
|
259
|
+
this.cacheService.replaceStorage(settings.cacheSettings);
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
};
|
|
@@ -288,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
288
288
|
type: ViewChild,
|
|
289
289
|
args: [NgForm]
|
|
290
290
|
}] } });
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLE1BQU0sRUFBeUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBS0wsVUFBVSxFQVNWLEtBQUssRUFDTixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBYSxRQUFRLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFlLGVBQWUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRTFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBR3pGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9qRCxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZDNUIsWUFBb0IsUUFBbUIsRUFDOUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNiLE1BQTRCLEVBQzVCLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLG1CQUF3QyxFQUN4QyxVQUE4QixFQUM5QixZQUE4QixFQUM5QixZQUEwQixFQUMxQixFQUFzQixFQUN0QixZQUE2QixFQUM3QixtQkFBd0MsRUFDeEMs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QUFxQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQTFTVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3akJBMkNqQixNQUFNLGdEQzVFbkIseTNZQW9QQTtBRG5OYSxpQkFBaUI7SUFON0IsWUFBWSxFQUFFO0dBTUYsaUJBQWlCLENBMlM3QjtTQTNTWSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO29rQkEwQ0gsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNLLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDSSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ1EsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDSyxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUNiLFlBQVk7c0JBQTlCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRm9ybSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEFwcENhY2hlU2VydmljZSxcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVuYWlvRXZlbnQsXG4gIEVudmlyb25tZW50U2VydmljZSxcbiAgRW9Vc2VyLFxuICBFdmVudFNlcnZpY2UsXG4gIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgZm9ya0pvaW4sIGZpcnN0VmFsdWVGcm9tfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZSwgd2l0aExhdGVzdEZyb219IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWdlbnRTZXJ2aWNlLCBhZ2VudENvbmZpZ0tleXN9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FnZW50L2FnZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtSZXN1bHRMaXN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VXNlckF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL3VpL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9zZXJ2aWNlcy9saXN0LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NrU2V0dGluZ3N9IGZyb20gJy4vYWdlbnQtbG9jay1zZXR0aW5ncy5lbnVtJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgZGVwdXRpZXM6IHtcbiAgICBkYXRhOiBzdHJpbmdbXSxcbiAgICBkYXRhTWV0YTogYW55W11cbiAgfTtcbiAgc2hvd0NoYW5nZVBhc3N3b3JkRm9ybTogYm9vbGVhbjtcbiAgY2xpZW50TG9jYWxlczogYW55O1xuICBzY2hlbWFMb2NhbGVzOiBhbnlbXTtcbiAgcHVibGljIExvY2tTZXR0aW5ncyA9IExvY2tTZXR0aW5ncztcbiAgYWdlbnRMb2NrU2V0dGluZ3M6IExvY2tTZXR0aW5ncztcbiAgdXNlQWdlbnRDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIHNob3dBZ2VudENvbmZpZzogYm9vbGVhbiA9IHRydWU7XG4gIGRlZmF1bHRMb2NrU2V0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHVzZXIkID0gdGhpcy51c2VyU2VydmljZS51c2VyJDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHVzZXJJZCA9ICcnO1xuICBzaG93RGVsZXRlSWNvblRyYXNoOiBib29sZWFuID0gdHJ1ZTtcbiAgdXNlckltYWdlVXJpID0gJyc7XG4gIHByZXZpZXc6IHN0cmluZztcbiAgZmlsZTogYW55O1xuICBob3ZlclNlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dQcmV2aWV3RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dEZWxldGVEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0Vycm9yRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIE1BWF9GSUxFX1NJWkUgPSA1MjQyODg7XG4gIHZpZXdNb2RlOiBzdHJpbmcgPSAnJztcbiAgZmlsZU5hbWU6IHN0cmluZztcblxuICBjYWNoZSA9IHtcbiAgICBzeXN0ZW06IHRydWUsXG4gICAgaGlzdG9yeTogdHJ1ZSxcbiAgICBsYXlvdXQ6IHRydWVcbiAgfTtcblxuICBAVmlld0NoaWxkKCdmaWxlcycpIGZpbGVzOiBFbGVtZW50UmVmID0ge30gYXMgRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnaGVhZGVyQmcnKSBoZWFkZXJCZztcbiAgQFZpZXdDaGlsZCgndXNlckF2YXRhcicpIHVzZXJBdmF0YXI6IFVzZXJBdmF0YXJDb21wb25lbnRcbiAgQFZpZXdDaGlsZCgnY29uZmlybURlbGV0ZUJ0bicpIGNvbmZpcm1EZWxldGVCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Byb2ZpbGVJbWFnZU92ZXJsYXknKSBwcm9maWxlSW1hZ2VPdmVybGF5OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKE5nRm9ybSkgZGVwdXRpZXNGb3JtOiBOZ0Zvcm07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZzogQ29uZmlnLFxuICAgIHByaXZhdGUgbm90aWZ5OiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhZ2VudFNlcnZpY2U6IEFnZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RTZXR0aW5nc1NlcnZpY2U6IExpc3RTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbVJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uc1NlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5zZXR0aW5ncy50aXRsZScpKTtcbiAgICB0aGlzLmNsaWVudExvY2FsZXMgPSBjb25maWcuZ2V0Q2xpZW50TG9jYWxlcygpO1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgIHRoaXMuZ2V0U2NoZW1hTG9jYWxlcygpO1xuICAgIHRoaXMuZ2V0VXNlckRhdGEoKTtcbiAgICB0aGlzLmFnZW50TG9ja1NldHRpbmdzID0gdXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3MuYWx3YXlzbG9jaztcbiAgICB0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCQucGlwZSh0YWtlKDEpLCB3aXRoTGF0ZXN0RnJvbSh0aGlzLmFnZW50U2VydmljZS5hZ2VudENvbmZpZyQpKS5zdWJzY3JpYmUoKFtpc0Nvbm5lY3RlZCwgY29uZmlnXSkgPT4ge1xuICAgICAgdGhpcy51c2VBZ2VudENvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woaXNDb25uZWN0ZWQpO1xuICAgICAgaWYgKGNvbmZpZy5oYXNPd25Qcm9wZXJ0eShhZ2VudENvbmZpZ0tleXMuQVVUT0NPTk5FQ1QpKSB7XG4gICAgICAgIHRoaXMuc2hvd0FnZW50Q29uZmlnID0gY29uZmlnW2FnZW50Q29uZmlnS2V5cy5BVVRPQ09OTkVDVF1cbiAgICAgICAgdGhpcy51c2VBZ2VudENvbnRyb2wuZGlzYWJsZSgpXG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmhhc093blByb3BlcnR5KGFnZW50Q29uZmlnS2V5cy5MT0NLU0VUVElOR1MpICYmIE9iamVjdC52YWx1ZXMoTG9ja1NldHRpbmdzKS5pbmNsdWRlcyhjb25maWdbYWdlbnRDb25maWdLZXlzLkxPQ0tTRVRUSU5HU10pKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdExvY2tTZXR0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZ2VudExvY2tTZXR0aW5ncyA9IGNvbmZpZ1thZ2VudENvbmZpZ0tleXMuTE9DS1NFVFRJTkdTXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXNlQWdlbnRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hZ2VudFNlcnZpY2UuaXNDb25uZWN0ZWQgPSB0aGlzLnVzZUFnZW50Q29udHJvbC52YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIGdldCBpc1NTTygpIHtcbiAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgJiYgdGhpcy5jYXBhYmlsaXRpZXMuc3NvO1xuICB9XG5cbiAgZ2V0IGFnZW50U3RhdHVzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCQ7XG4gIH1cblxuICBnZXQgaXNDbG91ZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbnZTZXJ2aWNlLmlzQ2xvdWQoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVTY2hlbWEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5nZXRTY2hlbWFMb2NhbGUoKTtcbiAgfVxuXG4gIGhhc1ByaXZpbGVnZShwcml2aWxlZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmhhc1ByaXZpbGVnZShwcml2aWxlZ2UpO1xuICB9XG5cbiAgY2hhbmdlTG9ja1NldHRpbmdzKGxvY2tTZXR0aW5nczogTG9ja1NldHRpbmdzKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS5jaGFuZ2VMb2NrU2V0dGluZyhsb2NrU2V0dGluZ3MpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFnZW50TG9ja1NldHRpbmdzID0gbG9ja1NldHRpbmdzKTtcbiAgfVxuXG4gIGdldFNjaGVtYUxvY2FsZXMoKSB7XG4gICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLnN5c3RlbSQuc3Vic2NyaWJlKChzeXN0ZW1EZWZpbml0aW9uKSA9PiB7XG4gICAgICB0aGlzLnNjaGVtYUxvY2FsZXMgPSBzeXN0ZW1EZWZpbml0aW9uLmxvY2FsZXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdkaXNwbGF5bmFtZScpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVEZXB1dGllcygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldERlcHV0aWVzKHRoaXMuZGVwdXRpZXMuZGF0YSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuZGVwdXRpZXNGb3JtLnJlc2V0Rm9ybSh7ZGVwdXRpZXM6IHRoaXMuZGVwdXRpZXMuZGF0YX0pKTtcbiAgfVxuXG4gIHJlc2V0RGVwdXRpZXMoKSB7XG4gICAgdGhpcy5kZXB1dGllc0Zvcm0ucmVzZXRGb3JtKHtkZXB1dGllczogdGhpcy51c2VyLmRlcHV0aWVzLm1hcChkID0+IGQubmFtZSl9KVxuICB9XG5cbiAgZ2V0VXNlckRhdGEoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgIC8vIHRoaXMudXNlciA9IE9iamVjdC5hc3NpZ24odXNlciwge2NhcGFiaWxpdGllczogdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpfSk7XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgLy8gZGVwdXRpZXNcbiAgICAgIHRoaXMuZGVwdXRpZXMgPSB7XG4gICAgICAgIGRhdGE6IHRoaXMudXNlci5kZXB1dGllcy5tYXAoZCA9PiBkLm5hbWUpLFxuICAgICAgICBkYXRhTWV0YTogdGhpcy51c2VyLmRlcHV0aWVzXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0NoYW5nZVBhc3N3b3JkRm9ybSA9IGZhbHNlO1xuICB9XG5cbiAgY2hhbmdlQ2xpZW50TG9jYWxlKGlzbzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmdldFN1cHBvcnRlZENsaWVudExvY2FsZXMoKS5pbmNsdWRlcyhpc28pKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmNoYW5nZUNsaWVudExvY2FsZShpc28pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmeS5lcnJvcih0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5sYW5ndWFnZS5lcnJvcicpKTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VTY2hlbWFMb2NhbGUoaXNvOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy51c2VyLnNjaGVtYUxvY2FsZSAhPT0gaXNvKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmNoYW5nZVNjaGVtYUxvY2FsZShpc28pLnN1YnNjcmliZShcbiAgICAgICAgXyA9PiBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVzZXIuc2VydmljZS5zY2hlbWEubG9jYWxlLmVycm9yLnRpdGxlJyksXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXNlci5zZXJ2aWNlLnNjaGVtYS5sb2NhbGUuZXJyb3IuZGVzY3JpcHRpb24nKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZWxlbVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwcmVzZW5jZScpLmZvY3VzKCk7XG4gICAgdGhpcy51c2VyJC5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXIuaWQ7XG4gICAgICB0aGlzLnVzZXJJbWFnZVVyaSA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckltYWdlVXJpKHRoaXMudXNlcklkKTtcbiAgICAgIHRoaXMucmVmcmVzaFVzZXJJbWFnZUhlYWRlckJhY2tncm91bmQodGhpcy51c2VySW1hZ2VVcmkpO1xuICAgICAgdGhpcy5zaG93RGVsZXRlSWNvblRyYXNoID0gISF1c2VyLmltYWdlVXJpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0UHJlc2VuY2UoYjogYm9vbGVhbikge1xuICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0UHJlc2VuY2UoYilcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICB9LCBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5lcnJvci50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5lcnJvci5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICApO1xuICB9XG4gIGNsb3NlUHJldmlld0RpYWxvZygpIHtcbiAgICB0aGlzLnNob3dQcmV2aWV3RGlhbG9nID0gZmFsc2U7XG4gICAgdGhpcy5wcm9maWxlSW1hZ2VPdmVybGF5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGRlbGV0ZVVzZXJJbWFnZSgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAuc2V0VXNlckltYWdlKG51bGwpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKHRoaXMudXNlckltYWdlVXJpKTtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuU1lTVEVNX1NUQVRVU19JTUFHRV9DSEFOR0UpO1xuICAgICAgICAgIHRoaXMuc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc2hvd0RlbGV0ZUljb25UcmFzaCA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKCcnLCBlcnIuZXJyb3IuY2F1c2UubWVzc2FnZXNbMF0pO1xuICAgICAgICAgIHRoaXMuZmlsZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXBsb2FkLmdsb2JhbC5lcnJvci50aXRsZScpLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IuZGVzY3JpcHRpb24nKVxuICAgICAgICB9LFxuXG4gICAgICB9KTtcblxuICB9XG5cbiAgc2VsZWN0SW1hZ2UoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGUgPSBldmVudC5maWxlc1swXTtcbiAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5maWxlLm5hbWU7XG4gICAgICBzd2l0Y2ggKGZhbHNlKSB7XG5cbiAgICAgICAgY2FzZSAodGhpcy5maWxlLnR5cGUuaW5jbHVkZXMoJ2ltYWdlLycpICYmIHRoaXMuZmlsZS50eXBlLmluY2x1ZGVzKCdqcGVnJykgfHwgdGhpcy5maWxlLnR5cGUuaW5jbHVkZXMoJ3BuZycpKTpcbiAgICAgICAgICB0aGlzLnZpZXdNb2RlID0gJ2ltYWdlJztcbiAgICAgICAgICB0aGlzLnNob3dFcnJvckRpYWxvZyA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAodGhpcy5maWxlLnNpemUgPD0gdGhpcy5NQVhfRklMRV9TSVpFKTpcbiAgICAgICAgICB0aGlzLnZpZXdNb2RlID0gJ3NpemUnO1xuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yRGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuXG4gICAgICAgICAgdGhpcy5wcmV2aWV3ID0gJyc7XG4gICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3ID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5zaG93UHJldmlld0RpYWxvZyA9IHRydWU7XG4gICAgICAgICAgfTtcbiAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLmZpbGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwbG9hZE5ld1VzZXJJbWFnZSgpIHtcblxuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC5zZXRVc2VySW1hZ2UodGhpcy5maWxlKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9maWxlSW1hZ2VPdmVybGF5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKHRoaXMudXNlckltYWdlVXJpKTtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuU1lTVEVNX1NUQVRVU19JTUFHRV9DSEFOR0UpO1xuICAgICAgICAgIHRoaXMuY2xvc2VQcmV2aWV3RGlhbG9nKCk7XG4gICAgICAgICAgdGhpcy5zaG93RGVsZXRlSWNvblRyYXNoID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcignJywgZXJyLmVycm9yLmNhdXNlLm1lc3NhZ2VzWzBdKTtcbiAgICAgICAgICB0aGlzLmZpbGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IudGl0bGUnKSxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby51cGxvYWQuZ2xvYmFsLmVycm9yLmRlc2NyaXB0aW9uJylcbiAgICAgICAgfSxcbiAgfSlcbn1cblxuICB0YWJBY3Rpb24oaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICBpbnB1dC5ibHVyKCk7XG4gICAgdGhpcy5ob3ZlclNlbGVjdG9yID0gZmFsc2U7XG4gIH1cbiAgbW91c2VFbnRlcigpIHtcbiAgICB0aGlzLmhvdmVyU2VsZWN0b3IgPSB0cnVlO1xuICB9XG4gIG1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5ob3ZlclNlbGVjdG9yID0gZmFsc2U7XG4gIH1cbiAgdHJhc2hJY29uQ2xpY2soKSB7XG4gICAgdGhpcy5zaG93RGVsZXRlRGlhbG9nID0gdHJ1ZTtcbiAgfVxuXG4gIHJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKGltYWdlVXJpOiBzdHJpbmcpIHtcbiAgICBpZiAoaW1hZ2VVcmkpIHtcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyQmcubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCR7aW1hZ2VVcmkgKyAnJnQ9JyArIHRpbWVzdGFtcH0pYCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJDYWNoZSgpIHtcbiAgICBjb25zdCBhY3Rpb25zID0gW1xuICAgICAgdGhpcy5jYWNoZS5oaXN0b3J5ICYmIHRoaXMubGlzdFNldHRpbmdzU2VydmljZS5jbGVhclNldHRpbmdzKCksXG4gICAgICB0aGlzLmNhY2hlLmhpc3RvcnkgJiYgdGhpcy5jYWNoZVNlcnZpY2UuY2xlYXIoKGtleTogc3RyaW5nKSA9PiAha2V5Lm1hdGNoKC9eZW8uKyhsYXlvdXQpLykgJiYgIWtleS5tYXRjaCgvXmVvLmZyYW1ld29yay5jYWNoZS8pKSxcbiAgICAgIHRoaXMuY2FjaGUubGF5b3V0ICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKGtleTogc3RyaW5nKSA9PiBrZXkgPT09IFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OKSxcbiAgICAgIHRoaXMuY2FjaGUubGF5b3V0ICYmIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyKChrZXk6IHN0cmluZykgPT4gISFrZXkubWF0Y2goL15lby4rKGxheW91dCkvKSksXG4gICAgICB0aGlzLmNhY2hlLnN5c3RlbSAmJiB0aGlzLnN5c3RlbVNlcnZpY2UuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHRoaXMudXNlciksXG4gICAgXS5maWx0ZXIoYSA9PiBhKTtcblxuICAgIHJldHVybiBhY3Rpb25zLmxlbmd0aCA/IGZvcmtKb2luKGFjdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHRoaXMubm90aWZ5LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RhdGUuc2V0dGluZ3MuY2FjaGUuY2xlYXIuc3VjY2VzcycpKSxcbiAgICAgICgpID0+IHRoaXMubm90aWZ5LmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnNldHRpbmdzLmNhY2hlLmNsZWFyLmVycm9yJykpXG4gICAgKSAmJiB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBhc3luYyBzYXZlTG9jYWxTZXR0aW5ncygpIHtcbiAgICBjb25zdCBsb2NhbFNldHRpbmdzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRTdG9yYWdlKCk7XG4gICAgY29uc3QgY2FjaGVTZXR0aW5ncyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuY2FjaGVTZXJ2aWNlLmdldFN0b3JhZ2UoKSk7XG4gICAgZGVsZXRlIGNhY2hlU2V0dGluZ3NbJ2VvLmZyYW1ld29yay5jYWNoZS5zeXN0ZW1kZWZpbml0aW9uJ107XG4gICAgdGhpcy51c2VyU2VydmljZS5zYXZlTG9jYWxTZXR0aW5ncyhsb2NhbFNldHRpbmdzLCBjYWNoZVNldHRpbmdzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvYWRMb2NhbFNldHRpbmdzKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UubG9hZExvY2FsU2V0dGluZ3MoKS5zdWJzY3JpYmUoc2V0dGluZ3MgPT4ge1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRTdG9yYWdlKHNldHRpbmdzLmxvY2FsU2V0dGluZ3MpO1xuICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0U3RvcmFnZShzZXR0aW5ncy5jYWNoZVNldHRpbmdzKS5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLXNldHRpbmdzXCIgKm5nSWY9XCJ1c2VyXCIgZW9SdGxBd2FyZT5cblxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG5cbiAgICA8ZGl2ICNoZWFkZXJCZyBjbGFzcz1cImJnXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpbGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZXRhIHVzZXJuYW1lXCI+e3t1c2VyLm5hbWV9fTwvZGl2PlxuICAgICAgPGgxPnt7dXNlci5maXJzdG5hbWV9fSB7e3VzZXIubGFzdG5hbWV9fTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwibWV0YSBlbWFpbFwiPnt7dXNlci5lbWFpbH19PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcmVzZW5jZVwiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmluYm94XCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGUgZGFyayBwcmVzZW50XCIgaWQ9XCJwcmVzZW5jZVwiIChjbGljayk9XCJzZXRQcmVzZW5jZSh0cnVlKVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6IHVzZXIucHJlc2VudH1cIlxuICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLnByZXNlbmNlLnByZXNlbnQ8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZSBkYXJrIGFic2VudFwiIChjbGljayk9XCJzZXRQcmVzZW5jZShmYWxzZSlcIiAoa2V5ZG93bi50YWIpPVwidGFiQWN0aW9uKCRldmVudC50YXJnZXQpXCIgW25nQ2xhc3NdPVwie2FjdGl2ZTogIXVzZXIucHJlc2VudH1cIlxuICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5hYnNlbnQ8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigpXCIgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgpXCIgKGtleWRvd24udGFiKT1cIm1vdXNlRW50ZXIoKVwiPlxuXG4gICAgICA8ZW8tdXNlci1hdmF0YXIgI3VzZXJBdmF0YXIgY2xhc3M9XCJ1c2VySW1hZ2VcIiB0YWJpbmRleD1cIi0xXCIgZW9SdGxBd2FyZT1cImZ1bGxcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhY2NlcHQ9XCIuanBnLCAucG5nXCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCIgI2ZpbGVzIChjaGFuZ2UpPVwic2VsZWN0SW1hZ2UoJGV2ZW50LnRhcmdldClcIiAoY2xpY2spPVwiJGV2ZW50LnRhcmdldC52YWx1ZT1udWxsXCI+XG4gICAgICA8L2VvLXVzZXItYXZhdGFyPlxuICAgICAgPGVvLWRpYWxvZyAgW3N0eWxlQ2xhc3NdPVwiJ3ZpZXcnXCIgW21pbldpZHRoXT1cIiczMDBweCdcIiBbdGl0bGVdPVwiJ2VvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMudXBsb2FkLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbKHZpc2libGUpXT1cInNob3dQcmV2aWV3RGlhbG9nXCIgW2ZvY3VzT25TaG93XT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50c1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWF2YXRhclwiICpuZ0lmPVwicHJldmlld1wiPlxuICAgICAgICAgICAgICAgIDxlby11c2VyLWF2YXRhciBjbGFzcz1cInByZXZpZXctcm91bmRcIiBbcHJldmlld1VyaV09XCJwcmV2aWV3XCI+PC9lby11c2VyLWF2YXRhcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWJsb2NrXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2VQcmV2aWV3RGlhbG9nKClcIiBjbGFzcz1cImJ1dHRvbiBkYW5nZXJcIlxuICAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kZWxldGUuZGlhbG9nLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2RrRm9jdXNJbml0aWFsIChjbGljayk9XCJ1cGxvYWROZXdVc2VySW1hZ2UoKVwiIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIlxuICAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kaWFsb2cuc2F2ZTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZW8tZGlhbG9nPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiICNwcm9maWxlSW1hZ2VPdmVybGF5IHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInVwZGF0ZU1lc3NhZ2VcIiAqbmdJZj1cImhvdmVyU2VsZWN0b3JcIj5cbiAgICAgICAgICA8ZW8taWNvbiB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJmaWxlcy5jbGljaygpXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZWRpdC5zdmcnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaWxlcy5jbGljaygpXCI+PC9lby1pY29uPlxuICAgICAgICAgIDxlby1pY29uIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cInRyYXNoSWNvbkNsaWNrKClcIiAqbmdJZj1cInNob3dEZWxldGVJY29uVHJhc2hcIlxuICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCIgKGNsaWNrKT1cInRyYXNoSWNvbkNsaWNrKClcIj48L2VvLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJib2R5XCIgKGtleWRvd24udGFiKT1cInRhYkFjdGlvbigkZXZlbnQudGFyZ2V0KVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImJvZHktd3JhcFwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBzZWN0aW9uLWRlcHV0aWVzXCIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuYnBtICYmIGhhc1ByaXZpbGVnZSgnTUFOQUdFX0RFUFVUWV9MSVNUJylcIj5cbiAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXB1dGllczwvaDM+XG5cbiAgICAgICAgPCEtLSBkZXB1dGllcyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5IGRlcHV0aWVzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmRlcHV0aWVzLmxhYmVsPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgPGZvcm0gI2RlcHV0aWVzRm9ybT1cIm5nRm9ybVwiIFtuZ0NsYXNzXT1cIntkaXJ0eTogZGVwdXRpZXNGb3JtLmRpcnR5fVwiPlxuICAgICAgICAgICAgICA8ZW8tb3JnYW5pemF0aW9uIG5hbWU9XCJkZXB1dGllc1wiIFtkYXRhTWV0YV09XCJkZXB1dGllcy5kYXRhTWV0YVwiIFtmaWx0ZXJPYmplY3RdPVwie3R5cGU6ICdVU0VSJ31cIlxuICAgICAgICAgICAgICAgIFtleGNlcHRpb25zXT1cIlt1c2VyLm5hbWVdXCIgW211bHRpc2VsZWN0XT1cInRydWVcIiB0YWJpbmRleD1cIjBcIiBbKG5nTW9kZWwpXT1cImRlcHV0aWVzLmRhdGFcIj48L2VvLW9yZ2FuaXphdGlvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIiAqbmdJZj1cImRlcHV0aWVzRm9ybS52YWxpZCAmJiBkZXB1dGllc0Zvcm0uZGlydHlcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cInJlc2V0RGVwdXRpZXMoKVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXB1dGllcy5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlRGVwdXRpZXMoKVwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXB1dGllcy5zYXZlPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIHN1YnN0aXR1dGUgb2YgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeSBzdWJzdGl0dXRlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmRlcHV0aWVzLnN1YnNpdHV0ZW9mLmxhYmVsPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCIgKm5nRm9yPVwibGV0IHN1YiBvZiB1c2VyLnN1YnN0aXR1dGVzT2ZcIiBbbmdDbGFzc109XCJ7cHJlc2VudDogc3ViLnByZXNlbnR9XCI+XG4gICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2hpcCBzdWJzdGl0dXRlIHN1YnN0aXR1dGUtLXByZXNlbnRcIiAqbmdJZj1cInN1Yi5wcmVzZW50XCJcbiAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19kb25lLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2hpcCBzdWJzdGl0dXRlIHN1YnN0aXR1dGUtLWF3YXlcIiAqbmdJZj1cIiFzdWIucHJlc2VudFwiXG4gICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3tzdWIudGl0bGV9fSAoe3tzdWIubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBwYXNzd29yZCAtLT5cbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiIWlzQ2xvdWQgJiYgIWlzU1NPIHx8ICFpc0Nsb3VkICYmIGlzU1NPXCIgY2xhc3M9XCJzZWN0aW9uIHNlY3Rpb24tcGFzc3dvcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnBhc3N3b3JkLnJlc2V0PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgPGVvLXNpbXBsZS1hY2NvcmRpb24gI3NpbXBsZUFjYyBbaGVhZGVyXT1cIignZW8ucGFzc3dvcmQucmVzZXQnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgIFtzdHlsZXNdPVwiJ3NldHRpbmdfX2NoYW5nZS1wYXNzd29yZCdcIiBbaGVhZGVyQ2xhc3NdPVwiJ3NldHRpbmdfX2NoYW5nZS1wYXNzd29yZC1oZWFkZXInXCI+XG5cbiAgICAgICAgICAgICAgPGVvLWNoYW5nZS1wYXNzd29yZC1mb3JtIChvbkZvcm1TdW1iaXQpPVwic2ltcGxlQWNjLnNlbGVjdGVkID0gZmFsc2VcIj48L2VvLWNoYW5nZS1wYXNzd29yZC1mb3JtPlxuICAgICAgICAgICAgPC9lby1zaW1wbGUtYWNjb3JkaW9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgPCEtLSBsYW5ndWFnZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uIHNlY3Rpb24tbGFuZ1wiPlxuICAgICAgICA8aDMgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxhbmd1YWdlPC9oMz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5IGxhbmctYXBwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxhbmd1YWdlLmNsaWVudDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGVcIiAoY2xpY2spPVwiY2hhbmdlQ2xpZW50TG9jYWxlKGxvY2FsZS5pc28pXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogdHJhbnNsYXRlLmN1cnJlbnRMYW5nID09PSBsb2NhbGUuaXNvfVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsb2NhbGUgb2YgY2xpZW50TG9jYWxlc1wiPnt7bG9jYWxlLmxhYmVsfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnkgbGFuZy1kZWZcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MubGFuZ3VhZ2Uuc2NoZW1hPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZVwiIChjbGljayk9XCJjaGFuZ2VTY2hlbWFMb2NhbGUobG9jYWxlLmNvZGUpXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWN0aXZlU2NoZW1hID09PSBsb2NhbGUuY29kZX1cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbG9jYWxlIG9mIHNjaGVtYUxvY2FsZXNcIj57e2xvY2FsZS5kaXNwbGF5bmFtZX19PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gcGVybWlzc2lvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBzZWN0aW9uLXBlcm1cIj5cbiAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5wZXJtaXNzaW9uPC9oMz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5IHBlcm0tcm9sZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3Mucm9sZXM8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVzIHJvbGVzXCI+XG4gICAgICAgICAgICA8ZW8tc2ltcGxlLWFjY29yZGlvbiBbaGVhZGVyXT1cIignZW8uc3RhdGUuc2V0dGluZ3Mucm9sZXMnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICA8ZW8tcGVybWlzc2lvbnMgW3JvbGVzXT1cInVzZXIucm9sZXNcIj48L2VvLXBlcm1pc3Npb25zPlxuICAgICAgICAgICAgPC9lby1zaW1wbGUtYWNjb3JkaW9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIGFnZW50IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24gc2VjdGlvbi1vdGhlcnNcIj5cbiAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5vdGhlcnM8L2gzPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FnZW50Q29uZmlnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuYWdlbnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZS1hZ2VudFwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBbZm9ybUNvbnRyb2xdPVwidXNlQWdlbnRDb250cm9sXCIgW3JlYWRvbmx5XT1cInVzZUFnZW50Q29udHJvbC5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZUFnZW50Q29udHJvbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2UtYWdlbnQtbGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuYWdlbnQudXNlPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwhLS0gPGEgaHJlZj1cImh0dHBzOi8vaGVscC5vcHRpbWFsLXN5c3RlbXMuY29tL3l1dXZpc1JBRC92NjAvdXNlci9jbGllbnQvZGUvY2xpZW50L2ludGVncmF0aW9uL2Nsbl90c2tfYWdlbnRfZ2xvYmFsLmh0bT9IaWdobGlnaHQ9YWdlbnRcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImluZm8taWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2luZm8uc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPC9hPiAtLT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5IGxvY2stc2V0dGluZ3NcIiBbbmdDbGFzc109XCJ7J2xvY2stc2V0dGluZ3MtLXNob3cnOiAoYWdlbnRTdGF0dXMgfCBhc3luYyl9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MubG9jazwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlIGJ1dHRvbi1lbmFibGVkXCIgKGNsaWNrKT1cImNoYW5nZUxvY2tTZXR0aW5ncyhMb2NrU2V0dGluZ3MuYWx3YXlzKVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWdlbnRMb2NrU2V0dGluZ3MgPT09IExvY2tTZXR0aW5ncy5hbHdheXN9XCIgW2Rpc2FibGVkXT1cImRlZmF1bHRMb2NrU2V0dGluZ1wiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxvY2suZW5hYmxlPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGUgYnV0dG9uLWRpc2FibGVkXCIgKGNsaWNrKT1cImNoYW5nZUxvY2tTZXR0aW5ncyhMb2NrU2V0dGluZ3MubmV2ZXIpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7YWN0aXZlOiBhZ2VudExvY2tTZXR0aW5ncyA9PT0gTG9ja1NldHRpbmdzLm5ldmVyfVwiIFtkaXNhYmxlZF09XCJkZWZhdWx0TG9ja1NldHRpbmdcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sb2NrLmRpc2FibGU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZSBidXR0b24tYXNrXCIgKGNsaWNrKT1cImNoYW5nZUxvY2tTZXR0aW5ncyhMb2NrU2V0dGluZ3MuYXNrKVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWdlbnRMb2NrU2V0dGluZ3MgPT09IExvY2tTZXR0aW5ncy5hc2t9XCIgW2Rpc2FibGVkXT1cImRlZmF1bHRMb2NrU2V0dGluZ1wiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxvY2suYXNrPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5jYWNoZTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHRyYW5zbGF0ZSAoY2xpY2spPVwiY2xlYXJDYWNoZSgpXCI+ZW8uc3RhdGUuc2V0dGluZ3MuY2FjaGUuY2xlYXI8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhY2hlXCI+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJjaGVja2JveFwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5jb25maWcuY2FjaGUuc3lzdGVtJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IFsobmdNb2RlbCldPVwiY2FjaGUuc3lzdGVtXCIgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJjaGVja2JveFwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5jb25maWcuY2FjaGUuaGlzdG9yeScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBbKG5nTW9kZWwpXT1cImNhY2hlLmhpc3RvcnlcIiBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBjbGFzcz1cImNoZWNrYm94XCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLnN0YXRlLnNldHRpbmdzLmNvbmZpZy5jYWNoZS5sYXlvdXQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggWyhuZ01vZGVsKV09XCJjYWNoZS5sYXlvdXRcIiBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sb2NhbFNldHRpbmdzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtcm93XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gdHJhbnNsYXRlIChjbGljayk9XCJzYXZlTG9jYWxTZXR0aW5ncygpXCI+ZW8uc3RhdGUuc2V0dGluZ3MubG9jYWxTZXR0aW5ncy5zYXZlPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gdHJhbnNsYXRlIChjbGljayk9XCJsb2FkTG9jYWxTZXR0aW5ncygpXCI+ZW8uc3RhdGUuc2V0dGluZ3MubG9jYWxTZXR0aW5ncy5sb2FkPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGVvLWRpYWxvZyBbdGl0bGVdPVwiJ2VvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMuZGVsZXRlLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cInNob3dEZWxldGVEaWFsb2dcIlxuICAgIFtmb2N1c09uU2hvd109XCJmYWxzZVwiIFttaW5XaWR0aF09XCI0MDBcIiBbc3R5bGVDbGFzc109XCInZGVsZXRlX19kaWFsb2cnXCI+XG4gICAgPGRpdj57eydlby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cubWVzc2FnZScgfCB0cmFuc2xhdGV9fTwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIGltYWdlLWRlbGV0ZS0tYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIiA+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlXCJcbiAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuY2FuY2VsPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjZGtGb2N1c0luaXRpYWwgI2NvbmZpcm1EZWxldGVCdG4gKGNsaWNrKT1cImRlbGV0ZVVzZXJJbWFnZSgpXCIgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiXG4gICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cub2s8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9lby1kaWFsb2c+XG5cbiAgPGVvLWRpYWxvZyBbdGl0bGVdPVwiJ2VvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMudXBsb2FkLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cInNob3dFcnJvckRpYWxvZ1wiXG4gICAgW2ZvY3VzT25TaG93XT1cImZhbHNlXCIgW21pbldpZHRoXT1cIjQwMFwiIFtzdHlsZUNsYXNzXT1cIidkZWxldGVfX2RpYWxvZydcIj5cblxuICAgIDxkaXY+XG4gICAgICA8cD57e2ZpbGVOYW1lfX08L3A+XG4gICAgICA8cCAqbmdJZj1cInZpZXdNb2RlID09PSdzaXplJ1wiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLnVwbG9hZC5kaWFsb2cuc2l6ZUVycm9yPC9wPlxuICAgICAgPHAgKm5nSWY9XCJ2aWV3TW9kZSA9PT0naW1hZ2UnXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMudXBsb2FkLmRpYWxvZy5maWxlRXJyb3IgPC9wPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIGltYWdlLWRlbGV0ZS0tYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGNhbmNlbFwiIChjbGljayk9XCJzaG93RXJyb3JEaWFsb2cgPSBmYWxzZVwiXG4gICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuY2FuY2VsPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjZGtGb2N1c0luaXRpYWwgKGNsaWNrKT1cImZpbGVzLmNsaWNrKCk7IHNob3dFcnJvckRpYWxvZyA9IGZhbHNlXCIgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiXG4gICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLnVwbG9hZC5kaWFsb2cuYmFjazwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VvLWRpYWxvZz5cbjwvZGl2PlxuIl19
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUF5QixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLE1BQU0sRUFBeUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RSxPQUFPLEVBS0wsVUFBVSxFQVNWLEtBQUssRUFDTixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBYSxRQUFRLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFlLGVBQWUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRTFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBR3pGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9qRCxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZDNUIsWUFBb0IsUUFBbUIsRUFDOUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNiLE1BQTRCLEVBQzVCLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLG1CQUF3QyxFQUN4QyxVQUE4QixFQUM5QixZQUE4QixFQUM5QixZQUEwQixFQUMxQixFQUFzQixFQUN0QixZQUE2QixFQUM3QixtQkFBd0MsRUFDeEMs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QUFxQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQTFTVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3akJBMkNqQixNQUFNLGdEQzVFbkIseTNZQW9QQTtBRG5OYSxpQkFBaUI7SUFON0IsWUFBWSxFQUFFO0dBTUYsaUJBQWlCLENBMlM3QjtTQTNTWSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxhQUFhO29rQkEwQ0gsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNLLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDSSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ1EsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDSyxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQUNiLFlBQVk7c0JBQTlCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRm9ybSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEFwcENhY2hlU2VydmljZSxcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVuYWlvRXZlbnQsXG4gIEVudmlyb25tZW50U2VydmljZSxcbiAgRW9Vc2VyLFxuICBFdmVudFNlcnZpY2UsXG4gIExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZSxcbiAgVXRpbHNcbn0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgZm9ya0pvaW4sIGZpcnN0VmFsdWVGcm9tfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZSwgd2l0aExhdGVzdEZyb219IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWdlbnRTZXJ2aWNlLCBhZ2VudENvbmZpZ0tleXN9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2FnZW50L2FnZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtSZXN1bHRMaXN0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvcmVzdWx0LWxpc3QvcmVzdWx0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VXNlckF2YXRhckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL3VpL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9zZXJ2aWNlcy9saXN0LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NrU2V0dGluZ3N9IGZyb20gJy4vYWdlbnQtbG9jay1zZXR0aW5ncy5lbnVtJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgZGVwdXRpZXM6IHtcbiAgICBkYXRhOiBzdHJpbmdbXSxcbiAgICBkYXRhTWV0YTogYW55W11cbiAgfTtcbiAgc2hvd0NoYW5nZVBhc3N3b3JkRm9ybTogYm9vbGVhbjtcbiAgY2xpZW50TG9jYWxlczogYW55O1xuICBzY2hlbWFMb2NhbGVzOiBhbnlbXTtcbiAgcHVibGljIExvY2tTZXR0aW5ncyA9IExvY2tTZXR0aW5ncztcbiAgYWdlbnRMb2NrU2V0dGluZ3M6IExvY2tTZXR0aW5ncztcbiAgdXNlQWdlbnRDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIHNob3dBZ2VudENvbmZpZzogYm9vbGVhbiA9IHRydWU7XG4gIGRlZmF1bHRMb2NrU2V0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHVzZXIkID0gdGhpcy51c2VyU2VydmljZS51c2VyJDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHVzZXJJZCA9ICcnO1xuICBzaG93RGVsZXRlSWNvblRyYXNoOiBib29sZWFuID0gdHJ1ZTtcbiAgdXNlckltYWdlVXJpID0gJyc7XG4gIHByZXZpZXc6IHN0cmluZztcbiAgZmlsZTogYW55O1xuICBob3ZlclNlbGVjdG9yOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dQcmV2aWV3RGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dEZWxldGVEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0Vycm9yRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIE1BWF9GSUxFX1NJWkUgPSA1MjQyODg7XG4gIHZpZXdNb2RlOiBzdHJpbmcgPSAnJztcbiAgZmlsZU5hbWU6IHN0cmluZztcblxuICBjYWNoZSA9IHtcbiAgICBzeXN0ZW06IHRydWUsXG4gICAgaGlzdG9yeTogdHJ1ZSxcbiAgICBsYXlvdXQ6IHRydWVcbiAgfTtcblxuICBAVmlld0NoaWxkKCdmaWxlcycpIGZpbGVzOiBFbGVtZW50UmVmID0ge30gYXMgRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnaGVhZGVyQmcnKSBoZWFkZXJCZztcbiAgQFZpZXdDaGlsZCgndXNlckF2YXRhcicpIHVzZXJBdmF0YXI6IFVzZXJBdmF0YXJDb21wb25lbnRcbiAgQFZpZXdDaGlsZCgnY29uZmlybURlbGV0ZUJ0bicpIGNvbmZpcm1EZWxldGVCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3Byb2ZpbGVJbWFnZU92ZXJsYXknKSBwcm9maWxlSW1hZ2VPdmVybGF5OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKE5nRm9ybSkgZGVwdXRpZXNGb3JtOiBOZ0Zvcm07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIGNvbmZpZzogQ29uZmlnLFxuICAgIHByaXZhdGUgbm90aWZ5OiBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhZ2VudFNlcnZpY2U6IEFnZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IEFwcENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RTZXR0aW5nc1NlcnZpY2U6IExpc3RTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbVJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uc1NlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5zZXR0aW5ncy50aXRsZScpKTtcbiAgICB0aGlzLmNsaWVudExvY2FsZXMgPSBjb25maWcuZ2V0Q2xpZW50TG9jYWxlcygpO1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgIHRoaXMuZ2V0U2NoZW1hTG9jYWxlcygpO1xuICAgIHRoaXMuZ2V0VXNlckRhdGEoKTtcbiAgICB0aGlzLmFnZW50TG9ja1NldHRpbmdzID0gdXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS51c2VyU2V0dGluZ3MuYWx3YXlzbG9jaztcbiAgICB0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCQucGlwZSh0YWtlKDEpLCB3aXRoTGF0ZXN0RnJvbSh0aGlzLmFnZW50U2VydmljZS5hZ2VudENvbmZpZyQpKS5zdWJzY3JpYmUoKFtpc0Nvbm5lY3RlZCwgY29uZmlnXSkgPT4ge1xuICAgICAgdGhpcy51c2VBZ2VudENvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woaXNDb25uZWN0ZWQpO1xuICAgICAgaWYgKGNvbmZpZy5oYXNPd25Qcm9wZXJ0eShhZ2VudENvbmZpZ0tleXMuQVVUT0NPTk5FQ1QpKSB7XG4gICAgICAgIHRoaXMuc2hvd0FnZW50Q29uZmlnID0gY29uZmlnW2FnZW50Q29uZmlnS2V5cy5BVVRPQ09OTkVDVF1cbiAgICAgICAgdGhpcy51c2VBZ2VudENvbnRyb2wuZGlzYWJsZSgpXG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmhhc093blByb3BlcnR5KGFnZW50Q29uZmlnS2V5cy5MT0NLU0VUVElOR1MpICYmIE9iamVjdC52YWx1ZXMoTG9ja1NldHRpbmdzKS5pbmNsdWRlcyhjb25maWdbYWdlbnRDb25maWdLZXlzLkxPQ0tTRVRUSU5HU10pKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdExvY2tTZXR0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZ2VudExvY2tTZXR0aW5ncyA9IGNvbmZpZ1thZ2VudENvbmZpZ0tleXMuTE9DS1NFVFRJTkdTXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXNlQWdlbnRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5hZ2VudFNlcnZpY2UuaXNDb25uZWN0ZWQgPSB0aGlzLnVzZUFnZW50Q29udHJvbC52YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuXG4gIGdldCBpc1NTTygpIHtcbiAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgJiYgdGhpcy5jYXBhYmlsaXRpZXMuc3NvO1xuICB9XG5cbiAgZ2V0IGFnZW50U3RhdHVzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFnZW50U2VydmljZS5pc0Nvbm5lY3RlZCQ7XG4gIH1cblxuICBnZXQgaXNDbG91ZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbnZTZXJ2aWNlLmlzQ2xvdWQoKTtcbiAgfVxuXG4gIGdldCBhY3RpdmVTY2hlbWEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5nZXRTY2hlbWFMb2NhbGUoKTtcbiAgfVxuXG4gIGhhc1ByaXZpbGVnZShwcml2aWxlZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmhhc1ByaXZpbGVnZShwcml2aWxlZ2UpO1xuICB9XG5cbiAgY2hhbmdlTG9ja1NldHRpbmdzKGxvY2tTZXR0aW5nczogTG9ja1NldHRpbmdzKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS5jaGFuZ2VMb2NrU2V0dGluZyhsb2NrU2V0dGluZ3MpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFnZW50TG9ja1NldHRpbmdzID0gbG9ja1NldHRpbmdzKTtcbiAgfVxuXG4gIGdldFNjaGVtYUxvY2FsZXMoKSB7XG4gICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLnN5c3RlbSQuc3Vic2NyaWJlKChzeXN0ZW1EZWZpbml0aW9uKSA9PiB7XG4gICAgICB0aGlzLnNjaGVtYUxvY2FsZXMgPSBzeXN0ZW1EZWZpbml0aW9uLmxvY2FsZXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdkaXNwbGF5bmFtZScpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVEZXB1dGllcygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldERlcHV0aWVzKHRoaXMuZGVwdXRpZXMuZGF0YSlcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuZGVwdXRpZXNGb3JtLnJlc2V0Rm9ybSh7ZGVwdXRpZXM6IHRoaXMuZGVwdXRpZXMuZGF0YX0pKTtcbiAgfVxuXG4gIHJlc2V0RGVwdXRpZXMoKSB7XG4gICAgdGhpcy5kZXB1dGllc0Zvcm0ucmVzZXRGb3JtKHtkZXB1dGllczogdGhpcy51c2VyLmRlcHV0aWVzLm1hcChkID0+IGQubmFtZSl9KVxuICB9XG5cbiAgZ2V0VXNlckRhdGEoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgIC8vIHRoaXMudXNlciA9IE9iamVjdC5hc3NpZ24odXNlciwge2NhcGFiaWxpdGllczogdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpfSk7XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgLy8gZGVwdXRpZXNcbiAgICAgIHRoaXMuZGVwdXRpZXMgPSB7XG4gICAgICAgIGRhdGE6IHRoaXMudXNlci5kZXB1dGllcy5tYXAoZCA9PiBkLm5hbWUpLFxuICAgICAgICBkYXRhTWV0YTogdGhpcy51c2VyLmRlcHV0aWVzXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0NoYW5nZVBhc3N3b3JkRm9ybSA9IGZhbHNlO1xuICB9XG5cbiAgY2hhbmdlQ2xpZW50TG9jYWxlKGlzbzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmdldFN1cHBvcnRlZENsaWVudExvY2FsZXMoKS5pbmNsdWRlcyhpc28pKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmNoYW5nZUNsaWVudExvY2FsZShpc28pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmeS5lcnJvcih0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5sYW5ndWFnZS5lcnJvcicpKTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VTY2hlbWFMb2NhbGUoaXNvOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy51c2VyLnNjaGVtYUxvY2FsZSAhPT0gaXNvKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmNoYW5nZVNjaGVtYUxvY2FsZShpc28pLnN1YnNjcmliZShcbiAgICAgICAgXyA9PiBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVzZXIuc2VydmljZS5zY2hlbWEubG9jYWxlLmVycm9yLnRpdGxlJyksXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXNlci5zZXJ2aWNlLnNjaGVtYS5sb2NhbGUuZXJyb3IuZGVzY3JpcHRpb24nKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZWxlbVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwcmVzZW5jZScpLmZvY3VzKCk7XG4gICAgdGhpcy51c2VyJC5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXIuaWQ7XG4gICAgICB0aGlzLnVzZXJJbWFnZVVyaSA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckltYWdlVXJpKHRoaXMudXNlcklkKTtcbiAgICAgIHRoaXMucmVmcmVzaFVzZXJJbWFnZUhlYWRlckJhY2tncm91bmQodGhpcy51c2VySW1hZ2VVcmkpO1xuICAgICAgdGhpcy5zaG93RGVsZXRlSWNvblRyYXNoID0gISF1c2VyLmltYWdlVXJpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0UHJlc2VuY2UoYjogYm9vbGVhbikge1xuICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0UHJlc2VuY2UoYilcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICB9LCBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5lcnJvci50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5lcnJvci5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICApO1xuICB9XG4gIGNsb3NlUHJldmlld0RpYWxvZygpIHtcbiAgICB0aGlzLnNob3dQcmV2aWV3RGlhbG9nID0gZmFsc2U7XG4gICAgdGhpcy5wcm9maWxlSW1hZ2VPdmVybGF5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGRlbGV0ZVVzZXJJbWFnZSgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAuc2V0VXNlckltYWdlKG51bGwpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKHRoaXMudXNlckltYWdlVXJpKTtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuU1lTVEVNX1NUQVRVU19JTUFHRV9DSEFOR0UpO1xuICAgICAgICAgIHRoaXMuc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc2hvd0RlbGV0ZUljb25UcmFzaCA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKCcnLCBlcnIuZXJyb3IuY2F1c2UubWVzc2FnZXNbMF0pO1xuICAgICAgICAgIHRoaXMuZmlsZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udXBsb2FkLmdsb2JhbC5lcnJvci50aXRsZScpLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IuZGVzY3JpcHRpb24nKVxuICAgICAgICB9LFxuXG4gICAgICB9KTtcblxuICB9XG5cbiAgc2VsZWN0SW1hZ2UoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGUgPSBldmVudC5maWxlc1swXTtcbiAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5maWxlLm5hbWU7XG4gICAgICBzd2l0Y2ggKGZhbHNlKSB7XG5cbiAgICAgICAgY2FzZSAodGhpcy5maWxlLnR5cGUuaW5jbHVkZXMoJ2ltYWdlLycpICYmIHRoaXMuZmlsZS50eXBlLmluY2x1ZGVzKCdqcGVnJykgfHwgdGhpcy5maWxlLnR5cGUuaW5jbHVkZXMoJ3BuZycpKTpcbiAgICAgICAgICB0aGlzLnZpZXdNb2RlID0gJ2ltYWdlJztcbiAgICAgICAgICB0aGlzLnNob3dFcnJvckRpYWxvZyA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAodGhpcy5maWxlLnNpemUgPD0gdGhpcy5NQVhfRklMRV9TSVpFKTpcbiAgICAgICAgICB0aGlzLnZpZXdNb2RlID0gJ3NpemUnO1xuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yRGlhbG9nID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuXG4gICAgICAgICAgdGhpcy5wcmV2aWV3ID0gJyc7XG4gICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3ID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5zaG93UHJldmlld0RpYWxvZyA9IHRydWU7XG4gICAgICAgICAgfTtcbiAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTCh0aGlzLmZpbGUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwbG9hZE5ld1VzZXJJbWFnZSgpIHtcblxuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC5zZXRVc2VySW1hZ2UodGhpcy5maWxlKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9maWxlSW1hZ2VPdmVybGF5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKHRoaXMudXNlckltYWdlVXJpKTtcbiAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuU1lTVEVNX1NUQVRVU19JTUFHRV9DSEFOR0UpO1xuICAgICAgICAgIHRoaXMuY2xvc2VQcmV2aWV3RGlhbG9nKCk7XG4gICAgICAgICAgdGhpcy5zaG93RGVsZXRlSWNvblRyYXNoID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcignJywgZXJyLmVycm9yLmNhdXNlLm1lc3NhZ2VzWzBdKTtcbiAgICAgICAgICB0aGlzLmZpbGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnVwbG9hZC5nbG9iYWwuZXJyb3IudGl0bGUnKSxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby51cGxvYWQuZ2xvYmFsLmVycm9yLmRlc2NyaXB0aW9uJylcbiAgICAgICAgfSxcbiAgfSlcbn1cblxuICB0YWJBY3Rpb24oaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICBpbnB1dC5ibHVyKCk7XG4gICAgdGhpcy5ob3ZlclNlbGVjdG9yID0gZmFsc2U7XG4gIH1cbiAgbW91c2VFbnRlcigpIHtcbiAgICB0aGlzLmhvdmVyU2VsZWN0b3IgPSB0cnVlO1xuICB9XG4gIG1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5ob3ZlclNlbGVjdG9yID0gZmFsc2U7XG4gIH1cbiAgdHJhc2hJY29uQ2xpY2soKSB7XG4gICAgdGhpcy5zaG93RGVsZXRlRGlhbG9nID0gdHJ1ZTtcbiAgfVxuXG4gIHJlZnJlc2hVc2VySW1hZ2VIZWFkZXJCYWNrZ3JvdW5kKGltYWdlVXJpOiBzdHJpbmcpIHtcbiAgICBpZiAoaW1hZ2VVcmkpIHtcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpLnRvU3RyaW5nKCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyQmcubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCR7aW1hZ2VVcmkgKyAnJnQ9JyArIHRpbWVzdGFtcH0pYCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJDYWNoZSgpIHtcbiAgICBjb25zdCBhY3Rpb25zID0gW1xuICAgICAgdGhpcy5jYWNoZS5oaXN0b3J5ICYmIHRoaXMubGlzdFNldHRpbmdzU2VydmljZS5jbGVhclNldHRpbmdzKCksXG4gICAgICB0aGlzLmNhY2hlLmhpc3RvcnkgJiYgdGhpcy5jYWNoZVNlcnZpY2UuY2xlYXIoKGtleTogc3RyaW5nKSA9PiAha2V5Lm1hdGNoKC9eZW8uKyhsYXlvdXQpLykgJiYgIWtleS5tYXRjaCgvXmVvLmZyYW1ld29yay5jYWNoZS8pKSxcbiAgICAgIHRoaXMuY2FjaGUubGF5b3V0ICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKGtleTogc3RyaW5nKSA9PiBrZXkgPT09IFJlc3VsdExpc3RDb21wb25lbnQuQ09MVU1OU19ERUZJTklUSU9OKSxcbiAgICAgIHRoaXMuY2FjaGUubGF5b3V0ICYmIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyKChrZXk6IHN0cmluZykgPT4gISFrZXkubWF0Y2goL15lby4rKGxheW91dCkvKSksXG4gICAgICB0aGlzLmNhY2hlLnN5c3RlbSAmJiB0aGlzLnN5c3RlbVNlcnZpY2UuZmV0Y2hTeXN0ZW1EZWZpbml0aW9uKHRoaXMudXNlciksXG4gICAgXS5maWx0ZXIoYSA9PiBhKTtcblxuICAgIHJldHVybiBhY3Rpb25zLmxlbmd0aCA/IGZvcmtKb2luKGFjdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICgpID0+IHRoaXMubm90aWZ5LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3RhdGUuc2V0dGluZ3MuY2FjaGUuY2xlYXIuc3VjY2VzcycpKSxcbiAgICAgICgpID0+IHRoaXMubm90aWZ5LmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN0YXRlLnNldHRpbmdzLmNhY2hlLmNsZWFyLmVycm9yJykpXG4gICAgKSAmJiB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBhc3luYyBzYXZlTG9jYWxTZXR0aW5ncygpIHtcbiAgICBjb25zdCBsb2NhbFNldHRpbmdzID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRTdG9yYWdlKCk7XG4gICAgY29uc3QgY2FjaGVTZXR0aW5ncyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuY2FjaGVTZXJ2aWNlLmdldFN0b3JhZ2UoKSk7XG4gICAgZGVsZXRlIGNhY2hlU2V0dGluZ3NbJ2VvLmZyYW1ld29yay5jYWNoZS5zeXN0ZW1kZWZpbml0aW9uJ107XG4gICAgdGhpcy51c2VyU2VydmljZS5zYXZlTG9jYWxTZXR0aW5ncyhsb2NhbFNldHRpbmdzLCBjYWNoZVNldHRpbmdzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvYWRMb2NhbFNldHRpbmdzKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UubG9hZExvY2FsU2V0dGluZ3MoKS5zdWJzY3JpYmUoc2V0dGluZ3MgPT4ge1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRTdG9yYWdlKHNldHRpbmdzLmxvY2FsU2V0dGluZ3MpO1xuICAgICAgdGhpcy5jYWNoZVNlcnZpY2UucmVwbGFjZVN0b3JhZ2Uoc2V0dGluZ3MuY2FjaGVTZXR0aW5ncyk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1zZXR0aW5nc1wiICpuZ0lmPVwidXNlclwiIGVvUnRsQXdhcmU+XG5cbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuXG4gICAgPGRpdiAjaGVhZGVyQmcgY2xhc3M9XCJiZ1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmaWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWV0YSB1c2VybmFtZVwiPnt7dXNlci5uYW1lfX08L2Rpdj5cbiAgICAgIDxoMT57e3VzZXIuZmlyc3RuYW1lfX0ge3t1c2VyLmxhc3RuYW1lfX08L2gxPlxuICAgICAgPGRpdiBjbGFzcz1cIm1ldGEgZW1haWxcIj57e3VzZXIuZW1haWx9fTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwicHJlc2VuY2VcIiAqbmdJZj1cImNhcGFiaWxpdGllcy5pbmJveFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlIGRhcmsgcHJlc2VudFwiIGlkPVwicHJlc2VuY2VcIiAoY2xpY2spPVwic2V0UHJlc2VuY2UodHJ1ZSlcIiBbbmdDbGFzc109XCJ7YWN0aXZlOiB1c2VyLnByZXNlbnR9XCJcbiAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5wcmVzZW5jZS5wcmVzZW50PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGUgZGFyayBhYnNlbnRcIiAoY2xpY2spPVwic2V0UHJlc2VuY2UoZmFsc2UpXCIgKGtleWRvd24udGFiKT1cInRhYkFjdGlvbigkZXZlbnQudGFyZ2V0KVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6ICF1c2VyLnByZXNlbnR9XCJcbiAgICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MucHJlc2VuY2UuYWJzZW50PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoKVwiIChrZXlkb3duLnRhYik9XCJtb3VzZUVudGVyKClcIj5cblxuICAgICAgPGVvLXVzZXItYXZhdGFyICN1c2VyQXZhdGFyIGNsYXNzPVwidXNlckltYWdlXCIgdGFiaW5kZXg9XCItMVwiIGVvUnRsQXdhcmU9XCJmdWxsXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiLmpwZywgLnBuZ1wiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiICNmaWxlcyAoY2hhbmdlKT1cInNlbGVjdEltYWdlKCRldmVudC50YXJnZXQpXCIgKGNsaWNrKT1cIiRldmVudC50YXJnZXQudmFsdWU9bnVsbFwiPlxuICAgICAgPC9lby11c2VyLWF2YXRhcj5cbiAgICAgIDxlby1kaWFsb2cgIFtzdHlsZUNsYXNzXT1cIid2aWV3J1wiIFttaW5XaWR0aF09XCInMzAwcHgnXCIgW3RpdGxlXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLnVwbG9hZC5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgWyh2aXNpYmxlKV09XCJzaG93UHJldmlld0RpYWxvZ1wiIFtmb2N1c09uU2hvd109XCJmYWxzZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJwcmV2aWV3XCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1hdmF0YXJcIiAqbmdJZj1cInByZXZpZXdcIj5cbiAgICAgICAgICAgICAgICA8ZW8tdXNlci1hdmF0YXIgY2xhc3M9XCJwcmV2aWV3LXJvdW5kXCIgW3ByZXZpZXdVcmldPVwicHJldmlld1wiPjwvZW8tdXNlci1hdmF0YXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ibG9ja1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlUHJldmlld0RpYWxvZygpXCIgY2xhc3M9XCJidXR0b24gZGFuZ2VyXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNka0ZvY3VzSW5pdGlhbCAoY2xpY2spPVwidXBsb2FkTmV3VXNlckltYWdlKClcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmRldGFpbHMuZGlhbG9nLnNhdmU8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2VvLWRpYWxvZz5cblxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiAjcHJvZmlsZUltYWdlT3ZlcmxheSB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cGRhdGVNZXNzYWdlXCIgKm5nSWY9XCJob3ZlclNlbGVjdG9yXCI+XG4gICAgICAgICAgPGVvLWljb24gdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwiZmlsZXMuY2xpY2soKVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2VkaXQuc3ZnJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlsZXMuY2xpY2soKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICA8ZW8taWNvbiB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJ0cmFzaEljb25DbGljaygpXCIgKm5nSWY9XCJzaG93RGVsZXRlSWNvblRyYXNoXCJcbiAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3RyYXNoLnN2ZydcIiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiIChjbGljayk9XCJ0cmFzaEljb25DbGljaygpXCI+PC9lby1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYm9keVwiIChrZXlkb3duLnRhYik9XCJ0YWJBY3Rpb24oJGV2ZW50LnRhcmdldClcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5LXdyYXBcIj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24gc2VjdGlvbi1kZXB1dGllc1wiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmJwbSAmJiBoYXNQcml2aWxlZ2UoJ01BTkFHRV9ERVBVVFlfTElTVCcpXCI+XG4gICAgICAgIDxoMyB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGVwdXRpZXM8L2gzPlxuXG4gICAgICAgIDwhLS0gZGVwdXRpZXMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeSBkZXB1dGllc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXB1dGllcy5sYWJlbDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxmb3JtICNkZXB1dGllc0Zvcm09XCJuZ0Zvcm1cIiBbbmdDbGFzc109XCJ7ZGlydHk6IGRlcHV0aWVzRm9ybS5kaXJ0eX1cIj5cbiAgICAgICAgICAgICAgPGVvLW9yZ2FuaXphdGlvbiBuYW1lPVwiZGVwdXRpZXNcIiBbZGF0YU1ldGFdPVwiZGVwdXRpZXMuZGF0YU1ldGFcIiBbZmlsdGVyT2JqZWN0XT1cInt0eXBlOiAnVVNFUid9XCJcbiAgICAgICAgICAgICAgICBbZXhjZXB0aW9uc109XCJbdXNlci5uYW1lXVwiIFttdWx0aXNlbGVjdF09XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCIgWyhuZ01vZGVsKV09XCJkZXB1dGllcy5kYXRhXCI+PC9lby1vcmdhbml6YXRpb24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCIgKm5nSWY9XCJkZXB1dGllc0Zvcm0udmFsaWQgJiYgZGVwdXRpZXNGb3JtLmRpcnR5XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJyZXNldERlcHV0aWVzKClcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGVwdXRpZXMuY2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZURlcHV0aWVzKClcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGVwdXRpZXMuc2F2ZTwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBzdWJzdGl0dXRlIG9mIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnkgc3Vic3RpdHV0ZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXB1dGllcy5zdWJzaXR1dGVvZi5sYWJlbDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiICpuZ0Zvcj1cImxldCBzdWIgb2YgdXNlci5zdWJzdGl0dXRlc09mXCIgW25nQ2xhc3NdPVwie3ByZXNlbnQ6IHN1Yi5wcmVzZW50fVwiPlxuICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImNoaXAgc3Vic3RpdHV0ZSBzdWJzdGl0dXRlLS1wcmVzZW50XCIgKm5nSWY9XCJzdWIucHJlc2VudFwiXG4gICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZG9uZS5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImNoaXAgc3Vic3RpdHV0ZSBzdWJzdGl0dXRlLS1hd2F5XCIgKm5nSWY9XCIhc3ViLnByZXNlbnRcIlxuICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NsZWFyLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7c3ViLnRpdGxlfX0gKHt7c3ViLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gcGFzc3dvcmQgLS0+XG4gICAgICA8c2VjdGlvbiAqbmdJZj1cIiFpc0Nsb3VkICYmICFpc1NTTyB8fCAhaXNDbG91ZCAmJiBpc1NTT1wiIGNsYXNzPVwic2VjdGlvbiBzZWN0aW9uLXBhc3N3b3JkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5wYXNzd29yZC5yZXNldDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxlby1zaW1wbGUtYWNjb3JkaW9uICNzaW1wbGVBY2MgW2hlYWRlcl09XCIoJ2VvLnBhc3N3b3JkLnJlc2V0JyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICBbc3R5bGVzXT1cIidzZXR0aW5nX19jaGFuZ2UtcGFzc3dvcmQnXCIgW2hlYWRlckNsYXNzXT1cIidzZXR0aW5nX19jaGFuZ2UtcGFzc3dvcmQtaGVhZGVyJ1wiPlxuXG4gICAgICAgICAgICAgIDxlby1jaGFuZ2UtcGFzc3dvcmQtZm9ybSAob25Gb3JtU3VtYml0KT1cInNpbXBsZUFjYy5zZWxlY3RlZCA9IGZhbHNlXCI+PC9lby1jaGFuZ2UtcGFzc3dvcmQtZm9ybT5cbiAgICAgICAgICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDwhLS0gbGFuZ3VhZ2UgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBzZWN0aW9uLWxhbmdcIj5cbiAgICAgICAgPGgzIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sYW5ndWFnZTwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeSBsYW5nLWFwcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sYW5ndWFnZS5jbGllbnQ8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVzXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlXCIgKGNsaWNrKT1cImNoYW5nZUNsaWVudExvY2FsZShsb2NhbGUuaXNvKVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IHRyYW5zbGF0ZS5jdXJyZW50TGFuZyA9PT0gbG9jYWxlLmlzb31cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbG9jYWxlIG9mIGNsaWVudExvY2FsZXNcIj57e2xvY2FsZS5sYWJlbH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVudHJ5IGxhbmctZGVmXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxhbmd1YWdlLnNjaGVtYTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGVcIiAoY2xpY2spPVwiY2hhbmdlU2NoZW1hTG9jYWxlKGxvY2FsZS5jb2RlKVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IGFjdGl2ZVNjaGVtYSA9PT0gbG9jYWxlLmNvZGV9XCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxvY2FsZSBvZiBzY2hlbWFMb2NhbGVzXCI+e3tsb2NhbGUuZGlzcGxheW5hbWV9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIHBlcm1pc3Npb25zIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24gc2VjdGlvbi1wZXJtXCI+XG4gICAgICAgIDxoMyB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MucGVybWlzc2lvbjwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeSBwZXJtLXJvbGVzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLnJvbGVzPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlcyByb2xlc1wiPlxuICAgICAgICAgICAgPGVvLXNpbXBsZS1hY2NvcmRpb24gW2hlYWRlcl09XCIoJ2VvLnN0YXRlLnNldHRpbmdzLnJvbGVzJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgPGVvLXBlcm1pc3Npb25zIFtyb2xlc109XCJ1c2VyLnJvbGVzXCI+PC9lby1wZXJtaXNzaW9ucz5cbiAgICAgICAgICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBhZ2VudCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uIHNlY3Rpb24tb3RoZXJzXCI+XG4gICAgICAgIDxoMyB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3Mub3RoZXJzPC9oMz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBZ2VudENvbmZpZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmFnZW50PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2UtYWdlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggW2Zvcm1Db250cm9sXT1cInVzZUFnZW50Q29udHJvbFwiIFtyZWFkb25seV09XCJ1c2VBZ2VudENvbnRyb2wuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VBZ2VudENvbnRyb2xcIj48L2VvLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXNlLWFnZW50LWxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmFnZW50LnVzZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8IS0tIDxhIGhyZWY9XCJodHRwczovL2hlbHAub3B0aW1hbC1zeXN0ZW1zLmNvbS95dXV2aXNSQUQvdjYwL3VzZXIvY2xpZW50L2RlL2NsaWVudC9pbnRlZ3JhdGlvbi9jbG5fdHNrX2FnZW50X2dsb2JhbC5odG0/SGlnaGxpZ2h0PWFnZW50XCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJpbmZvLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19pbmZvLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDwvYT4gLS0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnRyeSBsb2NrLXNldHRpbmdzXCIgW25nQ2xhc3NdPVwieydsb2NrLXNldHRpbmdzLS1zaG93JzogKGFnZW50U3RhdHVzIHwgYXN5bmMpfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgdHJhbnNsYXRlPmVvLnN0YXRlLnNldHRpbmdzLmxvY2s8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRvZ2dsZSBidXR0b24tZW5hYmxlZFwiIChjbGljayk9XCJjaGFuZ2VMb2NrU2V0dGluZ3MoTG9ja1NldHRpbmdzLmFsd2F5cylcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IGFnZW50TG9ja1NldHRpbmdzID09PSBMb2NrU2V0dGluZ3MuYWx3YXlzfVwiIFtkaXNhYmxlZF09XCJkZWZhdWx0TG9ja1NldHRpbmdcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sb2NrLmVuYWJsZTwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlIGJ1dHRvbi1kaXNhYmxlZFwiIChjbGljayk9XCJjaGFuZ2VMb2NrU2V0dGluZ3MoTG9ja1NldHRpbmdzLm5ldmVyKVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWdlbnRMb2NrU2V0dGluZ3MgPT09IExvY2tTZXR0aW5ncy5uZXZlcn1cIiBbZGlzYWJsZWRdPVwiZGVmYXVsdExvY2tTZXR0aW5nXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MubG9jay5kaXNhYmxlPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ0b2dnbGUgYnV0dG9uLWFza1wiIChjbGljayk9XCJjaGFuZ2VMb2NrU2V0dGluZ3MoTG9ja1NldHRpbmdzLmFzaylcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IGFnZW50TG9ja1NldHRpbmdzID09PSBMb2NrU2V0dGluZ3MuYXNrfVwiIFtkaXNhYmxlZF09XCJkZWZhdWx0TG9ja1NldHRpbmdcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5sb2NrLmFzazwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuY2FjaGU8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0cmFuc2xhdGUgKGNsaWNrKT1cImNsZWFyQ2FjaGUoKVwiPmVvLnN0YXRlLnNldHRpbmdzLmNhY2hlLmNsZWFyPC9idXR0b24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWNoZVwiPlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwiY2hlY2tib3hcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInZW8uc3RhdGUuc2V0dGluZ3MuY29uZmlnLmNhY2hlLnN5c3RlbScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBbKG5nTW9kZWwpXT1cImNhY2hlLnN5c3RlbVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwiY2hlY2tib3hcIiBbc2tpcFRvZ2dsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInZW8uc3RhdGUuc2V0dGluZ3MuY29uZmlnLmNhY2hlLmhpc3RvcnknIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggWyhuZ01vZGVsKV09XCJjYWNoZS5oaXN0b3J5XCIgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJjaGVja2JveFwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5jb25maWcuY2FjaGUubGF5b3V0JyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IFsobmdNb2RlbCldPVwiY2FjaGUubGF5b3V0XCIgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW50cnlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MubG9jYWxTZXR0aW5nczwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZXNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHRyYW5zbGF0ZSAoY2xpY2spPVwic2F2ZUxvY2FsU2V0dGluZ3MoKVwiPmVvLnN0YXRlLnNldHRpbmdzLmxvY2FsU2V0dGluZ3Muc2F2ZTwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIHRyYW5zbGF0ZSAoY2xpY2spPVwibG9hZExvY2FsU2V0dGluZ3MoKVwiPmVvLnN0YXRlLnNldHRpbmdzLmxvY2FsU2V0dGluZ3MubG9hZDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93RGVsZXRlRGlhbG9nXCJcbiAgICBbZm9jdXNPblNob3ddPVwiZmFsc2VcIiBbbWluV2lkdGhdPVwiNDAwXCIgW3N0eWxlQ2xhc3NdPVwiJ2RlbGV0ZV9fZGlhbG9nJ1wiPlxuICAgIDxkaXY+e3snZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kZWxldGUuZGlhbG9nLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX08L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBpbWFnZS1kZWxldGUtLWFjdGlvbi1idXR0b25zIGZsZXgtcm93XCIgPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gY2FuY2VsXCIgKGNsaWNrKT1cInNob3dEZWxldGVEaWFsb2cgPSBmYWxzZVwiXG4gICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kZWxldGUuZGlhbG9nLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2RrRm9jdXNJbml0aWFsICNjb25maXJtRGVsZXRlQnRuIChjbGljayk9XCJkZWxldGVVc2VySW1hZ2UoKVwiIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIlxuICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kZWxldGUuZGlhbG9nLm9rPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZW8tZGlhbG9nPlxuXG4gIDxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLnVwbG9hZC5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93RXJyb3JEaWFsb2dcIlxuICAgIFtmb2N1c09uU2hvd109XCJmYWxzZVwiIFttaW5XaWR0aF09XCI0MDBcIiBbc3R5bGVDbGFzc109XCInZGVsZXRlX19kaWFsb2cnXCI+XG5cbiAgICA8ZGl2PlxuICAgICAgPHA+e3tmaWxlTmFtZX19PC9wPlxuICAgICAgPHAgKm5nSWY9XCJ2aWV3TW9kZSA9PT0nc2l6ZSdcIiB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy51cGxvYWQuZGlhbG9nLnNpemVFcnJvcjwvcD5cbiAgICAgIDxwICpuZ0lmPVwidmlld01vZGUgPT09J2ltYWdlJ1wiIHRyYW5zbGF0ZT5lby5zdGF0ZS5zZXR0aW5ncy5kZXRhaWxzLnVwbG9hZC5kaWFsb2cuZmlsZUVycm9yIDwvcD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9ucyBpbWFnZS1kZWxldGUtLWFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd0Vycm9yRGlhbG9nID0gZmFsc2VcIlxuICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy5kZWxldGUuZGlhbG9nLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2RrRm9jdXNJbml0aWFsIChjbGljayk9XCJmaWxlcy5jbGljaygpOyBzaG93RXJyb3JEaWFsb2cgPSBmYWxzZVwiIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIlxuICAgICAgICB0cmFuc2xhdGU+ZW8uc3RhdGUuc2V0dGluZ3MuZGV0YWlscy51cGxvYWQuZGlhbG9nLmJhY2s8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9lby1kaWFsb2c+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -19,9 +19,8 @@ export class ClipboardActionComponent extends DmsObjectTarget {
|
|
|
19
19
|
this.header = this.translate.instant('eo.clipboard.title');
|
|
20
20
|
}
|
|
21
21
|
isExecutable(element) {
|
|
22
|
-
return observableOf(element
|
|
22
|
+
return observableOf(!!element);
|
|
23
23
|
}
|
|
24
|
-
;
|
|
25
24
|
}
|
|
26
25
|
ClipboardActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClipboardActionComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
26
|
ClipboardActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClipboardActionComponent, selector: "eo-clipboard-action", usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
@@ -32,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
32
31
|
template: ``
|
|
33
32
|
}]
|
|
34
33
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFHMUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkRBQTZELENBQUM7OztBQU0zRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZUFBZTtJQVUzRCxZQUFvQixTQUEyQjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBTi9DLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxZQUFPLEdBQUcsc0NBQXNDLENBQUM7UUFDakQsVUFBSyxHQUFHLFFBQVEsQ0FBQztRQUNqQixVQUFLLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUNwQyxjQUFTLEdBQUcsOEJBQThCLENBQUM7UUFJekMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFrQjtRQUM3QixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7cUhBbkJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGtGQUZ6QixFQUFFOzJGQUVELHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEbXNPYmplY3RUYXJnZXR9IGZyb20gJy4uLy4uL2FjdGlvbi10YXJnZXQnO1xuaW1wb3J0IHtDb21wb25lbnRBY3Rpb259IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlbGVjdGlvblJhbmdlfSBmcm9tICcuLi8uLi9zZWxlY3Rpb24tcmFuZ2UuZW51bSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0Rtc09iamVjdH0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Q2xpcGJvYXJkT2JqZWN0QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NsaXBib2FyZC1vYmplY3QtYWN0aW9uL2NsaXBib2FyZC1vYmplY3QtYWN0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNsaXBib2FyZC1hY3Rpb24nLFxuICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgRG1zT2JqZWN0VGFyZ2V0IGltcGxlbWVudHMgQ29tcG9uZW50QWN0aW9uIHtcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHByaW9yaXR5ID0gMTE7XG4gIGljb25TcmMgPSAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jbGlwYm9hcmQuc3ZnJztcbiAgZ3JvdXAgPSAnY29tbW9uJztcbiAgcmFuZ2UgPSBTZWxlY3Rpb25SYW5nZS5NVUxUSV9TRUxFQ1Q7XG4gIGNvbXBvbmVudCA9IENsaXBib2FyZE9iamVjdEFjdGlvbkNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5tZW51LmNsaXBib2FyZC5sYWJlbCcpO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24ubWVudS5jbGlwYm9hcmQuZGVzY3JpcHRpb24nKTtcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmNsaXBib2FyZC50aXRsZScpO1xuICB9XG5cbiAgaXNFeGVjdXRhYmxlKGVsZW1lbnQ6IERtc09iamVjdCkge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YoISFlbGVtZW50KTtcbiAgfVxufVxuIl19
|