@alfresco/adf-content-services 8.1.0-15045781057 → 8.1.0-15049531320
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/esm2022/lib/agent/services/agent.service.mjs +4 -4
- package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.module.mjs +5 -5
- package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +4 -4
- package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -4
- package/esm2022/lib/category/categories-management/categories-management.component.mjs +4 -4
- package/esm2022/lib/category/category.module.mjs +5 -5
- package/esm2022/lib/category/services/category-tree-datasource.service.mjs +4 -4
- package/esm2022/lib/category/services/category.service.mjs +4 -4
- package/esm2022/lib/common/services/card-view-content-update.service.mjs +4 -4
- package/esm2022/lib/common/services/content.service.mjs +4 -4
- package/esm2022/lib/common/services/discovery-api.service.mjs +4 -4
- package/esm2022/lib/common/services/favorites-api.service.mjs +4 -4
- package/esm2022/lib/common/services/nodes-api.service.mjs +4 -4
- package/esm2022/lib/common/services/people-content.service.mjs +4 -4
- package/esm2022/lib/common/services/rendition.service.mjs +4 -4
- package/esm2022/lib/common/services/saved-searches.service.mjs +4 -4
- package/esm2022/lib/common/services/sites.service.mjs +4 -4
- package/esm2022/lib/common/services/upload.service.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -4
- package/esm2022/lib/content-metadata/content-metadata.module.mjs +5 -5
- package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +5 -5
- package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.directive.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.module.mjs +5 -5
- package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +4 -4
- package/esm2022/lib/content-type/content-type-dialog.component.mjs +4 -4
- package/esm2022/lib/content-type/content-type.service.mjs +4 -4
- package/esm2022/lib/content.module.mjs +5 -5
- package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +4 -4
- package/esm2022/lib/dialogs/folder/folder.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/library/library.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +4 -4
- package/esm2022/lib/directives/auto-focus.directive.mjs +4 -4
- package/esm2022/lib/directives/check-allowable-operation.directive.mjs +4 -4
- package/esm2022/lib/directives/content-directive.module.mjs +5 -5
- package/esm2022/lib/directives/library-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/library-membership.directive.mjs +4 -4
- package/esm2022/lib/directives/node-counter.directive.mjs +7 -7
- package/esm2022/lib/directives/node-delete.directive.mjs +4 -4
- package/esm2022/lib/directives/node-download.directive.mjs +4 -4
- package/esm2022/lib/directives/node-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/node-lock.directive.mjs +4 -4
- package/esm2022/lib/directives/node-restore.directive.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +4 -4
- package/esm2022/lib/document-list/components/document-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +4 -4
- package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/document-list.module.mjs +5 -5
- package/esm2022/lib/document-list/services/custom-resources.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-list.service.mjs +4 -4
- package/esm2022/lib/document-list/services/folder-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/lock.service.mjs +4 -4
- package/esm2022/lib/document-list/services/node-actions.service.mjs +4 -4
- package/esm2022/lib/group/services/group.service.mjs +4 -4
- package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +4 -4
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/alfresco-api.service.mock.mjs +4 -4
- package/esm2022/lib/mock/search.component.mock.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +5 -5
- package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.component.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.module.mjs +5 -5
- package/esm2022/lib/node-comments/services/node-comments.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/permission-manager.module.mjs +5 -5
- package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +4 -4
- package/esm2022/lib/permission-manager/services/node-permission.service.mjs +4 -4
- package/esm2022/lib/pipes/content-pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +4 -4
- package/esm2022/lib/prediction/services/prediction.service.mjs +4 -4
- package/esm2022/lib/search/components/empty-search-result.component.mjs +4 -4
- package/esm2022/lib/search/components/reset-search.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-control.component.mjs +4 -4
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +5 -5
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-form/search-form.component.mjs +4 -4
- package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +4 -4
- package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
- package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +4 -4
- package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -4
- package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +4 -4
- package/esm2022/lib/search/components/search-text/search-text.component.mjs +4 -4
- package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search.component.mjs +4 -4
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/services/search-configuration.service.mjs +4 -4
- package/esm2022/lib/search/services/search-facet-filters.service.mjs +4 -4
- package/esm2022/lib/search/services/search-filter.service.mjs +4 -4
- package/esm2022/lib/search/services/search-header-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search.service.mjs +4 -4
- package/esm2022/lib/search-ai/services/search-ai.service.mjs +4 -4
- package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +4 -4
- package/esm2022/lib/services/alfresco-api.service.mjs +4 -4
- package/esm2022/lib/tag/services/tag.service.mjs +4 -4
- package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +4 -4
- package/esm2022/lib/tag/tag-list/tag-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag.module.mjs +5 -5
- package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +4 -4
- package/esm2022/lib/testing/content.testing.module.mjs +5 -5
- package/esm2022/lib/tree/components/tree.component.mjs +4 -4
- package/esm2022/lib/tree/services/tree.service.mjs +4 -4
- package/esm2022/lib/tree/tree.module.mjs +5 -5
- package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -4
- package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +4 -4
- package/esm2022/lib/tree-view/services/tree-view.service.mjs +4 -4
- package/esm2022/lib/tree-view/tree-view.module.mjs +5 -5
- package/esm2022/lib/upload/components/base-upload/upload-base.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-button.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-drag-area.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-version-button.component.mjs +4 -4
- package/esm2022/lib/upload/directives/file-draggable.directive.mjs +4 -4
- package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +4 -4
- package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +4 -4
- package/esm2022/lib/upload/upload.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +4 -4
- package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +4 -4
- package/esm2022/lib/version-manager/content-version.service.mjs +4 -4
- package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-list.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.module.mjs +5 -5
- package/esm2022/lib/version-manager/version-upload.component.mjs +4 -4
- package/esm2022/lib/viewer/alfresco-viewer.module.mjs +5 -5
- package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +4 -4
- package/fesm2022/adf-content-services.mjs +629 -629
- package/fesm2022/adf-content-services.mjs.map +1 -1
- package/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.d.ts +1 -1
- package/package.json +3 -3
|
@@ -166,10 +166,10 @@ export class FileUploadingDialogComponent {
|
|
|
166
166
|
hasUploadInProgress() {
|
|
167
167
|
return !this.uploadList?.isUploadCompleted() && !this.uploadList?.isUploadCancelled();
|
|
168
168
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingDialogComponent, deps: [{ token: i1.UploadService }, { token: i0.ChangeDetectorRef }, { token: i2.UserPreferencesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadingDialogComponent, isStandalone: true, selector: "adf-file-uploading-dialog", inputs: { position: "position", alwaysVisible: "alwaysVisible" }, outputs: { error: "error" }, host: { properties: { "attr.adfUploadDialogRight": "this.isPositionRight", "attr.adfUploadDialogLeft": "this.isPositionLeft" } }, viewQueries: [{ propertyName: "uploadList", first: true, predicate: ["uploadList"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"canShowDialog()\"\n role=\"dialog\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG'| translate\"\n tabindex=\"0\"\n class=\"adf-upload-dialog\"\n id=\"upload-dialog\"\n [class.adf-upload-dialog--minimized]=\"isDialogMinimized\">\n <header class=\"adf-upload-dialog__header\">\n <button\n mat-icon-button\n class=\"adf-upload-dialog__header-button\"\n [attr.data-automation-id]=\"'adf-upload-dialog__toggle-minimize'\"\n [attr.aria-label]=\"(isDialogMinimized ?\n 'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_MAXIMIZE':\n 'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_MINIMIZE') | translate\"\n [disabled]=\"isConfirmation\"\n [attr.aria-expanded]=\"!isDialogMinimized\"\n (click)=\"toggleMinimized()\">\n <mat-icon\n class=\"adf-upload-dialog__header-button-icon\">\n {{ isDialogMinimized ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}\n </mat-icon>\n </button>\n\n <span\n class=\"adf-upload-dialog__title\"\n *ngIf=\"!uploadList.isUploadCancelled()\">\n {{ 'FILE_UPLOAD.MESSAGES.UPLOAD_PROGRESS'\n | translate: {\n completed: totalCompleted,\n total: filesUploadingList.length\n }\n }}\n </span>\n\n <span\n class=\"adf-upload-dialog__title\"\n *ngIf=\"uploadList.isUploadCancelled()\">\n {{ 'FILE_UPLOAD.MESSAGES.UPLOAD_CANCELED' | translate }}\n </span>\n </header>\n\n <section class=\"adf-upload-dialog__info\"\n *ngIf=\"totalErrors\">\n {{\n (totalErrors > 1\n ? 'FILE_UPLOAD.MESSAGES.UPLOAD_ERRORS'\n : 'FILE_UPLOAD.MESSAGES.UPLOAD_ERROR')\n | translate: { total: totalErrors }\n }}\n </section>\n\n <section class=\"adf-upload-dialog__content\"\n [class.adf-upload-dialog--padding]=\"isConfirmation\">\n <adf-file-uploading-list\n class=\"adf-file-uploading-list\"\n [class.adf-upload-dialog--hide]=\"isConfirmation\"\n #uploadList\n [files]=\"filesUploadingList\">\n <ng-template let-file=\"$implicit\">\n <adf-file-uploading-list-row\n [file]=\"file\"\n (cancel)=\"uploadList.cancelFile(file)\" />\n </ng-template>\n </adf-file-uploading-list>\n\n <div\n aria-live=\"polite\"\n aria-labelledby=\"confirmationTitle\"\n aria-describedby=\"confirmationDescription\"\n class=\"adf-upload-dialog__confirmation\"\n [class.adf-upload-dialog--hide]=\"!isConfirmation\">\n <p role=\"heading\" aria-level=\"2\" id=\"confirmationTitle\" class=\"adf-upload-dialog__confirmation--title\">\n {{ 'ADF_FILE_UPLOAD.CONFIRMATION.MESSAGE.TITLE' | translate }}\n </p>\n <p id=\"confirmationDescription\" class=\"adf-upload-dialog__confirmation--text\">\n {{ 'ADF_FILE_UPLOAD.CONFIRMATION.MESSAGE.TEXT' | translate }}\n </p>\n </div>\n </section>\n\n <footer class=\"adf-upload-dialog__actions\" *ngIf=\"!isConfirmation\">\n <button\n id=\"adf-upload-dialog-cancel-all\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.STOP_ALL' | translate\"\n color=\"primary\"\n mat-button\n *ngIf=\"canShowCancelAll()\"\n (click)=\"toggleConfirmation()\"\n >{{ 'ADF_FILE_UPLOAD.BUTTON.STOP_ALL' | translate }}</button>\n\n <button\n id=\"adf-upload-dialog-close\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_CLOSE' | translate\"\n *ngIf=\"canCloseDialog()\"\n mat-button\n color=\"primary\"\n (click)=\"close()\"\n >{{ 'ADF_FILE_UPLOAD.BUTTON.CLOSE' | translate }}</button>\n </footer>\n\n <footer class=\"adf-upload-dialog__actions\"\n *ngIf=\"isConfirmation\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <button\n id=\"adf-upload-dialog-cancel\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.CONFIRMATION.CANCEL' | translate\"\n mat-button\n (click)=\"cancelAllUploads()\"\n >{{ 'ADF_FILE_UPLOAD.CONFIRMATION.BUTTON.CANCEL' | translate }}</button>\n\n <button\n id=\"adf-upload-dialog-confirm\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.CONFIRMATION.CONTINUE' | translate\"\n mat-button\n color=\"primary\"\n (click)=\"toggleConfirmation()\"\n >{{ 'ADF_FILE_UPLOAD.CONFIRMATION.BUTTON.CONTINUE' | translate }}</button>\n </footer>\n</div>\n", styles: [".adf-upload-dialog{background:var(--adf-theme-background-dialog-color);color:var(--adf-theme-foreground-text-color-054);position:fixed;bottom:20px;width:40%;box-shadow:1px 5px 15px #888;z-index:999}.adf-upload-dialog--padding{padding:1em}.adf-upload-dialog--hide.adf-upload-dialog__confirmation,.adf-upload-dialog--hide.adf-file-uploading-list{display:none}.adf-upload-dialog--minimized{width:20%}.adf-upload-dialog--minimized .adf-upload-dialog__content{display:none}.adf-upload-dialog .adf-upload-dialog__header{padding:1em;display:flex;align-items:center}.adf-upload-dialog .adf-upload-dialog__header .adf-upload-dialog__header-button:is(button){min-width:0;height:24px;width:24px;padding:0;line-height:0;color:var(--adf-theme-foreground-text-color-054)}.adf-upload-dialog__title{margin-left:.5em;flex:1 1 auto}.adf-upload-dialog__info{padding:0 1em 1em}.adf-upload-dialog__content{overflow:auto;max-height:194px;border-top:1px solid var(--adf-theme-foreground-text-color-014);border-bottom:1px solid var(--adf-theme-foreground-text-color-014)}.adf-upload-dialog__confirmation{padding:0 .5em}.adf-upload-dialog__confirmation--title{font-size:var(--theme-subheading-2-font-size);line-height:1.5;letter-spacing:-.4px;color:var(--adf-theme-foreground-text-color-087)}.adf-upload-dialog__confirmation--text{margin-bottom:0}.adf-upload-dialog__actions{display:flex;justify-content:flex-end;padding:1em}.adf-upload-dialog__actions>button{width:auto;min-width:40px;text-transform:uppercase;padding:0 16px}[adfUploadDialogLeft] .adf-upload-dialog{left:25px}[adfUploadDialogRight] .adf-upload-dialog{right:25px}@media screen and (width >= 380px) and (width <= 768px){.adf-upload-dialog{width:60%}.adf-file-uploading-row .adf-file-uploading-row__group{min-width:0}}@media screen and (width <= 380px){.adf-upload-dialog{width:85%}.adf-file-uploading-row .adf-file-uploading-row__group{min-width:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FileUploadingListComponent, selector: "adf-file-uploading-list", inputs: ["files"], outputs: ["error"] }, { kind: "component", type: FileUploadingListRowComponent, selector: "adf-file-uploading-list-row", inputs: ["file"], outputs: ["cancel"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
171
171
|
}
|
|
172
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingDialogComponent, decorators: [{
|
|
173
173
|
type: Component,
|
|
174
174
|
args: [{ selector: 'adf-file-uploading-dialog', standalone: true, imports: [CommonModule, MatButtonModule, TranslateModule, MatIconModule, FileUploadingListComponent, FileUploadingListRowComponent, A11yModule], encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"canShowDialog()\"\n role=\"dialog\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG'| translate\"\n tabindex=\"0\"\n class=\"adf-upload-dialog\"\n id=\"upload-dialog\"\n [class.adf-upload-dialog--minimized]=\"isDialogMinimized\">\n <header class=\"adf-upload-dialog__header\">\n <button\n mat-icon-button\n class=\"adf-upload-dialog__header-button\"\n [attr.data-automation-id]=\"'adf-upload-dialog__toggle-minimize'\"\n [attr.aria-label]=\"(isDialogMinimized ?\n 'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_MAXIMIZE':\n 'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_MINIMIZE') | translate\"\n [disabled]=\"isConfirmation\"\n [attr.aria-expanded]=\"!isDialogMinimized\"\n (click)=\"toggleMinimized()\">\n <mat-icon\n class=\"adf-upload-dialog__header-button-icon\">\n {{ isDialogMinimized ? 'keyboard_arrow_up' : 'keyboard_arrow_down' }}\n </mat-icon>\n </button>\n\n <span\n class=\"adf-upload-dialog__title\"\n *ngIf=\"!uploadList.isUploadCancelled()\">\n {{ 'FILE_UPLOAD.MESSAGES.UPLOAD_PROGRESS'\n | translate: {\n completed: totalCompleted,\n total: filesUploadingList.length\n }\n }}\n </span>\n\n <span\n class=\"adf-upload-dialog__title\"\n *ngIf=\"uploadList.isUploadCancelled()\">\n {{ 'FILE_UPLOAD.MESSAGES.UPLOAD_CANCELED' | translate }}\n </span>\n </header>\n\n <section class=\"adf-upload-dialog__info\"\n *ngIf=\"totalErrors\">\n {{\n (totalErrors > 1\n ? 'FILE_UPLOAD.MESSAGES.UPLOAD_ERRORS'\n : 'FILE_UPLOAD.MESSAGES.UPLOAD_ERROR')\n | translate: { total: totalErrors }\n }}\n </section>\n\n <section class=\"adf-upload-dialog__content\"\n [class.adf-upload-dialog--padding]=\"isConfirmation\">\n <adf-file-uploading-list\n class=\"adf-file-uploading-list\"\n [class.adf-upload-dialog--hide]=\"isConfirmation\"\n #uploadList\n [files]=\"filesUploadingList\">\n <ng-template let-file=\"$implicit\">\n <adf-file-uploading-list-row\n [file]=\"file\"\n (cancel)=\"uploadList.cancelFile(file)\" />\n </ng-template>\n </adf-file-uploading-list>\n\n <div\n aria-live=\"polite\"\n aria-labelledby=\"confirmationTitle\"\n aria-describedby=\"confirmationDescription\"\n class=\"adf-upload-dialog__confirmation\"\n [class.adf-upload-dialog--hide]=\"!isConfirmation\">\n <p role=\"heading\" aria-level=\"2\" id=\"confirmationTitle\" class=\"adf-upload-dialog__confirmation--title\">\n {{ 'ADF_FILE_UPLOAD.CONFIRMATION.MESSAGE.TITLE' | translate }}\n </p>\n <p id=\"confirmationDescription\" class=\"adf-upload-dialog__confirmation--text\">\n {{ 'ADF_FILE_UPLOAD.CONFIRMATION.MESSAGE.TEXT' | translate }}\n </p>\n </div>\n </section>\n\n <footer class=\"adf-upload-dialog__actions\" *ngIf=\"!isConfirmation\">\n <button\n id=\"adf-upload-dialog-cancel-all\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.STOP_ALL' | translate\"\n color=\"primary\"\n mat-button\n *ngIf=\"canShowCancelAll()\"\n (click)=\"toggleConfirmation()\"\n >{{ 'ADF_FILE_UPLOAD.BUTTON.STOP_ALL' | translate }}</button>\n\n <button\n id=\"adf-upload-dialog-close\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.DIALOG_CLOSE' | translate\"\n *ngIf=\"canCloseDialog()\"\n mat-button\n color=\"primary\"\n (click)=\"close()\"\n >{{ 'ADF_FILE_UPLOAD.BUTTON.CLOSE' | translate }}</button>\n </footer>\n\n <footer class=\"adf-upload-dialog__actions\"\n *ngIf=\"isConfirmation\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <button\n id=\"adf-upload-dialog-cancel\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.CONFIRMATION.CANCEL' | translate\"\n mat-button\n (click)=\"cancelAllUploads()\"\n >{{ 'ADF_FILE_UPLOAD.CONFIRMATION.BUTTON.CANCEL' | translate }}</button>\n\n <button\n id=\"adf-upload-dialog-confirm\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.CONFIRMATION.CONTINUE' | translate\"\n mat-button\n color=\"primary\"\n (click)=\"toggleConfirmation()\"\n >{{ 'ADF_FILE_UPLOAD.CONFIRMATION.BUTTON.CONTINUE' | translate }}</button>\n </footer>\n</div>\n", styles: [".adf-upload-dialog{background:var(--adf-theme-background-dialog-color);color:var(--adf-theme-foreground-text-color-054);position:fixed;bottom:20px;width:40%;box-shadow:1px 5px 15px #888;z-index:999}.adf-upload-dialog--padding{padding:1em}.adf-upload-dialog--hide.adf-upload-dialog__confirmation,.adf-upload-dialog--hide.adf-file-uploading-list{display:none}.adf-upload-dialog--minimized{width:20%}.adf-upload-dialog--minimized .adf-upload-dialog__content{display:none}.adf-upload-dialog .adf-upload-dialog__header{padding:1em;display:flex;align-items:center}.adf-upload-dialog .adf-upload-dialog__header .adf-upload-dialog__header-button:is(button){min-width:0;height:24px;width:24px;padding:0;line-height:0;color:var(--adf-theme-foreground-text-color-054)}.adf-upload-dialog__title{margin-left:.5em;flex:1 1 auto}.adf-upload-dialog__info{padding:0 1em 1em}.adf-upload-dialog__content{overflow:auto;max-height:194px;border-top:1px solid var(--adf-theme-foreground-text-color-014);border-bottom:1px solid var(--adf-theme-foreground-text-color-014)}.adf-upload-dialog__confirmation{padding:0 .5em}.adf-upload-dialog__confirmation--title{font-size:var(--theme-subheading-2-font-size);line-height:1.5;letter-spacing:-.4px;color:var(--adf-theme-foreground-text-color-087)}.adf-upload-dialog__confirmation--text{margin-bottom:0}.adf-upload-dialog__actions{display:flex;justify-content:flex-end;padding:1em}.adf-upload-dialog__actions>button{width:auto;min-width:40px;text-transform:uppercase;padding:0 16px}[adfUploadDialogLeft] .adf-upload-dialog{left:25px}[adfUploadDialogRight] .adf-upload-dialog{right:25px}@media screen and (width >= 380px) and (width <= 768px){.adf-upload-dialog{width:60%}.adf-file-uploading-row .adf-file-uploading-row__group{min-width:0}}@media screen and (width <= 380px){.adf-upload-dialog{width:85%}.adf-file-uploading-row .adf-file-uploading-row__group{min-width:0}}\n"] }]
|
|
175
175
|
}], ctorParameters: () => [{ type: i1.UploadService }, { type: i0.ChangeDetectorRef }, { type: i2.UserPreferencesService }, { type: i0.ElementRef }], propDecorators: { uploadList: [{
|
|
@@ -188,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
188
188
|
type: HostBinding,
|
|
189
189
|
args: ['attr.adfUploadDialogLeft']
|
|
190
190
|
}] } });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FB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SSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0lBQzFGLENBQUM7OEdBbktRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLGdhQ3hEekMsODFKQXVIQSw2NUREcEVjLFlBQVksa0lBQUUsZUFBZSx3VUFBRSxlQUFlLDJGQUFFLGFBQWEsb0xBQUUsMEJBQTBCLDJHQUFFLDZCQUE2Qiw4R0FBRSxVQUFVOzsyRkFLckksNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLGlCQUdoSSxpQkFBaUIsQ0FBQyxJQUFJO2dMQU9yQyxVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWTtnQkFLdkIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixLQUFLO3NCQURKLE1BQU07Z0JBSUksZUFBZTtzQkFEekIsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSzdCLGNBQWM7c0JBRHhCLFdBQVc7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWRpbmctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcGxldGVFdmVudCwgRmlsZVVwbG9hZERlbGV0ZUV2ZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2V2ZW50cy9maWxlLmV2ZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nTGlzdFJvd0NvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWZpbGUtdXBsb2FkaW5nLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgRmlsZVVwbG9hZGluZ0xpc3RDb21wb25lbnQsIEZpbGVVcGxvYWRpbmdMaXN0Um93Q29tcG9uZW50LCBBMTF5TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGluZy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRpbmdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIERpYWxvZyBkaXJlY3Rpb24uIENhbiBiZSAnbHRyJyBvciAncnRsLiAqL1xuICAgIHByaXZhdGUgZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSAnbHRyJztcblxuICAgIEBWaWV3Q2hpbGQoJ3VwbG9hZExpc3QnKVxuICAgIHVwbG9hZExpc3Q6IEZpbGVVcGxvYWRpbmdMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIERpYWxvZyBwb3NpdGlvbi4gQ2FuIGJlICdsZWZ0JyBvciAncmlnaHQnLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodCc7XG5cbiAgICAvKiogTWFrZXMgdGhlIGRpYWxvZyBhbHdheXMgdmlzaWJsZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIHVwbG9hZHMuICovXG4gICAgQElucHV0KClcbiAgICBhbHdheXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpbiB0aGUgbGlzdCBoYXMgYW4gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFkZlVwbG9hZERpYWxvZ1JpZ2h0JylcbiAgICBwdWJsaWMgZ2V0IGlzUG9zaXRpb25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgJiYgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JykgfHwgKHRoaXMuZGlyZWN0aW9uID09PSAncnRsJyAmJiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcpIHx8IG51bGw7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hZGZVcGxvYWREaWFsb2dMZWZ0JylcbiAgICBwdWJsaWMgZ2V0IGlzUG9zaXRpb25MZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJyAmJiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcpIHx8ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCcgJiYgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JykgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBmaWxlc1VwbG9hZGluZ0xpc3Q6IEZpbGVNb2RlbFtdID0gW107XG4gICAgaXNEaWFsb2dBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB0b3RhbENvbXBsZXRlZDogbnVtYmVyID0gMDtcbiAgICB0b3RhbEVycm9yczogbnVtYmVyID0gMDtcbiAgICBpc0RpYWxvZ01pbmltaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzQ29uZmlybWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGRpYWxvZ0FjdGl2ZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUucGlwZShkZWxheSgxMDApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1cGxvYWQtZGlhbG9nJyk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLnF1ZXVlQ2hhbmdlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGZpbGVMaXN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzVXBsb2FkaW5nTGlzdCA9IGZpbGVMaXN0O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maWxlc1VwbG9hZGluZ0xpc3QubGVuZ3RoICYmICF0aGlzLmlzRGlhbG9nQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RpYWxvZ0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0FjdGl2ZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkQ29tcGxldGUsIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkRGVsZXRlZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEZpbGVVcGxvYWRDb21wbGV0ZUV2ZW50IHwgRmlsZVVwbG9hZERlbGV0ZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbENvbXBsZXRlZCA9IGV2ZW50LnRvdGFsQ29tcGxldGU7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuZmlsZVVwbG9hZEVycm9yLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG90YWxFcnJvcnMgPSBldmVudC50b3RhbEVycm9yO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVEZWxldGVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgob2JqSWQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzVXBsb2FkaW5nTGlzdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZSA9IHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0LmZpbmQoKGZpbGUpID0+IChmaWxlLmRhdGEgPyBmaWxlLmRhdGEuZW50cnkuaWQgPT09IG9iaklkIDogZmFsc2UpKTtcbiAgICAgICAgICAgICAgICBpZiAodXBsb2FkZWRGaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkRmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkNhbmNlbGxlZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcbiAgICAgICAgICAgIC5zZWxlY3QoJ3RleHRPcmllbnRhdGlvbicpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRleHRPcmllbnRhdGlvbjogRGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0ZXh0T3JpZW50YXRpb247XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgY29uZmlybWF0aW9uIG1lc3NhZ2UuXG4gICAgICovXG4gICAgdG9nZ2xlQ29uZmlybWF0aW9uKCkge1xuICAgICAgICB0aGlzLmlzQ29uZmlybWF0aW9uID0gIXRoaXMuaXNDb25maXJtYXRpb247XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQ29uZmlybWF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0FjdGl2ZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0RpYWxvZ01pbmltaXplZCkge1xuICAgICAgICAgICAgdGhpcy5pc0RpYWxvZ01pbmltaXplZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FuY2VsIHVwbG9hZHMgYW5kIGhpZGUgY29uZmlybWF0aW9uXG4gICAgICovXG4gICAgY2FuY2VsQWxsVXBsb2FkcygpIHtcbiAgICAgICAgdGhpcy50b2dnbGVDb25maXJtYXRpb24oKTtcbiAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLnVwbG9hZExpc3QuY2FuY2VsQWxsRmlsZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZGlhbG9nIG1pbmltaXplZCBzdGF0ZS5cbiAgICAgKi9cbiAgICB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEaWFsb2dNaW5pbWl6ZWQgPSAhdGhpcy5pc0RpYWxvZ01pbmltaXplZDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzbWlzcyBkaWFsb2dcbiAgICAgKi9cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRvdGFsQ29tcGxldGVkID0gMDtcbiAgICAgICAgdGhpcy50b3RhbEVycm9ycyA9IDA7XG4gICAgICAgIHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0ID0gW107XG4gICAgICAgIHRoaXMuaXNEaWFsb2dBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0RpYWxvZ01pbmltaXplZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuY2xlYXJRdWV1ZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNsZWFyUXVldWUoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93RGlhbG9nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0RpYWxvZ0FjdGl2ZSB8fCB0aGlzLmFsd2F5c1Zpc2libGU7XG4gICAgfVxuXG4gICAgY2FuU2hvd0NhbmNlbEFsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0Py5sZW5ndGggJiYgdGhpcy5oYXNVcGxvYWRJblByb2dyZXNzKCk7XG4gICAgfVxuXG4gICAgY2FuQ2xvc2VEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNVcGxvYWRJblByb2dyZXNzKCkgJiYgIXRoaXMuYWx3YXlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBoYXNVcGxvYWRJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMudXBsb2FkTGlzdD8uaXNVcGxvYWRDb21wbGV0ZWQoKSAmJiAhdGhpcy51cGxvYWRMaXN0Py5pc1VwbG9hZENhbmNlbGxlZCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjYW5TaG93RGlhbG9nKClcIlxuICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX0ZJTEVfVVBMT0FELkFSSUEtTEFCRUwuRElBTE9HJ3wgdHJhbnNsYXRlXCJcbiAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ1wiXG4gICAgIGlkPVwidXBsb2FkLWRpYWxvZ1wiXG4gICAgIFtjbGFzcy5hZGYtdXBsb2FkLWRpYWxvZy0tbWluaW1pemVkXT1cImlzRGlhbG9nTWluaW1pemVkXCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXItYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLXVwbG9hZC1kaWFsb2dfX3RvZ2dsZS1taW5pbWl6ZSdcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoaXNEaWFsb2dNaW5pbWl6ZWQgP1xuICAgICAgICAgICAgICAgICdBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5ESUFMT0dfTUFYSU1JWkUnOlxuICAgICAgICAgICAgICAgICdBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5ESUFMT0dfTUlOSU1JWkUnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDb25maXJtYXRpb25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhaXNEaWFsb2dNaW5pbWl6ZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1pbmltaXplZCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXItYnV0dG9uLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaXNEaWFsb2dNaW5pbWl6ZWQgPyAna2V5Ym9hcmRfYXJyb3dfdXAnIDogJ2tleWJvYXJkX2Fycm93X2Rvd24nIH19XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fdGl0bGVcIlxuICAgICAgICAgICAgKm5nSWY9XCIhdXBsb2FkTGlzdC5pc1VwbG9hZENhbmNlbGxlZCgpXCI+XG4gICAgICAgICAgICB7eyAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX1BST0dSRVNTJ1xuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZDogdG90YWxDb21wbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsOiBmaWxlc1VwbG9hZGluZ0xpc3QubGVuZ3RoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX190aXRsZVwiXG4gICAgICAgICAgICAqbmdJZj1cInVwbG9hZExpc3QuaXNVcGxvYWRDYW5jZWxsZWQoKVwiPlxuICAgICAgICAgICAge3sgJ0ZJTEVfVVBMT0FELk1FU1NBR0VTLlVQTE9BRF9DQU5DRUxFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19faW5mb1wiXG4gICAgICAgICpuZ0lmPVwidG90YWxFcnJvcnNcIj5cbiAgICAgICAge3tcbiAgICAgICAgICAgICh0b3RhbEVycm9ycyA+IDFcbiAgICAgICAgICAgICAgICAgPyAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX0VSUk9SUydcbiAgICAgICAgICAgICAgICAgOiAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX0VSUk9SJylcbiAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgdG90YWw6IHRvdGFsRXJyb3JzIH1cbiAgICAgICAgfX1cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19jb250ZW50XCJcbiAgICAgICAgW2NsYXNzLmFkZi11cGxvYWQtZGlhbG9nLS1wYWRkaW5nXT1cImlzQ29uZmlybWF0aW9uXCI+XG4gICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctbGlzdFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctbGlzdFwiXG4gICAgICAgICAgICBbY2xhc3MuYWRmLXVwbG9hZC1kaWFsb2ctLWhpZGVdPVwiaXNDb25maXJtYXRpb25cIlxuICAgICAgICAgICAgI3VwbG9hZExpc3RcbiAgICAgICAgICAgIFtmaWxlc109XCJmaWxlc1VwbG9hZGluZ0xpc3RcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWZpbGU9XCIkaW1wbGljaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctbGlzdC1yb3dcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbCk9XCJ1cGxvYWRMaXN0LmNhbmNlbEZpbGUoZmlsZSlcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvYWRmLWZpbGUtdXBsb2FkaW5nLWxpc3Q+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImNvbmZpcm1hdGlvblRpdGxlXCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJjb25maXJtYXRpb25EZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19jb25maXJtYXRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmFkZi11cGxvYWQtZGlhbG9nLS1oaWRlXT1cIiFpc0NvbmZpcm1hdGlvblwiPlxuICAgICAgICAgICAgICAgIDxwIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIiBpZD1cImNvbmZpcm1hdGlvblRpdGxlXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fY29uZmlybWF0aW9uLS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQURGX0ZJTEVfVVBMT0FELkNPTkZJUk1BVElPTi5NRVNTQUdFLlRJVExFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cCBpZD1cImNvbmZpcm1hdGlvbkRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fY29uZmlybWF0aW9uLS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdBREZfRklMRV9VUExPQUQuQ09ORklSTUFUSU9OLk1FU1NBR0UuVEVYVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fYWN0aW9uc1wiICpuZ0lmPVwiIWlzQ29uZmlybWF0aW9uXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRmLXVwbG9hZC1kaWFsb2ctY2FuY2VsLWFsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5TVE9QX0FMTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU2hvd0NhbmNlbEFsbCgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb25maXJtYXRpb24oKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkJVVFRPTi5TVE9QX0FMTCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cImFkZi11cGxvYWQtZGlhbG9nLWNsb3NlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLkRJQUxPR19DTE9TRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5DbG9zZURpYWxvZygpXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkJVVFRPTi5DTE9TRScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICA8L2Zvb3Rlcj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fYWN0aW9uc1wiXG4gICAgICAgICAgICAqbmdJZj1cImlzQ29uZmlybWF0aW9uXCIgY2RrVHJhcEZvY3VzIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cImFkZi11cGxvYWQtZGlhbG9nLWNhbmNlbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5DT05GSVJNQVRJT04uQ0FOQ0VMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQWxsVXBsb2FkcygpXCJcbiAgICAgICAgPnt7ICdBREZfRklMRV9VUExPQUQuQ09ORklSTUFUSU9OLkJVVFRPTi5DQU5DRUwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJhZGYtdXBsb2FkLWRpYWxvZy1jb25maXJtXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLkNPTkZJUk1BVElPTi5DT05USU5VRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb25maXJtYXRpb24oKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkNPTkZJUk1BVElPTi5CVVRUT04uQ09OVElOVUUnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgPC9mb290ZXI+XG48L2Rpdj5cbiJdfQ==
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FB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SSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0lBQzFGLENBQUM7K0dBbktRLDRCQUE0QjttR0FBNUIsNEJBQTRCLGdhQ3hEekMsODFKQXVIQSw2NUREcEVjLFlBQVksa0lBQUUsZUFBZSx3VUFBRSxlQUFlLDJGQUFFLGFBQWEsb0xBQUUsMEJBQTBCLDJHQUFFLDZCQUE2Qiw4R0FBRSxVQUFVOzs0RkFLckksNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLGlCQUdoSSxpQkFBaUIsQ0FBQyxJQUFJO2dMQU9yQyxVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWTtnQkFLdkIsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixLQUFLO3NCQURKLE1BQU07Z0JBSUksZUFBZTtzQkFEekIsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSzdCLGNBQWM7c0JBRHhCLFdBQVc7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWRpbmctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcGxldGVFdmVudCwgRmlsZVVwbG9hZERlbGV0ZUV2ZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2V2ZW50cy9maWxlLmV2ZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nTGlzdFJvd0NvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWZpbGUtdXBsb2FkaW5nLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgRmlsZVVwbG9hZGluZ0xpc3RDb21wb25lbnQsIEZpbGVVcGxvYWRpbmdMaXN0Um93Q29tcG9uZW50LCBBMTF5TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGluZy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRpbmdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIERpYWxvZyBkaXJlY3Rpb24uIENhbiBiZSAnbHRyJyBvciAncnRsLiAqL1xuICAgIHByaXZhdGUgZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSAnbHRyJztcblxuICAgIEBWaWV3Q2hpbGQoJ3VwbG9hZExpc3QnKVxuICAgIHVwbG9hZExpc3Q6IEZpbGVVcGxvYWRpbmdMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIERpYWxvZyBwb3NpdGlvbi4gQ2FuIGJlICdsZWZ0JyBvciAncmlnaHQnLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcG9zaXRpb246IHN0cmluZyA9ICdyaWdodCc7XG5cbiAgICAvKiogTWFrZXMgdGhlIGRpYWxvZyBhbHdheXMgdmlzaWJsZSBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIHVwbG9hZHMuICovXG4gICAgQElucHV0KClcbiAgICBhbHdheXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpbiB0aGUgbGlzdCBoYXMgYW4gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFkZlVwbG9hZERpYWxvZ1JpZ2h0JylcbiAgICBwdWJsaWMgZ2V0IGlzUG9zaXRpb25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgJiYgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JykgfHwgKHRoaXMuZGlyZWN0aW9uID09PSAncnRsJyAmJiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcpIHx8IG51bGw7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hZGZVcGxvYWREaWFsb2dMZWZ0JylcbiAgICBwdWJsaWMgZ2V0IGlzUG9zaXRpb25MZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJyAmJiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcpIHx8ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCcgJiYgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JykgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBmaWxlc1VwbG9hZGluZ0xpc3Q6IEZpbGVNb2RlbFtdID0gW107XG4gICAgaXNEaWFsb2dBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB0b3RhbENvbXBsZXRlZDogbnVtYmVyID0gMDtcbiAgICB0b3RhbEVycm9yczogbnVtYmVyID0gMDtcbiAgICBpc0RpYWxvZ01pbmltaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzQ29uZmlybWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGRpYWxvZ0FjdGl2ZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUucGlwZShkZWxheSgxMDApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQ6IGFueSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1cGxvYWQtZGlhbG9nJyk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLnF1ZXVlQ2hhbmdlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGZpbGVMaXN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzVXBsb2FkaW5nTGlzdCA9IGZpbGVMaXN0O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maWxlc1VwbG9hZGluZ0xpc3QubGVuZ3RoICYmICF0aGlzLmlzRGlhbG9nQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RpYWxvZ0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0FjdGl2ZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkQ29tcGxldGUsIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkRGVsZXRlZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEZpbGVVcGxvYWRDb21wbGV0ZUV2ZW50IHwgRmlsZVVwbG9hZERlbGV0ZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbENvbXBsZXRlZCA9IGV2ZW50LnRvdGFsQ29tcGxldGU7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuZmlsZVVwbG9hZEVycm9yLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG90YWxFcnJvcnMgPSBldmVudC50b3RhbEVycm9yO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVEZWxldGVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgob2JqSWQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzVXBsb2FkaW5nTGlzdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwbG9hZGVkRmlsZSA9IHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0LmZpbmQoKGZpbGUpID0+IChmaWxlLmRhdGEgPyBmaWxlLmRhdGEuZW50cnkuaWQgPT09IG9iaklkIDogZmFsc2UpKTtcbiAgICAgICAgICAgICAgICBpZiAodXBsb2FkZWRGaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkRmlsZS5zdGF0dXMgPSBGaWxlVXBsb2FkU3RhdHVzLkNhbmNlbGxlZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcbiAgICAgICAgICAgIC5zZWxlY3QoJ3RleHRPcmllbnRhdGlvbicpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRleHRPcmllbnRhdGlvbjogRGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0ZXh0T3JpZW50YXRpb247XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgY29uZmlybWF0aW9uIG1lc3NhZ2UuXG4gICAgICovXG4gICAgdG9nZ2xlQ29uZmlybWF0aW9uKCkge1xuICAgICAgICB0aGlzLmlzQ29uZmlybWF0aW9uID0gIXRoaXMuaXNDb25maXJtYXRpb247XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQ29uZmlybWF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0FjdGl2ZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0RpYWxvZ01pbmltaXplZCkge1xuICAgICAgICAgICAgdGhpcy5pc0RpYWxvZ01pbmltaXplZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FuY2VsIHVwbG9hZHMgYW5kIGhpZGUgY29uZmlybWF0aW9uXG4gICAgICovXG4gICAgY2FuY2VsQWxsVXBsb2FkcygpIHtcbiAgICAgICAgdGhpcy50b2dnbGVDb25maXJtYXRpb24oKTtcbiAgICAgICAgdGhpcy5kaWFsb2dBY3RpdmUubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLnVwbG9hZExpc3QuY2FuY2VsQWxsRmlsZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZGlhbG9nIG1pbmltaXplZCBzdGF0ZS5cbiAgICAgKi9cbiAgICB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEaWFsb2dNaW5pbWl6ZWQgPSAhdGhpcy5pc0RpYWxvZ01pbmltaXplZDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzbWlzcyBkaWFsb2dcbiAgICAgKi9cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRvdGFsQ29tcGxldGVkID0gMDtcbiAgICAgICAgdGhpcy50b3RhbEVycm9ycyA9IDA7XG4gICAgICAgIHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0ID0gW107XG4gICAgICAgIHRoaXMuaXNEaWFsb2dBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0RpYWxvZ01pbmltaXplZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuY2xlYXJRdWV1ZSgpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNsZWFyUXVldWUoKTtcbiAgICB9XG5cbiAgICBjYW5TaG93RGlhbG9nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0RpYWxvZ0FjdGl2ZSB8fCB0aGlzLmFsd2F5c1Zpc2libGU7XG4gICAgfVxuXG4gICAgY2FuU2hvd0NhbmNlbEFsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZXNVcGxvYWRpbmdMaXN0Py5sZW5ndGggJiYgdGhpcy5oYXNVcGxvYWRJblByb2dyZXNzKCk7XG4gICAgfVxuXG4gICAgY2FuQ2xvc2VEaWFsb2coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNVcGxvYWRJblByb2dyZXNzKCkgJiYgIXRoaXMuYWx3YXlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBoYXNVcGxvYWRJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMudXBsb2FkTGlzdD8uaXNVcGxvYWRDb21wbGV0ZWQoKSAmJiAhdGhpcy51cGxvYWRMaXN0Py5pc1VwbG9hZENhbmNlbGxlZCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjYW5TaG93RGlhbG9nKClcIlxuICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX0ZJTEVfVVBMT0FELkFSSUEtTEFCRUwuRElBTE9HJ3wgdHJhbnNsYXRlXCJcbiAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ1wiXG4gICAgIGlkPVwidXBsb2FkLWRpYWxvZ1wiXG4gICAgIFtjbGFzcy5hZGYtdXBsb2FkLWRpYWxvZy0tbWluaW1pemVkXT1cImlzRGlhbG9nTWluaW1pemVkXCI+XG4gICAgPGhlYWRlciBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXItYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLXVwbG9hZC1kaWFsb2dfX3RvZ2dsZS1taW5pbWl6ZSdcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoaXNEaWFsb2dNaW5pbWl6ZWQgP1xuICAgICAgICAgICAgICAgICdBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5ESUFMT0dfTUFYSU1JWkUnOlxuICAgICAgICAgICAgICAgICdBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5ESUFMT0dfTUlOSU1JWkUnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDb25maXJtYXRpb25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhaXNEaWFsb2dNaW5pbWl6ZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1pbmltaXplZCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19oZWFkZXItYnV0dG9uLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaXNEaWFsb2dNaW5pbWl6ZWQgPyAna2V5Ym9hcmRfYXJyb3dfdXAnIDogJ2tleWJvYXJkX2Fycm93X2Rvd24nIH19XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fdGl0bGVcIlxuICAgICAgICAgICAgKm5nSWY9XCIhdXBsb2FkTGlzdC5pc1VwbG9hZENhbmNlbGxlZCgpXCI+XG4gICAgICAgICAgICB7eyAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX1BST0dSRVNTJ1xuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZDogdG90YWxDb21wbGV0ZWQsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsOiBmaWxlc1VwbG9hZGluZ0xpc3QubGVuZ3RoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX190aXRsZVwiXG4gICAgICAgICAgICAqbmdJZj1cInVwbG9hZExpc3QuaXNVcGxvYWRDYW5jZWxsZWQoKVwiPlxuICAgICAgICAgICAge3sgJ0ZJTEVfVVBMT0FELk1FU1NBR0VTLlVQTE9BRF9DQU5DRUxFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19faW5mb1wiXG4gICAgICAgICpuZ0lmPVwidG90YWxFcnJvcnNcIj5cbiAgICAgICAge3tcbiAgICAgICAgICAgICh0b3RhbEVycm9ycyA+IDFcbiAgICAgICAgICAgICAgICAgPyAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX0VSUk9SUydcbiAgICAgICAgICAgICAgICAgOiAnRklMRV9VUExPQUQuTUVTU0FHRVMuVVBMT0FEX0VSUk9SJylcbiAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgdG90YWw6IHRvdGFsRXJyb3JzIH1cbiAgICAgICAgfX1cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19jb250ZW50XCJcbiAgICAgICAgW2NsYXNzLmFkZi11cGxvYWQtZGlhbG9nLS1wYWRkaW5nXT1cImlzQ29uZmlybWF0aW9uXCI+XG4gICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctbGlzdFxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctbGlzdFwiXG4gICAgICAgICAgICBbY2xhc3MuYWRmLXVwbG9hZC1kaWFsb2ctLWhpZGVdPVwiaXNDb25maXJtYXRpb25cIlxuICAgICAgICAgICAgI3VwbG9hZExpc3RcbiAgICAgICAgICAgIFtmaWxlc109XCJmaWxlc1VwbG9hZGluZ0xpc3RcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWZpbGU9XCIkaW1wbGljaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctbGlzdC1yb3dcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbCk9XCJ1cGxvYWRMaXN0LmNhbmNlbEZpbGUoZmlsZSlcIiAvPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvYWRmLWZpbGUtdXBsb2FkaW5nLWxpc3Q+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT1cImNvbmZpcm1hdGlvblRpdGxlXCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJjb25maXJtYXRpb25EZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtZGlhbG9nX19jb25maXJtYXRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmFkZi11cGxvYWQtZGlhbG9nLS1oaWRlXT1cIiFpc0NvbmZpcm1hdGlvblwiPlxuICAgICAgICAgICAgICAgIDxwIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIiBpZD1cImNvbmZpcm1hdGlvblRpdGxlXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fY29uZmlybWF0aW9uLS10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQURGX0ZJTEVfVVBMT0FELkNPTkZJUk1BVElPTi5NRVNTQUdFLlRJVExFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8cCBpZD1cImNvbmZpcm1hdGlvbkRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fY29uZmlybWF0aW9uLS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdBREZfRklMRV9VUExPQUQuQ09ORklSTUFUSU9OLk1FU1NBR0UuVEVYVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fYWN0aW9uc1wiICpuZ0lmPVwiIWlzQ29uZmlybWF0aW9uXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYWRmLXVwbG9hZC1kaWFsb2ctY2FuY2VsLWFsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5TVE9QX0FMTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU2hvd0NhbmNlbEFsbCgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb25maXJtYXRpb24oKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkJVVFRPTi5TVE9QX0FMTCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cImFkZi11cGxvYWQtZGlhbG9nLWNsb3NlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLkRJQUxPR19DTE9TRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKm5nSWY9XCJjYW5DbG9zZURpYWxvZygpXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkJVVFRPTi5DTE9TRScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICA8L2Zvb3Rlcj5cblxuICAgIDxmb290ZXIgY2xhc3M9XCJhZGYtdXBsb2FkLWRpYWxvZ19fYWN0aW9uc1wiXG4gICAgICAgICAgICAqbmdJZj1cImlzQ29uZmlybWF0aW9uXCIgY2RrVHJhcEZvY3VzIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cImFkZi11cGxvYWQtZGlhbG9nLWNhbmNlbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5DT05GSVJNQVRJT04uQ0FOQ0VMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQWxsVXBsb2FkcygpXCJcbiAgICAgICAgPnt7ICdBREZfRklMRV9VUExPQUQuQ09ORklSTUFUSU9OLkJVVFRPTi5DQU5DRUwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJhZGYtdXBsb2FkLWRpYWxvZy1jb25maXJtXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLkNPTkZJUk1BVElPTi5DT05USU5VRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb25maXJtYXRpb24oKVwiXG4gICAgICAgID57eyAnQURGX0ZJTEVfVVBMT0FELkNPTkZJUk1BVElPTi5CVVRUT04uQ09OVElOVUUnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgPC9mb290ZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -68,10 +68,10 @@ export class FileUploadingListRowComponent {
|
|
|
68
68
|
isUploadVersionComplete() {
|
|
69
69
|
return this.file?.status === FileUploadStatus.Complete && this.isUploadVersion();
|
|
70
70
|
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingListRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadingListRowComponent, isStandalone: true, selector: "adf-file-uploading-list-row", inputs: { file: "file" }, outputs: { cancel: "cancel" }, ngImport: i0, template: "<div class=\"adf-file-uploading-row\">\n <mat-icon *ngIf=\"mimeType === 'default'\" matListItemIcon class=\"adf-file-uploading-row__type\">\n insert_drive_file\n </mat-icon>\n\n <adf-icon *ngIf=\"mimeType !== 'default'\" value=\"adf:{{ mimeType }}\" />\n\n <span\n class=\"adf-file-uploading-row__name\"\n title=\"{{ file.name }}\">\n {{ file.name }}\n </span>\n\n <span *ngIf=\"isUploadVersion()\" class=\"adf-file-uploading-row__version\" tabindex=\"0\" >\n <mat-chip color=\"primary\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.VERSION' | translate: { version: versionNumber }\"\n [title]=\"'version' + versionNumber\"\n >{{ versionNumber }}</mat-chip>\n </span>\n\n <div\n tabindex=\"0\"\n role=\"button\"\n #toggleIcon=\"toggleIcon\"\n adf-toggle-icon\n (keyup.enter)=\"onCancel(file)\"\n (click)=\"onCancel(file)\"\n data-automation-id=\"cancel-upload-progress\"\n *ngIf=\"isUploading()\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.STOP_FILE_UPLOAD' | translate: { file: file.name }\"\n class=\"adf-file-uploading-row__group adf-file-uploading-row__group--toggle\"\n title=\"{{ 'ADF_FILE_UPLOAD.BUTTON.STOP_FILE' | translate }}\">\n\n <span class=\"adf-file-uploading-row__status\" *ngIf=\"!toggleIcon.isToggled\">\n {{ file.progress.loaded | adfFileSize }} / {{ file.progress.total | adfFileSize }}\n </span>\n\n <mat-icon *ngIf=\"toggleIcon.isToggled\"\n class=\"adf-file-uploading-row__action adf-file-uploading-row__action--cancel\">\n clear\n </mat-icon>\n </div>\n\n <button mat-icon-button\n adf-toggle-icon\n #toggleIcon=\"toggleIcon\"\n *ngIf=\"isUploadComplete()\"\n class=\"adf-file-uploading-row__group\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.UPLOAD_SUCCESSFUL' | translate: { file: file.name }\"\n title=\"{{ 'ADF_FILE_UPLOAD.BUTTON.UPLOAD_SUCCESSFUL' | translate }}\">\n\n <mat-icon\n class=\"adf-file-uploading-row__status adf-file-uploading-row__status--done\">\n check_circle\n </mat-icon>\n </button>\n\n <div\n *ngIf=\"isUploadVersionComplete()\"\n class=\"adf-file-uploading-row__file-version\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.STATUS.FILE_DONE_STATUS' | translate\"\n >\n <mat-icon\n matListItemIcon\n class=\"adf-file-uploading-row__status--done\">\n check_circle\n </mat-icon>\n </div>\n\n <button\n adf-toggle-icon\n #toggleIconCancel=\"toggleIcon\"\n mat-icon-button\n *ngIf=\"canCancelUpload()\"\n (click)=\"onCancel(file)\"\n data-automation-id=\"cancel-upload-queue\"\n class=\"adf-file-uploading-row__group\"\n title=\"{{ 'ADF_FILE_UPLOAD.BUTTON.STOP_FILE' | translate }}\"\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.STOP_FILE' | translate: { file: file.name }\">\n <mat-icon\n *ngIf=\"!toggleIconCancel.isToggled\"\n class=\"adf-file-uploading-row__status adf-file-uploading-row__status--pending\">\n schedule\n </mat-icon>\n\n <mat-icon\n *ngIf=\"toggleIconCancel.isToggled\"\n class=\"adf-file-uploading-row__action adf-file-uploading-row__action--remove\">\n remove_circle\n </mat-icon>\n </button>\n\n <div\n role=\"status\"\n *ngIf=\"isUploadError()\"\n class=\"adf-file-uploading-row__block adf-file-uploading-row__status--error\">\n <mat-icon matListItemIcon\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.ARIA-LABEL.UPLOAD_FILE_ERROR' | translate: { error: file.errorCode | adfFileUploadError }\"\n [title]=\"file.errorCode | adfFileUploadError\">\n report_problem\n </mat-icon>\n </div>\n\n <div\n [attr.aria-label]=\"'ADF_FILE_UPLOAD.STATUS.FILE_CANCELED_STATUS' | translate\"\n role=\"status\"\n *ngIf=\"showCancelledStatus()\"\n class=\"adf-file-uploading-row__block adf-file-uploading-row__status--cancelled\">\n {{ 'ADF_FILE_UPLOAD.STATUS.FILE_CANCELED_STATUS' | translate }}\n </div>\n</div>\n", styles: ["adf-file-uploading-list-row:not(:first-child){display:block;border-top:1px solid var(--adf-theme-foreground-text-color-014)}.adf-file-uploading-row{display:flex;align-items:center;padding:.3em 1em;cursor:default}.adf-file-uploading-row:hover{background:#eee}.adf-file-uploading-row__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;padding:0 1em 0 .5em}.adf-file-uploading-row .adf-file-uploading-row__group,.adf-file-uploading-row .adf-file-uploading-row__block,.adf-file-uploading-row .adf-file-uploading-row__file-version{min-width:100px;display:flex;justify-content:flex-end;line-height:40px;height:40px;align-items:center;padding:0 12px}.adf-file-uploading-row__group--toggle{cursor:pointer;display:flex;align-items:center;height:40px;line-height:40px}.adf-file-uploading-row__status--done{color:var(--theme-accent-color)}.adf-file-uploading-row__status--error{color:var(--theme-warn-color);padding:0 12px}.adf-file-uploading-row__action--cancel,.adf-file-uploading-row__action--remove{color:var(--theme-warn-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "directive", type: i3.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: ToggleIconDirective, selector: "[adf-toggle-icon]", exportAs: ["toggleIcon"] }, { kind: "pipe", type: FileSizePipe, name: "adfFileSize" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: FileUploadErrorPipe, name: "adfFileUploadError" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingListRowComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
76
|
args: [{ selector: 'adf-file-uploading-list-row', standalone: true, imports: [
|
|
77
77
|
CommonModule,
|
|
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
90
90
|
}], cancel: [{
|
|
91
91
|
type: Output
|
|
92
92
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy9maWxlLXVwbG9hZGluZy1saXN0LXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkaW5nLWxpc3Qtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0FBcUJ0RSxNQUFNLE9BQU8sNkJBQTZCO0lBbkIxQztRQXdCSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQTZDMUM7SUEzQ0csUUFBUSxDQUFDLElBQWU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sQ0FDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU87WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUNoRCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRixDQUFDOzhHQWpEUSw2QkFBNkI7a0dBQTdCLDZCQUE2QixnSkNoRDFDLDh2SUErR0Esb2xDRDlFUSxZQUFZLGtJQUNaLGFBQWEsbUxBQ2IsYUFBYSwrR0FDYixhQUFhLDJGQUNiLGNBQWMsc1ZBQ2QsZUFBZSw0RkFDZixtQkFBbUIsbUZBQ25CLFlBQVksbURBQ1osZUFBZSx1SUFDZixtQkFBbUI7OzJGQU1kLDZCQUE2QjtrQkFuQnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3RCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBGaWxlU2l6ZVBpcGUsIEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRvZ2dsZUljb25EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RvZ2dsZS1pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yUGlwZSB9IGZyb20gJy4uL3BpcGVzL2ZpbGUtdXBsb2FkLWVycm9yLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1maWxlLXVwbG9hZGluZy1saXN0LXJvdycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgVG9nZ2xlSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgRmlsZVNpemVQaXBlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZpbGVVcGxvYWRFcnJvclBpcGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGluZy1saXN0LXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRpbmdMaXN0Um93Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGZpbGU6IEZpbGVNb2RlbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZU1vZGVsPigpO1xuXG4gICAgb25DYW5jZWwoZmlsZTogRmlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoZmlsZSk7XG4gICAgfVxuXG4gICAgc2hvd0NhbmNlbGxlZFN0YXR1cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuQ2FuY2VsbGVkIHx8XG4gICAgICAgICAgICB0aGlzLmZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkFib3J0ZWQgfHxcbiAgICAgICAgICAgIHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRGVsZXRlZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCB2ZXJzaW9uTnVtYmVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGUuZGF0YS5lbnRyeS5wcm9wZXJ0aWVzWydjbTp2ZXJzaW9uTGFiZWwnXTtcbiAgICB9XG5cbiAgICBnZXQgbWltZVR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uZmlsZT8udHlwZSB8fCAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaXNVcGxvYWRWZXJzaW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGUuZGF0YSAmJiB0aGlzLmZpbGUub3B0aW9ucz8ubmV3VmVyc2lvbiAmJiB0aGlzLmZpbGUuZGF0YS5lbnRyeS5wcm9wZXJ0aWVzPy5bJ2NtOnZlcnNpb25MYWJlbCddO1xuICAgIH1cblxuICAgIGNhbkNhbmNlbFVwbG9hZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmc7XG4gICAgfVxuXG4gICAgaXNVcGxvYWRFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkVycm9yO1xuICAgIH1cblxuICAgIGlzVXBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlICYmICh0aGlzLmZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlByb2dyZXNzIHx8IHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcpO1xuICAgIH1cblxuICAgIGlzVXBsb2FkQ29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGU/LnN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5Db21wbGV0ZSAmJiAhdGhpcy5pc1VwbG9hZFZlcnNpb24oKTtcbiAgICB9XG5cbiAgICBpc1VwbG9hZFZlcnNpb25Db21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkNvbXBsZXRlICYmIHRoaXMuaXNVcGxvYWRWZXJzaW9uKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dcIj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJtaW1lVHlwZSA9PT0gJ2RlZmF1bHQnXCIgbWF0TGlzdEl0ZW1JY29uIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fdHlwZVwiPlxuICAgICAgICBpbnNlcnRfZHJpdmVfZmlsZVxuICAgIDwvbWF0LWljb24+XG5cbiAgICA8YWRmLWljb24gKm5nSWY9XCJtaW1lVHlwZSAhPT0gJ2RlZmF1bHQnXCIgdmFsdWU9XCJhZGY6e3sgbWltZVR5cGUgfX1cIiAvPlxuXG4gICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19uYW1lXCJcbiAgICAgICAgdGl0bGU9XCJ7eyBmaWxlLm5hbWUgfX1cIj5cbiAgICAgICAge3sgZmlsZS5uYW1lIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJpc1VwbG9hZFZlcnNpb24oKVwiIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fdmVyc2lvblwiIHRhYmluZGV4PVwiMFwiID5cbiAgICAgICAgPG1hdC1jaGlwIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5WRVJTSU9OJyB8IHRyYW5zbGF0ZTogeyB2ZXJzaW9uOiAgdmVyc2lvbk51bWJlciB9XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIndmVyc2lvbicgKyB2ZXJzaW9uTnVtYmVyXCJcbiAgICAgICAgPnt7IHZlcnNpb25OdW1iZXIgfX08L21hdC1jaGlwPlxuICAgIDwvc3Bhbj5cblxuICAgIDxkaXZcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICN0b2dnbGVJY29uPVwidG9nZ2xlSWNvblwiXG4gICAgICAgIGFkZi10b2dnbGUtaWNvblxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjYW5jZWwtdXBsb2FkLXByb2dyZXNzXCJcbiAgICAgICAgKm5nSWY9XCJpc1VwbG9hZGluZygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX0ZJTEVfVVBMT0FELkFSSUEtTEFCRUwuU1RPUF9GSUxFX1VQTE9BRCcgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIlxuICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2dyb3VwIGFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2dyb3VwLS10b2dnbGVcIlxuICAgICAgICB0aXRsZT1cInt7ICdBREZfRklMRV9VUExPQUQuQlVUVE9OLlNUT1BfRklMRScgfCB0cmFuc2xhdGUgfX1cIj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX3N0YXR1c1wiICpuZ0lmPVwiIXRvZ2dsZUljb24uaXNUb2dnbGVkXCI+XG4gICAgICAgICAgICB7eyBmaWxlLnByb2dyZXNzLmxvYWRlZCB8IGFkZkZpbGVTaXplIH19IC8ge3sgZmlsZS5wcm9ncmVzcy50b3RhbCB8IGFkZkZpbGVTaXplIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJ0b2dnbGVJY29uLmlzVG9nZ2xlZFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2FjdGlvbiBhZGYtZmlsZS11cGxvYWRpbmctcm93X19hY3Rpb24tLWNhbmNlbFwiPlxuICAgICAgICAgICAgY2xlYXJcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgIGFkZi10b2dnbGUtaWNvblxuICAgICAgICAjdG9nZ2xlSWNvbj1cInRvZ2dsZUljb25cIlxuICAgICAgICAqbmdJZj1cImlzVXBsb2FkQ29tcGxldGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fZ3JvdXBcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5VUExPQURfU1VDQ0VTU0ZVTCcgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIlxuICAgICAgICB0aXRsZT1cInt7ICdBREZfRklMRV9VUExPQUQuQlVUVE9OLlVQTE9BRF9TVUNDRVNTRlVMJyB8IHRyYW5zbGF0ZSB9fVwiPlxuXG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1kb25lXCI+XG4gICAgICAgICAgICBjaGVja19jaXJjbGVcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc1VwbG9hZFZlcnNpb25Db21wbGV0ZSgpXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19maWxlLXZlcnNpb25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuU1RBVFVTLkZJTEVfRE9ORV9TVEFUVVMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIG1hdExpc3RJdGVtSWNvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMtLWRvbmVcIj5cbiAgICAgICAgICAgIGNoZWNrX2NpcmNsZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBhZGYtdG9nZ2xlLWljb25cbiAgICAgICAgI3RvZ2dsZUljb25DYW5jZWw9XCJ0b2dnbGVJY29uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY2FuQ2FuY2VsVXBsb2FkKClcIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjYW5jZWwtdXBsb2FkLXF1ZXVlXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19ncm91cFwiXG4gICAgICAgIHRpdGxlPVwie3sgJ0FERl9GSUxFX1VQTE9BRC5CVVRUT04uU1RPUF9GSUxFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLlNUT1BfRklMRScgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAqbmdJZj1cIiF0b2dnbGVJY29uQ2FuY2VsLmlzVG9nZ2xlZFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX3N0YXR1cyBhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMtLXBlbmRpbmdcIj5cbiAgICAgICAgICAgIHNjaGVkdWxlXG4gICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAqbmdJZj1cInRvZ2dsZUljb25DYW5jZWwuaXNUb2dnbGVkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYWN0aW9uIGFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2FjdGlvbi0tcmVtb3ZlXCI+XG4gICAgICAgICAgICByZW1vdmVfY2lyY2xlXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAqbmdJZj1cImlzVXBsb2FkRXJyb3IoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYmxvY2sgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1lcnJvclwiPlxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5VUExPQURfRklMRV9FUlJPUicgfCB0cmFuc2xhdGU6IHsgZXJyb3I6IGZpbGUuZXJyb3JDb2RlIHwgYWRmRmlsZVVwbG9hZEVycm9yIH1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cImZpbGUuZXJyb3JDb2RlIHwgYWRmRmlsZVVwbG9hZEVycm9yXCI+XG4gICAgICAgICAgICByZXBvcnRfcHJvYmxlbVxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuU1RBVFVTLkZJTEVfQ0FOQ0VMRURfU1RBVFVTJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAqbmdJZj1cInNob3dDYW5jZWxsZWRTdGF0dXMoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYmxvY2sgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1jYW5jZWxsZWRcIj5cbiAgICAgICAge3sgJ0FERl9GSUxFX1VQTE9BRC5TVEFUVVMuRklMRV9DQU5DRUxFRF9TVEFUVVMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy9maWxlLXVwbG9hZGluZy1saXN0LXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkaW5nLWxpc3Qtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0FBcUJ0RSxNQUFNLE9BQU8sNkJBQTZCO0lBbkIxQztRQXdCSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztLQTZDMUM7SUEzQ0csUUFBUSxDQUFDLElBQWU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sQ0FDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU87WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxDQUNoRCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRixDQUFDOytHQWpEUSw2QkFBNkI7bUdBQTdCLDZCQUE2QixnSkNoRDFDLDh2SUErR0Esb2xDRDlFUSxZQUFZLGtJQUNaLGFBQWEsbUxBQ2IsYUFBYSwrR0FDYixhQUFhLDJGQUNiLGNBQWMsMFVBQ2QsZUFBZSw0RkFDZixtQkFBbUIsbUZBQ25CLFlBQVksbURBQ1osZUFBZSx1SUFDZixtQkFBbUI7OzRGQU1kLDZCQUE2QjtrQkFuQnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3RCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBGaWxlU2l6ZVBpcGUsIEljb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRvZ2dsZUljb25EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RvZ2dsZS1pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yUGlwZSB9IGZyb20gJy4uL3BpcGVzL2ZpbGUtdXBsb2FkLWVycm9yLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1maWxlLXVwbG9hZGluZy1saXN0LXJvdycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgVG9nZ2xlSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgRmlsZVNpemVQaXBlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZpbGVVcGxvYWRFcnJvclBpcGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGluZy1saXN0LXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWRpbmctbGlzdC1yb3cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRpbmdMaXN0Um93Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGZpbGU6IEZpbGVNb2RlbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZU1vZGVsPigpO1xuXG4gICAgb25DYW5jZWwoZmlsZTogRmlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoZmlsZSk7XG4gICAgfVxuXG4gICAgc2hvd0NhbmNlbGxlZFN0YXR1cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuQ2FuY2VsbGVkIHx8XG4gICAgICAgICAgICB0aGlzLmZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkFib3J0ZWQgfHxcbiAgICAgICAgICAgIHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuRGVsZXRlZFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCB2ZXJzaW9uTnVtYmVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGUuZGF0YS5lbnRyeS5wcm9wZXJ0aWVzWydjbTp2ZXJzaW9uTGFiZWwnXTtcbiAgICB9XG5cbiAgICBnZXQgbWltZVR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uZmlsZT8udHlwZSB8fCAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgaXNVcGxvYWRWZXJzaW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpbGUuZGF0YSAmJiB0aGlzLmZpbGUub3B0aW9ucz8ubmV3VmVyc2lvbiAmJiB0aGlzLmZpbGUuZGF0YS5lbnRyeS5wcm9wZXJ0aWVzPy5bJ2NtOnZlcnNpb25MYWJlbCddO1xuICAgIH1cblxuICAgIGNhbkNhbmNlbFVwbG9hZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmc7XG4gICAgfVxuXG4gICAgaXNVcGxvYWRFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkVycm9yO1xuICAgIH1cblxuICAgIGlzVXBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlICYmICh0aGlzLmZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlByb2dyZXNzIHx8IHRoaXMuZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcpO1xuICAgIH1cblxuICAgIGlzVXBsb2FkQ29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbGU/LnN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5Db21wbGV0ZSAmJiAhdGhpcy5pc1VwbG9hZFZlcnNpb24oKTtcbiAgICB9XG5cbiAgICBpc1VwbG9hZFZlcnNpb25Db21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsZT8uc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkNvbXBsZXRlICYmIHRoaXMuaXNVcGxvYWRWZXJzaW9uKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dcIj5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJtaW1lVHlwZSA9PT0gJ2RlZmF1bHQnXCIgbWF0TGlzdEl0ZW1JY29uIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fdHlwZVwiPlxuICAgICAgICBpbnNlcnRfZHJpdmVfZmlsZVxuICAgIDwvbWF0LWljb24+XG5cbiAgICA8YWRmLWljb24gKm5nSWY9XCJtaW1lVHlwZSAhPT0gJ2RlZmF1bHQnXCIgdmFsdWU9XCJhZGY6e3sgbWltZVR5cGUgfX1cIiAvPlxuXG4gICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19uYW1lXCJcbiAgICAgICAgdGl0bGU9XCJ7eyBmaWxlLm5hbWUgfX1cIj5cbiAgICAgICAge3sgZmlsZS5uYW1lIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJpc1VwbG9hZFZlcnNpb24oKVwiIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fdmVyc2lvblwiIHRhYmluZGV4PVwiMFwiID5cbiAgICAgICAgPG1hdC1jaGlwIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5WRVJTSU9OJyB8IHRyYW5zbGF0ZTogeyB2ZXJzaW9uOiAgdmVyc2lvbk51bWJlciB9XCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIndmVyc2lvbicgKyB2ZXJzaW9uTnVtYmVyXCJcbiAgICAgICAgPnt7IHZlcnNpb25OdW1iZXIgfX08L21hdC1jaGlwPlxuICAgIDwvc3Bhbj5cblxuICAgIDxkaXZcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICN0b2dnbGVJY29uPVwidG9nZ2xlSWNvblwiXG4gICAgICAgIGFkZi10b2dnbGUtaWNvblxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjYW5jZWwtdXBsb2FkLXByb2dyZXNzXCJcbiAgICAgICAgKm5nSWY9XCJpc1VwbG9hZGluZygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX0ZJTEVfVVBMT0FELkFSSUEtTEFCRUwuU1RPUF9GSUxFX1VQTE9BRCcgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIlxuICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2dyb3VwIGFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2dyb3VwLS10b2dnbGVcIlxuICAgICAgICB0aXRsZT1cInt7ICdBREZfRklMRV9VUExPQUQuQlVUVE9OLlNUT1BfRklMRScgfCB0cmFuc2xhdGUgfX1cIj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX3N0YXR1c1wiICpuZ0lmPVwiIXRvZ2dsZUljb24uaXNUb2dnbGVkXCI+XG4gICAgICAgICAgICB7eyBmaWxlLnByb2dyZXNzLmxvYWRlZCB8IGFkZkZpbGVTaXplIH19IC8ge3sgZmlsZS5wcm9ncmVzcy50b3RhbCB8IGFkZkZpbGVTaXplIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJ0b2dnbGVJY29uLmlzVG9nZ2xlZFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2FjdGlvbiBhZGYtZmlsZS11cGxvYWRpbmctcm93X19hY3Rpb24tLWNhbmNlbFwiPlxuICAgICAgICAgICAgY2xlYXJcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgIGFkZi10b2dnbGUtaWNvblxuICAgICAgICAjdG9nZ2xlSWNvbj1cInRvZ2dsZUljb25cIlxuICAgICAgICAqbmdJZj1cImlzVXBsb2FkQ29tcGxldGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fZ3JvdXBcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5VUExPQURfU1VDQ0VTU0ZVTCcgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIlxuICAgICAgICB0aXRsZT1cInt7ICdBREZfRklMRV9VUExPQUQuQlVUVE9OLlVQTE9BRF9TVUNDRVNTRlVMJyB8IHRyYW5zbGF0ZSB9fVwiPlxuXG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1kb25lXCI+XG4gICAgICAgICAgICBjaGVja19jaXJjbGVcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc1VwbG9hZFZlcnNpb25Db21wbGV0ZSgpXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19maWxlLXZlcnNpb25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuU1RBVFVTLkZJTEVfRE9ORV9TVEFUVVMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIG1hdExpc3RJdGVtSWNvblxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMtLWRvbmVcIj5cbiAgICAgICAgICAgIGNoZWNrX2NpcmNsZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBhZGYtdG9nZ2xlLWljb25cbiAgICAgICAgI3RvZ2dsZUljb25DYW5jZWw9XCJ0b2dnbGVJY29uXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY2FuQ2FuY2VsVXBsb2FkKClcIlxuICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoZmlsZSlcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjYW5jZWwtdXBsb2FkLXF1ZXVlXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZmlsZS11cGxvYWRpbmctcm93X19ncm91cFwiXG4gICAgICAgIHRpdGxlPVwie3sgJ0FERl9GSUxFX1VQTE9BRC5CVVRUT04uU1RPUF9GSUxFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9GSUxFX1VQTE9BRC5BUklBLUxBQkVMLlNUT1BfRklMRScgfCB0cmFuc2xhdGU6IHsgZmlsZTogZmlsZS5uYW1lIH1cIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAqbmdJZj1cIiF0b2dnbGVJY29uQ2FuY2VsLmlzVG9nZ2xlZFwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1maWxlLXVwbG9hZGluZy1yb3dfX3N0YXR1cyBhZGYtZmlsZS11cGxvYWRpbmctcm93X19zdGF0dXMtLXBlbmRpbmdcIj5cbiAgICAgICAgICAgIHNjaGVkdWxlXG4gICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAqbmdJZj1cInRvZ2dsZUljb25DYW5jZWwuaXNUb2dnbGVkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYWN0aW9uIGFkZi1maWxlLXVwbG9hZGluZy1yb3dfX2FjdGlvbi0tcmVtb3ZlXCI+XG4gICAgICAgICAgICByZW1vdmVfY2lyY2xlXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAqbmdJZj1cImlzVXBsb2FkRXJyb3IoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYmxvY2sgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1lcnJvclwiPlxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuQVJJQS1MQUJFTC5VUExPQURfRklMRV9FUlJPUicgfCB0cmFuc2xhdGU6IHsgZXJyb3I6IGZpbGUuZXJyb3JDb2RlIHwgYWRmRmlsZVVwbG9hZEVycm9yIH1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cImZpbGUuZXJyb3JDb2RlIHwgYWRmRmlsZVVwbG9hZEVycm9yXCI+XG4gICAgICAgICAgICByZXBvcnRfcHJvYmxlbVxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfRklMRV9VUExPQUQuU1RBVFVTLkZJTEVfQ0FOQ0VMRURfU1RBVFVTJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAqbmdJZj1cInNob3dDYW5jZWxsZWRTdGF0dXMoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fYmxvY2sgYWRmLWZpbGUtdXBsb2FkaW5nLXJvd19fc3RhdHVzLS1jYW5jZWxsZWRcIj5cbiAgICAgICAge3sgJ0FERl9GSUxFX1VQTE9BRC5TVEFUVVMuRklMRV9DQU5DRUxFRF9TVEFUVVMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -107,10 +107,10 @@ export class FileUploadingListComponent {
|
|
|
107
107
|
isUploadingFile(file) {
|
|
108
108
|
return file.status === FileUploadStatus.Pending || file.status === FileUploadStatus.Starting || file.status === FileUploadStatus.Progress;
|
|
109
109
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingListComponent, deps: [{ token: i1.UploadService }, { token: i2.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadingListComponent, isStandalone: true, selector: "adf-file-uploading-list", inputs: { files: "files" }, outputs: { error: "error" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div class=\"upload-list\">\n <ng-template\n ngFor\n [ngForOf]=\"files\"\n [ngForTemplate]=\"template\" />\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
112
112
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadingListComponent, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
115
|
args: [{ selector: 'adf-file-uploading-list', standalone: true, imports: [CommonModule], template: "<div class=\"upload-list\">\n <ng-template\n ngFor\n [ngForOf]=\"files\"\n [ngForTemplate]=\"template\" />\n</div>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
116
116
|
}], ctorParameters: () => [{ type: i1.UploadService }, { type: i2.TranslationService }], propDecorators: { template: [{
|
|
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
121
121
|
}], error: [{
|
|
122
122
|
type: Output
|
|
123
123
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkaW5nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8sMEJBQTBCO0lBV25DLFlBQW9CLGFBQTRCLEVBQVUsZ0JBQW9DO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQU45RixVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUV4QixvREFBb0Q7UUFFcEQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaUUsQ0FBQztJQUVsRzs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLElBQWU7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lB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LEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4SCxDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JILENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUM5SSxDQUFDOzhHQTFHUSwwQkFBMEI7a0dBQTFCLDBCQUEwQixrTEFDckIsV0FBVyxnRENoQzdCLDhJQU1BLG9HRHFCYyxZQUFZOzsyRkFJYiwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzttSEFNdkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFdBQVc7Z0JBSXpCLEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1maWxlLXVwbG9hZGluZy1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZGluZ0xpc3RDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgdGVtcGxhdGU6IGFueTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsZXM6IEZpbGVNb2RlbFtdID0gW107XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpbiB0aGUgbGlzdCBoYXMgYW4gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgZmlsZSB1cGxvYWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgbW9kZWwgdG8gY2FuY2VsIHVwbG9hZCBmb3IuXG4gICAgICovXG4gICAgY2FuY2VsRmlsZShmaWxlOiBGaWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmcpIHtcbiAgICAgICAgICAgIGZpbGUuc3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5DYW5jZWxsZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuY2FuY2VsVXBsb2FkKGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHVwbG9hZGVkIGZpbGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgbW9kZWwgdG8gcmVtb3ZlIHVwbG9hZCBmb3IuXG4gICAgICovXG4gICAgcmVtb3ZlRmlsZShmaWxlOiBGaWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeUVycm9yKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNVcGxvYWRpbmdGaWxlKGZpbGUpKSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbE5vZGVWZXJzaW9uSW5zdGFuY2VzKGZpbGUpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNhbmNlbFVwbG9hZChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmZpbGVzLmZpbHRlcigoZW50cnkpID0+IGVudHJ5ICE9PSBmaWxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyB0aGUgYXBwcm9wcmlhdGUgbWV0aG9kcyBmb3IgZWFjaCBmaWxlLCBkZXBlbmRpbmcgb24gc3RhdGVcbiAgICAgKi9cbiAgICBjYW5jZWxBbGxGaWxlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXNUb0NhbmNlbCA9IHRoaXMuZmlsZXMuZmlsdGVyKChmaWxlKSA9PiB0aGlzLmlzVXBsb2FkaW5nRmlsZShmaWxlKSk7XG5cbiAgICAgICAgaWYgKGZpbGVzVG9DYW5jZWwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNhbmNlbFVwbG9hZCguLi5maWxlc1RvQ2FuY2VsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbGwgdGhlIGZpbGVzIGFyZSB1cGxvYWRlZCBmYWxzZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmlsZSBpbiBQcm9ncmVzcyB8IFN0YXJ0aW5nIHwgUGVuZGluZ1xuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHVwbG9hZCBpcyBjb21wbGV0ZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1VwbG9hZENvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmlzVXBsb2FkQ2FuY2VsbGVkKCkgJiZcbiAgICAgICAgICAgIEJvb2xlYW4odGhpcy5maWxlcy5sZW5ndGgpICYmXG4gICAgICAgICAgICAhdGhpcy5maWxlcy5zb21lKFxuICAgICAgICAgICAgICAgICh7IHN0YXR1cyB9KSA9PiBzdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcgfHwgc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlByb2dyZXNzIHx8IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5QZW5kaW5nXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYWxsIHRoZSBmaWxlcyBhcmUgQ2FuY2VsbGVkIHwgQWJvcnRlZCB8IEVycm9yLiBmYWxzZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmlsZSBpbiB1cGxvYWRpbmcgc3RhdGVzXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdXBsb2FkIGlzIGNhbmNlbGxlZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1VwbG9hZENhbmNlbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5maWxlcy5sZW5ndGggJiZcbiAgICAgICAgICAgIHRoaXMuZmlsZXMuZXZlcnkoXG4gICAgICAgICAgICAgICAgKHsgc3RhdHVzIH0pID0+IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5BYm9ydGVkIHx8IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5DYW5jZWxsZWQgfHwgc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkRlbGV0ZWRcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbmNlbE5vZGVWZXJzaW9uSW5zdGFuY2VzKGZpbGU6IEZpbGVNb2RlbCkge1xuICAgICAgICB0aGlzLmZpbGVzXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLm9wdGlvbnMubmV3VmVyc2lvbiAmJiBpdGVtLmRhdGEuZW50cnkuaWQgPT09IGZpbGUuZGF0YS5lbnRyeS5pZClcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuRGVsZXRlZDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbm90aWZ5RXJyb3IoLi4uZmlsZXM6IEZpbGVNb2RlbFtdKSB7XG4gICAgICAgIGxldCBtZXNzYWdlRXJyb3I6IHN0cmluZyA9IG51bGw7XG5cbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgbWVzc2FnZUVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfVVBMT0FELk1FU1NBR0VTLlJFTU9WRV9GSUxFX0VSUk9SJywgeyBmaWxlTmFtZTogZmlsZXNbMF0ubmFtZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2VFcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGSUxFX1VQTE9BRC5NRVNTQUdFUy5SRU1PVkVfRklMRVNfRVJST1InLCB7IHRvdGFsOiBmaWxlcy5sZW5ndGggfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVycm9yLmVtaXQobWVzc2FnZUVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVXBsb2FkaW5nRmlsZShmaWxlOiBGaWxlTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmcgfHwgZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcgfHwgZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuUHJvZ3Jlc3M7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0XCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nRm9yXG4gICAgICAgIFtuZ0Zvck9mXT1cImZpbGVzXCJcbiAgICAgICAgW25nRm9yVGVtcGxhdGVdPVwidGVtcGxhdGVcIiAvPlxuPC9kaXY+XG4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRpbmctbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkaW5nLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVMvQyxNQUFNLE9BQU8sMEJBQTBCO0lBV25DLFlBQW9CLGFBQTRCLEVBQVUsZ0JBQW9DO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQU45RixVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUV4QixvREFBb0Q7UUFFcEQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaUUsQ0FBQztJQUVsRzs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLElBQWU7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lB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LEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4SCxDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JILENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUM5SSxDQUFDOytHQTFHUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixrTEFDckIsV0FBVyxnRENoQzdCLDhJQU1BLG9HRHFCYyxZQUFZOzs0RkFJYiwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kseUJBQXlCLGNBQ3ZCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzttSEFNdkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFdBQVc7Z0JBSXpCLEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbGVNb2RlbCwgRmlsZVVwbG9hZFN0YXR1cyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvZmlsZS5tb2RlbCc7XG5cbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1maWxlLXVwbG9hZGluZy1saXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZGluZy1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZGluZ0xpc3RDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgdGVtcGxhdGU6IGFueTtcblxuICAgIEBJbnB1dCgpXG4gICAgZmlsZXM6IEZpbGVNb2RlbFtdID0gW107XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpbiB0aGUgbGlzdCBoYXMgYW4gZXJyb3IuICovXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgZmlsZSB1cGxvYWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgbW9kZWwgdG8gY2FuY2VsIHVwbG9hZCBmb3IuXG4gICAgICovXG4gICAgY2FuY2VsRmlsZShmaWxlOiBGaWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmcpIHtcbiAgICAgICAgICAgIGZpbGUuc3RhdHVzID0gRmlsZVVwbG9hZFN0YXR1cy5DYW5jZWxsZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuY2FuY2VsVXBsb2FkKGZpbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHVwbG9hZGVkIGZpbGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlIEZpbGUgbW9kZWwgdG8gcmVtb3ZlIHVwbG9hZCBmb3IuXG4gICAgICovXG4gICAgcmVtb3ZlRmlsZShmaWxlOiBGaWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeUVycm9yKGZpbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNVcGxvYWRpbmdGaWxlKGZpbGUpKSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbE5vZGVWZXJzaW9uSW5zdGFuY2VzKGZpbGUpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNhbmNlbFVwbG9hZChmaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmZpbGVzLmZpbHRlcigoZW50cnkpID0+IGVudHJ5ICE9PSBmaWxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyB0aGUgYXBwcm9wcmlhdGUgbWV0aG9kcyBmb3IgZWFjaCBmaWxlLCBkZXBlbmRpbmcgb24gc3RhdGVcbiAgICAgKi9cbiAgICBjYW5jZWxBbGxGaWxlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXNUb0NhbmNlbCA9IHRoaXMuZmlsZXMuZmlsdGVyKChmaWxlKSA9PiB0aGlzLmlzVXBsb2FkaW5nRmlsZShmaWxlKSk7XG5cbiAgICAgICAgaWYgKGZpbGVzVG9DYW5jZWwubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmNhbmNlbFVwbG9hZCguLi5maWxlc1RvQ2FuY2VsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhbGwgdGhlIGZpbGVzIGFyZSB1cGxvYWRlZCBmYWxzZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmlsZSBpbiBQcm9ncmVzcyB8IFN0YXJ0aW5nIHwgUGVuZGluZ1xuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHVwbG9hZCBpcyBjb21wbGV0ZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1VwbG9hZENvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmlzVXBsb2FkQ2FuY2VsbGVkKCkgJiZcbiAgICAgICAgICAgIEJvb2xlYW4odGhpcy5maWxlcy5sZW5ndGgpICYmXG4gICAgICAgICAgICAhdGhpcy5maWxlcy5zb21lKFxuICAgICAgICAgICAgICAgICh7IHN0YXR1cyB9KSA9PiBzdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcgfHwgc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlByb2dyZXNzIHx8IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5QZW5kaW5nXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYWxsIHRoZSBmaWxlcyBhcmUgQ2FuY2VsbGVkIHwgQWJvcnRlZCB8IEVycm9yLiBmYWxzZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZmlsZSBpbiB1cGxvYWRpbmcgc3RhdGVzXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdXBsb2FkIGlzIGNhbmNlbGxlZCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1VwbG9hZENhbmNlbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5maWxlcy5sZW5ndGggJiZcbiAgICAgICAgICAgIHRoaXMuZmlsZXMuZXZlcnkoXG4gICAgICAgICAgICAgICAgKHsgc3RhdHVzIH0pID0+IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5BYm9ydGVkIHx8IHN0YXR1cyA9PT0gRmlsZVVwbG9hZFN0YXR1cy5DYW5jZWxsZWQgfHwgc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLkRlbGV0ZWRcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbmNlbE5vZGVWZXJzaW9uSW5zdGFuY2VzKGZpbGU6IEZpbGVNb2RlbCkge1xuICAgICAgICB0aGlzLmZpbGVzXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLm9wdGlvbnMubmV3VmVyc2lvbiAmJiBpdGVtLmRhdGEuZW50cnkuaWQgPT09IGZpbGUuZGF0YS5lbnRyeS5pZClcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLnN0YXR1cyA9IEZpbGVVcGxvYWRTdGF0dXMuRGVsZXRlZDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbm90aWZ5RXJyb3IoLi4uZmlsZXM6IEZpbGVNb2RlbFtdKSB7XG4gICAgICAgIGxldCBtZXNzYWdlRXJyb3I6IHN0cmluZyA9IG51bGw7XG5cbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgbWVzc2FnZUVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfVVBMT0FELk1FU1NBR0VTLlJFTU9WRV9GSUxFX0VSUk9SJywgeyBmaWxlTmFtZTogZmlsZXNbMF0ubmFtZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2VFcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGSUxFX1VQTE9BRC5NRVNTQUdFUy5SRU1PVkVfRklMRVNfRVJST1InLCB7IHRvdGFsOiBmaWxlcy5sZW5ndGggfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVycm9yLmVtaXQobWVzc2FnZUVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVXBsb2FkaW5nRmlsZShmaWxlOiBGaWxlTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGUuc3RhdHVzID09PSBGaWxlVXBsb2FkU3RhdHVzLlBlbmRpbmcgfHwgZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuU3RhcnRpbmcgfHwgZmlsZS5zdGF0dXMgPT09IEZpbGVVcGxvYWRTdGF0dXMuUHJvZ3Jlc3M7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInVwbG9hZC1saXN0XCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nRm9yXG4gICAgICAgIFtuZ0Zvck9mXT1cImZpbGVzXCJcbiAgICAgICAgW25nRm9yVGVtcGxhdGVdPVwidGVtcGxhdGVcIiAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -112,10 +112,10 @@ export class UploadButtonComponent extends UploadBase {
|
|
|
112
112
|
nodeHasPermission(node, permission) {
|
|
113
113
|
return this.contentService.hasAllowableOperations(node, permission);
|
|
114
114
|
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UploadButtonComponent, isStandalone: true, selector: "adf-upload-button", inputs: { uploadFolders: "uploadFolders", multipleFiles: "multipleFiles", staticTitle: "staticTitle", tooltip: "tooltip", file: "file" }, outputs: { permissionEvent: "permissionEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form class=\"adf-upload-button-file-container\">\n <!--Files Upload-->\n <div *ngIf=\"!uploadFolders\">\n\n <!--Single Files Upload-->\n <ng-container *ngIf=\"!multipleFiles\">\n <input\n class=\"adf-upload-button-file-container-upload-single-file\"\n id=\"upload-single-file\"\n data-automation-id=\"upload-single-file\"\n [type]=\"file ? 'button' : 'file'\"\n name=\"uploadFiles\"\n accept=\"{{acceptedFilesType}}\"\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onFilesAdded($event)\"\n (click)=\"onClickUploadButton()\"/>\n <label for=\"upload-single-file\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"upload-single-file-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FILE' | translate }}</span>\n <span id=\"upload-single-file-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n\n <!--Multiple Files Upload-->\n <ng-container *ngIf=\"multipleFiles\">\n <input\n id=\"upload-multiple-files\"\n data-automation-id=\"upload-multiple-files\"\n type=\"file\"\n name=\"uploadFiles\"\n multiple=\"multiple\"\n accept=\"{{acceptedFilesType}}\"\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onFilesAdded($event)\"/>\n <label for=\"upload-multiple-files\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"upload-multiple-file-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FILE' | translate }}</span>\n <span id=\"upload-multiple-file-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n </div>\n\n <!--Folders Upload-->\n <ng-container *ngIf=\"uploadFolders\">\n <input\n id=\"uploadFolder\"\n data-automation-id=\"uploadFolder\"\n type=\"file\"\n name=\"uploadFiles\"\n multiple=\"multiple\"\n accept=\"{{acceptedFilesType}}\"\n webkitdirectory directory\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onDirectoryAdded($event)\"/>\n <label for=\"uploadFolder\" data-automation-id=\"uploadFolder\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"uploadFolder-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FOLDER' | translate }}</span>\n <span id=\"uploadFolder-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n</form>\n", styles: [".adf-upload-button-file-container .adf-upload-button-icon{margin:0;font-size:24px;width:24px;height:24px}.adf-upload-button-file-container input{display:none}.adf-upload-button-label{display:flex;align-items:center;cursor:pointer;padding:8px 16px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:4px}.adf-upload-button-label:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.adf-upload-button-file-container-upload-single-file[disabled]+.adf-upload-button-label{background-color:var(--adf-disabled-button-background);color:var(--adf-theme-foreground-disabled-text-color);box-shadow:none;cursor:default}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], viewProviders: [{ provide: EXTENDIBLE_COMPONENT, useExisting: forwardRef(() => UploadButtonComponent) }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadButtonComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ selector: 'adf-upload-button', standalone: true, imports: [CommonModule, MatButtonModule, TranslateModule, MatIconModule], viewProviders: [{ provide: EXTENDIBLE_COMPONENT, useExisting: forwardRef(() => UploadButtonComponent) }], encapsulation: ViewEncapsulation.None, template: "<form class=\"adf-upload-button-file-container\">\n <!--Files Upload-->\n <div *ngIf=\"!uploadFolders\">\n\n <!--Single Files Upload-->\n <ng-container *ngIf=\"!multipleFiles\">\n <input\n class=\"adf-upload-button-file-container-upload-single-file\"\n id=\"upload-single-file\"\n data-automation-id=\"upload-single-file\"\n [type]=\"file ? 'button' : 'file'\"\n name=\"uploadFiles\"\n accept=\"{{acceptedFilesType}}\"\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onFilesAdded($event)\"\n (click)=\"onClickUploadButton()\"/>\n <label for=\"upload-single-file\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"upload-single-file-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FILE' | translate }}</span>\n <span id=\"upload-single-file-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n\n <!--Multiple Files Upload-->\n <ng-container *ngIf=\"multipleFiles\">\n <input\n id=\"upload-multiple-files\"\n data-automation-id=\"upload-multiple-files\"\n type=\"file\"\n name=\"uploadFiles\"\n multiple=\"multiple\"\n accept=\"{{acceptedFilesType}}\"\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onFilesAdded($event)\"/>\n <label for=\"upload-multiple-files\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"upload-multiple-file-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FILE' | translate }}</span>\n <span id=\"upload-multiple-file-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n </div>\n\n <!--Folders Upload-->\n <ng-container *ngIf=\"uploadFolders\">\n <input\n id=\"uploadFolder\"\n data-automation-id=\"uploadFolder\"\n type=\"file\"\n name=\"uploadFiles\"\n multiple=\"multiple\"\n accept=\"{{acceptedFilesType}}\"\n webkitdirectory directory\n [attr.disabled]=\"isButtonDisabled()\"\n [title]=\"tooltip\"\n (change)=\"onDirectoryAdded($event)\"/>\n <label for=\"uploadFolder\" data-automation-id=\"uploadFolder\" class=\"adf-upload-button-label\">\n <mat-icon class=\"adf-upload-button-icon\">file_upload</mat-icon>\n <span id=\"uploadFolder-label\" *ngIf=\"!staticTitle\">\n {{ 'FILE_UPLOAD.BUTTON.UPLOAD_FOLDER' | translate }}</span>\n <span id=\"uploadFolder-label-static\" *ngIf=\"staticTitle\">\n {{ staticTitle }}</span>\n </label>\n </ng-container>\n</form>\n", styles: [".adf-upload-button-file-container .adf-upload-button-icon{margin:0;font-size:24px;width:24px;height:24px}.adf-upload-button-file-container input{display:none}.adf-upload-button-label{display:flex;align-items:center;cursor:pointer;padding:8px 16px;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:4px}.adf-upload-button-label:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.adf-upload-button-file-container-upload-single-file[disabled]+.adf-upload-button-label{background-color:var(--adf-disabled-button-background);color:var(--adf-theme-foreground-disabled-text-color);box-shadow:none;cursor:default}\n"] }]
|
|
121
121
|
}], propDecorators: { uploadFolders: [{
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
131
131
|
}], permissionEvent: [{
|
|
132
132
|
type: Output
|
|
133
133
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JB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cUJBQXFCLG9UQ3pDbEMscXNHQXNFQSxrdUJEbkNjLFlBQVksa0lBQUUsZUFBZSw4QkFBRSxlQUFlLDJGQUFFLGFBQWEseUtBR3hELENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7OzJGQUcvRixxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHekQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsaUJBQ3pGLGlCQUFpQixDQUFDLElBQUk7OEJBUXJDLGFBQWE7c0JBRFosS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFWFRFTkRJQkxFX0NPTVBPTkVOVCwgRmlsZVV0aWxzIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL25vZGVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbGxvd2FibGVPcGVyYXRpb25zRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvYWxsb3dhYmxlLW9wZXJhdGlvbnMuZW51bSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi8uLi9kb2N1bWVudC1saXN0L21vZGVscy9wZXJtaXNzaW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBVcGxvYWRCYXNlIH0gZnJvbSAnLi9iYXNlLXVwbG9hZC91cGxvYWQtYmFzZSc7XG5pbXBvcnQgeyBOb2RlQWxsb3dhYmxlT3BlcmF0aW9uU3ViamVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm9kZS1hbGxvd2FibGUtb3BlcmF0aW9uLXN1YmplY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXVwbG9hZC1idXR0b24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogRVhURU5ESUJMRV9DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVwbG9hZEJ1dHRvbkNvbXBvbmVudCkgfV0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBVcGxvYWRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE5vZGVBbGxvd2FibGVPcGVyYXRpb25TdWJqZWN0IHtcbiAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlID0gaW5qZWN0KENvbnRlbnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIG5vZGVzQXBpU2VydmljZSA9IGluamVjdChOb2Rlc0FwaVNlcnZpY2UpO1xuXG4gICAgLyoqIEFsbG93cy9kaXNhbGxvd3MgdXBsb2FkIGZvbGRlcnMgKG9ubHkgZm9yIENocm9tZSkuICovXG4gICAgQElucHV0KClcbiAgICB1cGxvYWRGb2xkZXJzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogQWxsb3dzL2Rpc2FsbG93cyBtdWx0aXBsZSBmaWxlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlwbGVGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIERlZmluZXMgdGhlIHRleHQgb2YgdGhlIHVwbG9hZCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzdGF0aWNUaXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEN1c3RvbSB0b29sdGlwIHRleHQuICovXG4gICAgQElucHV0KClcbiAgICB0b29sdGlwOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEN1c3RvbSBhZGRlZCBmaWxlLiBUaGUgdXBsb2FkIGJ1dHRvbiB0eXBlIHdpbGwgYmUgJ2J1dHRvbicgaW5zdGVhZCBvZiAnZmlsZScgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGU6IEZpbGU7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGNyZWF0ZSBwZXJtaXNzaW9uIGlzIG1pc3NpbmcuICovXG4gICAgQE91dHB1dCgpXG4gICAgcGVybWlzc2lvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJtaXNzaW9uTW9kZWw+KCk7XG5cbiAgICBwcml2YXRlIGhhc0FsbG93YWJsZU9wZXJhdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvblZhbHVlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25WYWx1ZS5zdWJzY3JpYmUoKHBlcm1pc3Npb246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyA9IHBlcm1pc3Npb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgcm9vdEZvbGRlcklkID0gY2hhbmdlc1sncm9vdEZvbGRlcklkJ107XG4gICAgICAgIGlmIChyb290Rm9sZGVySWQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1Blcm1pc3Npb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gdHJ1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvbkZpbGVzQWRkZWQoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBGaWxlVXRpbHMudG9GaWxlQXJyYXkoJGV2ZW50LmN1cnJlbnRUYXJnZXQuZmlsZXMpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoZmlsZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRXZlbnQuZW1pdChuZXcgUGVybWlzc2lvbk1vZGVsKHsgdHlwZTogJ2NvbnRlbnQnLCBhY3Rpb246ICd1cGxvYWQnLCBwZXJtaXNzaW9uOiAnY3JlYXRlJyB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVzZXQgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBmaWxlXG4gICAgICAgICRldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBvbkNsaWNrVXBsb2FkQnV0dG9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IFt0aGlzLmZpbGVdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlcyhmaWxlcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQobmV3IFBlcm1pc3Npb25Nb2RlbCh7IHR5cGU6ICdjb250ZW50JywgYWN0aW9uOiAndXBsb2FkJywgcGVybWlzc2lvbjogJ2NyZWF0ZScgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EaXJlY3RvcnlBZGRlZCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IEZpbGVVdGlscy50b0ZpbGVBcnJheSgkZXZlbnQuY3VycmVudFRhcmdldC5maWxlcyk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKGZpbGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQobmV3IFBlcm1pc3Npb25Nb2RlbCh7IHR5cGU6ICdjb250ZW50JywgYWN0aW9uOiAndXBsb2FkJywgcGVybWlzc2lvbjogJ2NyZWF0ZScgfSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlc2V0IHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmlsZVxuICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgY2hlY2tQZXJtaXNzaW9uKCkge1xuICAgICAgICBpZiAodGhpcy5yb290Rm9sZGVySWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdHM6IGFueSA9IHtcbiAgICAgICAgICAgICAgICBpbmNsdWRlU291cmNlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGluY2x1ZGU6IFsnYWxsb3dhYmxlT3BlcmF0aW9ucyddXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLm5vZGVzQXBpU2VydmljZS5nZXROb2RlKHRoaXMucm9vdEZvbGRlcklkLCBvcHRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4gdGhpcy5wZXJtaXNzaW9uVmFsdWUubmV4dCh0aGlzLm5vZGVIYXNQZXJtaXNzaW9uKHJlcywgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uQ1JFQVRFKSksXG4gICAgICAgICAgICAgICAgKGVycm9yOiB7IGVycm9yOiBFcnJvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcj8uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdCh7IGVycm9yOiBlcnJvci5lcnJvci5tZXNzYWdlIH0gYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdCh7IGVycm9yOiAnRklMRV9VUExPQUQuQlVUVE9OLlBFUk1JU1NJT05fQ0hFQ0tfRVJST1InIH0gYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlSGFzUGVybWlzc2lvbihub2RlOiBOb2RlLCBwZXJtaXNzaW9uOiBBbGxvd2FibGVPcGVyYXRpb25zRW51bSB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKG5vZGUsIHBlcm1pc3Npb24pO1xuICAgIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24tZmlsZS1jb250YWluZXJcIj5cbiAgICA8IS0tRmlsZXMgVXBsb2FkLS0+XG4gICAgPGRpdiAqbmdJZj1cIiF1cGxvYWRGb2xkZXJzXCI+XG5cbiAgICAgICAgPCEtLVNpbmdsZSBGaWxlcyBVcGxvYWQtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZUZpbGVzXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWZpbGUtY29udGFpbmVyLXVwbG9hZC1zaW5nbGUtZmlsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ1cGxvYWQtc2luZ2xlLWZpbGVcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInVwbG9hZC1zaW5nbGUtZmlsZVwiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiZmlsZSA/ICdidXR0b24nIDogJ2ZpbGUnXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXBsb2FkRmlsZXNcIlxuICAgICAgICAgICAgICAgIGFjY2VwdD1cInt7YWNjZXB0ZWRGaWxlc1R5cGV9fVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVzQWRkZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tVcGxvYWRCdXR0b24oKVwiLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1cGxvYWQtc2luZ2xlLWZpbGVcIiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24taWNvblwiPmZpbGVfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInVwbG9hZC1zaW5nbGUtZmlsZS1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdGSUxFX1VQTE9BRC5CVVRUT04uVVBMT0FEX0ZJTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkLXNpbmdsZS1maWxlLWxhYmVsLXN0YXRpY1wiICpuZ0lmPVwic3RhdGljVGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3RhdGljVGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tTXVsdGlwbGUgRmlsZXMgVXBsb2FkLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZUZpbGVzXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cInVwbG9hZC1tdWx0aXBsZS1maWxlc1wiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwidXBsb2FkLW11bHRpcGxlLWZpbGVzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInVwbG9hZEZpbGVzXCJcbiAgICAgICAgICAgICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICBhY2NlcHQ9XCJ7e2FjY2VwdGVkRmlsZXNUeXBlfX1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25GaWxlc0FkZGVkKCRldmVudClcIi8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidXBsb2FkLW11bHRpcGxlLWZpbGVzXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWJ1dHRvbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWljb25cIj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ1cGxvYWQtbXVsdGlwbGUtZmlsZS1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdGSUxFX1VQTE9BRC5CVVRUT04uVVBMT0FEX0ZJTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkLW11bHRpcGxlLWZpbGUtbGFiZWwtc3RhdGljXCIgKm5nSWY9XCJzdGF0aWNUaXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdGF0aWNUaXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLUZvbGRlcnMgVXBsb2FkLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZEZvbGRlcnNcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cInVwbG9hZEZvbGRlclwiXG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1cGxvYWRGb2xkZXJcIlxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgbmFtZT1cInVwbG9hZEZpbGVzXCJcbiAgICAgICAgICAgIG11bHRpcGxlPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgYWNjZXB0PVwie3thY2NlcHRlZEZpbGVzVHlwZX19XCJcbiAgICAgICAgICAgIHdlYmtpdGRpcmVjdG9yeSBkaXJlY3RvcnlcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uRGlyZWN0b3J5QWRkZWQoJGV2ZW50KVwiLz5cbiAgICAgICAgPGxhYmVsIGZvcj1cInVwbG9hZEZvbGRlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInVwbG9hZEZvbGRlclwiIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWljb25cIj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3BhbiBpZD1cInVwbG9hZEZvbGRlci1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAge3sgJ0ZJTEVfVVBMT0FELkJVVFRPTi5VUExPQURfRk9MREVSJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkRm9sZGVyLWxhYmVsLXN0YXRpY1wiICpuZ0lmPVwic3RhdGljVGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzdGF0aWNUaXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi91cGxvYWQvY29tcG9uZW50cy91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JB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cUJBQXFCLG9UQ3pDbEMscXNHQXNFQSxrdUJEbkNjLFlBQVksa0lBQUUsZUFBZSw4QkFBRSxlQUFlLDJGQUFFLGFBQWEseUtBR3hELENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7OzRGQUcvRixxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHekQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsaUJBQ3pGLGlCQUFpQixDQUFDLElBQUk7OEJBUXJDLGFBQWE7c0JBRFosS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFWFRFTkRJQkxFX0NPTVBPTkVOVCwgRmlsZVV0aWxzIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL25vZGVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbGxvd2FibGVPcGVyYXRpb25zRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvYWxsb3dhYmxlLW9wZXJhdGlvbnMuZW51bSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tICcuLi8uLi9kb2N1bWVudC1saXN0L21vZGVscy9wZXJtaXNzaW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBVcGxvYWRCYXNlIH0gZnJvbSAnLi9iYXNlLXVwbG9hZC91cGxvYWQtYmFzZSc7XG5pbXBvcnQgeyBOb2RlQWxsb3dhYmxlT3BlcmF0aW9uU3ViamVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm9kZS1hbGxvd2FibGUtb3BlcmF0aW9uLXN1YmplY3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLXVwbG9hZC1idXR0b24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdmlld1Byb3ZpZGVyczogW3sgcHJvdmlkZTogRVhURU5ESUJMRV9DT01QT05FTlQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVwbG9hZEJ1dHRvbkNvbXBvbmVudCkgfV0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBVcGxvYWRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE5vZGVBbGxvd2FibGVPcGVyYXRpb25TdWJqZWN0IHtcbiAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlID0gaW5qZWN0KENvbnRlbnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIG5vZGVzQXBpU2VydmljZSA9IGluamVjdChOb2Rlc0FwaVNlcnZpY2UpO1xuXG4gICAgLyoqIEFsbG93cy9kaXNhbGxvd3MgdXBsb2FkIGZvbGRlcnMgKG9ubHkgZm9yIENocm9tZSkuICovXG4gICAgQElucHV0KClcbiAgICB1cGxvYWRGb2xkZXJzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogQWxsb3dzL2Rpc2FsbG93cyBtdWx0aXBsZSBmaWxlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgbXVsdGlwbGVGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIERlZmluZXMgdGhlIHRleHQgb2YgdGhlIHVwbG9hZCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzdGF0aWNUaXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEN1c3RvbSB0b29sdGlwIHRleHQuICovXG4gICAgQElucHV0KClcbiAgICB0b29sdGlwOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEN1c3RvbSBhZGRlZCBmaWxlLiBUaGUgdXBsb2FkIGJ1dHRvbiB0eXBlIHdpbGwgYmUgJ2J1dHRvbicgaW5zdGVhZCBvZiAnZmlsZScgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGU6IEZpbGU7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGNyZWF0ZSBwZXJtaXNzaW9uIGlzIG1pc3NpbmcuICovXG4gICAgQE91dHB1dCgpXG4gICAgcGVybWlzc2lvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJtaXNzaW9uTW9kZWw+KCk7XG5cbiAgICBwcml2YXRlIGhhc0FsbG93YWJsZU9wZXJhdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvblZhbHVlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25WYWx1ZS5zdWJzY3JpYmUoKHBlcm1pc3Npb246IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyA9IHBlcm1pc3Npb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgcm9vdEZvbGRlcklkID0gY2hhbmdlc1sncm9vdEZvbGRlcklkJ107XG4gICAgICAgIGlmIChyb290Rm9sZGVySWQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1Blcm1pc3Npb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gdHJ1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBvbkZpbGVzQWRkZWQoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBGaWxlVXRpbHMudG9GaWxlQXJyYXkoJGV2ZW50LmN1cnJlbnRUYXJnZXQuZmlsZXMpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoZmlsZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uRXZlbnQuZW1pdChuZXcgUGVybWlzc2lvbk1vZGVsKHsgdHlwZTogJ2NvbnRlbnQnLCBhY3Rpb246ICd1cGxvYWQnLCBwZXJtaXNzaW9uOiAnY3JlYXRlJyB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVzZXQgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBmaWxlXG4gICAgICAgICRldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBvbkNsaWNrVXBsb2FkQnV0dG9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IFt0aGlzLmZpbGVdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlcyhmaWxlcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQobmV3IFBlcm1pc3Npb25Nb2RlbCh7IHR5cGU6ICdjb250ZW50JywgYWN0aW9uOiAndXBsb2FkJywgcGVybWlzc2lvbjogJ2NyZWF0ZScgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EaXJlY3RvcnlBZGRlZCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlcyA9IEZpbGVVdGlscy50b0ZpbGVBcnJheSgkZXZlbnQuY3VycmVudFRhcmdldC5maWxlcyk7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKGZpbGVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbkV2ZW50LmVtaXQobmV3IFBlcm1pc3Npb25Nb2RlbCh7IHR5cGU6ICdjb250ZW50JywgYWN0aW9uOiAndXBsb2FkJywgcGVybWlzc2lvbjogJ2NyZWF0ZScgfSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlc2V0IHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmlsZVxuICAgICAgICAkZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgY2hlY2tQZXJtaXNzaW9uKCkge1xuICAgICAgICBpZiAodGhpcy5yb290Rm9sZGVySWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdHM6IGFueSA9IHtcbiAgICAgICAgICAgICAgICBpbmNsdWRlU291cmNlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGluY2x1ZGU6IFsnYWxsb3dhYmxlT3BlcmF0aW9ucyddXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLm5vZGVzQXBpU2VydmljZS5nZXROb2RlKHRoaXMucm9vdEZvbGRlcklkLCBvcHRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlcykgPT4gdGhpcy5wZXJtaXNzaW9uVmFsdWUubmV4dCh0aGlzLm5vZGVIYXNQZXJtaXNzaW9uKHJlcywgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uQ1JFQVRFKSksXG4gICAgICAgICAgICAgICAgKGVycm9yOiB7IGVycm9yOiBFcnJvciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcj8uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdCh7IGVycm9yOiBlcnJvci5lcnJvci5tZXNzYWdlIH0gYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdCh7IGVycm9yOiAnRklMRV9VUExPQUQuQlVUVE9OLlBFUk1JU1NJT05fQ0hFQ0tfRVJST1InIH0gYXMgYW55KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlSGFzUGVybWlzc2lvbihub2RlOiBOb2RlLCBwZXJtaXNzaW9uOiBBbGxvd2FibGVPcGVyYXRpb25zRW51bSB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKG5vZGUsIHBlcm1pc3Npb24pO1xuICAgIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24tZmlsZS1jb250YWluZXJcIj5cbiAgICA8IS0tRmlsZXMgVXBsb2FkLS0+XG4gICAgPGRpdiAqbmdJZj1cIiF1cGxvYWRGb2xkZXJzXCI+XG5cbiAgICAgICAgPCEtLVNpbmdsZSBGaWxlcyBVcGxvYWQtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZUZpbGVzXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWZpbGUtY29udGFpbmVyLXVwbG9hZC1zaW5nbGUtZmlsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ1cGxvYWQtc2luZ2xlLWZpbGVcIlxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInVwbG9hZC1zaW5nbGUtZmlsZVwiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiZmlsZSA/ICdidXR0b24nIDogJ2ZpbGUnXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwidXBsb2FkRmlsZXNcIlxuICAgICAgICAgICAgICAgIGFjY2VwdD1cInt7YWNjZXB0ZWRGaWxlc1R5cGV9fVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVzQWRkZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tVcGxvYWRCdXR0b24oKVwiLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1cGxvYWQtc2luZ2xlLWZpbGVcIiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24taWNvblwiPmZpbGVfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInVwbG9hZC1zaW5nbGUtZmlsZS1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdGSUxFX1VQTE9BRC5CVVRUT04uVVBMT0FEX0ZJTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkLXNpbmdsZS1maWxlLWxhYmVsLXN0YXRpY1wiICpuZ0lmPVwic3RhdGljVGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgc3RhdGljVGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tTXVsdGlwbGUgRmlsZXMgVXBsb2FkLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZUZpbGVzXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cInVwbG9hZC1tdWx0aXBsZS1maWxlc1wiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwidXBsb2FkLW11bHRpcGxlLWZpbGVzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInVwbG9hZEZpbGVzXCJcbiAgICAgICAgICAgICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICBhY2NlcHQ9XCJ7e2FjY2VwdGVkRmlsZXNUeXBlfX1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25GaWxlc0FkZGVkKCRldmVudClcIi8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidXBsb2FkLW11bHRpcGxlLWZpbGVzXCIgY2xhc3M9XCJhZGYtdXBsb2FkLWJ1dHRvbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWljb25cIj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ1cGxvYWQtbXVsdGlwbGUtZmlsZS1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdGSUxFX1VQTE9BRC5CVVRUT04uVVBMT0FEX0ZJTEUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkLW11bHRpcGxlLWZpbGUtbGFiZWwtc3RhdGljXCIgKm5nSWY9XCJzdGF0aWNUaXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdGF0aWNUaXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLUZvbGRlcnMgVXBsb2FkLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwbG9hZEZvbGRlcnNcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cInVwbG9hZEZvbGRlclwiXG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1cGxvYWRGb2xkZXJcIlxuICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgbmFtZT1cInVwbG9hZEZpbGVzXCJcbiAgICAgICAgICAgIG11bHRpcGxlPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgYWNjZXB0PVwie3thY2NlcHRlZEZpbGVzVHlwZX19XCJcbiAgICAgICAgICAgIHdlYmtpdGRpcmVjdG9yeSBkaXJlY3RvcnlcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImlzQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uRGlyZWN0b3J5QWRkZWQoJGV2ZW50KVwiLz5cbiAgICAgICAgPGxhYmVsIGZvcj1cInVwbG9hZEZvbGRlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInVwbG9hZEZvbGRlclwiIGNsYXNzPVwiYWRmLXVwbG9hZC1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi11cGxvYWQtYnV0dG9uLWljb25cIj5maWxlX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3BhbiBpZD1cInVwbG9hZEZvbGRlci1sYWJlbFwiICpuZ0lmPVwiIXN0YXRpY1RpdGxlXCI+XG4gICAgICAgICAgICAgICAge3sgJ0ZJTEVfVVBMT0FELkJVVFRPTi5VUExPQURfRk9MREVSJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGlkPVwidXBsb2FkRm9sZGVyLWxhYmVsLXN0YXRpY1wiICpuZ0lmPVwic3RhdGljVGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzdGF0aWNUaXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cbiJdfQ==
|