@alfresco/aca-shared 5.1.1-10738428821 → 5.1.1-10739940557

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/esm2022/lib/components/document-base-page/document-base-page.component.mjs +200 -0
  2. package/esm2022/lib/components/generic-error/generic-error.component.mjs +42 -0
  3. package/esm2022/lib/components/info-drawer/info-drawer.component.mjs +141 -0
  4. package/esm2022/lib/components/locked-by/locked-by.component.mjs +57 -0
  5. package/esm2022/lib/components/open-in-app/open-in-app.component.mjs +73 -0
  6. package/esm2022/lib/components/page-layout/page-layout-content.component.mjs +49 -0
  7. package/esm2022/lib/components/page-layout/page-layout-error.component.mjs +43 -0
  8. package/esm2022/lib/components/page-layout/page-layout-header.component.mjs +43 -0
  9. package/esm2022/lib/components/page-layout/page-layout.component.mjs +64 -0
  10. package/esm2022/lib/components/page-layout/page-layout.module.mjs +43 -0
  11. package/esm2022/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +63 -0
  12. package/esm2022/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +79 -0
  13. package/esm2022/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +92 -0
  14. package/esm2022/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +76 -0
  15. package/esm2022/lib/components/toolbar/toolbar.component.mjs +46 -0
  16. package/esm2022/lib/deprecated/shared-toolbar.module.mjs +44 -0
  17. package/esm2022/lib/deprecated/shared.module.mjs +45 -0
  18. package/esm2022/lib/directives/contextmenu/contextmenu.directive.mjs +106 -0
  19. package/esm2022/lib/directives/pagination.directive.mjs +59 -0
  20. package/esm2022/lib/services/aca-mobile-app-switcher.service.mjs +130 -0
  21. package/esm2022/lib/services/app-hook.service.mjs +78 -0
  22. package/esm2022/lib/services/app-settings.service.mjs +139 -0
  23. package/esm2022/lib/services/app.extension.service.mjs +481 -0
  24. package/esm2022/lib/services/app.service.mjs +239 -0
  25. package/esm2022/lib/services/auto-download.service.mjs +59 -0
  26. package/esm2022/lib/services/content-api.service.mjs +279 -0
  27. package/esm2022/lib/services/node-permission.service.mjs +88 -0
  28. package/esm2022/lib/services/router.extension.service.mjs +108 -0
  29. package/esm2022/lib/services/user-profile.service.mjs +77 -0
  30. package/esm2022/lib/testing/lib-testing-module.mjs +162 -0
  31. package/esm2022/store/actions/app.actions.mjs +116 -0
  32. package/esm2022/store/actions/contextmenu.actions.mjs +32 -0
  33. package/esm2022/store/actions/library.actions.mjs +67 -0
  34. package/esm2022/store/actions/metadata-aspect.actions.mjs +32 -0
  35. package/esm2022/store/actions/node.actions.mjs +217 -0
  36. package/esm2022/store/actions/router.actions.mjs +56 -0
  37. package/esm2022/store/actions/search.actions.mjs +41 -0
  38. package/esm2022/store/actions/snackbar.actions.mjs +68 -0
  39. package/esm2022/store/actions/template.actions.mjs +45 -0
  40. package/esm2022/store/actions/upload.actions.mjs +53 -0
  41. package/esm2022/store/actions/viewer.actions.mjs +93 -0
  42. package/esm2022/store/effects/router.effects.mjs +110 -0
  43. package/esm2022/store/effects/snackbar.effects.mjs +80 -0
  44. package/{fesm2020 → fesm2022}/alfresco-aca-shared-store.mjs +201 -138
  45. package/fesm2022/alfresco-aca-shared-store.mjs.map +1 -0
  46. package/{fesm2020 → fesm2022}/alfresco-aca-shared.mjs +360 -285
  47. package/fesm2022/alfresco-aca-shared.mjs.map +1 -0
  48. package/lib/components/document-base-page/document-base-page.component.d.ts +1 -1
  49. package/lib/components/generic-error/generic-error.component.d.ts +1 -1
  50. package/lib/components/info-drawer/info-drawer.component.d.ts +1 -1
  51. package/lib/components/locked-by/locked-by.component.d.ts +1 -1
  52. package/lib/components/page-layout/page-layout-content.component.d.ts +1 -1
  53. package/lib/components/page-layout/page-layout.component.d.ts +1 -1
  54. package/lib/components/toolbar/toolbar-action/toolbar-action.component.d.ts +1 -1
  55. package/lib/components/toolbar/toolbar-button/toolbar-button.component.d.ts +1 -1
  56. package/lib/components/toolbar/toolbar-menu/toolbar-menu.component.d.ts +1 -1
  57. package/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.d.ts +1 -1
  58. package/lib/components/toolbar/toolbar.component.d.ts +1 -1
  59. package/lib/directives/contextmenu/contextmenu.directive.d.ts +1 -1
  60. package/lib/services/app-hook.service.d.ts +6 -6
  61. package/lib/services/app.service.d.ts +1 -1
  62. package/package.json +11 -21
  63. package/store/effects/router.effects.d.ts +1 -5
  64. package/store/effects/snackbar.effects.d.ts +0 -29
  65. package/esm2020/lib/components/document-base-page/document-base-page.component.mjs +0 -196
  66. package/esm2020/lib/components/generic-error/generic-error.component.mjs +0 -43
  67. package/esm2020/lib/components/info-drawer/info-drawer.component.mjs +0 -132
  68. package/esm2020/lib/components/locked-by/locked-by.component.mjs +0 -54
  69. package/esm2020/lib/components/open-in-app/open-in-app.component.mjs +0 -68
  70. package/esm2020/lib/components/page-layout/page-layout-content.component.mjs +0 -50
  71. package/esm2020/lib/components/page-layout/page-layout-error.component.mjs +0 -42
  72. package/esm2020/lib/components/page-layout/page-layout-header.component.mjs +0 -42
  73. package/esm2020/lib/components/page-layout/page-layout.component.mjs +0 -61
  74. package/esm2020/lib/components/page-layout/page-layout.module.mjs +0 -42
  75. package/esm2020/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +0 -58
  76. package/esm2020/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +0 -74
  77. package/esm2020/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +0 -87
  78. package/esm2020/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +0 -71
  79. package/esm2020/lib/components/toolbar/toolbar.component.mjs +0 -44
  80. package/esm2020/lib/deprecated/shared-toolbar.module.mjs +0 -43
  81. package/esm2020/lib/deprecated/shared.module.mjs +0 -44
  82. package/esm2020/lib/directives/contextmenu/contextmenu.directive.mjs +0 -104
  83. package/esm2020/lib/directives/pagination.directive.mjs +0 -55
  84. package/esm2020/lib/services/aca-mobile-app-switcher.service.mjs +0 -129
  85. package/esm2020/lib/services/app-hook.service.mjs +0 -79
  86. package/esm2020/lib/services/app-settings.service.mjs +0 -140
  87. package/esm2020/lib/services/app.extension.service.mjs +0 -462
  88. package/esm2020/lib/services/app.service.mjs +0 -221
  89. package/esm2020/lib/services/auto-download.service.mjs +0 -60
  90. package/esm2020/lib/services/content-api.service.mjs +0 -266
  91. package/esm2020/lib/services/node-permission.service.mjs +0 -89
  92. package/esm2020/lib/services/router.extension.service.mjs +0 -105
  93. package/esm2020/lib/services/user-profile.service.mjs +0 -78
  94. package/esm2020/lib/testing/lib-testing-module.mjs +0 -160
  95. package/esm2020/store/actions/app.actions.mjs +0 -108
  96. package/esm2020/store/actions/contextmenu.actions.mjs +0 -31
  97. package/esm2020/store/actions/library.actions.mjs +0 -63
  98. package/esm2020/store/actions/metadata-aspect.actions.mjs +0 -31
  99. package/esm2020/store/actions/node.actions.mjs +0 -188
  100. package/esm2020/store/actions/router.actions.mjs +0 -54
  101. package/esm2020/store/actions/search.actions.mjs +0 -41
  102. package/esm2020/store/actions/snackbar.actions.mjs +0 -57
  103. package/esm2020/store/actions/template.actions.mjs +0 -47
  104. package/esm2020/store/actions/upload.actions.mjs +0 -49
  105. package/esm2020/store/actions/viewer.actions.mjs +0 -81
  106. package/esm2020/store/effects/router.effects.mjs +0 -114
  107. package/esm2020/store/effects/snackbar.effects.mjs +0 -85
  108. package/fesm2015/alfresco-aca-shared-rules.mjs +0 -789
  109. package/fesm2015/alfresco-aca-shared-rules.mjs.map +0 -1
  110. package/fesm2015/alfresco-aca-shared-store.mjs +0 -1237
  111. package/fesm2015/alfresco-aca-shared-store.mjs.map +0 -1
  112. package/fesm2015/alfresco-aca-shared.mjs +0 -3268
  113. package/fesm2015/alfresco-aca-shared.mjs.map +0 -1
  114. package/fesm2020/alfresco-aca-shared-store.mjs.map +0 -1
  115. package/fesm2020/alfresco-aca-shared.mjs.map +0 -1
  116. /package/{esm2020 → esm2022}/alfresco-aca-shared.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/adf-extensions/extensions-data-loader.guard.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/components/document-base-page/document-base-page.service.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/constants/mime-types.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/models/types.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/models/viewer.rules.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/routing/plugin-enabled.guard.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/routing/shared.guard.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/utils/node.utils.mjs +0 -0
  126. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  127. /package/{esm2020 → esm2022}/rules/alfresco-aca-shared-rules.mjs +0 -0
  128. /package/{esm2020 → esm2022}/rules/app.rules.mjs +0 -0
  129. /package/{esm2020 → esm2022}/rules/navigation.rules.mjs +0 -0
  130. /package/{esm2020 → esm2022}/rules/public-api.mjs +0 -0
  131. /package/{esm2020 → esm2022}/rules/repository.rules.mjs +0 -0
  132. /package/{esm2020 → esm2022}/rules/user.rules.mjs +0 -0
  133. /package/{esm2020 → esm2022}/store/actions/app-action-types.mjs +0 -0
  134. /package/{esm2020 → esm2022}/store/actions/context-menu-action-types.mjs +0 -0
  135. /package/{esm2020 → esm2022}/store/actions/router-action-types.mjs +0 -0
  136. /package/{esm2020 → esm2022}/store/actions/template-action-types.mjs +0 -0
  137. /package/{esm2020 → esm2022}/store/alfresco-aca-shared-store.mjs +0 -0
  138. /package/{esm2020 → esm2022}/store/models/delete-status.model.mjs +0 -0
  139. /package/{esm2020 → esm2022}/store/models/deleted-node-info.model.mjs +0 -0
  140. /package/{esm2020 → esm2022}/store/models/modal-configuration.mjs +0 -0
  141. /package/{esm2020 → esm2022}/store/models/node-info.model.mjs +0 -0
  142. /package/{esm2020 → esm2022}/store/models/search-option.model.mjs +0 -0
  143. /package/{esm2020 → esm2022}/store/public-api.mjs +0 -0
  144. /package/{esm2020 → esm2022}/store/selectors/app.selectors.mjs +0 -0
  145. /package/{esm2020 → esm2022}/store/states/app.state.mjs +0 -0
  146. /package/{fesm2020 → fesm2022}/alfresco-aca-shared-rules.mjs +0 -0
  147. /package/{fesm2020 → fesm2022}/alfresco-aca-shared-rules.mjs.map +0 -0
