@alfresco/aca-content 4.4.0-7973096458 → 4.4.0-7988205835
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/esm2020/lib/components/search/search-results/search-results.component.mjs +2 -8
- package/fesm2015/alfresco-aca-content.mjs +1 -7
- package/fesm2015/alfresco-aca-content.mjs.map +1 -1
- package/fesm2020/alfresco-aca-content.mjs +1 -7
- package/fesm2020/alfresco-aca-content.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -136,13 +136,7 @@ export class SearchResultsComponent extends PageComponent {
|
|
|
136
136
|
suffix = '';
|
|
137
137
|
term = term.substring(1);
|
|
138
138
|
}
|
|
139
|
-
return ('(' +
|
|
140
|
-
fields
|
|
141
|
-
.map((field) => {
|
|
142
|
-
return field !== 'TEXT' ? `${prefix}${field}:"${term}${suffix}"` : `${prefix}${field}:"${term}"`;
|
|
143
|
-
})
|
|
144
|
-
.join(' OR ') +
|
|
145
|
-
')');
|
|
139
|
+
return '(' + fields.map((field) => `${prefix}${field}:"${term}${suffix}"`).join(' OR ') + ')';
|
|
146
140
|
}
|
|
147
141
|
formatSearchQuery(userInput, fields = ['cm:name']) {
|
|
148
142
|
if (!userInput) {
|
|
@@ -247,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
247
241
|
ToolbarComponent
|
|
248
242
|
], selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <aca-search-input></aca-search-input>\n <div class=\"aca-search-toolbar-spacer\"></div>\n <aca-toolbar [items]=\"actions\"></aca-toolbar>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header aca-content\">\n <div class=\"aca-content__filter-set\">\n <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>\n <adf-search-form></adf-search-form>\n </div>\n <mat-divider [vertical]=\"true\" class=\"aca-content__divider\"></mat-divider>\n <div class=\"aca-content__advanced-filters\">\n <div class=\"aca-content__advanced-filters--header\">\n <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>\n <button\n mat-button\n adf-reset-search\n class=\"aca-content__reset-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n {{ 'APP.BROWSE.SEARCH.RESET' | translate }}\n </button>\n </div>\n <adf-search-filter-chips></adf-search-filter-chips>\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column id=\"app.search.thumbnail\" key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column id=\"app.search.name\" key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\" [draggable]=\"true\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column id=\"app.search.size\" key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\" [draggable]=\"true\"></data-column>\n <data-column id=\"app.search.modifiedOn\" key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\" [draggable]=\"true\"></data-column>\n <data-column id=\"app.search.modifiedBy\" key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\" [draggable]=\"true\"></data-column>\n <data-column id=\"app.search.tags\" key=\"$tags\" type=\"text\" title=\"APP.DOCUMENT_LIST.COLUMNS.TAGS\" class=\"adf-full-width adf-expand-cell-4\" [sortable]=\"false\" [draggable]=\"true\" *ngIf=\"isTagsEnabled\">\n <ng-template let-context>\n <aca-tags-column [context]=\"context\"></aca-tags-column>\n </ng-template>\n </data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"aca-sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-toolbar-spacer{width:100%}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-top:1px solid var(--theme-border-color);border-bottom:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed{background-color:var(--theme-dropdown-color);color:var(--theme-selected-text-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:focus,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:focus{background-color:var(--theme-dropdown-background-hover)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip[disabled],aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed[disabled]{background-color:var(--theme-disabled-chip-background-color);color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip .adf-search-filter-chip-icon,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-placeholder{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}aca-search-results .adf-search-results--right_panel_section{display:flex;justify-content:flex-start}aca-search-results .adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}aca-search-results .adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}aca-search-results .adf-search-results--visibility_button{margin-right:8px}aca-search-results .adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}aca-search-results .adf-search-results .adf-search-filter--hidden{display:none}aca-search-results .adf-search-results .aca-content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content__filter-set p{padding:0 16px}aca-search-results .adf-search-results .aca-content__divider{height:100%}aca-search-results .adf-search-results .aca-content__advanced-filters{width:100%;padding:0 12px}aca-search-results .adf-search-results .aca-content__advanced-filters--header{display:flex;justify-content:space-between}aca-search-results .adf-search-results .aca-content__reset-action{line-height:33px;font-weight:lighter}aca-search-results .adf-search-results .aca-content__sort-picker{min-width:220px}aca-search-results .adf-search-results .adf-datatable aca-search-action-menu button{width:0}aca-search-results .adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"] }]
|
|
249
243
|
}], ctorParameters: function () { return [{ type: i1.TagService }, { type: i1.SearchQueryBuilderService }, { type: i2.ActivatedRoute }, { type: i3.TranslationService }]; } });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvSSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQiwrQkFBK0IsRUFDL0Isd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ3BCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNqQixNQUFNLHNCQUFzQixDQUFDO0FB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bUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCLFlBQ1Msb0JBQW9CLGlCQUVmLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnksIFBhZ2luYXRpb24sIFJlc3VsdFNldFBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBbGZyZXNjb1ZpZXdlck1vZHVsZSwgRG9jdW1lbnRMaXN0TW9kdWxlLCBTZWFyY2hNb2R1bGUsIFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UsIFRhZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgaW5mb0RyYXdlclByZXZpZXcsXG4gIE5hdmlnYXRlVG9Gb2xkZXIsXG4gIFNldEluZm9EcmF3ZXJQcmV2aWV3U3RhdGVBY3Rpb24sXG4gIFNldEluZm9EcmF3ZXJTdGF0ZUFjdGlvbixcbiAgc2hvd0ZhY2V0RmlsdGVyLFxuICBTaG93SW5mb0RyYXdlclByZXZpZXdBY3Rpb24sXG4gIFNuYWNrYmFyRXJyb3JBY3Rpb25cbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlTW9kdWxlLCBQYWdpbmF0aW9uTW9kdWxlLCBUcmFuc2xhdGlvblNlcnZpY2UsIFZpZXdlck1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDb250ZXh0QWN0aW9uc0RpcmVjdGl2ZSxcbiAgSW5mb0RyYXdlckNvbXBvbmVudCxcbiAgUGFnZUNvbXBvbmVudCxcbiAgUGFnZUxheW91dENvbXBvbmVudCxcbiAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcbiAgVG9vbGJhckNvbXBvbmVudFxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBTZWFyY2hTb3J0aW5nRGVmaW5pdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcy9saWIvc2VhcmNoL21vZGVscy9zZWFyY2gtc29ydGluZy1kZWZpbml0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBEb2N1bWVudExpc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RvY3VtZW50LWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRodW1ibmFpbENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RsLWN1c3RvbS1jb21wb25lbnRzL3RodW1ibmFpbC1jb2x1bW4vdGh1bWJuYWlsLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoQWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1hY3Rpb24tbWVudS9zZWFyY2gtYWN0aW9uLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ3NDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kbC1jdXN0b20tY29tcG9uZW50cy90YWdzLWNvbHVtbi90YWdzLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHRzLXJvdy9zZWFyY2gtcmVzdWx0cy1yb3cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFNlYXJjaE1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBEb2N1bWVudExpc3RNb2R1bGUsXG4gICAgRG9jdW1lbnRMaXN0RGlyZWN0aXZlLFxuICAgIENvbnRleHRBY3Rpb25zRGlyZWN0aXZlLFxuICAgIERhdGFUYWJsZU1vZHVsZSxcbiAgICBUaHVtYm5haWxDb2x1bW5Db21wb25lbnQsXG4gICAgU2VhcmNoQWN0aW9uTWVudUNvbXBvbmVudCxcbiAgICBUYWdzQ29sdW1uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgQWxmcmVzY29WaWV3ZXJNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBJbmZvRHJhd2VyQ29tcG9uZW50LFxuICAgIFNlYXJjaFJlc3VsdHNSb3dDb21wb25lbnQsXG4gICAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcbiAgICBWaWV3ZXJNb2R1bGUsXG4gICAgUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50XG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1yZXN1bHRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRzQ29tcG9uZW50IGV4dGVuZHMgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNob3dGYWNldEZpbHRlciQgPSB0aGlzLnN0b3JlLnNlbGVjdChzaG93RmFjZXRGaWx0ZXIpO1xuICBpbmZvRHJhd2VyUHJldmlldyQgPSB0aGlzLnN0b3JlLnNlbGVjdChpbmZvRHJhd2VyUHJldmlldyk7XG5cbiAgc2VhcmNoZWRXb3JkOiBzdHJpbmc7XG4gIHF1ZXJ5UGFyYW1OYW1lID0gJ3EnO1xuICBkYXRhOiBSZXN1bHRTZXRQYWdpbmc7XG4gIHNvcnRpbmcgPSBbJ25hbWUnLCAnYXNjJ107XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICB0b3RhbFJlc3VsdHM6IG51bWJlcjtcbiAgaXNUYWdzRW5hYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRhZ3NTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVlcnlCdWlsZGVyOiBTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuaXNUYWdzRW5hYmxlZCA9IHRhZ3NTZXJ2aWNlLmFyZVRhZ3NFbmFibGVkKCk7XG5cbiAgICBxdWVyeUJ1aWxkZXIucGFnaW5nID0ge1xuICAgICAgc2tpcENvdW50OiAwLFxuICAgICAgbWF4SXRlbXM6IDI1XG4gICAgfTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucm91dGUucGFyYW1zLCB0aGlzLnF1ZXJ5QnVpbGRlci5jb25maWdVcGRhdGVkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3BhcmFtcywgc2VhcmNoQ29uZmlnXSkgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gcGFyYW1zLmhhc093blByb3BlcnR5KHRoaXMucXVlcnlQYXJhbU5hbWUpID8gcGFyYW1zW3RoaXMucXVlcnlQYXJhbU5hbWVdIDogbnVsbDtcbiAgICAgICAgY29uc3QgcXVlcnkgPSB0aGlzLmZvcm1hdFNlYXJjaFF1ZXJ5KHRoaXMuc2VhcmNoZWRXb3JkLCBzZWFyY2hDb25maWdbJ2FjYTpmaWVsZHMnXSk7XG4gICAgICAgIGlmIChxdWVyeSkge1xuICAgICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVzZXJRdWVyeSA9IGRlY29kZVVSSUNvbXBvbmVudChxdWVyeSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMucXVlcnlCdWlsZGVyLnJlc2V0VG9EZWZhdWx0cygpO1xuICAgIHRoaXMuc29ydGluZyA9IHRoaXMuZ2V0U29ydGluZygpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGVkLnN1YnNjcmliZSgocXVlcnkpID0+IHtcbiAgICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgICAgdGhpcy5zb3J0aW5nID0gdGhpcy5nZXRTb3J0aW5nKCk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSxcblxuICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIuZXhlY3V0ZWQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnBhZ2luZy5za2lwQ291bnQgPSAwO1xuXG4gICAgICAgIHRoaXMub25TZWFyY2hSZXN1bHRMb2FkZWQoZGF0YSk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KSxcblxuICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIuZXJyb3Iuc3Vic2NyaWJlKChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm9uU2VhcmNoRXJyb3IoZXJyKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0aGlzLnJvdXRlKSB7XG4gICAgICB0aGlzLnJvdXRlLnBhcmFtcy5mb3JFYWNoKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICAgIHRoaXMuc2VhcmNoZWRXb3JkID0gcGFyYW1zLmhhc093blByb3BlcnR5KHRoaXMucXVlcnlQYXJhbU5hbWUpID8gcGFyYW1zW3RoaXMucXVlcnlQYXJhbU5hbWVdIDogbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoZWRXb3JkKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXNlclF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5uZXh0KHtcbiAgICAgICAgICAgIGxpc3Q6IHsgcGFnaW5hdGlvbjogeyB0b3RhbEl0ZW1zOiAwIH0sIGVudHJpZXM6IFtdIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hFcnJvcihlcnJvcjogeyBtZXNzYWdlOiBhbnkgfSkge1xuICAgIGNvbnN0IHsgc3RhdHVzQ29kZSB9ID0gSlNPTi5wYXJzZShlcnJvci5tZXNzYWdlKS5lcnJvcjtcblxuICAgIGNvbnN0IG1lc3NhZ2VLZXkgPSBgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLiR7c3RhdHVzQ29kZX1gO1xuICAgIGxldCB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChtZXNzYWdlS2V5KTtcblxuICAgIGlmICh0cmFuc2xhdGVkID09PSBtZXNzYWdlS2V5KSB7XG4gICAgICB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChgQVBQLkJST1dTRS5TRUFSQ0guRVJST1JTLkdFTkVSSUNgKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTbmFja2JhckVycm9yQWN0aW9uKHRyYW5zbGF0ZWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPcGVyYXRvcihpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dCA9IGlucHV0LnRyaW0oKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBvcGVyYXRvcnMgPSBbJ0FORCcsICdPUiddO1xuICAgICAgcmV0dXJuIG9wZXJhdG9ycy5pbmNsdWRlcyhpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGRzKGZpZWxkczogc3RyaW5nW10sIHRlcm06IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHByZWZpeCA9ICcnO1xuICAgIGxldCBzdWZmaXggPSAnKic7XG5cbiAgICBpZiAodGVybS5zdGFydHNXaXRoKCc9JykpIHtcbiAgICAgIHByZWZpeCA9ICc9JztcbiAgICAgIHN1ZmZpeCA9ICcnO1xuICAgICAgdGVybSA9IHRlcm0uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAnKCcgK1xuICAgICAgZmllbGRzXG4gICAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpZWxkICE9PSAnVEVYVCcgPyBgJHtwcmVmaXh9JHtmaWVsZH06XCIke3Rlcm19JHtzdWZmaXh9XCJgIDogYCR7cHJlZml4fSR7ZmllbGR9OlwiJHt0ZXJtfVwiYDtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJyBPUiAnKSArXG4gICAgICAnKSdcbiAgICApO1xuICB9XG5cbiAgZm9ybWF0U2VhcmNoUXVlcnkodXNlcklucHV0OiBzdHJpbmcsIGZpZWxkcyA9IFsnY206bmFtZSddKSB7XG4gICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICgvXmh0dHBbc10/OlxcL1xcLy8udGVzdCh1c2VySW5wdXQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICAgIH1cblxuICAgIHVzZXJJbnB1dCA9IHVzZXJJbnB1dC50cmltKCk7XG5cbiAgICBpZiAodXNlcklucHV0LmluY2x1ZGVzKCc6JykgfHwgdXNlcklucHV0LmluY2x1ZGVzKCdcIicpKSB7XG4gICAgICByZXR1cm4gdXNlcklucHV0O1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmRzID0gdXNlcklucHV0LnNwbGl0KCcgJyk7XG5cbiAgICBpZiAod29yZHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gd29yZHMuc29tZSh0aGlzLmlzT3BlcmF0b3IpID8gJyAnIDogJyBBTkQgJztcblxuICAgICAgcmV0dXJuIHdvcmRzXG4gICAgICAgIC5tYXAoKHRlcm0pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc09wZXJhdG9yKHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGVybTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB0ZXJtKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb3JtYXRGaWVsZHMoZmllbGRzLCB1c2VySW5wdXQpO1xuICB9XG5cbiAgb25TZWFyY2hSZXN1bHRMb2FkZWQobm9kZVBhZ2luZzogUmVzdWx0U2V0UGFnaW5nKSB7XG4gICAgdGhpcy5kYXRhID0gbm9kZVBhZ2luZztcbiAgICB0aGlzLnRvdGFsUmVzdWx0cyA9IHRoaXMuZ2V0TnVtYmVyT2ZSZXN1bHRzKCk7XG4gIH1cblxuICBnZXROdW1iZXJPZlJlc3VsdHMoKSB7XG4gICAgaWYgKHRoaXMuZGF0YT8ubGlzdD8ucGFnaW5hdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5saXN0LnBhZ2luYXRpb24udG90YWxJdGVtcztcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBvblBhZ2luYXRpb25DaGFuZ2VkKHBhZ2luYXRpb246IFBhZ2luYXRpb24pIHtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5wYWdpbmcgPSB7XG4gICAgICBtYXhJdGVtczogcGFnaW5hdGlvbi5tYXhJdGVtcyxcbiAgICAgIHNraXBDb3VudDogcGFnaW5hdGlvbi5za2lwQ291bnRcbiAgICB9O1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0aW5nKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBwcmltYXJ5ID0gdGhpcy5xdWVyeUJ1aWxkZXIuZ2V0UHJpbWFyeVNvcnRpbmcoKTtcblxuICAgIGlmIChwcmltYXJ5KSB7XG4gICAgICByZXR1cm4gW3ByaW1hcnkua2V5LCBwcmltYXJ5LmFzY2VuZGluZyA/ICdhc2MnIDogJ2Rlc2MnXTtcbiAgICB9XG5cbiAgICByZXR1cm4gWyduYW1lJywgJ2FzYyddO1xuICB9XG5cbiAgb25Ob2RlRG91YmxlQ2xpY2sobm9kZTogTm9kZUVudHJ5KSB7XG4gICAgaWYgKG5vZGU/LmVudHJ5KSB7XG4gICAgICBpZiAobm9kZS5lbnRyeS5pc0ZvbGRlcikge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBOYXZpZ2F0ZVRvRm9sZGVyKG5vZGUpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNob3dQcmV2aWV3KG5vZGUsIHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVOb2RlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5vbk5vZGVEb3VibGVDbGljaygoZXZlbnQgYXMgQ3VzdG9tRXZlbnQpLmRldGFpbD8ubm9kZSk7XG4gIH1cblxuICBvblByZXZpZXdDbG9zZWQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2hvd0luZm9EcmF3ZXJQcmV2aWV3QWN0aW9uKCkpO1xuICB9XG5cbiAgb25EcmF3ZXJDbG9zZWQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0SW5mb0RyYXdlclByZXZpZXdTdGF0ZUFjdGlvbihmYWxzZSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEluZm9EcmF3ZXJTdGF0ZUFjdGlvbihmYWxzZSkpO1xuICB9XG5cbiAgb25TZWFyY2hTb3J0aW5nVXBkYXRlKG9wdGlvbjogU2VhcmNoU29ydGluZ0RlZmluaXRpb24pIHtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5zb3J0aW5nID0gW3sgLi4ub3B0aW9uLCBhc2NlbmRpbmc6IG9wdGlvbi5hc2NlbmRpbmcgfV07XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlKCk7XG4gIH1cbn1cbiIsIjxhY2EtcGFnZS1sYXlvdXQ+XG4gIDxkaXYgY2xhc3M9XCJhY2EtcGFnZS1sYXlvdXQtaGVhZGVyXCI+XG4gICAgPGFjYS1zZWFyY2gtaW5wdXQ+PC9hY2Etc2VhcmNoLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJhY2Etc2VhcmNoLXRvb2xiYXItc3BhY2VyXCI+PC9kaXY+XG4gICAgPGFjYS10b29sYmFyIFtpdGVtc109XCJhY3Rpb25zXCI+PC9hY2EtdG9vbGJhcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1wYWdlLWxheW91dC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjYS1tYWluLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c19fY29udGVudFwiPlxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj4gPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnQtaGVhZGVyIGFjYS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLWNvbnRlbnRfX2ZpbHRlci1zZXRcIj5cbiAgICAgICAgICAgICAgPHA+e3sgJ0FQUC5CUk9XU0UuU0VBUkNILkZJTFRFUl9TRVQnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICA8YWRmLXNlYXJjaC1mb3JtPjwvYWRmLXNlYXJjaC1mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgW3ZlcnRpY2FsXT1cInRydWVcIiBjbGFzcz1cImFjYS1jb250ZW50X19kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2EtY29udGVudF9fYWR2YW5jZWQtZmlsdGVyc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLWNvbnRlbnRfX2FkdmFuY2VkLWZpbHRlcnMtLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxwPnt7ICdBUFAuQlJPV1NFLlNFQVJDSC5BRFZBTkNFRF9GSUxURVJTJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBhZGYtcmVzZXQtc2VhcmNoXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFjYS1jb250ZW50X19yZXNldC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQVBQLkJST1dTRS5TRUFSQ0guUkVTRVRfQUNUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuQlJPV1NFLlNFQVJDSC5SRVNFVF9BQ1RJT04nIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuU0VBUkNILlJFU0VUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGFkZi1zZWFyY2gtZmlsdGVyLWNoaXBzPjwvYWRmLXNlYXJjaC1maWx0ZXItY2hpcHM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxhZGYtZG9jdW1lbnQtbGlzdFxuICAgICAgICAgICAgI2RvY3VtZW50TGlzdFxuICAgICAgICAgICAgYWNhRG9jdW1lbnRMaXN0XG4gICAgICAgICAgICBhY2FDb250ZXh0QWN0aW9uc1xuICAgICAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiJ211bHRpcGxlJ1wiXG4gICAgICAgICAgICBbc29ydGluZ01vZGVdPVwiJ3NlcnZlcidcIlxuICAgICAgICAgICAgW3NvcnRpbmddPVwic29ydGluZ1wiXG4gICAgICAgICAgICBbaW1hZ2VSZXNvbHZlcl09XCJpbWFnZVJlc29sdmVyXCJcbiAgICAgICAgICAgIFtpc1Jlc2l6aW5nRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtibHVyT25SZXNpemVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW25vZGVdPVwiJGFueShkYXRhKVwiXG4gICAgICAgICAgICAobm9kZS1kYmxjbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGlkPVwiYXBwLnNlYXJjaC50aHVtYm5haWxcIiBrZXk9XCIkdGh1bWJuYWlsXCIgdHlwZT1cImltYWdlXCIgW3NyLXRpdGxlXT1cIidBREYtRE9DVU1FTlQtTElTVC5MQVlPVVQuVEhVTUJOQUlMJ1wiIFtzb3J0YWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgIDxhY2EtY3VzdG9tLXRodW1ibmFpbC1jb2x1bW4gW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYWNhLWN1c3RvbS10aHVtYm5haWwtY29sdW1uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8YWRmLWRhdGEtY29sdW1uLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGFjYS1zZWFyY2gtYWN0aW9uLW1lbnUgKHNvcnRpbmdTZWxlY3RlZCk9XCJvblNlYXJjaFNvcnRpbmdVcGRhdGUoJGV2ZW50KVwiPjwvYWNhLXNlYXJjaC1hY3Rpb24tbWVudT5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9hZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuXG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2gubmFtZVwiIGtleSB0eXBlPVwidGV4dFwiICBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01XCIgdGl0bGU9XCJBUFAuRE9DVU1FTlRfTElTVC5DT0xVTU5TLk5BTUVcIiBbc29ydGFibGVdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1yZXN1bHRzLXJvdyBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2Etc2VhcmNoLXJlc3VsdHMtcm93PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGlkPVwiYXBwLnNlYXJjaC5zaXplXCIga2V5PVwiY29udGVudC5zaXplSW5CeXRlc1wiIHR5cGU9XCJmaWxlU2l6ZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5TSVpFXCIgY2xhc3M9XCJhZGYtbm8tZ3Jvdy1jZWxsIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiIFtkcmFnZ2FibGVdPVwidHJ1ZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2gubW9kaWZpZWRPblwiIGtleT1cIm1vZGlmaWVkQXRcIiB0eXBlPVwiZGF0ZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5NT0RJRklFRF9PTlwiIGNsYXNzPVwiYWRmLW5vLWdyb3ctY2VsbCBhZGYtZWxsaXBzaXMtY2VsbFwiIGZvcm1hdD1cInRpbWVBZ29cIiBbc29ydGFibGVdPVwiZmFsc2VcIiAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuXCIgW2RyYWdnYWJsZV09XCJ0cnVlXCI+PC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGlkPVwiYXBwLnNlYXJjaC5tb2RpZmllZEJ5XCIga2V5PVwibW9kaWZpZWRCeVVzZXIuZGlzcGxheU5hbWVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuTU9ESUZJRURfQllcIiBjbGFzcz1cImFkZi1uby1ncm93LWNlbGwgYWRmLWVsbGlwc2lzLWNlbGxcIiBbc29ydGFibGVdPVwiZmFsc2VcIiAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuXCIgW2RyYWdnYWJsZV09XCJ0cnVlXCI+PC9kYXRhLWNvbHVtbj5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGlkPVwiYXBwLnNlYXJjaC50YWdzXCIga2V5PVwiJHRhZ3NcIiB0eXBlPVwidGV4dFwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5UQUdTXCIgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtZXhwYW5kLWNlbGwtNFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiIFtkcmFnZ2FibGVdPVwidHJ1ZVwiICpuZ0lmPVwiaXNUYWdzRW5hYmxlZFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgIDxhY2EtdGFncy1jb2x1bW4gW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYWNhLXRhZ3MtY29sdW1uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICA8L2RhdGEtY29sdW1ucz5cblxuICAgICAgICAgICAgPGFkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktc2VhcmNoX19ibG9ja1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJlbXB0eS1zZWFyY2hfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuU0VBUkNILk5PX1JFU1VMVFMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9hZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgPC9hZGYtZG9jdW1lbnQtbGlzdD5cblxuICAgICAgICAgIDxhZGYtcGFnaW5hdGlvbiAqbmdJZj1cInRvdGFsUmVzdWx0cyA+IDBcIiBhY2FQYWdpbmF0aW9uIFt0YXJnZXRdPVwiZG9jdW1lbnRMaXN0XCIgKGNoYW5nZSk9XCJvblBhZ2luYXRpb25DaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICA8L2FkZi1wYWdpbmF0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAoaW5mb0RyYXdlclByZXZpZXckIHwgYXN5bmMpID09PSB0cnVlID8gJ2FkZi1zZWFyY2gtcmVzdWx0cy0tcmlnaHRfcGFuZWxfc2VjdGlvbi1leHRlbmRlZCcgOiAnYWRmLXNlYXJjaC1yZXN1bHRzLS1yaWdodF9wYW5lbF9zZWN0aW9uJ1xuICAgICAgXCJcbiAgICAgICpuZ0lmPVwiaW5mb0RyYXdlck9wZW5lZCQgfCBhc3luY1wiXG4gICAgPlxuICAgICAgPGFkZi1hbGZyZXNjby12aWV3ZXJcbiAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHMtLWVtYmVkZGVkX3ZpZXdlclwiXG4gICAgICAgIFtub2RlSWRdPVwic2VsZWN0aW9uLmxhc3QuZW50cnkuaWRcIlxuICAgICAgICAqbmdJZj1cImluZm9EcmF3ZXJQcmV2aWV3JCB8IGFzeW5jOyBlbHNlIGluZm9EcmF3ZXJQYW5lbFwiXG4gICAgICA+XG4gICAgICAgIDxhZGYtdmlld2VyLXRvb2xiYXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0cy0tcHJldmlldy10b29sYmFyXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cIm9uRHJhd2VyQ2xvc2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQUNUSU9OUy5QUkVWSUVXJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzLS12aXNpYmlsaXR5X2J1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+dmlzaWJpbGl0eTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cIm9uUHJldmlld0Nsb3NlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmluZm9fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYWRmLXZpZXdlci10b29sYmFyPlxuICAgICAgPC9hZGYtYWxmcmVzY28tdmlld2VyPlxuICAgICAgPG5nLXRlbXBsYXRlICNpbmZvRHJhd2VyUGFuZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2Etc2lkZWJhclwiPlxuICAgICAgICAgIDxhY2EtaW5mby1kcmF3ZXIgW25vZGVdPVwic2VsZWN0aW9uLmxhc3RcIj48L2FjYS1pbmZvLWRyYXdlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYWNhLXBhZ2UtbGF5b3V0PlxuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvSSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQiwrQkFBK0IsRUFDL0Isd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ3BCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNqQixNQUFNLHNCQUFzQixDQUFDO0FB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IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZUVudHJ5LCBQYWdpbmF0aW9uLCBSZXN1bHRTZXRQYWdpbmcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWxmcmVzY29WaWV3ZXJNb2R1bGUsIERvY3VtZW50TGlzdE1vZHVsZSwgU2VhcmNoTW9kdWxlLCBTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7XG4gIGluZm9EcmF3ZXJQcmV2aWV3LFxuICBOYXZpZ2F0ZVRvRm9sZGVyLFxuICBTZXRJbmZvRHJhd2VyUHJldmlld1N0YXRlQWN0aW9uLFxuICBTZXRJbmZvRHJhd2VyU3RhdGVBY3Rpb24sXG4gIHNob3dGYWNldEZpbHRlcixcbiAgU2hvd0luZm9EcmF3ZXJQcmV2aWV3QWN0aW9uLFxuICBTbmFja2JhckVycm9yQWN0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IERhdGFUYWJsZU1vZHVsZSwgUGFnaW5hdGlvbk1vZHVsZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBWaWV3ZXJNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29udGV4dEFjdGlvbnNEaXJlY3RpdmUsXG4gIEluZm9EcmF3ZXJDb21wb25lbnQsXG4gIFBhZ2VDb21wb25lbnQsXG4gIFBhZ2VMYXlvdXRDb21wb25lbnQsXG4gIFBhZ2luYXRpb25EaXJlY3RpdmUsXG4gIFRvb2xiYXJDb21wb25lbnRcbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgU2VhcmNoU29ydGluZ0RlZmluaXRpb24gfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMvbGliL3NlYXJjaC9tb2RlbHMvc2VhcmNoLXNvcnRpbmctZGVmaW5pdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtaW5wdXQvc2VhcmNoLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRG9jdW1lbnRMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9kb2N1bWVudC1saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kbC1jdXN0b20tY29tcG9uZW50cy90aHVtYm5haWwtY29sdW1uL3RodW1ibmFpbC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtYWN0aW9uLW1lbnUvc2VhcmNoLWFjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWdzQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGwtY3VzdG9tLWNvbXBvbmVudHMvdGFncy1jb2x1bW4vdGFncy1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNSb3dDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtcmVzdWx0cy1yb3cvc2VhcmNoLXJlc3VsdHMtcm93LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBTZWFyY2hNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgRG9jdW1lbnRMaXN0TW9kdWxlLFxuICAgIERvY3VtZW50TGlzdERpcmVjdGl2ZSxcbiAgICBDb250ZXh0QWN0aW9uc0RpcmVjdGl2ZSxcbiAgICBEYXRhVGFibGVNb2R1bGUsXG4gICAgVGh1bWJuYWlsQ29sdW1uQ29tcG9uZW50LFxuICAgIFNlYXJjaEFjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgVGFnc0NvbHVtbkNvbXBvbmVudCxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIEFsZnJlc2NvVmlld2VyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgSW5mb0RyYXdlckNvbXBvbmVudCxcbiAgICBTZWFyY2hSZXN1bHRzUm93Q29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25EaXJlY3RpdmUsXG4gICAgVmlld2VyTW9kdWxlLFxuICAgIFBhZ2VMYXlvdXRDb21wb25lbnQsXG4gICAgVG9vbGJhckNvbXBvbmVudFxuICBdLFxuICBzZWxlY3RvcjogJ2FjYS1zZWFyY2gtcmVzdWx0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCBleHRlbmRzIFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzaG93RmFjZXRGaWx0ZXIkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2hvd0ZhY2V0RmlsdGVyKTtcbiAgaW5mb0RyYXdlclByZXZpZXckID0gdGhpcy5zdG9yZS5zZWxlY3QoaW5mb0RyYXdlclByZXZpZXcpO1xuXG4gIHNlYXJjaGVkV29yZDogc3RyaW5nO1xuICBxdWVyeVBhcmFtTmFtZSA9ICdxJztcbiAgZGF0YTogUmVzdWx0U2V0UGFnaW5nO1xuICBzb3J0aW5nID0gWyduYW1lJywgJ2FzYyddO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgdG90YWxSZXN1bHRzOiBudW1iZXI7XG4gIGlzVGFnc0VuYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0YWdzU2VydmljZTogVGFnU2VydmljZSxcbiAgICBwcml2YXRlIHF1ZXJ5QnVpbGRlcjogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmlzVGFnc0VuYWJsZWQgPSB0YWdzU2VydmljZS5hcmVUYWdzRW5hYmxlZCgpO1xuXG4gICAgcXVlcnlCdWlsZGVyLnBhZ2luZyA9IHtcbiAgICAgIHNraXBDb3VudDogMCxcbiAgICAgIG1heEl0ZW1zOiAyNVxuICAgIH07XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJvdXRlLnBhcmFtcywgdGhpcy5xdWVyeUJ1aWxkZXIuY29uZmlnVXBkYXRlZF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtwYXJhbXMsIHNlYXJjaENvbmZpZ10pID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSh0aGlzLnF1ZXJ5UGFyYW1OYW1lKSA/IHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1OYW1lXSA6IG51bGw7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5mb3JtYXRTZWFyY2hRdWVyeSh0aGlzLnNlYXJjaGVkV29yZCwgc2VhcmNoQ29uZmlnWydhY2E6ZmllbGRzJ10pO1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51c2VyUXVlcnkgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci5yZXNldFRvRGVmYXVsdHMoKTtcbiAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLmdldFNvcnRpbmcoKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIudXBkYXRlZC5zdWJzY3JpYmUoKHF1ZXJ5KSA9PiB7XG4gICAgICAgIGlmIChxdWVyeSkge1xuICAgICAgICAgIHRoaXMuc29ydGluZyA9IHRoaXMuZ2V0U29ydGluZygpO1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSksXG5cbiAgICAgIHRoaXMucXVlcnlCdWlsZGVyLmV4ZWN1dGVkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5wYWdpbmcuc2tpcENvdW50ID0gMDtcblxuICAgICAgICB0aGlzLm9uU2VhcmNoUmVzdWx0TG9hZGVkKGRhdGEpO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSksXG5cbiAgICAgIHRoaXMucXVlcnlCdWlsZGVyLmVycm9yLnN1YnNjcmliZSgoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vblNlYXJjaEVycm9yKGVycik7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5yb3V0ZSkge1xuICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuZm9yRWFjaCgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSh0aGlzLnF1ZXJ5UGFyYW1OYW1lKSA/IHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1OYW1lXSA6IG51bGw7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaGVkV29yZCkge1xuICAgICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVzZXJRdWVyeSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIuZXhlY3V0ZWQubmV4dCh7XG4gICAgICAgICAgICBsaXN0OiB7IHBhZ2luYXRpb246IHsgdG90YWxJdGVtczogMCB9LCBlbnRyaWVzOiBbXSB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoRXJyb3IoZXJyb3I6IHsgbWVzc2FnZTogYW55IH0pIHtcbiAgICBjb25zdCB7IHN0YXR1c0NvZGUgfSA9IEpTT04ucGFyc2UoZXJyb3IubWVzc2FnZSkuZXJyb3I7XG5cbiAgICBjb25zdCBtZXNzYWdlS2V5ID0gYEFQUC5CUk9XU0UuU0VBUkNILkVSUk9SUy4ke3N0YXR1c0NvZGV9YDtcbiAgICBsZXQgdHJhbnNsYXRlZCA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQobWVzc2FnZUtleSk7XG5cbiAgICBpZiAodHJhbnNsYXRlZCA9PT0gbWVzc2FnZUtleSkge1xuICAgICAgdHJhbnNsYXRlZCA9IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoYEFQUC5CUk9XU0UuU0VBUkNILkVSUk9SUy5HRU5FUklDYCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU25hY2tiYXJFcnJvckFjdGlvbih0cmFuc2xhdGVkKSk7XG4gIH1cblxuICBwcml2YXRlIGlzT3BlcmF0b3IoaW5wdXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQgPSBpbnB1dC50cmltKCkudG9VcHBlckNhc2UoKTtcblxuICAgICAgY29uc3Qgb3BlcmF0b3JzID0gWydBTkQnLCAnT1InXTtcbiAgICAgIHJldHVybiBvcGVyYXRvcnMuaW5jbHVkZXMoaW5wdXQpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEZpZWxkcyhmaWVsZHM6IHN0cmluZ1tdLCB0ZXJtOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBwcmVmaXggPSAnJztcbiAgICBsZXQgc3VmZml4ID0gJyonO1xuXG4gICAgaWYgKHRlcm0uc3RhcnRzV2l0aCgnPScpKSB7XG4gICAgICBwcmVmaXggPSAnPSc7XG4gICAgICBzdWZmaXggPSAnJztcbiAgICAgIHRlcm0gPSB0ZXJtLnN1YnN0cmluZygxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJygnICsgZmllbGRzLm1hcCgoZmllbGQpID0+IGAke3ByZWZpeH0ke2ZpZWxkfTpcIiR7dGVybX0ke3N1ZmZpeH1cImApLmpvaW4oJyBPUiAnKSArICcpJztcbiAgfVxuXG4gIGZvcm1hdFNlYXJjaFF1ZXJ5KHVzZXJJbnB1dDogc3RyaW5nLCBmaWVsZHMgPSBbJ2NtOm5hbWUnXSkge1xuICAgIGlmICghdXNlcklucHV0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoL15odHRwW3NdPzpcXC9cXC8vLnRlc3QodXNlcklucHV0KSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RmllbGRzKGZpZWxkcywgdXNlcklucHV0KTtcbiAgICB9XG5cbiAgICB1c2VySW5wdXQgPSB1c2VySW5wdXQudHJpbSgpO1xuXG4gICAgaWYgKHVzZXJJbnB1dC5pbmNsdWRlcygnOicpIHx8IHVzZXJJbnB1dC5pbmNsdWRlcygnXCInKSkge1xuICAgICAgcmV0dXJuIHVzZXJJbnB1dDtcbiAgICB9XG5cbiAgICBjb25zdCB3b3JkcyA9IHVzZXJJbnB1dC5zcGxpdCgnICcpO1xuXG4gICAgaWYgKHdvcmRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHdvcmRzLnNvbWUodGhpcy5pc09wZXJhdG9yKSA/ICcgJyA6ICcgQU5EICc7XG5cbiAgICAgIHJldHVybiB3b3Jkc1xuICAgICAgICAubWFwKCh0ZXJtKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVyYXRvcih0ZXJtKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRlcm07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RmllbGRzKGZpZWxkcywgdGVybSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKHNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RmllbGRzKGZpZWxkcywgdXNlcklucHV0KTtcbiAgfVxuXG4gIG9uU2VhcmNoUmVzdWx0TG9hZGVkKG5vZGVQYWdpbmc6IFJlc3VsdFNldFBhZ2luZykge1xuICAgIHRoaXMuZGF0YSA9IG5vZGVQYWdpbmc7XG4gICAgdGhpcy50b3RhbFJlc3VsdHMgPSB0aGlzLmdldE51bWJlck9mUmVzdWx0cygpO1xuICB9XG5cbiAgZ2V0TnVtYmVyT2ZSZXN1bHRzKCkge1xuICAgIGlmICh0aGlzLmRhdGE/Lmxpc3Q/LnBhZ2luYXRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEubGlzdC5wYWdpbmF0aW9uLnRvdGFsSXRlbXM7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgb25QYWdpbmF0aW9uQ2hhbmdlZChwYWdpbmF0aW9uOiBQYWdpbmF0aW9uKSB7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucGFnaW5nID0ge1xuICAgICAgbWF4SXRlbXM6IHBhZ2luYXRpb24ubWF4SXRlbXMsXG4gICAgICBza2lwQ291bnQ6IHBhZ2luYXRpb24uc2tpcENvdW50XG4gICAgfTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U29ydGluZygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcHJpbWFyeSA9IHRoaXMucXVlcnlCdWlsZGVyLmdldFByaW1hcnlTb3J0aW5nKCk7XG5cbiAgICBpZiAocHJpbWFyeSkge1xuICAgICAgcmV0dXJuIFtwcmltYXJ5LmtleSwgcHJpbWFyeS5hc2NlbmRpbmcgPyAnYXNjJyA6ICdkZXNjJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIFsnbmFtZScsICdhc2MnXTtcbiAgfVxuXG4gIG9uTm9kZURvdWJsZUNsaWNrKG5vZGU6IE5vZGVFbnRyeSkge1xuICAgIGlmIChub2RlPy5lbnRyeSkge1xuICAgICAgaWYgKG5vZGUuZW50cnkuaXNGb2xkZXIpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGVUb0ZvbGRlcihub2RlKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zaG93UHJldmlldyhub2RlLCB7IGxvY2F0aW9uOiB0aGlzLnJvdXRlci51cmwgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTm9kZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25Ob2RlRG91YmxlQ2xpY2soKGV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWw/Lm5vZGUpO1xuICB9XG5cbiAgb25QcmV2aWV3Q2xvc2VkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNob3dJbmZvRHJhd2VyUHJldmlld0FjdGlvbigpKTtcbiAgfVxuXG4gIG9uRHJhd2VyQ2xvc2VkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEluZm9EcmF3ZXJQcmV2aWV3U3RhdGVBY3Rpb24oZmFsc2UpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRJbmZvRHJhd2VyU3RhdGVBY3Rpb24oZmFsc2UpKTtcbiAgfVxuXG4gIG9uU2VhcmNoU29ydGluZ1VwZGF0ZShvcHRpb246IFNlYXJjaFNvcnRpbmdEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIuc29ydGluZyA9IFt7IC4uLm9wdGlvbiwgYXNjZW5kaW5nOiBvcHRpb24uYXNjZW5kaW5nIH1dO1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICB9XG59XG4iLCI8YWNhLXBhZ2UtbGF5b3V0PlxuICA8ZGl2IGNsYXNzPVwiYWNhLXBhZ2UtbGF5b3V0LWhlYWRlclwiPlxuICAgIDxhY2Etc2VhcmNoLWlucHV0PjwvYWNhLXNlYXJjaC1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLXNlYXJjaC10b29sYmFyLXNwYWNlclwiPjwvZGl2PlxuICAgIDxhY2EtdG9vbGJhciBbaXRlbXNdPVwiYWN0aW9uc1wiPjwvYWNhLXRvb2xiYXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2EtcGFnZS1sYXlvdXQtY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2EtbWFpbi1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHNfX2NvbnRlbnRcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciAqbmdJZj1cImlzTG9hZGluZ1wiIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+IDwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzX19jb250ZW50LWhlYWRlciBhY2EtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1jb250ZW50X19maWx0ZXItc2V0XCI+XG4gICAgICAgICAgICAgIDxwPnt7ICdBUFAuQlJPV1NFLlNFQVJDSC5GSUxURVJfU0VUJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgICAgICAgPGFkZi1zZWFyY2gtZm9ybT48L2FkZi1zZWFyY2gtZm9ybT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJhY2EtY29udGVudF9fZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLWNvbnRlbnRfX2FkdmFuY2VkLWZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjYS1jb250ZW50X19hZHZhbmNlZC1maWx0ZXJzLS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8cD57eyAnQVBQLkJST1dTRS5TRUFSQ0guQURWQU5DRURfRklMVEVSUycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgYWRmLXJlc2V0LXNlYXJjaFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY2EtY29udGVudF9fcmVzZXQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FQUC5CUk9XU0UuU0VBUkNILlJFU0VUX0FDVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQVBQLkJST1dTRS5TRUFSQ0guUkVTRVRfQUNUSU9OJyB8IHRyYW5zbGF0ZSBcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdBUFAuQlJPV1NFLlNFQVJDSC5SRVNFVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhZGYtc2VhcmNoLWZpbHRlci1jaGlwcz48L2FkZi1zZWFyY2gtZmlsdGVyLWNoaXBzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8YWRmLWRvY3VtZW50LWxpc3RcbiAgICAgICAgICAgICNkb2N1bWVudExpc3RcbiAgICAgICAgICAgIGFjYURvY3VtZW50TGlzdFxuICAgICAgICAgICAgYWNhQ29udGV4dEFjdGlvbnNcbiAgICAgICAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIidtdWx0aXBsZSdcIlxuICAgICAgICAgICAgW3NvcnRpbmdNb2RlXT1cIidzZXJ2ZXInXCJcbiAgICAgICAgICAgIFtzb3J0aW5nXT1cInNvcnRpbmdcIlxuICAgICAgICAgICAgW2ltYWdlUmVzb2x2ZXJdPVwiaW1hZ2VSZXNvbHZlclwiXG4gICAgICAgICAgICBbaXNSZXNpemluZ0VuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYmx1ck9uUmVzaXplXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtub2RlXT1cIiRhbnkoZGF0YSlcIlxuICAgICAgICAgICAgKG5vZGUtZGJsY2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkYXRhLWNvbHVtbnM+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2gudGh1bWJuYWlsXCIga2V5PVwiJHRodW1ibmFpbFwiIHR5cGU9XCJpbWFnZVwiIFtzci10aXRsZV09XCInQURGLURPQ1VNRU5ULUxJU1QuTEFZT1VULlRIVU1CTkFJTCdcIiBbc29ydGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLWN1c3RvbS10aHVtYm5haWwtY29sdW1uIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FjYS1jdXN0b20tdGh1bWJuYWlsLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPGFkZi1kYXRhLWNvbHVtbi1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxhY2Etc2VhcmNoLWFjdGlvbi1tZW51IChzb3J0aW5nU2VsZWN0ZWQpPVwib25TZWFyY2hTb3J0aW5nVXBkYXRlKCRldmVudClcIj48L2FjYS1zZWFyY2gtYWN0aW9uLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvYWRmLWRhdGEtY29sdW1uLWhlYWRlcj5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cblxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4gaWQ9XCJhcHAuc2VhcmNoLm5hbWVcIiBrZXkgdHlwZT1cInRleHRcIiAgY2xhc3M9XCJhZGYtZWxsaXBzaXMtY2VsbCBhZGYtZXhwYW5kLWNlbGwtNVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5OQU1FXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgW2RyYWdnYWJsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPGFjYS1zZWFyY2gtcmVzdWx0cy1yb3cgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYWNhLXNlYXJjaC1yZXN1bHRzLXJvdz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuXG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2guc2l6ZVwiIGtleT1cImNvbnRlbnQuc2l6ZUluQnl0ZXNcIiB0eXBlPVwiZmlsZVNpemVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuU0laRVwiIGNsYXNzPVwiYWRmLW5vLWdyb3ctY2VsbCBhZGYtZWxsaXBzaXMtY2VsbFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiICpuZ0lmPVwiIWlzU21hbGxTY3JlZW5cIiBbZHJhZ2dhYmxlXT1cInRydWVcIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4gaWQ9XCJhcHAuc2VhcmNoLm1vZGlmaWVkT25cIiBrZXk9XCJtb2RpZmllZEF0XCIgdHlwZT1cImRhdGVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuTU9ESUZJRURfT05cIiBjbGFzcz1cImFkZi1uby1ncm93LWNlbGwgYWRmLWVsbGlwc2lzLWNlbGxcIiBmb3JtYXQ9XCJ0aW1lQWdvXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiIFtkcmFnZ2FibGVdPVwidHJ1ZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2gubW9kaWZpZWRCeVwiIGtleT1cIm1vZGlmaWVkQnlVc2VyLmRpc3BsYXlOYW1lXCIgdGl0bGU9XCJBUFAuRE9DVU1FTlRfTElTVC5DT0xVTU5TLk1PRElGSUVEX0JZXCIgY2xhc3M9XCJhZGYtbm8tZ3Jvdy1jZWxsIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiIFtkcmFnZ2FibGVdPVwidHJ1ZVwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBpZD1cImFwcC5zZWFyY2gudGFnc1wiIGtleT1cIiR0YWdzXCIgdHlwZT1cInRleHRcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuVEFHU1wiIGNsYXNzPVwiYWRmLWZ1bGwtd2lkdGggYWRmLWV4cGFuZC1jZWxsLTRcIiBbc29ydGFibGVdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cInRydWVcIiAqbmdJZj1cImlzVGFnc0VuYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLXRhZ3MtY29sdW1uIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FjYS10YWdzLWNvbHVtbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgPC9kYXRhLWNvbHVtbnM+XG5cbiAgICAgICAgICAgIDxhZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXNlYXJjaF9fYmxvY2tcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZW1wdHktc2VhcmNoX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdBUFAuQlJPV1NFLlNFQVJDSC5OT19SRVNVTFRTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYWRmLWN1c3RvbS1lbXB0eS1jb250ZW50LXRlbXBsYXRlPlxuICAgICAgICAgIDwvYWRmLWRvY3VtZW50LWxpc3Q+XG5cbiAgICAgICAgICA8YWRmLXBhZ2luYXRpb24gKm5nSWY9XCJ0b3RhbFJlc3VsdHMgPiAwXCIgYWNhUGFnaW5hdGlvbiBbdGFyZ2V0XT1cImRvY3VtZW50TGlzdFwiIChjaGFuZ2UpPVwib25QYWdpbmF0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9hZGYtcGFnaW5hdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgKGluZm9EcmF3ZXJQcmV2aWV3JCB8IGFzeW5jKSA9PT0gdHJ1ZSA/ICdhZGYtc2VhcmNoLXJlc3VsdHMtLXJpZ2h0X3BhbmVsX3NlY3Rpb24tZXh0ZW5kZWQnIDogJ2FkZi1zZWFyY2gtcmVzdWx0cy0tcmlnaHRfcGFuZWxfc2VjdGlvbidcbiAgICAgIFwiXG4gICAgICAqbmdJZj1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxhZGYtYWxmcmVzY28tdmlld2VyXG4gICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzLS1lbWJlZGRlZF92aWV3ZXJcIlxuICAgICAgICBbbm9kZUlkXT1cInNlbGVjdGlvbi5sYXN0LmVudHJ5LmlkXCJcbiAgICAgICAgKm5nSWY9XCJpbmZvRHJhd2VyUHJldmlldyQgfCBhc3luYzsgZWxzZSBpbmZvRHJhd2VyUGFuZWxcIlxuICAgICAgPlxuICAgICAgICA8YWRmLXZpZXdlci10b29sYmFyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHMtLXByZXZpZXctdG9vbGJhclwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiIChjbGljayk9XCJvbkRyYXdlckNsb3NlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuUFJFVklFVycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0cy0tdmlzaWJpbGl0eV9idXR0b25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnZpc2liaWxpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiIChjbGljayk9XCJvblByZXZpZXdDbG9zZWQoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5pbmZvX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FkZi12aWV3ZXItdG9vbGJhcj5cbiAgICAgIDwvYWRmLWFsZnJlc2NvLXZpZXdlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaW5mb0RyYXdlclBhbmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNhLXNpZGViYXJcIj5cbiAgICAgICAgICA8YWNhLWluZm8tZHJhd2VyIFtub2RlXT1cInNlbGVjdGlvbi5sYXN0XCI+PC9hY2EtaW5mby1kcmF3ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2FjYS1wYWdlLWxheW91dD5cbiJdfQ==
|
|
@@ -7544,13 +7544,7 @@ class SearchResultsComponent extends PageComponent {
|
|
|
7544
7544
|
suffix = '';
|
|
7545
7545
|
term = term.substring(1);
|
|
7546
7546
|
}
|
|
7547
|
-
return ('(' +
|
|
7548
|
-
fields
|
|
7549
|
-
.map((field) => {
|
|
7550
|
-
return field !== 'TEXT' ? `${prefix}${field}:"${term}${suffix}"` : `${prefix}${field}:"${term}"`;
|
|
7551
|
-
})
|
|
7552
|
-
.join(' OR ') +
|
|
7553
|
-
')');
|
|
7547
|
+
return '(' + fields.map((field) => `${prefix}${field}:"${term}${suffix}"`).join(' OR ') + ')';
|
|
7554
7548
|
}
|
|
7555
7549
|
formatSearchQuery(userInput, fields = ['cm:name']) {
|
|
7556
7550
|
if (!userInput) {
|