nuxeo-development-framework 1.6.3 → 1.6.4
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/bundles/nuxeo-development-framework.umd.js +597 -1430
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/Core/services/translation/translation.service.js +6 -9
- package/esm2015/lib/components/card/card.component.js +1 -1
- package/esm2015/lib/components/comments/comments.module.js +5 -11
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +11 -61
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +2 -5
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +2 -7
- package/esm2015/lib/components/comments/services/comment-api.service.js +1 -23
- package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +3 -5
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +3 -5
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +1 -1
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -8
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -11
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +16 -47
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +1 -30
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +2 -2
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +1 -1
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +8 -6
- package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
- package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +1 -1
- package/esm2015/lib/components/documents/components/documents/documents.component.js +2 -4
- package/esm2015/lib/components/documents/services/documents.service.js +6 -4
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +6 -43
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +10 -30
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +5 -11
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +3 -14
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +3 -8
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +3 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +7 -10
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +10 -15
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +2 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +2 -6
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +6 -37
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +5 -22
- package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +12 -18
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +26 -44
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +4 -19
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +2 -3
- package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +2 -3
- package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +1 -5
- package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +2 -2
- package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +2 -2
- package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +1 -1
- package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +2 -2
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +10 -32
- package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +1 -1
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -14
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -8
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +32 -189
- package/esm2015/lib/components/select/select/select.component.js +1 -1
- package/esm2015/lib/components/table/table/table.component.js +15 -45
- package/esm2015/lib/components/users-card/users-card.component.js +1 -1
- package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +1 -1
- package/esm2015/lib/configuration/app-config.service.js +1 -1
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
- package/esm2015/lib/shared/components/button/button.component.js +1 -1
- package/esm2015/lib/shared/components/item-list/item-list.component.js +2 -2
- package/esm2015/lib/shared/components/user-card/user-card.component.js +1 -1
- package/esm2015/public-api.js +1 -8
- package/fesm2015/nuxeo-development-framework.js +303 -1109
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/Core/services/translation/translation.service.d.ts +2 -5
- package/lib/components/comments/comments.module.d.ts +12 -13
- package/lib/components/comments/components/comment-item/comment-item.component.d.ts +3 -14
- package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +1 -2
- package/lib/components/comments/components/comments-list/comments-list.component.d.ts +1 -3
- package/lib/components/comments/services/comment-api.service.d.ts +0 -2
- package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +0 -1
- package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +1 -4
- package/lib/components/cts-tags/services/tags-api.service.d.ts +0 -2
- package/lib/components/documents/services/documents.service.d.ts +1 -1
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +2 -4
- package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +2 -11
- package/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.d.ts +0 -1
- package/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.d.ts +1 -4
- package/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.d.ts +1 -2
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +2 -2
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +1 -2
- package/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.d.ts +1 -3
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +3 -6
- package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +1 -6
- package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +3 -8
- package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +3 -4
- package/lib/components/dynamic-view/dynamic-view.module.d.ts +5 -8
- package/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.d.ts +2 -3
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +2 -5
- package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +2 -3
- package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +3 -22
- package/lib/components/table/table/table.component.d.ts +2 -14
- package/lib/configuration/app-config.service.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -7
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +0 -63
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +0 -59
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +0 -68
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +0 -33
- package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +0 -62
- package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +0 -22
- package/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.d.ts +0 -22
- package/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.d.ts +0 -28
- package/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.d.ts +0 -16
- package/lib/components/dynamic-view/dynamic-viewe.service.d.ts +0 -15
|
@@ -126,7 +126,7 @@ export class DynamicChartComponent {
|
|
|
126
126
|
getData() {
|
|
127
127
|
this.isFetching = true;
|
|
128
128
|
if (this.combinedData) {
|
|
129
|
-
return this.getCombinedData(this.pageProvider, this.quickFilters, this.range, this.pageProviderTwo, this.quickFilterTwo, this.
|
|
129
|
+
return this.getCombinedData(this.pageProvider, this.quickFilters, this.range, this.pageProviderTwo, this.quickFilterTwo, this.statusOne, this.statusTwo);
|
|
130
130
|
}
|
|
131
131
|
else {
|
|
132
132
|
return this.callApi
|
|
@@ -160,7 +160,7 @@ export class DynamicChartComponent {
|
|
|
160
160
|
}));
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
getCombinedData(pageProviderOne, quickFilterOne, selectedRange, pageProviderTwo, quickFilterTwo,
|
|
163
|
+
getCombinedData(pageProviderOne, quickFilterOne, selectedRange, pageProviderTwo, quickFilterTwo, statusOne, statusTwo) {
|
|
164
164
|
const getOutgoing$ = this.callApi
|
|
165
165
|
.query({
|
|
166
166
|
pageProvider: pageProviderOne,
|
|
@@ -223,39 +223,8 @@ export class DynamicChartComponent {
|
|
|
223
223
|
totalItems: data.totalSize,
|
|
224
224
|
};
|
|
225
225
|
}));
|
|
226
|
-
|
|
227
|
-
.
|
|
228
|
-
pageProvider: pageProviderTwo,
|
|
229
|
-
currentPageIndex: 0,
|
|
230
|
-
offset: 0,
|
|
231
|
-
pageSize: 1,
|
|
232
|
-
dublincore_created_agg: selectedRange,
|
|
233
|
-
quickFilters: quickFilterThree,
|
|
234
|
-
dublincore_created_min: this.min,
|
|
235
|
-
dublincore_created_max: this.max,
|
|
236
|
-
system_currentLifeCycleState_3: JSON.stringify(this.systemCurrentLifeCycleState),
|
|
237
|
-
}, {
|
|
238
|
-
headers: this.headers,
|
|
239
|
-
})
|
|
240
|
-
.pipe(map((data) => {
|
|
241
|
-
const items = data.aggregations[this.aggregations].buckets
|
|
242
|
-
? data.aggregations[this.aggregations].buckets.map((item) => ({
|
|
243
|
-
label: this.fetchedKey
|
|
244
|
-
? _.get(item, this.fetchedKey)
|
|
245
|
-
: item.key,
|
|
246
|
-
count: item.docCount,
|
|
247
|
-
id: item.key,
|
|
248
|
-
status: statusThree,
|
|
249
|
-
totalItems: data.totalSize,
|
|
250
|
-
}))
|
|
251
|
-
: [];
|
|
252
|
-
return {
|
|
253
|
-
data: items,
|
|
254
|
-
totalItems: data.totalSize,
|
|
255
|
-
};
|
|
256
|
-
}));
|
|
257
|
-
return forkJoin([getOutgoing$, getIncoming$, getInternal$]).pipe(map((data) => {
|
|
258
|
-
let combinedData = [...data[0].data, ...data[1].data, ...data[2].data];
|
|
226
|
+
return forkJoin([getOutgoing$, getIncoming$]).pipe(map((data) => {
|
|
227
|
+
let combinedData = [...data[0].data, ...data[1].data];
|
|
259
228
|
this.isFetching = false;
|
|
260
229
|
return combinedData;
|
|
261
230
|
}));
|
|
@@ -272,11 +241,9 @@ export class DynamicChartComponent {
|
|
|
272
241
|
aggregations: this.aggregations,
|
|
273
242
|
quickFilterOne: this.quickFilters,
|
|
274
243
|
quickFilterTwo: this.quickFilterTwo,
|
|
275
|
-
quickFilterThree: this.quickFilterThree,
|
|
276
244
|
systemCurrentLifeCycleState: this.systemCurrentLifeCycleState,
|
|
277
245
|
statusOne: this.statusOne,
|
|
278
246
|
statusTwo: this.statusTwo,
|
|
279
|
-
statusThree: this.statusThree,
|
|
280
247
|
min: this.min,
|
|
281
248
|
max: this.max,
|
|
282
249
|
};
|
|
@@ -308,7 +275,7 @@ export class DynamicChartComponent {
|
|
|
308
275
|
}
|
|
309
276
|
}
|
|
310
277
|
DynamicChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicChartComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.CallApiService }, { token: i3.Router }, { token: i4.ChartDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
311
|
-
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicChartComponent, selector: "cts-dynamic-chart", inputs: { prefix: "prefix", chartType: "chartType", randomColors: "randomColors", pageProvider: "pageProvider", headers: "headers", observable: "observable", aggregations: "aggregations", quickFilters: "quickFilters", systemCurrentLifeCycleState: "systemCurrentLifeCycleState", range: "range", label: "label", selectedRange: "selectedRange", colors: "colors", randomColor: "randomColor", fetchedKey: "fetchedKey", pageProviderTwo: "pageProviderTwo", quickFilterTwo: "quickFilterTwo",
|
|
278
|
+
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicChartComponent, selector: "cts-dynamic-chart", inputs: { prefix: "prefix", chartType: "chartType", randomColors: "randomColors", pageProvider: "pageProvider", headers: "headers", observable: "observable", aggregations: "aggregations", quickFilters: "quickFilters", systemCurrentLifeCycleState: "systemCurrentLifeCycleState", range: "range", label: "label", selectedRange: "selectedRange", colors: "colors", randomColor: "randomColor", fetchedKey: "fetchedKey", pageProviderTwo: "pageProviderTwo", quickFilterTwo: "quickFilterTwo", combinedData: "combinedData", statusOne: "statusOne", statusTwo: "statusTwo", min: "min", max: "max", width: "width", height: "height", card: "card", cardTitle: "cardTitle" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["revenueLineChart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card-continer\" *ngIf=\"card; else test\">\r\n <div class=\"chart-card-header\">\r\n <div class=\"chart-card-title\">{{ cardTitle | translate }}</div>\r\n <button class=\"chart-card-button\" (click)=\"previewCorrespondences()\">\r\n {{ \"report.Preview\" | translate }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"isFetching\">\r\n <cts-spinner></cts-spinner>\r\n </ng-container>\r\n <div class=\"stat\" [style.height.px]=\"height\">\r\n <div [hidden]=\"data.data?.length == 0 || data.length == 0\">\r\n <canvas #revenueLineChart [height]=\"height\" [width]=\"width\"></canvas>\r\n </div>\r\n <div class=\"no-stats\" *ngIf=\"data.data?.length == 0 || data.length == 0\">\r\n <span>{{ \"STATS.noData\" | translate }}</span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #test>\r\n <div class=\"stat\">\r\n <canvas #revenueLineChart [height]=\"height\" [width]=\"width\"></canvas>\r\n </div>\r\n</ng-template>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.no-stats{width:100%;height:100%;display:grid;place-items:center}.card-continer{background:#ffffff;border-radius:5px;width:100%;padding:16px 20px;box-shadow:0 1px 1px #00000017}.card-continer .chart-card-header{display:flex;justify-content:space-between;align-items:center}.card-continer .chart-card-header .chart-card-title{font-weight:500}.card-continer .chart-card-header .chart-card-button{all:unset;background:#3341551a;color:#465573;padding:6px 18px;border-radius:24px;font-size:16px;cursor:pointer}.card-continer .chart-card-header .chart-card-button:hover{background:#8f98aa;color:#fff}\n"], components: [{ type: i5.SpinnerComponent, selector: "cts-spinner" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
312
279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicChartComponent, decorators: [{
|
|
313
280
|
type: Component,
|
|
314
281
|
args: [{
|
|
@@ -353,16 +320,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
353
320
|
type: Input
|
|
354
321
|
}], quickFilterTwo: [{
|
|
355
322
|
type: Input
|
|
356
|
-
}], quickFilterThree: [{
|
|
357
|
-
type: Input
|
|
358
323
|
}], combinedData: [{
|
|
359
324
|
type: Input
|
|
360
325
|
}], statusOne: [{
|
|
361
326
|
type: Input
|
|
362
327
|
}], statusTwo: [{
|
|
363
328
|
type: Input
|
|
364
|
-
}], statusThree: [{
|
|
365
|
-
type: Input
|
|
366
329
|
}], min: [{
|
|
367
330
|
type: Input
|
|
368
331
|
}], max: [{
|
|
@@ -376,4 +339,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
376
339
|
}], cardTitle: [{
|
|
377
340
|
type: Input
|
|
378
341
|
}] } });
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWlCLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBZ0VoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVMsTUFBYyxFQUMvQyxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQy9DLGNBQVMsR0FBVCxTQUFT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Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSBcImNoYXJ0LmpzXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgLCBTdWJzY3JpcHRpb24sIGZvcmtKb2lufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENoYXJ0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvY2hhcnQtZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1waWVjaGFydC1vdXRsYWJlbHMnO1xyXG5pbXBvcnQgJ2NoYXJ0anMtcGx1Z2luLWxhYmVscyc7XHJcbi8qKiBAaWdub3JlICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImN0cy1keW5hbWljLWNoYXJ0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2R5bmFtaWMtY2hhcnQuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ2hhcnRDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVyVGhyZWU7XHJcbiAgQElucHV0KClcclxuICBjb21iaW5lZERhdGEgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c09uZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1R3bztcclxuICBASW5wdXQoKVxyXG4gIHN0YXR1c1RocmVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuICBteURhdGFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMucXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgICAgICB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICB0aGlzLnN0YXR1c1RocmVlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jYWxsQXBpXHJcbiAgICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlLFxyXG4gICAgICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkRGF0YShcclxuICAgIHBhZ2VQcm92aWRlck9uZSxcclxuICAgIHF1aWNrRmlsdGVyT25lLFxyXG4gICAgc2VsZWN0ZWRSYW5nZSxcclxuICAgIHBhZ2VQcm92aWRlclR3byxcclxuICAgIHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgcXVpY2tGaWx0ZXJUaHJlZSxcclxuICAgIHN0YXR1c09uZSxcclxuICAgIHN0YXR1c1R3byxcclxuICAgIHN0YXR1c1RocmVlXHJcbiAgKSB7XHJcbiAgICBjb25zdCBnZXRPdXRnb2luZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzT25lLFxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzVHdvLFxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGdldEludGVybmFsJCA9IHRoaXMuY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXJUd28sXHJcbiAgICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgcGFnZVNpemU6IDEsXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiBzZWxlY3RlZFJhbmdlLFxyXG4gICAgICAgICAgcXVpY2tGaWx0ZXJzOiBxdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX21pbjogdGhpcy5taW4sXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWF4OiB0aGlzLm1heCxcclxuICAgICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICAgIHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHNcclxuICAgICAgICAgICAgPyBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0cy5tYXAoKGl0ZW0pID0+ICh7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICAgID8gXy5nZXQoaXRlbSwgdGhpcy5mZXRjaGVkS2V5KVxyXG4gICAgICAgICAgICAgICAgICA6IGl0ZW0ua2V5LFxyXG4gICAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgICBpZDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1c1RocmVlLFxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckLCBnZXRJbnRlcm5hbCRdKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICBsZXQgY29tYmluZWREYXRhID0gWy4uLmRhdGFbMF0uZGF0YSwgLi4uZGF0YVsxXS5kYXRhLCAuLi5kYXRhWzJdLmRhdGFdO1xyXG4gICAgICAgIHRoaXMuaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBjb21iaW5lZERhdGE7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJldmlld0NvcnJlc3BvbmRlbmNlcygpIHtcclxuICAgIGNvbnNvbGUubG9nKFwicGFyYW1zXCIsdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUpXHJcbiAgICBsZXQgcXVlcnlQYXJhbXM7XHJcbiAgICBpZiAodGhpcy5jb21iaW5lZERhdGEpIHtcclxuICAgICAgcXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgICAgY29tYmluZWREYXRhOiB0aGlzLmNvbWJpbmVkRGF0YSxcclxuICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUd286IHRoaXMucXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJUaHJlZTogdGhpcy5xdWlja0ZpbHRlclRocmVlLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgc3RhdHVzT25lOiB0aGlzLnN0YXR1c09uZSxcclxuICAgICAgICBzdGF0dXNUd286IHRoaXMuc3RhdHVzVHdvLFxyXG4gICAgICAgIHN0YXR1c1RocmVlOiB0aGlzLnN0YXR1c1RocmVlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbWJpbmVkRGF0YTogdGhpcy5jb21iaW5lZERhdGEsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLnBhZ2VQcm92aWRlcixcclxuICAgICAgICBxdWlja0ZpbHRlck9uZTogdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgaGVhZGVyczogSlNPTi5zdHJpbmdpZnkodGhpcy5oZWFkZXJzKSxcclxuICAgICAgICByYW5nZTogdGhpcy5yYW5nZSxcclxuICAgICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICAgIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTogdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGUsXHJcbiAgICAgICAgbWluOiB0aGlzLm1pbixcclxuICAgICAgICBtYXg6IHRoaXMubWF4LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydyZXBvcnQnLCAnY2hhcnQtZGV0YWlscyddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiBxdWVyeVBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICBcclxuICBzdHJpbmdUb0hzbENvbG9yKHN0ciwgcywgbCkge1xyXG4gICAgdmFyIGhhc2ggPSAwO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaGFzaCA9IHN0ci5jaGFyQ29kZUF0KGkpICsgKChoYXNoIDw8IDUpIC0gaGFzaCk7XHJcbiAgICB9XHJcbiAgICB2YXIgaCA9IGhhc2ggJSAzNjA7XHJcbiAgICByZXR1cm4gJ2hzbCgnICsgaCArICcsICcgKyBzICsgJyUsICcgKyBsICsgJyUpJztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQtY29udGluZXJcIiAqbmdJZj1cImNhcmQ7IGVsc2UgdGVzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjaGFydC1jYXJkLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXJ0LWNhcmQtdGl0bGVcIj57eyBjYXJkVGl0bGUgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjaGFydC1jYXJkLWJ1dHRvblwiIChjbGljayk9XCJwcmV2aWV3Q29ycmVzcG9uZGVuY2VzKClcIj5cclxuICAgICAge3sgXCJyZXBvcnQuUHJldmlld1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGZXRjaGluZ1wiPlxyXG4gICAgPGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cInN0YXRcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxyXG4gICAgPGRpdiBbaGlkZGVuXT1cImRhdGEuZGF0YT8ubGVuZ3RoID09IDAgfHwgZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8Y2FudmFzICNyZXZlbnVlTGluZUNoYXJ0IFtoZWlnaHRdPVwiaGVpZ2h0XCIgW3dpZHRoXT1cIndpZHRoXCI+PC9jYW52YXM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuby1zdGF0c1wiICpuZ0lmPVwiZGF0YS5kYXRhPy5sZW5ndGggPT0gMCB8fCBkYXRhLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgIDxzcGFuPnt7IFwiU1RBVFMubm9EYXRhXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3Rlc3Q+XHJcbiAgPGRpdiBjbGFzcz1cInN0YXRcIj5cclxuICAgIDxjYW52YXMgI3JldmVudWVMaW5lQ2hhcnQgW2hlaWdodF09XCJoZWlnaHRcIiBbd2lkdGhdPVwid2lkdGhcIj48L2NhbnZhcz5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ==
|
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1jaGFydC9keW5hbWljLWNoYXJ0L2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUtMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxPQUFPLEVBQWlCLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBQy9CLGNBQWM7QUFNZCxNQUFNLE9BQU8scUJBQXFCO0lBNERoQyxZQUNTLFNBQTJCLEVBQzNCLGNBQWlDLEVBQ2hDLE9BQXVCLEVBQVMsTUFBYyxFQUMvQyxTQUEyQjtRQUgzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQy9DLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBN0RwQyxXQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsa0JBQWtCO1FBRzVCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRS9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzVDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRXZCLFlBQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyx1QkFBdUI7UUFLckMsVUFBSyxHQUFHLHdCQUF3QixDQUFDO1FBRzFDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMseUJBQXlCO1FBQ3hDLFdBQU0sR0FBUTtZQUNyQixVQUFVLEVBQUUsU0FBUztZQUNyQixVQUFVLEVBQUUsU0FBUztZQUNyQixLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsU0FBUztZQUNuQixNQUFNLEVBQUUsU0FBUztZQUNqQixRQUFRLEVBQUUsU0FBUztZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDO1FBQ0YsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFRN0IsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFjckIsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUViLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFRYixLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztRQUNqRSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWTthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O2dCQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ3pCLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUM5QyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFDZixFQUFFLEVBQ0YsRUFBRSxDQUNILENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzdELE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQzVELElBQUksRUFBRSxJQUFJO29CQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2lCQUNwQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxLQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO3dCQUNsQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUN6Qzt5QkFBTTt3QkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO3dCQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO3FCQUN4QjtpQkFDRjtxQkFBTTtvQkFDTCx5REFBeUQ7b0JBQ3pELG9CQUFvQjtvQkFDcEIsd0JBQXdCO29CQUN4QixZQUFZO29CQUNaLG9CQUFvQjtvQkFDcEIsT0FBTztvQkFDUCxpQkFBaUI7b0JBQ2pCLEtBQUs7b0JBQ0wsNkNBQTZDO29CQUM3QyxpQ0FBaUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFSyxRQUFROztZQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBQ0QsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQSxNQUFBLE9BQU8sQ0FBQyxHQUFHLDBDQUFFLFdBQVcsQ0FBQSxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBLE1BQUEsT0FBTyxDQUFDLEdBQUcsMENBQUUsV0FBVyxDQUFBLENBQUM7UUFDNUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxXQUFXLENBQUEsQ0FBQztRQUNsRSxJQUFJLFVBQVUsSUFBSSxVQUFVLElBQUksWUFBWSxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsS0FBSyxDQUNKO2dCQUNFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0Isc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2hDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNoQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUM1QyxJQUFJLENBQUMsMkJBQTJCLENBQ2pDO2FBQ0YsRUFDRDtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEIsQ0FDRjtpQkFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTztvQkFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7NEJBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRzt3QkFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7cUJBQ3JCLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixPQUFPO29CQUNMLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDM0IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDTDtJQUNILENBQUM7SUFFRCxlQUFlLENBQ2IsZUFBZSxFQUNmLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGNBQWMsRUFDZCxTQUFTLEVBQ1QsU0FBUztRQUVULE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPO2FBQzlCLEtBQUssQ0FDSjtZQUNFLFlBQVksRUFBRSxlQUFlO1lBQzdCLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsQ0FBQztZQUNYLHNCQUFzQixFQUFFLGFBQWE7WUFDckMsWUFBWSxFQUFFLGNBQWM7WUFDNUIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDaEMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDaEMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDNUMsSUFBSSxDQUFDLDJCQUEyQixDQUNqQztTQUNGLEVBQ0Q7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FDRjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU87Z0JBQ3hELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVU7d0JBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO3dCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUc7b0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNwQixFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ1osTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDM0IsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLO2dCQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUzthQUMzQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPO2FBQzlCLEtBQUssQ0FDSjtZQUNFLFlBQVksRUFBRSxlQUFlO1lBQzdCLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsQ0FBQztZQUNYLHNCQUFzQixFQUFFLGFBQWE7WUFDckMsWUFBWSxFQUFFLGNBQWM7WUFDNUIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDaEMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDaEMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDNUMsSUFBSSxDQUFDLDJCQUEyQixDQUNqQztTQUNGLEVBQ0Q7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FDRjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU87Z0JBQ3hELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMxRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVU7d0JBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO3dCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUc7b0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNwQixFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7b0JBQ1osTUFBTSxFQUFFLFNBQVM7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDM0IsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLO2dCQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUzthQUMzQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLE9BQU8sUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNYLElBQUksWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBQ3RELElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixXQUFXLEdBQUc7Z0JBQ1osWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ2pDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtnQkFDN0QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7YUFDZCxDQUFDO1NBQ0g7YUFBTTtZQUNMLFdBQVcsR0FBRztnQkFDWixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtnQkFDN0QsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO2dCQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRzthQUNkLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQ2hELFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDbkIsT0FBTyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbEQsQ0FBQzs7a0hBOVVVLHFCQUFxQjtzR0FBckIscUJBQXFCLDYwQkMzQmxDLGkrQkEwQkE7MkZEQ2EscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5Qzt3TkFFbUQsS0FBSztzQkFBdEQsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRWhELE1BQU07c0JBREwsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRywyQkFBMkI7c0JBQW5DLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQWNOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSBcImNoYXJ0LmpzXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgLCBTdWJzY3JpcHRpb24sIGZvcmtKb2lufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL0NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENoYXJ0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvY2hhcnQtZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0ICdjaGFydGpzLXBsdWdpbi1waWVjaGFydC1vdXRsYWJlbHMnO1xyXG5pbXBvcnQgJ2NoYXJ0anMtcGx1Z2luLWxhYmVscyc7XHJcbi8qKiBAaWdub3JlICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImN0cy1keW5hbWljLWNoYXJ0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2R5bmFtaWMtY2hhcnQuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ2hhcnRDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgncmV2ZW51ZUxpbmVDaGFydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjaGFydDogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKVxyXG4gIHByZWZpeCA9ICdTVEFUUy4nOyAvLyBmb3IgdHJhbnNsYXRpb25cclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZTsgLy8gZnVuY3Rpb25zIGV4aXN0IGluc2lkZSBDaGFydERhdGFTZXJ2aWNlXHJcbiAgQElucHV0KCkgcmFuZG9tQ29sb3JzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBjaGFydE9iajtcclxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGNyZWF0Q2hhcnQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyOyAvLyBkZWZpbmUgYXBpIHRvIGdldCB0aGUgZGF0YSBmcm9tXHJcbiAgQElucHV0KCkgaGVhZGVycyA9IHt9OyAvLyBoZWFkZXJzIGluIGNvbnN0YW50c1xyXG4gIEBJbnB1dCgpIG9ic2VydmFibGU7IC8vIG9ic2VydmFibGUgaW4gY2FzZSBvZiBjYWxsIGFwaSBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIHRoZSBjb21wb25lbnRcclxuICBASW5wdXQoKSBhZ2dyZWdhdGlvbnM7XHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXJzO1xyXG4gIEBJbnB1dCgpIHN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZTtcclxuICBASW5wdXQoKSByYW5nZSA9ICdbXCJmcm9tX25vdy03ZF90b19ub3dcIl0nO1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSYW5nZSA9IFwid2Vla1wiOyAvLyByYW5nZSB0byBiZSBmaWx0ZXJkIG9uXHJcbiAgQElucHV0KCkgY29sb3JzOiBhbnkgPSB7XHJcbiAgICBpblByb2dyZXNzOiAnIzNjM2NmMCcsXHJcbiAgICByZWdpc3RlcmVkOiAnIzVhMTQ5NicsXHJcbiAgICBkcmFmdDogJyM1OTY5NzMnLFxyXG4gICAgYXJjaGl2ZWQ6ICcjZmJiNjJjJyxcclxuICAgIGNsb3NlZDogJyMwMGRjYTUnLFxyXG4gICAgYXNzaWduZWQ6ICcjZmQ2NjcwJyxcclxuICAgIHVuZGVmaW5lZDogJyNmN2Y4ZjknLFxyXG4gICAgb3RoZXI6ICcjZjE3MjA1JyxcclxuICB9O1xyXG4gIGRhdGE6IGFueSA9IFtdO1xyXG4gIGlzRmV0Y2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFydHM6IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcmFuZG9tQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGZldGNoZWRLZXk7XHJcbiAgQElucHV0KClcclxuICBwYWdlUHJvdmlkZXJUd287XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlclR3bztcclxuICBASW5wdXQoKVxyXG4gIGNvbWJpbmVkRGF0YSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdHVzT25lO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdHVzVHdvO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWF4O1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ7XHJcbiAgQElucHV0KClcclxuICBjYXJkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjYXJkVGl0bGUgPSAnJztcclxuICBteURhdGFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNoYXJ0RGF0YTogQ2hhcnREYXRhU2VydmljZVxyXG4gICkge1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250RmFtaWx5ID0gXCJGUyBBbGJlcnQgQXJhYmljIFdlYlwiO1xyXG4gICAgQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSA9IDEzO1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNyZWF0ZUNoYXJ0KCkge1xyXG4gICAgdGhpcy5jcmVhdENoYXJ0LnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgbGV0IHJhbmRvbUNvbG9ycyA9IHt9O1xyXG4gICAgICAgIGlmICh0aGlzLnJhbmRvbUNvbG9ycykge1xyXG4gICAgICAgICAgZGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgcmFuZG9tQ29sb3JzW2l0ZW0ubGFiZWxdID0gdGhpcy5zdHJpbmdUb0hzbENvbG9yKFxyXG4gICAgICAgICAgICAgIGAke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICA0MCxcclxuICAgICAgICAgICAgICA3MFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29sb3JzID0gdGhpcy5yYW5kb21Db2xvcnMgPyByYW5kb21Db2xvcnMgOiB0aGlzLmNvbG9ycztcclxuICAgICAgICBjb25zdCB7IG9wdGlvbnMsIGNoYXJ0RGF0YSB9ID0gdGhpcy5jaGFydERhdGFbdGhpcy5jaGFydFR5cGVdKHtcclxuICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICBjb2xvcnM6IHRoaXMuY29sb3JzLFxyXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZGF0YS5kYXRhPy5sZW5ndGggfHwgZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgIGlmICghdGhpcy5jaGFydE9iaikge1xyXG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG9wdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jaGFydE9iai5jaGFydC5kYXRhID0gY2hhcnREYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmNoYXJ0T2JqLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBjb25zdCBjdHggPSB0aGlzLmNoYXJ0Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIC8vIGxldCBub09wdGlvbnMgPSB7XHJcbiAgICAgICAgICAvLyAgIHR5cGU6IG9wdGlvbnMudHlwZSxcclxuICAgICAgICAgIC8vICAgZGF0YToge1xyXG4gICAgICAgICAgLy8gICAgIGRhdGFzZXRzOiBbXSxcclxuICAgICAgICAgIC8vICAgfSxcclxuICAgICAgICAgIC8vICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgLy8gdGhpcy5jaGFydE9iaiA9IG5ldyBDaGFydChjdHgsIG5vT3B0aW9ucyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmNoYXJ0T2JqLmNoYXJ0LmRhdGEgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0cygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ2hhcnQoKTtcclxuICAgICAgdGhpcy5jcmVhdENoYXJ0Lm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBtaW5DaGFuZ2VkID0gY2hhbmdlcy5taW4gJiYgIWNoYW5nZXMubWluPy5maXJzdENoYW5nZTtcclxuICAgIGNvbnN0IG1heENoYW5nZWQgPSBjaGFuZ2VzLm1heCAmJiAhY2hhbmdlcy5tYXg/LmZpcnN0Q2hhbmdlO1xyXG4gICAgY29uc3QgcmFuZ2VDaGFuZ2VkID0gY2hhbmdlcy5yYW5nZSAmJiAhY2hhbmdlcy5yYW5nZT8uZmlyc3RDaGFuZ2U7XHJcbiAgICBpZiAobWluQ2hhbmdlZCB8fCBtYXhDaGFuZ2VkIHx8IHJhbmdlQ2hhbmdlZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0Q2hhcnQubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLm15RGF0YVN1YnNjcmlwdGlvbiA/IHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOiAnJztcclxuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNyZWF0Q2hhcnQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgZ2V0RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0ZldGNoaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRDb21iaW5lZERhdGEoXHJcbiAgICAgICAgdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMsXHJcbiAgICAgICAgdGhpcy5yYW5nZSxcclxuICAgICAgICB0aGlzLnBhZ2VQcm92aWRlclR3byxcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVyVHdvLFxyXG4gICAgICAgIHRoaXMuc3RhdHVzT25lLFxyXG4gICAgICAgIHRoaXMuc3RhdHVzVHdvXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jYWxsQXBpXHJcbiAgICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlLFxyXG4gICAgICAgICAgICBxdWlja0ZpbHRlcnM6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX21heDogdGhpcy5tYXgsXHJcbiAgICAgICAgICAgIHN5c3RlbV9jdXJyZW50TGlmZUN5Y2xlU3RhdGVfMzogSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICAgID8gZGF0YS5hZ2dyZWdhdGlvbnNbdGhpcy5hZ2dyZWdhdGlvbnNdLmJ1Y2tldHMubWFwKChpdGVtKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5mZXRjaGVkS2V5XHJcbiAgICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgICAgY291bnQ6IGl0ZW0uZG9jQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICA6IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiBkYXRhLnRvdGFsU2l6ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbWJpbmVkRGF0YShcclxuICAgIHBhZ2VQcm92aWRlck9uZSxcclxuICAgIHF1aWNrRmlsdGVyT25lLFxyXG4gICAgc2VsZWN0ZWRSYW5nZSxcclxuICAgIHBhZ2VQcm92aWRlclR3byxcclxuICAgIHF1aWNrRmlsdGVyVHdvLFxyXG4gICAgc3RhdHVzT25lLFxyXG4gICAgc3RhdHVzVHdvXHJcbiAgKSB7XHJcbiAgICBjb25zdCBnZXRPdXRnb2luZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyT25lLFxyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJPbmUsXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzT25lLFxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICBjb25zdCBnZXRJbmNvbWluZyQgPSB0aGlzLmNhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyVHdvLFxyXG4gICAgICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgZHVibGluY29yZV9jcmVhdGVkX2FnZzogc2VsZWN0ZWRSYW5nZSxcclxuICAgICAgICAgIHF1aWNrRmlsdGVyczogcXVpY2tGaWx0ZXJUd28sXHJcbiAgICAgICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfbWluOiB0aGlzLm1pbixcclxuICAgICAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9tYXg6IHRoaXMubWF4LFxyXG4gICAgICAgICAgc3lzdGVtX2N1cnJlbnRMaWZlQ3ljbGVTdGF0ZV8zOiBKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgdGhpcy5zeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaXRlbXMgPSBkYXRhLmFnZ3JlZ2F0aW9uc1t0aGlzLmFnZ3JlZ2F0aW9uc10uYnVja2V0c1xyXG4gICAgICAgICAgICA/IGRhdGEuYWdncmVnYXRpb25zW3RoaXMuYWdncmVnYXRpb25zXS5idWNrZXRzLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZldGNoZWRLZXlcclxuICAgICAgICAgICAgICAgICAgPyBfLmdldChpdGVtLCB0aGlzLmZldGNoZWRLZXkpXHJcbiAgICAgICAgICAgICAgICAgIDogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICBjb3VudDogaXRlbS5kb2NDb3VudCxcclxuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzVHdvLFxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBkYXRhOiBpdGVtcyxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogZGF0YS50b3RhbFNpemUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW2dldE91dGdvaW5nJCwgZ2V0SW5jb21pbmckXSkucGlwZShcclxuICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgbGV0IGNvbWJpbmVkRGF0YSA9IFsuLi5kYXRhWzBdLmRhdGEsIC4uLmRhdGFbMV0uZGF0YV07XHJcbiAgICAgICAgdGhpcy5pc0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVkRGF0YTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcmV2aWV3Q29ycmVzcG9uZGVuY2VzKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJwYXJhbXNcIix0aGlzLnN5c3RlbUN1cnJlbnRMaWZlQ3ljbGVTdGF0ZSlcclxuICAgIGxldCBxdWVyeVBhcmFtcztcclxuICAgIGlmICh0aGlzLmNvbWJpbmVkRGF0YSkge1xyXG4gICAgICBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgICBjb21iaW5lZERhdGE6IHRoaXMuY29tYmluZWREYXRhLFxyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgaGVhZGVyczogSlNPTi5zdHJpbmdpZnkodGhpcy5oZWFkZXJzKSxcclxuICAgICAgICByYW5nZTogdGhpcy5yYW5nZSxcclxuICAgICAgICBhZ2dyZWdhdGlvbnM6IHRoaXMuYWdncmVnYXRpb25zLFxyXG4gICAgICAgIHF1aWNrRmlsdGVyT25lOiB0aGlzLnF1aWNrRmlsdGVycyxcclxuICAgICAgICBxdWlja0ZpbHRlclR3bzogdGhpcy5xdWlja0ZpbHRlclR3byxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIHN0YXR1c09uZTogdGhpcy5zdGF0dXNPbmUsXHJcbiAgICAgICAgc3RhdHVzVHdvOiB0aGlzLnN0YXR1c1R3byxcclxuICAgICAgICBtaW46IHRoaXMubWluLFxyXG4gICAgICAgIG1heDogdGhpcy5tYXgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgICBjb21iaW5lZERhdGE6IHRoaXMuY29tYmluZWREYXRhLFxyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJPbmU6IHRoaXMucXVpY2tGaWx0ZXJzLFxyXG4gICAgICAgIGhlYWRlcnM6IEpTT04uc3RyaW5naWZ5KHRoaXMuaGVhZGVycyksXHJcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXHJcbiAgICAgICAgYWdncmVnYXRpb25zOiB0aGlzLmFnZ3JlZ2F0aW9ucyxcclxuICAgICAgICBzeXN0ZW1DdXJyZW50TGlmZUN5Y2xlU3RhdGU6IHRoaXMuc3lzdGVtQ3VycmVudExpZmVDeWNsZVN0YXRlLFxyXG4gICAgICAgIG1pbjogdGhpcy5taW4sXHJcbiAgICAgICAgbWF4OiB0aGlzLm1heCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncmVwb3J0JywgJ2NoYXJ0LWRldGFpbHMnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgc3RyaW5nVG9Ic2xDb2xvcihzdHIsIHMsIGwpIHtcclxuICAgIHZhciBoYXNoID0gMDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGhhc2ggPSBzdHIuY2hhckNvZGVBdChpKSArICgoaGFzaCA8PCA1KSAtIGhhc2gpO1xyXG4gICAgfVxyXG4gICAgdmFyIGggPSBoYXNoICUgMzYwO1xyXG4gICAgcmV0dXJuICdoc2woJyArIGggKyAnLCAnICsgcyArICclLCAnICsgbCArICclKSc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRpbmVyXCIgKm5nSWY9XCJjYXJkOyBlbHNlIHRlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2hhcnQtY2FyZC1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jYXJkLXRpdGxlXCI+e3sgY2FyZFRpdGxlIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2hhcnQtY2FyZC1idXR0b25cIiAoY2xpY2spPVwicHJldmlld0NvcnJlc3BvbmRlbmNlcygpXCI+XHJcbiAgICAgIHt7IFwicmVwb3J0LlByZXZpZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmV0Y2hpbmdcIj5cclxuICAgIDxjdHMtc3Bpbm5lcj48L2N0cy1zcGlubmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIj5cclxuICAgIDxkaXYgW2hpZGRlbl09XCJkYXRhLmRhdGE/Lmxlbmd0aCA9PSAwIHx8IGRhdGEubGVuZ3RoID09IDBcIj5cclxuICAgICAgPGNhbnZhcyAjcmV2ZW51ZUxpbmVDaGFydCBbaGVpZ2h0XT1cImhlaWdodFwiIFt3aWR0aF09XCJ3aWR0aFwiPjwvY2FudmFzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibm8tc3RhdHNcIiAqbmdJZj1cImRhdGEuZGF0YT8ubGVuZ3RoID09IDAgfHwgZGF0YS5sZW5ndGggPT0gMFwiPlxyXG4gICAgICA8c3Bhbj57eyBcIlNUQVRTLm5vRGF0YVwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0ZXN0PlxyXG4gIDxkaXYgY2xhc3M9XCJzdGF0XCI+XHJcbiAgICA8Y2FudmFzICNyZXZlbnVlTGluZUNoYXJ0IFtoZWlnaHRdPVwiaGVpZ2h0XCIgW3dpZHRoXT1cIndpZHRoXCI+PC9jYW52YXM+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG4iXX0=
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "
|
|
7
|
-
import * as i5 from "../../dynamic-view/custom-document-viewer/custom-document-viewer.component";
|
|
8
|
-
import * as i6 from "../../dynamic-view/department-viewer/department-viewer.component";
|
|
9
|
-
import * as i7 from "@angular/common";
|
|
10
|
-
import * as i8 from "@ngx-translate/core";
|
|
3
|
+
import * as i1 from "@angular/material/checkbox";
|
|
4
|
+
import * as i2 from "../../dynamic-view/department-viewer/department-viewer.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@ngx-translate/core";
|
|
11
7
|
/**
|
|
12
8
|
* Dyanamic filter is a component that leverages Nuxeo Elastic search aggregation buckets data to dynamically
|
|
13
9
|
* generate data filtering checkbox groups & emits checkbox selection for consumption
|
|
@@ -27,27 +23,20 @@ import * as i8 from "@ngx-translate/core";
|
|
|
27
23
|
* </cts-dynamic-filter>
|
|
28
24
|
*/
|
|
29
25
|
export class DynamicFilterComponent {
|
|
30
|
-
constructor(
|
|
31
|
-
this.translationService = translationService;
|
|
26
|
+
constructor() {
|
|
32
27
|
/** emits array of filters */
|
|
33
28
|
this.onFilterSelected = new EventEmitter();
|
|
34
29
|
/** title of the filters group */
|
|
35
30
|
this.title = '';
|
|
36
31
|
/** special type for department */
|
|
37
32
|
this.department = false;
|
|
38
|
-
this.componentType = 'defult';
|
|
39
33
|
this.more = false;
|
|
40
|
-
this.isArabic = false;
|
|
41
34
|
}
|
|
42
35
|
/** new filters coming from the backend based on the selection */
|
|
43
36
|
set selections(val) {
|
|
44
37
|
this._selections = val;
|
|
45
38
|
}
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this.translationSubscription = this.translationService.isArabic.subscribe(res => {
|
|
48
|
-
this.isArabic = res;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
39
|
+
ngOnInit() { }
|
|
51
40
|
onFilterSelect(committeeName, e) {
|
|
52
41
|
if (e) {
|
|
53
42
|
this._selections.push(committeeName);
|
|
@@ -84,12 +73,9 @@ export class DynamicFilterComponent {
|
|
|
84
73
|
return 'department';
|
|
85
74
|
}
|
|
86
75
|
}
|
|
87
|
-
ngOnDestroy() {
|
|
88
|
-
this.translationSubscription ? this.translationSubscription.unsubscribe() : null;
|
|
89
|
-
}
|
|
90
76
|
}
|
|
91
|
-
DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, deps: [
|
|
92
|
-
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider", config: "config" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.key === 'system' ? ('SYSTEM_ADMIN' | translate) : (group.fetchedKey.properties.firstName + \" \" + group.fetchedKey.properties.lastName)\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [config]=\"config\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-department'\">\r\n {{isArabic ? group.fetchedKey.properties[config.propertyAr] : group.fetchedKey.properties[config.propertyEn]}}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: i4.CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group", "config"] }, { type: i5.CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: i6.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
77
|
+
DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
93
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, decorators: [{
|
|
94
80
|
type: Component,
|
|
95
81
|
args: [{
|
|
@@ -98,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
98
84
|
styleUrls: ['./dynamic-filter.component.scss'],
|
|
99
85
|
encapsulation: ViewEncapsulation.None,
|
|
100
86
|
}]
|
|
101
|
-
}], ctorParameters: function () { return [
|
|
87
|
+
}], ctorParameters: function () { return []; }, propDecorators: { onFilterSelected: [{
|
|
102
88
|
type: Output
|
|
103
89
|
}], title: [{
|
|
104
90
|
type: Input
|
|
@@ -116,11 +102,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
116
102
|
type: Input
|
|
117
103
|
}], department: [{
|
|
118
104
|
type: Input
|
|
119
|
-
}], componentType: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], customPageProvider: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], config: [{
|
|
124
|
-
type: Input
|
|
125
105
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBSXZCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQU9ILE1BQU0sT0FBTyxzQkFBc0I7SUFpQ2pDLFlBQW9CLGtCQUF1QztRQUF2Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBaEMzRCw2QkFBNkI7UUFDbkIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRCxpQ0FBaUM7UUFFakMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQWlCWCxrQ0FBa0M7UUFFbEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUdsQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUU2QyxDQUFDO0lBdEIvRCxpRUFBaUU7SUFDakUsSUFDSSxVQUFVLENBQUMsR0FBRztRQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBb0JELFFBQVE7UUFDTixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsTUFBTSxFQUFFO29CQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDakQ7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9DLE9BQU8sQ0FBQyxJQUFJLGFBQWEsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU0sRUFBRTtvQkFDTixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ2pEO2dCQUNELElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTthQUN0QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixNQUFNLE9BQU8sR0FBRyxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQztZQUN0RSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7YUFBSztZQUNKLE9BQU8sWUFBWSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25GLENBQUM7O21IQTlFVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixtV0NuQ25DLGd6SEFnR0E7MkZEN0RhLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3lHQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLUCxLQUFLO3NCQURKLEtBQUs7O1FBR04sb0JBQW9CO1FBQ3BCLE9BQU87c0JBRk4sS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBTU4sRUFBRTtzQkFERCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBEeWFuYW1pYyBmaWx0ZXIgaXMgYSBjb21wb25lbnQgdGhhdCBsZXZlcmFnZXMgTnV4ZW8gRWxhc3RpYyBzZWFyY2ggYWdncmVnYXRpb24gYnVja2V0cyBkYXRhIHRvIGR5bmFtaWNhbGx5XHJcbiAqIGdlbmVyYXRlIGRhdGEgZmlsdGVyaW5nIGNoZWNrYm94IGdyb3VwcyAmIGVtaXRzIGNoZWNrYm94IHNlbGVjdGlvbiBmb3IgY29uc3VtcHRpb25cclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgRmlsdGVyXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy1maWx0ZXJcclxuICogICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICogICBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbkJ1Y2tldHNcIlxyXG4gKiAgIFtpZF09XCJhZ2dyZWdhdGlvbklkXCJcclxuICogICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvblNlbGVjdGlvblwiXHJcbiAqICAgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uRmllbGRcIlxyXG4gKiAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gKiAgIChvbkZpbHRlclNlbGVjdGVkKT1cIkZpbHRlclNlbGVjdGVkKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogZW1pdHMgYXJyYXkgb2YgZmlsdGVycyAqL1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBfc2VsZWN0aW9ucztcclxuXHJcbiAgLyoqIHRpdGxlIG9mIHRoZSBmaWx0ZXJzIGdyb3VwICovXHJcbiAgQElucHV0KClcclxuICB0aXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgLyoqIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBmaWx0ZXJzO1xyXG4gIC8qKiBuZXcgZmlsdGVycyBjb21pbmcgZnJvbSB0aGUgYmFja2VuZCBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0aW9ucyh2YWwpIHtcclxuICAgIHRoaXMuX3NlbGVjdGlvbnMgPSB2YWw7XHJcbiAgfVxyXG4gIC8qKiBBZ2dyZWdhdGlvbiBJRCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgaWQ7XHJcbiAgQElucHV0KClcclxuICBlbnRpdHlUeXBlO1xyXG4gIC8qKiBzdGF0aWMgIHBhdGggZm9yIHRyYW5zbGF0aW9uIHBhc3NlZCBmcm9tIG91dCBzaWRlIGFjY29yZGluZyB0byBlYWNoIHBhZ2UgdHJhbnNsYXRpb24gcGF0aCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJlZml4O1xyXG4gIC8qKiBzcGVjaWFsIHR5cGUgZm9yIGRlcGFydG1lbnQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRlcGFydG1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb21wb25lbnRUeXBlID0gJ2RlZnVsdCc7XHJcbiAgQElucHV0KCkgY3VzdG9tUGFnZVByb3ZpZGVyIDtcclxuICBASW5wdXQoKSBjb25maWcgO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBpc0FyYWJpYyA9IGZhbHNlO1xyXG4gIHRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlIDogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkZpbHRlclNlbGVjdChjb21taXR0ZWVOYW1lLCBlKSB7XHJcbiAgICBpZiAoZSkge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zLnB1c2goY29tbWl0dGVlTmFtZSk7XHJcbiAgICAgIHRoaXMub25GaWx0ZXJTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgIFt0aGlzLmlkXTogSlNPTi5zdHJpbmdpZnkoWy4uLnRoaXMuX3NlbGVjdGlvbnNdKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25zID0gdGhpcy5fc2VsZWN0aW9ucy5maWx0ZXIoKGUpID0+IHtcclxuICAgICAgICByZXR1cm4gZSAhPSBjb21taXR0ZWVOYW1lO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5vbkZpbHRlclNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgW3RoaXMuaWRdOiBKU09OLnN0cmluZ2lmeShbLi4udGhpcy5fc2VsZWN0aW9uc10pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEVudGl0eVR5cGUoZmV0Y2hlZEtleSkge1xyXG4gICAgaWYgKCF0aGlzLmRlcGFydG1lbnQpIHtcclxuICAgICAgY29uc3QgdHlwZU9iaiA9IHR5cGVvZiBmZXRjaGVkS2V5ID09PSAnb2JqZWN0JyAmJiBmZXRjaGVkS2V5ICE9PSBudWxsO1xyXG4gICAgICBpZiAodHlwZU9iaikge1xyXG4gICAgICAgIHJldHVybiBmZXRjaGVkS2V5WydlbnRpdHktdHlwZSddO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2RlcGFydG1lbnQnXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpe1xyXG4gICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA/IHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXRpdGxlXCI+XHJcbiAgICB7eyBwcmVmaXggKyBcIi5cIiArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcnM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImkgPCA1IHx8IG1vcmVcIiBjbGFzcz1cInNlYXJjaC1jaGVja2JveFwiPlxyXG4gICAgICAgIDwhLS0gPGlucHV0XHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCJcclxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiXHJcbiAgICAgICAgLz4gLS0+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXgtOFwiPlxyXG4gICAgICAgICAgPHNwYW4gW25nU3dpdGNoXT1cIkVudGl0eVR5cGUoZ3JvdXAuZmV0Y2hlZEtleSlcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXJlY3RvcnlFbnRyeSdcIj5cclxuICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgXCJ2b2NhYnVsYXJ5LlwiICsgZ3JvdXAuZmV0Y2hlZEtleS5kaXJlY3RvcnlOYW1lICsgXCIuXCIgKyBncm91cC5rZXlcclxuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndXNlcidcIj5cclxuICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArXHJcbiAgICAgICAgICAgICAgICAgIFwiIFwiICtcclxuICAgICAgICAgICAgICAgICAgZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzLmxhc3ROYW1lXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7IHByZWZpeCArIFwiLlwiICsgXCJidWNrZXRzLlwiICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxiZGk+KHt7IGdyb3VwLmRvY0NvdW50IH19KTwvYmRpPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25GaWx0ZXJTZWxlY3QoZ3JvdXAua2V5LCAkZXZlbnQuY2hlY2tlZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJjb21wb25lbnRUeXBlXCI+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS12b2MnXCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1jdXRvbWUtdm9jLXZpZXdlciBbdHlwZV09XCJjb21wb25lbnRUeXBlXCIgW2dyb3VwXT1cImdyb3VwXCI+PC9saWItY3V0b21lLXZvYy12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1dG9tZS12b2Mtdmlld2VyIFt0eXBlXT1cImNvbXBvbmVudFR5cGVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXRvbWUtdm9jLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBncm91cC5rZXkgPT09ICdzeXN0ZW0nID8gKCdTWVNURU1fQURNSU4nIHwgdHJhbnNsYXRlKSA6IChncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMuZmlyc3ROYW1lICsgXCIgXCIgKyBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMubGFzdE5hbWUpXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjdXN0b20tcHAnXCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1jdXN0b20tcHAtdmlld2VyIFtwYWdlUHJvdmlkZXJdPVwiY3VzdG9tUGFnZVByb3ZpZGVyXCIgW2NvbmZpZ109XCJjb25maWdcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXN0b20tcHAtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS1kb2N1bWVudCdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1c3RvbS1kb2N1bWVudC12aWV3ZXIgW3BhZ2VQcm92aWRlcl09XCJjdXN0b21QYWdlUHJvdmlkZXJcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXN0b20tZG9jdW1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1kZXBhcnRtZW50LXZpZXdlclxyXG4gICAgICAgICAgICAgIFtub1N0eWxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJncm91cC5rZXlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY3RzLWRlcGFydG1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICA8IS0tIHt7Z3JvdXAua2V5fX0gLS0+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tLWRlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgICAge3tpc0FyYWJpYyA/IGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllc1tjb25maWcucHJvcGVydHlBcl0gOiBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXNbY29uZmlnLnByb3BlcnR5RW5dfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidzdHJpbmcnXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3tncm91cC5rZXl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7IHByZWZpeCArIFwiLlwiICsgXCJidWNrZXRzLlwiICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxiZGk+KHt7IGdyb3VwLmRvY0NvdW50IH19KTwvYmRpPjwvbWF0LWNoZWNrYm94XHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiAqbmdJZj1cImZpbHRlcnMubGVuZ3RoID4gNVwiIGNsYXNzPVwibW9yZVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW1vcmVcIiAoY2xpY2spPVwibW9yZSA9ICFtb3JlXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgIG1vcmVcclxuICAgICAgICAgICAgPyAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdsZXNzXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICAgIDogKHByZWZpeCArIFwiLlwiICsgXCJ2aWV3bW9yZVwiIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFFdkI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQTRCakM7UUEzQkEsNkJBQTZCO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEQsaUNBQWlDO1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQlgsa0NBQWtDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsU0FBSSxHQUFHLEtBQUssQ0FBQztJQUNFLENBQUM7SUFqQmhCLGlFQUFpRTtJQUNqRSxJQUNJLFVBQVUsQ0FBQyxHQUFHO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFlRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNqRDtnQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsTUFBTSxFQUFFO29CQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDakQ7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1lBQ3RFLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjthQUFLO1lBQ0osT0FBTyxZQUFZLENBQUE7U0FDcEI7SUFDSCxDQUFDOzttSEFqRVUsc0JBQXNCO3VHQUF0QixzQkFBc0IsdVFDakNuQywrNUZBOEVBOzJGRDdDYSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzswRUFHVyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBS1AsS0FBSztzQkFESixLQUFLOztRQUdOLG9CQUFvQjtRQUNwQixPQUFPO3NCQUZOLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQU1OLEVBQUU7c0JBREQsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIER5YW5hbWljIGZpbHRlciBpcyBhIGNvbXBvbmVudCB0aGF0IGxldmVyYWdlcyBOdXhlbyBFbGFzdGljIHNlYXJjaCBhZ2dyZWdhdGlvbiBidWNrZXRzIGRhdGEgdG8gZHluYW1pY2FsbHlcclxuICogZ2VuZXJhdGUgZGF0YSBmaWx0ZXJpbmcgY2hlY2tib3ggZ3JvdXBzICYgZW1pdHMgY2hlY2tib3ggc2VsZWN0aW9uIGZvciBjb25zdW1wdGlvblxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBGaWx0ZXJcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1keW5hbWljLWZpbHRlclxyXG4gKiAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uQnVja2V0c1wiXHJcbiAqICAgW2lkXT1cImFnZ3JlZ2F0aW9uSWRcIlxyXG4gKiAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uU2VsZWN0aW9uXCJcclxuICogICBbdGl0bGVdPVwiYWdncmVnYXRpb25GaWVsZFwiXHJcbiAqICAgW3ByZWZpeF09XCInc2VhcmNoJ1wiXHJcbiAqICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBlbWl0cyBhcnJheSBvZiBmaWx0ZXJzICovXHJcbiAgQE91dHB1dCgpIG9uRmlsdGVyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIF9zZWxlY3Rpb25zO1xyXG5cclxuICAvKiogdGl0bGUgb2YgdGhlIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBASW5wdXQoKVxyXG4gIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KClcclxuICAvKiogZmlsdGVycyBncm91cCAqL1xyXG4gIGZpbHRlcnM7XHJcbiAgLyoqIG5ldyBmaWx0ZXJzIGNvbWluZyBmcm9tIHRoZSBiYWNrZW5kIGJhc2VkIG9uIHRoZSBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3Rpb25zKHZhbCkge1xyXG4gICAgdGhpcy5fc2VsZWN0aW9ucyA9IHZhbDtcclxuICB9XHJcbiAgLyoqIEFnZ3JlZ2F0aW9uIElEICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuICBASW5wdXQoKVxyXG4gIGVudGl0eVR5cGU7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KClcclxuICBwcmVmaXg7XHJcbiAgLyoqIHNwZWNpYWwgdHlwZSBmb3IgZGVwYXJ0bWVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVwYXJ0bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgb25GaWx0ZXJTZWxlY3QoY29tbWl0dGVlTmFtZSwgZSkge1xyXG4gICAgaWYgKGUpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9ucy5wdXNoKGNvbW1pdHRlZU5hbWUpO1xyXG4gICAgICB0aGlzLm9uRmlsdGVyU2VsZWN0ZWQuZW1pdCh7XHJcbiAgICAgICAgZmlsdGVyOiB7XHJcbiAgICAgICAgICBbdGhpcy5pZF06IEpTT04uc3RyaW5naWZ5KFsuLi50aGlzLl9zZWxlY3Rpb25zXSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiB0aGlzLmVudGl0eVR5cGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IHRoaXMuX3NlbGVjdGlvbnMuZmlsdGVyKChlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGUgIT0gY29tbWl0dGVlTmFtZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMub25GaWx0ZXJTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgIFt0aGlzLmlkXTogSlNPTi5zdHJpbmdpZnkoWy4uLnRoaXMuX3NlbGVjdGlvbnNdKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBFbnRpdHlUeXBlKGZldGNoZWRLZXkpIHtcclxuICAgIGlmICghdGhpcy5kZXBhcnRtZW50KSB7XHJcbiAgICAgIGNvbnN0IHR5cGVPYmogPSB0eXBlb2YgZmV0Y2hlZEtleSA9PT0gJ29iamVjdCcgJiYgZmV0Y2hlZEtleSAhPT0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVPYmopIHtcclxuICAgICAgICByZXR1cm4gZmV0Y2hlZEtleVsnZW50aXR5LXR5cGUnXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1lbHNlIHtcclxuICAgICAgcmV0dXJuICdkZXBhcnRtZW50J1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWdncmVnYXRpb24tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC10aXRsZVwiPlxyXG4gICAge3sgcHJlZml4ICsgXCIuXCIgKyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpIDwgNSB8fCBtb3JlXCIgY2xhc3M9XCJzZWFyY2gtY2hlY2tib3hcIj5cclxuICAgICAgICA8IS0tIDxpbnB1dFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbHRlclNlbGVjdChncm91cC5rZXksICRldmVudC50YXJnZXQuY2hlY2tlZClcIlxyXG4gICAgICAgIC8+IC0tPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm14LThcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJFbnRpdHlUeXBlKGdyb3VwLmZldGNoZWRLZXkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlyZWN0b3J5RW50cnknXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwidm9jYWJ1bGFyeS5cIiArIGdyb3VwLmZldGNoZWRLZXkuZGlyZWN0b3J5TmFtZSArIFwiLlwiICsgZ3JvdXAua2V5XHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICAgICBcIiBcIiArXHJcbiAgICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICB7eyBwcmVmaXggKyBcIi5cIiArIFwiYnVja2V0cy5cIiArIGdyb3VwLmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8YmRpPih7eyBncm91cC5kb2NDb3VudCB9fSk8L2JkaT5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiRW50aXR5VHlwZShncm91cC5mZXRjaGVkS2V5KVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RpcmVjdG9yeUVudHJ5J1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBcInZvY2FidWxhcnkuXCIgKyBncm91cC5mZXRjaGVkS2V5LmRpcmVjdG9yeU5hbWUgKyBcIi5cIiArIGdyb3VwLmtleVxyXG4gICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMuZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAgICAgXCIgXCIgK1xyXG4gICAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyXHJcbiAgICAgICAgICAgICAgW25vU3R5bGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tncm91cC5rZXl9fSAtLT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7IHByZWZpeCArIFwiLlwiICsgXCJidWNrZXRzLlwiICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxiZGk+KHt7IGdyb3VwLmRvY0NvdW50IH19KTwvYmRpPjwvbWF0LWNoZWNrYm94XHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiAqbmdJZj1cImZpbHRlcnMubGVuZ3RoID4gNVwiIGNsYXNzPVwibW9yZVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW1vcmVcIiAoY2xpY2spPVwibW9yZSA9ICFtb3JlXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgIG1vcmVcclxuICAgICAgICAgICAgPyAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdsZXNzXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICAgIDogKHByZWZpeCArIFwiLlwiICsgXCJ2aWV3bW9yZVwiIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|