@@ -0,0 +1,200 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { DocumentListComponent, DocumentListService, UploadService } from '@alfresco/adf-content-services';
25
+ import { ShowHeaderMode } from '@alfresco/adf-core';
26
+ import { ViewChild, Directive, inject, HostListener } from '@angular/core';
27
+ import { Store } from '@ngrx/store';
28
+ import { Subject } from 'rxjs';
29
+ import { takeUntil } from 'rxjs/operators';
30
+ import { DocumentBasePageService } from './document-base-page.service';
31
+ import { getCurrentFolder, getAppSelection, isInfoDrawerOpened, ViewNodeAction, SetSelectedNodesAction } from '@alfresco/aca-shared/store';
32
+ import { AppExtensionService } from '../../services/app.extension.service';
33
+ import { isLibrary, isLocked } from '../../utils/node.utils';
34
+ import { AutoDownloadService } from '../../services/auto-download.service';
35
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
36
+ import { Router } from '@angular/router';
37
+ import { AppSettingsService } from '../../services/app-settings.service';
38
+ import * as i0 from "@angular/core";
39
+ /* eslint-disable @angular-eslint/directive-class-suffix */
40
+ class PageComponent {
41
+ onDestroy$ = new Subject();
42
+ documentList;
43
+ title = 'Page';
44
+ infoDrawerOpened$;
45
+ node;
46
+ selection;
47
+ actions = [];
48
+ viewerToolbarActions = [];
49
+ bulkActions = [];
50
+ canUpdateNode = false;
51
+ canUpload = false;
52
+ nodeResult;
53
+ showHeader = ShowHeaderMode.Data;
54
+ filterSorting = 'name-asc';
55
+ createActions = [];
56
+ isSmallScreen = false;
57
+ selectedRowItemsCount = 0;
58
+ documentListService = inject(DocumentListService);
59
+ settings = inject(AppSettingsService);
60
+ extensions = inject(AppExtensionService);
61
+ content = inject(DocumentBasePageService);
62
+ store = inject((Store));
63
+ breakpointObserver = inject(BreakpointObserver);
64
+ uploadService = inject(UploadService);
65
+ router = inject(Router);
66
+ autoDownloadService = inject(AutoDownloadService, { optional: true });
67
+ subscriptions = [];
68
+ ngOnInit() {
69
+ this.extensions
70
+ .getCreateActions()
71
+ .pipe(takeUntil(this.onDestroy$))
72
+ .subscribe((actions) => {
73
+ this.createActions = actions;
74
+ });
75
+ this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
76
+ this.store
77
+ .select(getAppSelection)
78
+ .pipe(takeUntil(this.onDestroy$))
79
+ .subscribe((selection) => {
80
+ this.selection = selection;
81
+ this.canUpdateNode = this.selection.count === 1 && this.content.canUpdateNode(selection.first);
82
+ });
83
+ this.extensions
84
+ .getAllowedToolbarActions()
85
+ .pipe(takeUntil(this.onDestroy$))
86
+ .subscribe((actions) => {
87
+ this.actions = actions;
88
+ });
89
+ this.extensions
90
+ .getBulkActions()
91
+ .pipe(takeUntil(this.onDestroy$))
92
+ .subscribe((actions) => {
93
+ this.bulkActions = actions;
94
+ });
95
+ this.extensions
96
+ .getViewerToolbarActions()
97
+ .pipe(takeUntil(this.onDestroy$))
98
+ .subscribe((actions) => {
99
+ this.viewerToolbarActions = actions;
100
+ });
101
+ this.store
102
+ .select(getCurrentFolder)
103
+ .pipe(takeUntil(this.onDestroy$))
104
+ .subscribe((node) => {
105
+ this.canUpload = node && this.content.canUploadContent(node);
106
+ });
107
+ this.breakpointObserver
108
+ .observe([Breakpoints.HandsetPortrait, Breakpoints.HandsetLandscape])
109
+ .pipe(takeUntil(this.onDestroy$))
110
+ .subscribe((result) => {
111
+ this.isSmallScreen = result.matches;
112
+ });
113
+ }
114
+ ngOnChanges(changes) {
115
+ if (changes.nodeResult?.currentValue) {
116
+ this.nodeResult = changes.nodeResult.currentValue;
117
+ }
118
+ }
119
+ ngOnDestroy() {
120
+ this.subscriptions.forEach((subscription) => subscription.unsubscribe());
121
+ this.subscriptions = [];
122
+ this.onDestroy$.next();
123
+ this.onDestroy$.complete();
124
+ this.store.dispatch(new SetSelectedNodesAction([]));
125
+ }
126
+ showPreview(node, extras) {
127
+ if (node?.entry) {
128
+ if (!this.settings.autoDownloadEnabled || !this.autoDownloadService.tryDownload(node, this.settings.authDownloadThreshold)) {
129
+ let id;
130
+ if (node.entry.nodeType === 'app:filelink') {
131
+ id = node.entry.properties['cm:destination'];
132
+ }
133
+ else {
134
+ id = node.entry.nodeId || node.entry.guid || node.entry.id;
135
+ }
136
+ this.store.dispatch(new ViewNodeAction(id, extras));
137
+ }
138
+ }
139
+ }
140
+ onSelectedItemsCountChanged(count) {
141
+ this.selectedRowItemsCount = count;
142
+ }
143
+ getParentNodeId() {
144
+ return this.node ? this.node.id : null;
145
+ }
146
+ imageResolver(row) {
147
+ if (row) {
148
+ if (isLocked(row.node)) {
149
+ return 'material-icons://lock';
150
+ }
151
+ if (isLibrary(row.node)) {
152
+ return 'material-icons://library_books';
153
+ }
154
+ }
155
+ return null;
156
+ }
157
+ reload(selectedNode) {
158
+ if (this.isOutletPreviewUrl()) {
159
+ return;
160
+ }
161
+ this.documentListService.reload();
162
+ if (selectedNode) {
163
+ this.store.dispatch(new SetSelectedNodesAction([selectedNode]));
164
+ }
165
+ }
166
+ trackByActionId(_, action) {
167
+ return action.id;
168
+ }
169
+ trackById(_, obj) {
170
+ return obj.id;
171
+ }
172
+ trackByColumnId(_, obj) {
173
+ return obj.id;
174
+ }
175
+ isOutletPreviewUrl() {
176
+ return location.href.includes('viewer:view');
177
+ }
178
+ onSortingChanged(event) {
179
+ this.filterSorting = event.detail.key + '-' + event.detail.direction;
180
+ }
181
+ onAllFilterCleared() {
182
+ if (!this.isOutletPreviewUrl()) {
183
+ this.documentList.node = null;
184
+ this.documentListService.reload();
185
+ }
186
+ }
187
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
188
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PageComponent, host: { listeners: { "sorting-changed": "onSortingChanged($event)" } }, viewQueries: [{ propertyName: "documentList", first: true, predicate: DocumentListComponent, descendants: true }], usesOnChanges: true, ngImport: i0 });
189
+ }
190
+ export { PageComponent };
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PageComponent, decorators: [{
192
+ type: Directive
193
+ }], propDecorators: { documentList: [{
194
+ type: ViewChild,
195
+ args: [DocumentListComponent]
196
+ }], onSortingChanged: [{
197
+ type: HostListener,
198
+ args: ['sorting-changed', ['$event']]
199
+ }] } });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtYmFzZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50LWJhc2UtcGFnZS9kb2N1bWVudC1iYXNlLXBhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFnQixhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFnQyxTQUFTLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixjQUFjLEVBRWQsc0JBQXNCLEVBQ3ZCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUs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LENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO3VHQWxMbUIsYUFBYTsyRkFBYixhQUFhLGdKQUd0QixxQkFBcUI7O1NBSFosYUFBYTsyRkFBYixhQUFhO2tCQURsQyxTQUFTOzhCQUtSLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBc0toQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBEb2N1bWVudExpc3RDb21wb25lbnQsIERvY3VtZW50TGlzdFNlcnZpY2UsIFNoYXJlRGF0YVJvdywgVXBsb2FkU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTaG93SGVhZGVyTW9kZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uUmVmLCBEb2N1bWVudExpc3RQcmVzZXRSZWYsIFNlbGVjdGlvblN0YXRlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMsIFZpZXdDaGlsZCwgU2ltcGxlQ2hhbmdlcywgRGlyZWN0aXZlLCBpbmplY3QsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnksIE5vZGUsIE5vZGVQYWdpbmcgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRG9jdW1lbnRCYXNlUGFnZVNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50LWJhc2UtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFwcFN0b3JlLFxuICBnZXRDdXJyZW50Rm9sZGVyLFxuICBnZXRBcHBTZWxlY3Rpb24sXG4gIGlzSW5mb0RyYXdlck9wZW5lZCxcbiAgVmlld05vZGVBY3Rpb24sXG4gIFZpZXdOb2RlRXh0cmFzLFxuICBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAuZXh0ZW5zaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNMaWJyYXJ5LCBpc0xvY2tlZCB9IGZyb20gJy4uLy4uL3V0aWxzL25vZGUudXRpbHMnO1xuaW1wb3J0IHsgQXV0b0Rvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dG8tZG93bmxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXBwU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwLXNldHRpbmdzLnNlcnZpY2UnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBvbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKERvY3VtZW50TGlzdENvbXBvbmVudClcbiAgZG9jdW1lbnRMaXN0OiBEb2N1bWVudExpc3RDb21wb25lbnQ7XG5cbiAgdGl0bGUgPSAnUGFnZSc7XG4gIGluZm9EcmF3ZXJPcGVuZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBub2RlOiBOb2RlO1xuICBzZWxlY3Rpb246IFNlbGVjdGlvblN0YXRlO1xuICBhY3Rpb25zOiBBcnJheTxDb250ZW50QWN0aW9uUmVmPiA9IFtdO1xuICB2aWV3ZXJUb29sYmFyQWN0aW9uczogQXJyYXk8Q29udGVudEFjdGlvblJlZj4gPSBbXTtcbiAgYnVsa0FjdGlvbnM6IENvbnRlbnRBY3Rpb25SZWZbXSA9IFtdO1xuICBjYW5VcGRhdGVOb2RlID0gZmFsc2U7XG4gIGNhblVwbG9hZCA9IGZhbHNlO1xuICBub2RlUmVzdWx0OiBOb2RlUGFnaW5nO1xuICBzaG93SGVhZGVyID0gU2hvd0hlYWRlck1vZGUuRGF0YTtcbiAgZmlsdGVyU29ydGluZyA9ICduYW1lLWFzYyc7XG4gIGNyZWF0ZUFjdGlvbnM6IENvbnRlbnRBY3Rpb25SZWZbXSA9IFtdO1xuICBpc1NtYWxsU2NyZWVuID0gZmFsc2U7XG4gIHNlbGVjdGVkUm93SXRlbXNDb3VudCA9IDA7XG5cbiAgcHJvdGVjdGVkIGRvY3VtZW50TGlzdFNlcnZpY2UgPSBpbmplY3QoRG9jdW1lbnRMaXN0U2VydmljZSk7XG4gIHByb3RlY3RlZCBzZXR0aW5ncyA9IGluamVjdChBcHBTZXR0aW5nc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgZXh0ZW5zaW9ucyA9IGluamVjdChBcHBFeHRlbnNpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGNvbnRlbnQgPSBpbmplY3QoRG9jdW1lbnRCYXNlUGFnZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3Q8U3RvcmU8QXBwU3RvcmU+PihTdG9yZTxBcHBTdG9yZT4pO1xuICBwcm90ZWN0ZWQgYnJlYWtwb2ludE9ic2VydmVyID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG4gIHByb3RlY3RlZCB1cGxvYWRTZXJ2aWNlID0gaW5qZWN0KFVwbG9hZFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgYXV0b0Rvd25sb2FkU2VydmljZSA9IGluamVjdChBdXRvRG93bmxvYWRTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLmdldENyZWF0ZUFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaW5mb0RyYXdlck9wZW5lZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChpc0luZm9EcmF3ZXJPcGVuZWQpO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRBcHBTZWxlY3Rpb24pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcbiAgICAgICAgdGhpcy5jYW5VcGRhdGVOb2RlID0gdGhpcy5zZWxlY3Rpb24uY291bnQgPT09IDEgJiYgdGhpcy5jb250ZW50LmNhblVwZGF0ZU5vZGUoc2VsZWN0aW9uLmZpcnN0KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5leHRlbnNpb25zXG4gICAgICAuZ2V0QWxsb3dlZFRvb2xiYXJBY3Rpb25zKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmV4dGVuc2lvbnNcbiAgICAgIC5nZXRCdWxrQWN0aW9ucygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5idWxrQWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLmdldFZpZXdlclRvb2xiYXJBY3Rpb25zKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLnZpZXdlclRvb2xiYXJBY3Rpb25zID0gYWN0aW9ucztcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRDdXJyZW50Rm9sZGVyKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChub2RlKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuVXBsb2FkID0gbm9kZSAmJiB0aGlzLmNvbnRlbnQuY2FuVXBsb2FkQ29udGVudChub2RlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0UG9ydHJhaXQsIEJyZWFrcG9pbnRzLkhhbmRzZXRMYW5kc2NhcGVdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5pc1NtYWxsU2NyZWVuID0gcmVzdWx0Lm1hdGNoZXM7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5ub2RlUmVzdWx0Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMubm9kZVJlc3VsdCA9IGNoYW5nZXMubm9kZVJlc3VsdC5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuXG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uKFtdKSk7XG4gIH1cblxuICBzaG93UHJldmlldyhub2RlOiBOb2RlRW50cnksIGV4dHJhcz86IFZpZXdOb2RlRXh0cmFzKSB7XG4gICAgaWYgKG5vZGU/LmVudHJ5KSB7XG4gICAgICBpZiAoIXRoaXMuc2V0dGluZ3MuYXV0b0Rvd25sb2FkRW5hYmxlZCB8fCAhdGhpcy5hdXRvRG93bmxvYWRTZXJ2aWNlLnRyeURvd25sb2FkKG5vZGUsIHRoaXMuc2V0dGluZ3MuYXV0aERvd25sb2FkVGhyZXNob2xkKSkge1xuICAgICAgICBsZXQgaWQ6IHN0cmluZztcblxuICAgICAgICBpZiAobm9kZS5lbnRyeS5ub2RlVHlwZSA9PT0gJ2FwcDpmaWxlbGluaycpIHtcbiAgICAgICAgICBpZCA9IG5vZGUuZW50cnkucHJvcGVydGllc1snY206ZGVzdGluYXRpb24nXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZCA9IChub2RlIGFzIGFueSkuZW50cnkubm9kZUlkIHx8IChub2RlIGFzIGFueSkuZW50cnkuZ3VpZCB8fCBub2RlLmVudHJ5LmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVmlld05vZGVBY3Rpb24oaWQsIGV4dHJhcykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0ZWRJdGVtc0NvdW50Q2hhbmdlZChjb3VudDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJvd0l0ZW1zQ291bnQgPSBjb3VudDtcbiAgfVxuXG4gIGdldFBhcmVudE5vZGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5vZGUgPyB0aGlzLm5vZGUuaWQgOiBudWxsO1xuICB9XG5cbiAgaW1hZ2VSZXNvbHZlcihyb3c6IFNoYXJlRGF0YVJvdyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmIChyb3cpIHtcbiAgICAgIGlmIChpc0xvY2tlZChyb3cubm9kZSkpIHtcbiAgICAgICAgcmV0dXJuICdtYXRlcmlhbC1pY29uczovL2xvY2snO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNMaWJyYXJ5KHJvdy5ub2RlKSkge1xuICAgICAgICByZXR1cm4gJ21hdGVyaWFsLWljb25zOi8vbGlicmFyeV9ib29rcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZWxvYWQoc2VsZWN0ZWROb2RlPzogTm9kZUVudHJ5KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPdXRsZXRQcmV2aWV3VXJsKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50TGlzdFNlcnZpY2UucmVsb2FkKCk7XG4gICAgaWYgKHNlbGVjdGVkTm9kZSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U2VsZWN0ZWROb2Rlc0FjdGlvbihbc2VsZWN0ZWROb2RlXSkpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25JZChfOiBudW1iZXIsIGFjdGlvbjogQ29udGVudEFjdGlvblJlZikge1xuICAgIHJldHVybiBhY3Rpb24uaWQ7XG4gIH1cblxuICB0cmFja0J5SWQoXzogbnVtYmVyLCBvYmo6IHsgaWQ6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIG9iai5pZDtcbiAgfVxuXG4gIHRyYWNrQnlDb2x1bW5JZChfOiBudW1iZXIsIG9iajogRG9jdW1lbnRMaXN0UHJlc2V0UmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2JqLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc091dGxldFByZXZpZXdVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJ3ZpZXdlcjp2aWV3Jyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdzb3J0aW5nLWNoYW5nZWQnLCBbJyRldmVudCddKVxuICBvblNvcnRpbmdDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbHRlclNvcnRpbmcgPSBldmVudC5kZXRhaWwua2V5ICsgJy0nICsgZXZlbnQuZGV0YWlsLmRpcmVjdGlvbjtcbiAgfVxuXG4gIG9uQWxsRmlsdGVyQ2xlYXJlZCgpIHtcbiAgICBpZiAoIXRoaXMuaXNPdXRsZXRQcmV2aWV3VXJsKCkpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRMaXN0Lm5vZGUgPSBudWxsO1xuICAgICAgdGhpcy5kb2N1bWVudExpc3RTZXJ2aWNlLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';
25
+ import { MatIconModule } from '@angular/material/icon';
26
+ import { TranslateModule } from '@ngx-translate/core';
27
+ import * as i0 from "@angular/core";
28
+ import * as i1 from "@angular/material/icon";
29
+ import * as i2 from "@ngx-translate/core";
30
+ class GenericErrorComponent {
31
+ text = 'APP.MESSAGES.ERRORS.MISSING_CONTENT';
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: GenericErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: GenericErrorComponent, isStandalone: true, selector: "aca-generic-error", inputs: { text: "text" }, host: { classAttribute: "aca-generic-error" }, ngImport: i0, template: "<mat-icon class=\"generic-error__icon\">error</mat-icon>\n<p class=\"generic-error__title\">\n {{ text | translate }}\n</p>\n", styles: [".aca-generic-error{color:var(--theme-text-color, rgba(0, 0, 0, .54));display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%}.aca-generic-error__title{font-size:16px}.aca-generic-error__icon{color:var(--theme-warn-color, #f44336);font-size:52px;height:52px;width:52px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
+ }
35
+ export { GenericErrorComponent };
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: GenericErrorComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ standalone: true, imports: [MatIconModule, TranslateModule], selector: 'aca-generic-error', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'aca-generic-error' }, template: "<mat-icon class=\"generic-error__icon\">error</mat-icon>\n<p class=\"generic-error__title\">\n {{ text | translate }}\n</p>\n", styles: [".aca-generic-error{color:var(--theme-text-color, rgba(0, 0, 0, .54));display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%}.aca-generic-error__title{font-size:16px}.aca-generic-error__icon{color:var(--theme-warn-color, #f44336);font-size:52px;height:52px;width:52px}\n"] }]
39
+ }], propDecorators: { text: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9nZW5lcmljLWVycm9yL2dlbmVyaWMtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvZ2VuZXJpYy1lcnJvci9nZW5lcmljLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUV0RCxNQVVhLHFCQUFxQjtJQUVoQyxJQUFJLEdBQUcscUNBQXFDLENBQUM7dUdBRmxDLHFCQUFxQjsyRkFBckIscUJBQXFCLHNKQ3RDbEMsZ0lBSUEsbVhEMEJZLGFBQWEsbUxBQUUsZUFBZTs7U0FRN0IscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBVmpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxZQUMvQixtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTs4QkFJcEMsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtZ2VuZXJpYy1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmljLWVycm9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJpYy1lcnJvci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1nZW5lcmljLWVycm9yJyB9XG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNFcnJvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHRleHQgPSAnQVBQLk1FU1NBR0VTLkVSUk9SUy5NSVNTSU5HX0NPTlRFTlQnO1xufVxuIiwiPG1hdC1pY29uIGNsYXNzPVwiZ2VuZXJpYy1lcnJvcl9faWNvblwiPmVycm9yPC9tYXQtaWNvbj5cbjxwIGNsYXNzPVwiZ2VuZXJpYy1lcnJvcl9fdGl0bGVcIj5cbiAge3sgdGV4dCB8IHRyYW5zbGF0ZSB9fVxuPC9wPlxuIl19
@@ -0,0 +1,141 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';
25
+ import { NodeEntry } from '@alfresco/js-api';
26
+ import { DynamicTabComponent } from '@alfresco/adf-extensions';
27
+ import { Store } from '@ngrx/store';
28
+ import { SetInfoDrawerStateAction, ToggleInfoDrawerAction, infoDrawerPreview } from '@alfresco/aca-shared/store';
29
+ import { AppExtensionService } from '../../services/app.extension.service';
30
+ import { ContentApiService } from '../../services/content-api.service';
31
+ import { takeUntil } from 'rxjs/operators';
32
+ import { Subject } from 'rxjs';
33
+ import { CommonModule } from '@angular/common';
34
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
35
+ import { InfoDrawerModule } from '@alfresco/adf-core';
36
+ import { TranslateModule } from '@ngx-translate/core';
37
+ import { A11yModule } from '@angular/cdk/a11y';
38
+ import { ToolbarComponent } from '../toolbar/toolbar.component';
39
+ import { ContentService, NodesApiService } from '@alfresco/adf-content-services';
40
+ import * as i0 from "@angular/core";
41
+ import * as i1 from "@ngrx/store";
42
+ import * as i2 from "../../services/content-api.service";
43
+ import * as i3 from "../../services/app.extension.service";
44
+ import * as i4 from "@alfresco/adf-content-services";
45
+ import * as i5 from "@angular/common";
46
+ import * as i6 from "@ngx-translate/core";
47
+ import * as i7 from "@angular/material/progress-bar";
48
+ import * as i8 from "@alfresco/adf-core";
49
+ class InfoDrawerComponent {
50
+ store;
51
+ contentApi;
52
+ extensions;
53
+ nodesService;
54
+ contentService;
55
+ nodeId;
56
+ node;
57
+ isLoading = false;
58
+ displayNode;
59
+ tabs = [];
60
+ actions = [];
61
+ onDestroy$ = new Subject();
62
+ preventFromClosing = false;
63
+ icon = null;
64
+ onEscapeKeyboardEvent() {
65
+ this.close();
66
+ }
67
+ constructor(store, contentApi, extensions, nodesService, contentService) {
68
+ this.store = store;
69
+ this.contentApi = contentApi;
70
+ this.extensions = extensions;
71
+ this.nodesService = nodesService;
72
+ this.contentService = contentService;
73
+ }
74
+ ngOnInit() {
75
+ this.tabs = this.extensions.getSidebarTabs();
76
+ this.extensions
77
+ .getAllowedSidebarActions()
78
+ .pipe(takeUntil(this.onDestroy$))
79
+ .subscribe((actions) => {
80
+ this.actions = actions;
81
+ });
82
+ this.store
83
+ .select(infoDrawerPreview)
84
+ .pipe(takeUntil(this.onDestroy$))
85
+ .subscribe((isInfoDrawerPreviewOpened) => {
86
+ this.preventFromClosing = isInfoDrawerPreviewOpened;
87
+ });
88
+ this.nodesService.nodeUpdated.pipe(takeUntil(this.onDestroy$)).subscribe((node) => {
89
+ this.node.entry = node;
90
+ });
91
+ }
92
+ ngOnDestroy() {
93
+ this.onDestroy$.next(true);
94
+ this.onDestroy$.complete();
95
+ if (!this.preventFromClosing) {
96
+ this.store.dispatch(new SetInfoDrawerStateAction(false));
97
+ }
98
+ }
99
+ ngOnChanges() {
100
+ if (this.node) {
101
+ if (this.node['isLibrary']) {
102
+ return this.setDisplayNode(this.node);
103
+ }
104
+ const entry = this.node.entry;
105
+ const id = entry.nodeId || entry.id;
106
+ return this.loadNodeInfo(id);
107
+ }
108
+ }
109
+ close() {
110
+ this.store.dispatch(new ToggleInfoDrawerAction());
111
+ }
112
+ loadNodeInfo(nodeId) {
113
+ if (nodeId) {
114
+ this.isLoading = true;
115
+ this.contentApi.getNodeInfo(nodeId).subscribe((entity) => {
116
+ this.setDisplayNode(entity);
117
+ this.node.entry = entity;
118
+ this.isLoading = false;
119
+ }, () => (this.isLoading = false));
120
+ }
121
+ }
122
+ setDisplayNode(node) {
123
+ this.displayNode = node;
124
+ this.icon = this.contentService.getNodeIcon(node);
125
+ }
126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InfoDrawerComponent, deps: [{ token: i1.Store }, { token: i2.ContentApiService }, { token: i3.AppExtensionService }, { token: i4.NodesApiService }, { token: i4.ContentService }], target: i0.ɵɵFactoryTarget.Component });
127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: InfoDrawerComponent, isStandalone: true, selector: "aca-info-drawer", inputs: { nodeId: "nodeId", node: "node" }, host: { listeners: { "keydown.escape": "onEscapeKeyboardEvent()" } }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isLoading\">\n <mat-progress-bar mode=\"indeterminate\" [attr.aria-label]=\"'APP.INFO_DRAWER.DATA_LOADING' | translate\"></mat-progress-bar>\n</div>\n<ng-container *ngIf=\"!isLoading && !!displayNode\">\n <adf-info-drawer [icon]=\"icon\" [title]=\"node?.entry?.name || 'APP.INFO_DRAWER.TITLE'\" cdkTrapFocusAutoCapture>\n <aca-toolbar [items]=\"actions\" info-drawer-buttons></aca-toolbar>\n\n <adf-info-drawer-tab *ngFor=\"let tab of tabs\" [icon]=\"tab.icon\" [label]=\"tab.title\">\n <adf-dynamic-tab [node]=\"$any(displayNode)\" [id]=\"tab.component\" [attr.data-automation-id]=\"tab.component\"> </adf-dynamic-tab>\n </adf-info-drawer-tab>\n </adf-info-drawer>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: InfoDrawerModule }, { kind: "component", type: i8.InfoDrawerTabComponent, selector: "adf-info-drawer-tab", inputs: ["label", "icon"] }, { kind: "component", type: i8.InfoDrawerComponent, selector: "adf-info-drawer", inputs: ["title", "icon", "selectedIndex", "showHeader"], outputs: ["currentTab"] }, { kind: "directive", type: i8.InfoDrawerButtonsDirective, selector: "[adf-info-drawer-buttons], [info-drawer-buttons]" }, { kind: "ngmodule", type: A11yModule }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: DynamicTabComponent, selector: "adf-dynamic-tab", inputs: ["id", "node"] }], encapsulation: i0.ViewEncapsulation.None });
128
+ }
129
+ export { InfoDrawerComponent };
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: InfoDrawerComponent, decorators: [{
131
+ type: Component,
132
+ args: [{ standalone: true, imports: [CommonModule, TranslateModule, MatProgressBarModule, InfoDrawerModule, A11yModule, ToolbarComponent, DynamicTabComponent], selector: 'aca-info-drawer', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"isLoading\">\n <mat-progress-bar mode=\"indeterminate\" [attr.aria-label]=\"'APP.INFO_DRAWER.DATA_LOADING' | translate\"></mat-progress-bar>\n</div>\n<ng-container *ngIf=\"!isLoading && !!displayNode\">\n <adf-info-drawer [icon]=\"icon\" [title]=\"node?.entry?.name || 'APP.INFO_DRAWER.TITLE'\" cdkTrapFocusAutoCapture>\n <aca-toolbar [items]=\"actions\" info-drawer-buttons></aca-toolbar>\n\n <adf-info-drawer-tab *ngFor=\"let tab of tabs\" [icon]=\"tab.icon\" [label]=\"tab.title\">\n <adf-dynamic-tab [node]=\"$any(displayNode)\" [id]=\"tab.component\" [attr.data-automation-id]=\"tab.component\"> </adf-dynamic-tab>\n </adf-info-drawer-tab>\n </adf-info-drawer>\n</ng-container>\n" }]
133
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ContentApiService }, { type: i3.AppExtensionService }, { type: i4.NodesApiService }, { type: i4.ContentService }]; }, propDecorators: { nodeId: [{
134
+ type: Input
135
+ }], node: [{
136
+ type: Input
137
+ }], onEscapeKeyboardEvent: [{
138
+ type: HostListener,
139
+ args: ['keydown.escape']
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvaW5mby1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvaW5mby1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFvQixtQkFBbUIsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxv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Q1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUN6SCxpQkFBaUIsaUJBRVosaUJBQWlCLENBQUMsSUFBSTt5TkFJckMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFZTixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVFbnRyeSwgTm9kZSwgU2l0ZUVudHJ5IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uUmVmLCBEeW5hbWljVGFiQ29tcG9uZW50LCBTaWRlYmFyVGFiUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uLCBUb2dnbGVJbmZvRHJhd2VyQWN0aW9uLCBpbmZvRHJhd2VyUHJldmlldyB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEFwcEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAuZXh0ZW5zaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZW50LWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBJbmZvRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlLCBOb2Rlc0FwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSwgSW5mb0RyYXdlck1vZHVsZSwgQTExeU1vZHVsZSwgVG9vbGJhckNvbXBvbmVudCwgRHluYW1pY1RhYkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnYWNhLWluZm8tZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZm8tZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbmZvRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG5vZGVJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG5vZGU6IE5vZGVFbnRyeTtcblxuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgZGlzcGxheU5vZGU6IE5vZGUgfCBTaXRlRW50cnk7XG4gIHRhYnM6IEFycmF5PFNpZGViYXJUYWJSZWY+ID0gW107XG4gIGFjdGlvbnM6IEFycmF5PENvbnRlbnRBY3Rpb25SZWY+ID0gW107XG4gIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcmV2ZW50RnJvbUNsb3NpbmcgPSBmYWxzZTtcbiAgaWNvbjogc3RyaW5nID0gbnVsbDtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScpXG4gIG9uRXNjYXBlS2V5Ym9hcmRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgY29udGVudEFwaTogQ29udGVudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZXNTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFicyA9IHRoaXMuZXh0ZW5zaW9ucy5nZXRTaWRlYmFyVGFicygpO1xuICAgIHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLmdldEFsbG93ZWRTaWRlYmFyQWN0aW9ucygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gYWN0aW9ucztcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChpbmZvRHJhd2VyUHJldmlldylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoaXNJbmZvRHJhd2VyUHJldmlld09wZW5lZCkgPT4ge1xuICAgICAgICB0aGlzLnByZXZlbnRGcm9tQ2xvc2luZyA9IGlzSW5mb0RyYXdlclByZXZpZXdPcGVuZWQ7XG4gICAgICB9KTtcblxuICAgIHRoaXMubm9kZXNTZXJ2aWNlLm5vZGVVcGRhdGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgobm9kZTogYW55KSA9PiB7XG4gICAgICB0aGlzLm5vZGUuZW50cnkgPSBub2RlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgaWYgKCF0aGlzLnByZXZlbnRGcm9tQ2xvc2luZykge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0SW5mb0RyYXdlclN0YXRlQWN0aW9uKGZhbHNlKSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgaWYgKHRoaXMubm9kZVsnaXNMaWJyYXJ5J10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0RGlzcGxheU5vZGUodGhpcy5ub2RlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZW50cnk6IGFueSA9IHRoaXMubm9kZS5lbnRyeTtcblxuICAgICAgY29uc3QgaWQgPSBlbnRyeS5ub2RlSWQgfHwgZW50cnkuaWQ7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkTm9kZUluZm8oaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2UoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVG9nZ2xlSW5mb0RyYXdlckFjdGlvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE5vZGVJbmZvKG5vZGVJZDogc3RyaW5nKSB7XG4gICAgaWYgKG5vZGVJZCkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICB0aGlzLmNvbnRlbnRBcGkuZ2V0Tm9kZUluZm8obm9kZUlkKS5zdWJzY3JpYmUoXG4gICAgICAgIChlbnRpdHkpID0+IHtcbiAgICAgICAgICB0aGlzLnNldERpc3BsYXlOb2RlKGVudGl0eSk7XG4gICAgICAgICAgdGhpcy5ub2RlLmVudHJ5ID0gZW50aXR5O1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldERpc3BsYXlOb2RlKG5vZGU6IGFueSkge1xuICAgIHRoaXMuZGlzcGxheU5vZGUgPSBub2RlO1xuICAgIHRoaXMuaWNvbiA9IHRoaXMuY29udGVudFNlcnZpY2UuZ2V0Tm9kZUljb24obm9kZSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuSU5GT19EUkFXRVIuREFUQV9MT0FESU5HJyB8IHRyYW5zbGF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgISFkaXNwbGF5Tm9kZVwiPlxuICA8YWRmLWluZm8tZHJhd2VyIFtpY29uXT1cImljb25cIiBbdGl0bGVdPVwibm9kZT8uZW50cnk/Lm5hbWUgfHwgJ0FQUC5JTkZPX0RSQVdFUi5USVRMRSdcIiBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgICA8YWNhLXRvb2xiYXIgW2l0ZW1zXT1cImFjdGlvbnNcIiBpbmZvLWRyYXdlci1idXR0b25zPjwvYWNhLXRvb2xiYXI+XG5cbiAgICA8YWRmLWluZm8tZHJhd2VyLXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBbaWNvbl09XCJ0YWIuaWNvblwiIFtsYWJlbF09XCJ0YWIudGl0bGVcIj5cbiAgICAgIDxhZGYtZHluYW1pYy10YWIgW25vZGVdPVwiJGFueShkaXNwbGF5Tm9kZSlcIiBbaWRdPVwidGFiLmNvbXBvbmVudFwiIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCJ0YWIuY29tcG9uZW50XCI+IDwvYWRmLWR5bmFtaWMtdGFiPlxuICAgIDwvYWRmLWluZm8tZHJhd2VyLXRhYj5cbiAgPC9hZGYtaW5mby1kcmF3ZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
25
+ import { NodeEntry } from '@alfresco/js-api';
26
+ import { TranslateModule } from '@ngx-translate/core';
27
+ import { MatIconModule } from '@angular/material/icon';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "@ngx-translate/core";
30
+ import * as i2 from "@angular/material/icon";
31
+ class LockedByComponent {
32
+ node;
33
+ text;
34
+ ngOnInit() {
35
+ this.text = this.node?.entry?.properties?.['cm:lockOwner']?.displayName;
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LockedByComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: LockedByComponent, isStandalone: true, selector: "aca-locked-by", inputs: { node: "node" }, host: { classAttribute: "aca-locked-by" }, ngImport: i0, template: `
39
+ <mat-icon class="aca-locked-by--icon">lock</mat-icon>
40
+ <span class="aca-locked-by--label">{{ 'APP.LOCKED_BY' | translate }}</span>
41
+ <span class="aca-locked-by--name">{{ text }}</span>
42
+ `, isInline: true, styles: [".aca-locked-by{display:flex;align-items:center;color:var(--theme-text-color, rgba(0, 0, 0, .54))}.aca-locked-by--icon{font-size:14px;width:14px;height:14px;min-width:14px}.aca-locked-by--label,.aca-locked-by--name{font-size:12px;padding:0 2px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
+ }
44
+ export { LockedByComponent };
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: LockedByComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ standalone: true, imports: [TranslateModule, MatIconModule], selector: 'aca-locked-by', template: `
48
+ <mat-icon class="aca-locked-by--icon">lock</mat-icon>
49
+ <span class="aca-locked-by--label">{{ 'APP.LOCKED_BY' | translate }}</span>
50
+ <span class="aca-locked-by--name">{{ text }}</span>
51
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
52
+ class: 'aca-locked-by'
53
+ }, styles: [".aca-locked-by{display:flex;align-items:center;color:var(--theme-text-color, rgba(0, 0, 0, .54))}.aca-locked-by--icon{font-size:14px;width:14px;height:14px;min-width:14px}.aca-locked-by--label,.aca-locked-by--name{font-size:12px;padding:0 2px}\n"] }]
54
+ }], propDecorators: { node: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ja2VkLWJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2xvY2tlZC1ieS9sb2NrZWQtYnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFdkQsTUFnQmEsaUJBQWlCO0lBRTVCLElBQUksQ0FBWTtJQUVULElBQUksQ0FBUztJQUVwQixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDMUUsQ0FBQzt1R0FSVSxpQkFBaUI7MkZBQWpCLGlCQUFpQiw4SUFabEI7Ozs7R0FJVCw4VEFOUyxlQUFlLDJGQUFFLGFBQWE7O1NBYzdCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQWhCN0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQy9CLGVBQWUsWUFDZjs7OztHQUlULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxlQUFlO3FCQUN2Qjs4QkFJRCxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtbG9ja2VkLWJ5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWljb24gY2xhc3M9XCJhY2EtbG9ja2VkLWJ5LS1pY29uXCI+bG9jazwvbWF0LWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJhY2EtbG9ja2VkLWJ5LS1sYWJlbFwiPnt7ICdBUFAuTE9DS0VEX0JZJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFjYS1sb2NrZWQtYnktLW5hbWVcIj57eyB0ZXh0IH19PC9zcGFuPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sb2NrZWQtYnkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2FjYS1sb2NrZWQtYnknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTG9ja2VkQnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBub2RlOiBOb2RlRW50cnk7XG5cbiAgcHVibGljIHRleHQ6IHN0cmluZztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRleHQgPSB0aGlzLm5vZGU/LmVudHJ5Py5wcm9wZXJ0aWVzPy5bJ2NtOmxvY2tPd25lciddPy5kaXNwbGF5TmFtZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,73 @@
1
+ /*!
2
+ * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
+ *
4
+ * Alfresco Example Content Application
5
+ *
6
+ * This file is part of the Alfresco Example Content Application.
7
+ * If the software was purchased under a paid Alfresco license, the terms of
8
+ * the paid license agreement will prevail. Otherwise, the software is
9
+ * provided under the following open source license terms:
10
+ *
11
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ import { Component, Inject, ViewEncapsulation } from '@angular/core';
25
+ import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
26
+ import { CommonModule } from '@angular/common';
27
+ import { TranslateModule } from '@ngx-translate/core';
28
+ import { MatButtonModule } from '@angular/material/button';
29
+ import { MatIconModule } from '@angular/material/icon';
30
+ import { A11yModule } from '@angular/cdk/a11y';
31
+ import * as i0 from "@angular/core";
32
+ import * as i1 from "@angular/material/dialog";
33
+ import * as i2 from "@angular/common";
34
+ import * as i3 from "@ngx-translate/core";
35
+ import * as i4 from "@angular/material/button";
36
+ import * as i5 from "@angular/material/icon";
37
+ class OpenInAppComponent {
38
+ data;
39
+ dialog;
40
+ redirectUrl;
41
+ appStoreUrl;
42
+ window = window;
43
+ constructor(data, dialog) {
44
+ this.data = data;
45
+ this.dialog = dialog;
46
+ if (data) {
47
+ this.redirectUrl = data.redirectUrl;
48
+ this.appStoreUrl = data.appStoreUrl;
49
+ }
50
+ }
51
+ openInApp() {
52
+ this.window.location.href = this.redirectUrl;
53
+ }
54
+ downloadIosApp() {
55
+ this.window.location.href = this.appStoreUrl;
56
+ }
57
+ onCloseDialog() {
58
+ const time = new Date().getTime();
59
+ sessionStorage.setItem('mobile_notification_expires_in', time.toString());
60
+ this.dialog.close();
61
+ }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: OpenInAppComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: OpenInAppComponent, isStandalone: true, selector: "aca-open-in-app", ngImport: i0, template: "<div class=\"aca-open-in-app\">\n <div class=\"aca-mobile-application-container\">\n <span>{{ 'APP.DIALOGS.MOBILE_APP.OPEN_ALFRESCO_MOBILE_APP' | translate }}</span>\n <button mat-icon-button mat-dialog-close class=\"aca-cross-button\" (click)=\"onCloseDialog()\" >\n <mat-icon class=\"aca-cross-button-icon\">close</mat-icon>\n </button>\n </div>\n\n <div class=\"aca-open-in-app-button-container\">\n <button mat-button (click)=\"openInApp()\"\n data-automation-id=\"open-in-app-button\"\n class=\"aca-open-in-app-button-container\" cdkFocusInitial>\n <span>{{ 'APP.DIALOGS.MOBILE_APP.MOBILE_APP_BUTTON_LABEL' | translate }}</span>\n </button>\n </div>\n\n <div class=\"aca-download-app-container\" *ngIf=\"appStoreUrl\">\n <button mat-button data-automation-id=\"download-app-button\" class=\"aca-download-app-container-button\" (click)=\"downloadIosApp()\">\n <span>{{ 'APP.DIALOGS.MOBILE_APP.DOWNLOAD_APP_BUTTON_LABEL' | translate }}</span>\n </button>\n </div>\n</div>\n", styles: ["aca-open-in-app .aca-open-in-app .aca-open-in-app-button-container{display:flex;place-content:center;padding:0;border-radius:8px;background-color:var(--theme-primary-color);height:48px;overflow-x:hidden;font-size:16px;color:#fff;font-weight:600}aca-open-in-app .aca-open-in-app .aca-open-in-app-button-container:focus-visible{outline:none;border-radius:unset}aca-open-in-app .aca-open-in-app .aca-download-app-container{display:flex;place-content:center;margin-top:12px;margin-bottom:16px}aca-open-in-app .aca-open-in-app .aca-download-app-container-button{background:var(--theme-dialog-background-color);color:var(--theme-primary-color);font-size:14px}aca-open-in-app .aca-open-in-app .aca-mobile-application-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;font-size:14px;padding:6px 0;margin-bottom:12px}aca-open-in-app .aca-open-in-app .aca-cross-button{padding-right:0}aca-open-in-app .aca-open-in-app .aca-cross-button:focus-visible{outline:none;border-radius:unset}aca-open-in-app .aca-open-in-app .aca-cross-button-icon{font-weight:700;font-size:20px}aca-open-in-app .aca-open-in-app .mat-mdc-button{--mat-mdc-button-persistent-ripple-color: unset;--mat-mdc-button-ripple-color: unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { 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] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], encapsulation: i0.ViewEncapsulation.None });
64
+ }
65
+ export { OpenInAppComponent };
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: OpenInAppComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ standalone: true, imports: [CommonModule, TranslateModule, MatButtonModule, MatIconModule, A11yModule, MatDialogModule], selector: 'aca-open-in-app', encapsulation: ViewEncapsulation.None, template: "<div class=\"aca-open-in-app\">\n <div class=\"aca-mobile-application-container\">\n <span>{{ 'APP.DIALOGS.MOBILE_APP.OPEN_ALFRESCO_MOBILE_APP' | translate }}</span>\n <button mat-icon-button mat-dialog-close class=\"aca-cross-button\" (click)=\"onCloseDialog()\" >\n <mat-icon class=\"aca-cross-button-icon\">close</mat-icon>\n </button>\n </div>\n\n <div class=\"aca-open-in-app-button-container\">\n <button mat-button (click)=\"openInApp()\"\n data-automation-id=\"open-in-app-button\"\n class=\"aca-open-in-app-button-container\" cdkFocusInitial>\n <span>{{ 'APP.DIALOGS.MOBILE_APP.MOBILE_APP_BUTTON_LABEL' | translate }}</span>\n </button>\n </div>\n\n <div class=\"aca-download-app-container\" *ngIf=\"appStoreUrl\">\n <button mat-button data-automation-id=\"download-app-button\" class=\"aca-download-app-container-button\" (click)=\"downloadIosApp()\">\n <span>{{ 'APP.DIALOGS.MOBILE_APP.DOWNLOAD_APP_BUTTON_LABEL' | translate }}</span>\n </button>\n </div>\n</div>\n", styles: ["aca-open-in-app .aca-open-in-app .aca-open-in-app-button-container{display:flex;place-content:center;padding:0;border-radius:8px;background-color:var(--theme-primary-color);height:48px;overflow-x:hidden;font-size:16px;color:#fff;font-weight:600}aca-open-in-app .aca-open-in-app .aca-open-in-app-button-container:focus-visible{outline:none;border-radius:unset}aca-open-in-app .aca-open-in-app .aca-download-app-container{display:flex;place-content:center;margin-top:12px;margin-bottom:16px}aca-open-in-app .aca-open-in-app .aca-download-app-container-button{background:var(--theme-dialog-background-color);color:var(--theme-primary-color);font-size:14px}aca-open-in-app .aca-open-in-app .aca-mobile-application-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;font-size:14px;padding:6px 0;margin-bottom:12px}aca-open-in-app .aca-open-in-app .aca-cross-button{padding-right:0}aca-open-in-app .aca-open-in-app .aca-cross-button:focus-visible{outline:none;border-radius:unset}aca-open-in-app .aca-open-in-app .aca-cross-button-icon{font-weight:700;font-size:20px}aca-open-in-app .aca-open-in-app .mat-mdc-button{--mat-mdc-button-persistent-ripple-color: unset;--mat-mdc-button-ripple-color: unset}\n"] }]
69
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
70
+ type: Inject,
71
+ args: [MAT_DIALOG_DATA]
72
+ }] }, { type: i1.MatDialogRef }]; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1pbi1hcHAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1pbi1hcHAvb3Blbi1pbi1hcHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1pbi1hcHAvb3Blbi1pbi1hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBTS9DLE1BUWEsa0JBQWtCO0lBT3BCO0lBQ0M7SUFQRixXQUFXLENBQVM7SUFDckIsV0FBVyxDQUFTO0lBQ3BCLE1BQU0sR0FBK0IsTUFBTSxDQUFDO0lBRW5ELFlBRVMsSUFBNEIsRUFDM0IsTUFBd0M7UUFEekMsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7UUFFaEQsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxJQUFJLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQyxjQUFjLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt1R0E1QlUsa0JBQWtCLGtCQU1uQixlQUFlOzJGQU5kLGtCQUFrQiwyRUM1Qy9CLGtoQ0FzQkEsOHdDRGdCWSxZQUFZLGtJQUFFLGVBQWUsMkZBQUUsZUFBZSx3YUFBRSxhQUFhLG1MQUFFLFVBQVUsOEJBQUUsZUFBZTs7U0FNekYsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBUjlCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsWUFDM0YsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUk7OzBCQVFsQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5JbkFwcERpYWxvZ09wdGlvbnMge1xuICByZWRpcmVjdFVybDogc3RyaW5nO1xuICBhcHBTdG9yZVVybDogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBBMTF5TW9kdWxlLCBNYXREaWFsb2dNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS1vcGVuLWluLWFwcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcGVuLWluLWFwcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29wZW4taW4tYXBwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgT3BlbkluQXBwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWRpcmVjdFVybDogc3RyaW5nO1xuICBwdWJsaWMgYXBwU3RvcmVVcmw6IHN0cmluZztcbiAgcHVibGljIHdpbmRvdzogV2luZG93ICYgdHlwZW9mIGdsb2JhbFRoaXMgPSB3aW5kb3c7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpXG4gICAgcHVibGljIGRhdGE6IE9wZW5JbkFwcERpYWxvZ09wdGlvbnMsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1JlZjxPcGVuSW5BcHBDb21wb25lbnQ+XG4gICkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VXJsID0gZGF0YS5yZWRpcmVjdFVybDtcbiAgICAgIHRoaXMuYXBwU3RvcmVVcmwgPSBkYXRhLmFwcFN0b3JlVXJsO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5JbkFwcCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5yZWRpcmVjdFVybDtcbiAgfVxuXG4gIGRvd25sb2FkSW9zQXBwKCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmFwcFN0b3JlVXJsO1xuICB9XG5cbiAgb25DbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICBjb25zdCB0aW1lOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdtb2JpbGVfbm90aWZpY2F0aW9uX2V4cGlyZXNfaW4nLCB0aW1lLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2Etb3Blbi1pbi1hcHBcIj5cbiAgPGRpdiBjbGFzcz1cImFjYS1tb2JpbGUtYXBwbGljYXRpb24tY29udGFpbmVyXCI+XG4gICAgPHNwYW4+e3sgJ0FQUC5ESUFMT0dTLk1PQklMRV9BUFAuT1BFTl9BTEZSRVNDT19NT0JJTEVfQVBQJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwiYWNhLWNyb3NzLWJ1dHRvblwiIChjbGljayk9XCJvbkNsb3NlRGlhbG9nKClcIiA+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJhY2EtY3Jvc3MtYnV0dG9uLWljb25cIj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2Etb3Blbi1pbi1hcHAtYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib3BlbkluQXBwKClcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwib3Blbi1pbi1hcHAtYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNhLW9wZW4taW4tYXBwLWJ1dHRvbi1jb250YWluZXJcIiBjZGtGb2N1c0luaXRpYWw+XG4gICAgICA8c3Bhbj57eyAnQVBQLkRJQUxPR1MuTU9CSUxFX0FQUC5NT0JJTEVfQVBQX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2EtZG93bmxvYWQtYXBwLWNvbnRhaW5lclwiICpuZ0lmPVwiYXBwU3RvcmVVcmxcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gZGF0YS1hdXRvbWF0aW9uLWlkPVwiZG93bmxvYWQtYXBwLWJ1dHRvblwiIGNsYXNzPVwiYWNhLWRvd25sb2FkLWFwcC1jb250YWluZXItYnV0dG9uXCIgKGNsaWNrKT1cImRvd25sb2FkSW9zQXBwKClcIj5cbiAgICAgIDxzcGFuPnt7ICdBUFAuRElBTE9HUy5NT0JJTEVfQVBQLkRPV05MT0FEX0FQUF9CVVRUT05fTEFCRUwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19