barsa-develop-components 1.0.456 → 2.0.2

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 (205) hide show
  1. package/{esm2020 → esm2022}/barsa-develop-components.mjs +4 -4
  2. package/esm2022/lib/accept-reject/accept-reject.component.mjs +68 -0
  3. package/esm2022/lib/avatar/avatar.component.mjs +29 -0
  4. package/esm2022/lib/barcode-format-pipe.mjs +24 -0
  5. package/esm2022/lib/barcode-reader/barcode-reader.component.mjs +62 -0
  6. package/esm2022/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +82 -0
  7. package/esm2022/lib/barcode-reader-video/barcode-reader-video.component.mjs +66 -0
  8. package/esm2022/lib/barcode.service.mjs +330 -0
  9. package/{esm2020 → esm2022}/lib/barsa-develop-components.module.mjs +284 -284
  10. package/esm2022/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +104 -0
  11. package/esm2022/lib/barsa-documents/barsa-documents.component.mjs +173 -0
  12. package/esm2022/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +163 -0
  13. package/esm2022/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +50 -0
  14. package/esm2022/lib/card-content-line-chart/card-content-line-chart.component.mjs +37 -0
  15. package/esm2022/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +19 -0
  16. package/esm2022/lib/card-header-kpi/card-header-kpi.component.mjs +40 -0
  17. package/esm2022/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +45 -0
  18. package/{esm2020 → esm2022}/lib/checkbox-button/checkbox-button.component.mjs +23 -23
  19. package/esm2022/lib/column-form-viewer/column-form-viewer.component.mjs +88 -0
  20. package/{esm2020 → esm2022}/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +18 -18
  21. package/esm2022/lib/footer/footer.component.mjs +43 -0
  22. package/esm2022/lib/form-card/form-card.component.mjs +17 -0
  23. package/esm2022/lib/form-chart-content/form-chart-content.component.mjs +37 -0
  24. package/esm2022/lib/form-content-quick-view/form-content-quick-view.component.mjs +102 -0
  25. package/esm2022/lib/form-report-view/form-report-view.component.mjs +25 -0
  26. package/esm2022/lib/form-report-view-item/form-report-view-item.component.mjs +45 -0
  27. package/{esm2020 → esm2022}/lib/g4b-details/g4b-details.component.mjs +28 -28
  28. package/esm2022/lib/g4b-estelam/g4b-estelam.component.mjs +30 -0
  29. package/esm2022/lib/geographic-location/geographic-location.component.mjs +85 -0
  30. package/esm2022/lib/login-form/login-form.component.mjs +55 -0
  31. package/{esm2020 → esm2022}/lib/login-social-conncetions/login-social-conncetions.component.mjs +30 -30
  32. package/esm2022/lib/master-detail-card-form/master-detail-card-form.component.mjs +17 -0
  33. package/esm2022/lib/media-file-uploader/media-file-uploader.component.mjs +238 -0
  34. package/esm2022/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +52 -0
  35. package/esm2022/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +24 -0
  36. package/esm2022/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +23 -0
  37. package/esm2022/lib/models/document-item.mjs +2 -0
  38. package/esm2022/lib/models/documents-setting.mjs +2 -0
  39. package/{esm2020 → esm2022}/lib/models/form-report-view-setting.mjs +2 -2
  40. package/{esm2020 → esm2022}/lib/models/index.mjs +8 -8
  41. package/{esm2020 → esm2022}/lib/models/micro-process-flow-view-setting.mjs +2 -2
  42. package/{esm2020 → esm2022}/lib/models/person.mjs +1 -1
  43. package/{esm2020 → esm2022}/lib/models/service-desk-view-of-services-setting.mjs +2 -2
  44. package/{esm2020 → esm2022}/lib/models/tab-process-view-setting.mjs +2 -2
  45. package/{esm2020 → esm2022}/lib/pipes/datasource-to-flow-item.mjs +22 -22
  46. package/{esm2020 → esm2022}/lib/pipes/index.mjs +2 -2
  47. package/{esm2020 → esm2022}/lib/pipes/mo-list-to-flow-item.pipe.mjs +22 -22
  48. package/esm2022/lib/query-string-form-observable/query-string-form-observable.component.mjs +37 -0
  49. package/esm2022/lib/query-string-observable/query-string-observable.component.mjs +22 -0
  50. package/esm2022/lib/report-button-view/report-button-view.component.mjs +37 -0
  51. package/{esm2020 → esm2022}/lib/report-line-chart-view/report-line-chart-view.component.mjs +13 -13
  52. package/esm2022/lib/report-tab-view/report-tab-view.component.mjs +27 -0
  53. package/esm2022/lib/resend-verification-code/resend-verification-code.component.mjs +62 -0
  54. package/{esm2020 → esm2022}/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +28 -28
  55. package/esm2022/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +110 -0
  56. package/esm2022/lib/service-desk-header/service-desk-header.component.mjs +240 -0
  57. package/esm2022/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +142 -0
  58. package/esm2022/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +37 -0
  59. package/esm2022/lib/setting-form/setting-form.component.mjs +64 -0
  60. package/esm2022/lib/subform-in-row-report/subform-in-row-report.component.mjs +73 -0
  61. package/esm2022/lib/tab-process-view/tab-process-view.component.mjs +48 -0
  62. package/esm2022/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +16 -0
  63. package/esm2022/lib/timer-count-down/timer-count-down.component.mjs +98 -0
  64. package/esm2022/lib/token-report-view/token-report-view.component.mjs +27 -0
  65. package/esm2022/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +25 -0
  66. package/esm2022/lib/ui-num-rate/ui-num-rate.component.mjs +29 -0
  67. package/esm2022/lib/ui-person/ui-person.component.mjs +160 -0
  68. package/esm2022/lib/ui-person/ui-person.pipe.mjs +40 -0
  69. package/esm2022/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +17 -0
  70. package/esm2022/lib/ui-text-field-search/ui-text-field-search.component.mjs +42 -0
  71. package/esm2022/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +69 -0
  72. package/{esm2020 → esm2022}/public-api.mjs +62 -62
  73. package/fesm2022/barsa-develop-components.mjs +3626 -0
  74. package/fesm2022/barsa-develop-components.mjs.map +1 -0
  75. package/index.d.ts +5 -5
  76. package/lib/accept-reject/accept-reject.component.d.ts +28 -28
  77. package/lib/avatar/avatar.component.d.ts +12 -12
  78. package/lib/barcode-format-pipe.d.ts +7 -7
  79. package/lib/barcode-reader/barcode-reader.component.d.ts +19 -19
  80. package/lib/barcode-reader-dialog/barcode-reader-dialog.component.d.ts +32 -32
  81. package/lib/barcode-reader-video/barcode-reader-video.component.d.ts +22 -22
  82. package/lib/barcode.service.d.ts +98 -98
  83. package/lib/barsa-develop-components.module.d.ts +117 -117
  84. package/lib/barsa-document-list-item/barsa-document-list-item.component.d.ts +39 -39
  85. package/lib/barsa-documents/barsa-documents.component.d.ts +47 -47
  86. package/lib/barsa-geographic-location/barsa-geographic-location.component.d.ts +45 -46
  87. package/lib/card-content-image-and-title/card-content-image-and-title.component.d.ts +18 -18
  88. package/lib/card-content-line-chart/card-content-line-chart.component.d.ts +9 -9
  89. package/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.d.ts +6 -6
  90. package/lib/card-header-kpi/card-header-kpi.component.d.ts +14 -14
  91. package/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.d.ts +23 -23
  92. package/lib/checkbox-button/checkbox-button.component.d.ts +13 -13
  93. package/lib/column-form-viewer/column-form-viewer.component.d.ts +30 -30
  94. package/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.d.ts +8 -8
  95. package/lib/footer/footer.component.d.ts +15 -15
  96. package/lib/form-card/form-card.component.d.ts +8 -8
  97. package/lib/form-chart-content/form-chart-content.component.d.ts +9 -9
  98. package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +18 -18
  99. package/lib/form-report-view/form-report-view.component.d.ts +13 -13
  100. package/lib/form-report-view-item/form-report-view-item.component.d.ts +15 -15
  101. package/lib/g4b-details/g4b-details.component.d.ts +9 -9
  102. package/lib/g4b-estelam/g4b-estelam.component.d.ts +11 -11
  103. package/lib/geographic-location/geographic-location.component.d.ts +33 -34
  104. package/lib/login-form/login-form.component.d.ts +12 -12
  105. package/lib/login-social-conncetions/login-social-conncetions.component.d.ts +12 -12
  106. package/lib/master-detail-card-form/master-detail-card-form.component.d.ts +8 -8
  107. package/lib/media-file-uploader/media-file-uploader.component.d.ts +52 -52
  108. package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +28 -28
  109. package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +14 -14
  110. package/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.d.ts +9 -9
  111. package/lib/models/document-item.d.ts +19 -19
  112. package/lib/models/documents-setting.d.ts +11 -11
  113. package/lib/models/form-report-view-setting.d.ts +7 -7
  114. package/lib/models/index.d.ts +7 -7
  115. package/lib/models/micro-process-flow-view-setting.d.ts +8 -8
  116. package/lib/models/person.d.ts +10 -10
  117. package/lib/models/service-desk-view-of-services-setting.d.ts +6 -6
  118. package/lib/models/tab-process-view-setting.d.ts +7 -7
  119. package/lib/pipes/datasource-to-flow-item.d.ts +10 -10
  120. package/lib/pipes/index.d.ts +2 -2
  121. package/lib/pipes/mo-list-to-flow-item.pipe.d.ts +10 -10
  122. package/lib/query-string-form-observable/query-string-form-observable.component.d.ts +13 -13
  123. package/lib/query-string-observable/query-string-observable.component.d.ts +9 -9
  124. package/lib/report-button-view/report-button-view.component.d.ts +12 -12
  125. package/lib/report-line-chart-view/report-line-chart-view.component.d.ts +7 -7
  126. package/lib/report-tab-view/report-tab-view.component.d.ts +15 -15
  127. package/lib/resend-verification-code/resend-verification-code.component.d.ts +19 -18
  128. package/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.d.ts +15 -15
  129. package/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.d.ts +26 -26
  130. package/lib/service-desk-header/service-desk-header.component.d.ts +63 -63
  131. package/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.d.ts +39 -39
  132. package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +16 -16
  133. package/lib/setting-form/setting-form.component.d.ts +20 -20
  134. package/lib/subform-in-row-report/subform-in-row-report.component.d.ts +22 -21
  135. package/lib/tab-process-view/tab-process-view.component.d.ts +20 -20
  136. package/lib/table-view-vertical-columns/table-view-vertical-columns.component.d.ts +6 -6
  137. package/lib/timer-count-down/timer-count-down.component.d.ts +15 -15
  138. package/lib/token-report-view/token-report-view.component.d.ts +15 -15
  139. package/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.d.ts +9 -9
  140. package/lib/ui-num-rate/ui-num-rate.component.d.ts +9 -9
  141. package/lib/ui-person/ui-person.component.d.ts +31 -31
  142. package/lib/ui-person/ui-person.pipe.d.ts +7 -7
  143. package/lib/ui-pictures-carousel/ui-pictures-carousel.component.d.ts +6 -6
  144. package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +17 -17
  145. package/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.d.ts +25 -25
  146. package/package.json +7 -13
  147. package/public-api.d.ts +58 -58
  148. package/esm2020/lib/accept-reject/accept-reject.component.mjs +0 -69
  149. package/esm2020/lib/avatar/avatar.component.mjs +0 -29
  150. package/esm2020/lib/barcode-format-pipe.mjs +0 -24
  151. package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +0 -62
  152. package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +0 -82
  153. package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +0 -66
  154. package/esm2020/lib/barcode.service.mjs +0 -330
  155. package/esm2020/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +0 -104
  156. package/esm2020/lib/barsa-documents/barsa-documents.component.mjs +0 -173
  157. package/esm2020/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -174
  158. package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +0 -51
  159. package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +0 -38
  160. package/esm2020/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +0 -20
  161. package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +0 -41
  162. package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +0 -46
  163. package/esm2020/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
  164. package/esm2020/lib/footer/footer.component.mjs +0 -44
  165. package/esm2020/lib/form-card/form-card.component.mjs +0 -18
  166. package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +0 -38
  167. package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +0 -102
  168. package/esm2020/lib/form-report-view/form-report-view.component.mjs +0 -26
  169. package/esm2020/lib/form-report-view-item/form-report-view-item.component.mjs +0 -45
  170. package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +0 -30
  171. package/esm2020/lib/geographic-location/geographic-location.component.mjs +0 -88
  172. package/esm2020/lib/login-form/login-form.component.mjs +0 -55
  173. package/esm2020/lib/master-detail-card-form/master-detail-card-form.component.mjs +0 -17
  174. package/esm2020/lib/media-file-uploader/media-file-uploader.component.mjs +0 -238
  175. package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +0 -53
  176. package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +0 -24
  177. package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +0 -23
  178. package/esm2020/lib/models/document-item.mjs +0 -2
  179. package/esm2020/lib/models/documents-setting.mjs +0 -2
  180. package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +0 -37
  181. package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +0 -22
  182. package/esm2020/lib/report-button-view/report-button-view.component.mjs +0 -38
  183. package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +0 -28
  184. package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +0 -59
  185. package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +0 -110
  186. package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +0 -236
  187. package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +0 -142
  188. package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +0 -37
  189. package/esm2020/lib/setting-form/setting-form.component.mjs +0 -64
  190. package/esm2020/lib/subform-in-row-report/subform-in-row-report.component.mjs +0 -65
  191. package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +0 -49
  192. package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +0 -16
  193. package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +0 -98
  194. package/esm2020/lib/token-report-view/token-report-view.component.mjs +0 -27
  195. package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +0 -25
  196. package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +0 -29
  197. package/esm2020/lib/ui-person/ui-person.component.mjs +0 -160
  198. package/esm2020/lib/ui-person/ui-person.pipe.mjs +0 -40
  199. package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +0 -17
  200. package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +0 -42
  201. package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +0 -70
  202. package/fesm2015/barsa-develop-components.mjs +0 -3660
  203. package/fesm2015/barsa-develop-components.mjs.map +0 -1
  204. package/fesm2020/barsa-develop-components.mjs +0 -3625
  205. package/fesm2020/barsa-develop-components.mjs.map +0 -1
@@ -0,0 +1,240 @@
1
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ViewChild, ViewChildren, RendererStyleFlags2, Input } from '@angular/core';
2
+ import { takeUntil } from 'rxjs';
3
+ import { TabPanelComponent } from '@fundamental-ngx/core';
4
+ import { TilesViewerContainerComponent, TilesViewerService, TilesViewerGroupComponent } from 'barsa-tiles';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "barsa-novin-ray-core";
7
+ import * as i2 from "barsa-tiles";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/router";
10
+ import * as i5 from "@angular/forms";
11
+ import * as i6 from "@fundamental-ngx/core/input-group";
12
+ import * as i7 from "@fundamental-ngx/core/tabs";
13
+ import * as i8 from "@fundamental-ngx/core/toolbar";
14
+ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
15
+ constructor(_portalService, _tilesService, _tilesViewerService, _renderer, _viewportScroller, _cdr, _router, _activatedRoute) {
16
+ super(_portalService, _tilesService, _tilesViewerService);
17
+ this._portalService = _portalService;
18
+ this._tilesService = _tilesService;
19
+ this._tilesViewerService = _tilesViewerService;
20
+ this._renderer = _renderer;
21
+ this._viewportScroller = _viewportScroller;
22
+ this._cdr = _cdr;
23
+ this._router = _router;
24
+ this._activatedRoute = _activatedRoute;
25
+ this.selectedTabIndex = 0;
26
+ this.heightOfSpaceHolder = 88;
27
+ this.searchTerm = '';
28
+ this._enableScroll = false;
29
+ this._stickyTopPosition = 66;
30
+ this.observerList = [];
31
+ this.appGroups = [];
32
+ const root = document.documentElement;
33
+ root.style.setProperty('--absolute-page-top', this._stickyTopPosition + 'px');
34
+ }
35
+ ngOnInit() {
36
+ super.ngOnInit();
37
+ this._portalService.searchTerm$.pipe(takeUntil(this._onDestroy$)).subscribe((term) => {
38
+ this.searchTerm = term;
39
+ this._cdr.detectChanges();
40
+ });
41
+ this.appTileGroups$.subscribe((appTileGroups) => {
42
+ appTileGroups.forEach((c) => this._tilesViewerService.loadAppGroup(c));
43
+ this.appGroups = appTileGroups;
44
+ });
45
+ this._renderer.setStyle(this.navHolder.nativeElement, 'top', this._stickyTopPosition + 'px');
46
+ this.setGridTemplateRows(this.heightOfSpaceHolder);
47
+ this.deviceSize$ = this._portalService.deviceSize$;
48
+ this._portalService.deviceSize$.subscribe((c) => {
49
+ let newHeight = this.heightOfSpaceHolder;
50
+ this.tabSize = c;
51
+ if (c === 's') {
52
+ newHeight = 88;
53
+ }
54
+ else if (c === 'm') {
55
+ newHeight = 220;
56
+ }
57
+ else if (c === 'l') {
58
+ newHeight = 250;
59
+ }
60
+ else {
61
+ newHeight = 325;
62
+ }
63
+ newHeight = 88;
64
+ if (this.heightOfSpaceHolder !== newHeight) {
65
+ this.heightOfSpaceHolder = newHeight;
66
+ this.setGridTemplateRows(newHeight);
67
+ }
68
+ });
69
+ }
70
+ ngAfterViewInit() {
71
+ const deviceSize = this._portalService.deviceSize;
72
+ let stickyTopPosition = 20;
73
+ if (deviceSize === 's') {
74
+ stickyTopPosition = 60;
75
+ }
76
+ this._stickyDom(this.aboveSearch.nativeElement, this.searchHolder.nativeElement, -stickyTopPosition, 'sticky');
77
+ this._stickyDom(this.aboveContent.nativeElement, this.navHolder.nativeElement, -this._stickyTopPosition, 'sticky');
78
+ this._stickyDom(this.aboveContent.nativeElement, this.bgOuterHolder.nativeElement, -this._stickyTopPosition, 'sticky', () => {
79
+ this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', this._stickyTopPosition + 'px');
80
+ }, () => {
81
+ this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', '100%');
82
+ });
83
+ this._stickyDom(this.aboveSearch.nativeElement, this.contentAndNav.nativeElement, -stickyTopPosition, 'navAndContent_tb', () => {
84
+ this._renderer.removeAttribute(this.contentAndNav.nativeElement, 'first');
85
+ }, () => {
86
+ this._renderer.setAttribute(this.contentAndNav.nativeElement, 'first', 'true');
87
+ });
88
+ setTimeout(() => {
89
+ this._enableScroll = true;
90
+ }, 1000);
91
+ this._portalService.navigationStart$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {
92
+ this._lastScrollPos = window.scrollY;
93
+ if (event === null) {
94
+ return;
95
+ }
96
+ if (event?.url !== '/servicedesk' && event?.url !== '/' && !this._disableIntersection) {
97
+ this.prepareForm();
98
+ }
99
+ });
100
+ this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {
101
+ if (event !== null &&
102
+ (event?.url === '/servicedesk' || event?.url === '/' || event.urlAfterRedirects === '/servicedesk')) {
103
+ this.unPrepareForm();
104
+ }
105
+ });
106
+ }
107
+ onSearchSubmit() {
108
+ this._router.navigateByUrl('servicedesk/search?term=' + this.searchTerm);
109
+ // var searchMo = BarsaApi.Bw.RunBlMethod('GetSearchMo', this.searchTerm);
110
+ // BarsaApi.Bw.Form.Show({ Mo: searchMo });
111
+ }
112
+ prepareForm() {
113
+ this._disableIntersection = true;
114
+ this._cdr.detach();
115
+ this.disconnectIntersctionObserverList();
116
+ this._renderer.addClass(this.searchHolder.nativeElement, 'sticky');
117
+ this._renderer.addClass(this.contentAndNav.nativeElement, 'hide');
118
+ this.visibleContent(false);
119
+ const flags = RendererStyleFlags2.Important;
120
+ this._renderer.setStyle(document.body, 'overflow', 'hidden', flags);
121
+ this.scrollToTop();
122
+ }
123
+ unPrepareForm() {
124
+ // this.setHeightSearchHolder(this.heightOfSpaceHolder);
125
+ this.visibleContent(true);
126
+ // this._renderer.removeClass(this.searchHolder.nativeElement, 'sticky');
127
+ this._renderer.removeClass(this.searchHolder.nativeElement, 'hide');
128
+ this._renderer.removeClass(this.contentAndNav.nativeElement, 'hide');
129
+ const flags = RendererStyleFlags2.Important;
130
+ this._renderer.setStyle(document.body, 'overflow', 'auto', flags);
131
+ this.scrollToTop();
132
+ this._cdr.reattach();
133
+ this._disableIntersection = false;
134
+ this.connectIntersctionObserverList();
135
+ }
136
+ setHeightSearchHolder(height) {
137
+ this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);
138
+ }
139
+ visibleContent(visible) {
140
+ this._renderer.setStyle(this.contentAndNav.nativeElement, 'display', visible ? 'flex' : 'none');
141
+ }
142
+ setGridTemplateRows(height) {
143
+ this._renderer.setStyle(this.headerGrid.nativeElement, 'grid-template-rows', `minmax(78px, 15%) 46px 32px 1fr auto 12%; height:${height}px`);
144
+ // this._renderer.setStyle(this.headerGrid.nativeElement, 'background-color', `red`);
145
+ this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);
146
+ }
147
+ onSelectedTabChange3(selectedTab) {
148
+ const tablistCmp = selectedTab._tabsComponent;
149
+ if (tablistCmp) {
150
+ tablistCmp._disableScrollSpy = true;
151
+ }
152
+ this.scrollToTop();
153
+ if (selectedTab.id === '0') {
154
+ return;
155
+ }
156
+ const elementRefOfselectedTileGroup = this.tilesViewerGroupElList.get(Number(selectedTab.id))?.nativeElement;
157
+ elementRefOfselectedTileGroup.scrollIntoView({
158
+ block: 'start'
159
+ });
160
+ }
161
+ scrollToLastPos() {
162
+ this._viewportScroller.scrollToPosition([0, this._lastScrollPos]);
163
+ }
164
+ scrollToTop() {
165
+ if (this._enableScroll) {
166
+ this._viewportScroller.scrollToPosition([0, this.heightOfSpaceHolder - this._stickyTopPosition]);
167
+ }
168
+ }
169
+ disconnectIntersctionObserverList() {
170
+ this.observerList.forEach((c) => c.observer.disconnect());
171
+ }
172
+ connectIntersctionObserverList() {
173
+ this.observerList.forEach((c) => c.observer.observe(c.el));
174
+ }
175
+ _stickyDom(above, holder, marginTop, className, visibleCallback, hiddenCallBack) {
176
+ const handler = (entries) => {
177
+ if (this._disableIntersection) {
178
+ return;
179
+ }
180
+ if (!entries[0].isIntersecting) {
181
+ this._renderer.addClass(holder, className);
182
+ if (typeof visibleCallback === 'function') {
183
+ visibleCallback();
184
+ }
185
+ }
186
+ else {
187
+ this._renderer.removeClass(holder, className);
188
+ if (typeof hiddenCallBack === 'function') {
189
+ hiddenCallBack();
190
+ }
191
+ }
192
+ };
193
+ const options = {
194
+ rootMargin: `${marginTop}px 0px 0px 0px`,
195
+ threshold: 0.1
196
+ };
197
+ const observer = new window.IntersectionObserver(handler, options);
198
+ observer.observe(above);
199
+ this.observerList.push({ el: above, observer });
200
+ }
201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, deps: [{ token: i1.PortalService }, { token: i2.TilesService }, { token: i2.TilesViewerService }, { token: i0.Renderer2 }, { token: i3.ViewportScroller }, { token: i0.ChangeDetectorRef }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i6.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i7.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i7.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
203
+ }
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskHeaderComponent, decorators: [{
205
+ type: Component,
206
+ args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fd-input-group\r\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\r\n class=\"input-search\"\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <fd-tab [id]=\"'' + i\" [title]=\"appTileGroup.navigatorTitle\"> </fd-tab>\r\n }\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n @for (appTileGroup of appTileGroups; track appTileGroup; let i = $index) {\r\n <bt-tiles-viewer-group\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n }\r\n</ng-template>\r\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:#00000051;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:#f7f7f7}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:#f7f7f7;position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
207
+ }], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.TilesService }, { type: i2.TilesViewerService }, { type: i0.Renderer2 }, { type: i3.ViewportScroller }, { type: i0.ChangeDetectorRef }, { type: i4.Router }, { type: i4.ActivatedRoute }], propDecorators: { headerSpaceHolder: [{
208
+ type: ViewChild,
209
+ args: ['headerSpaceHolder', { static: true }]
210
+ }], headerGrid: [{
211
+ type: ViewChild,
212
+ args: ['headerGrid', { static: true }]
213
+ }], aboveSearch: [{
214
+ type: ViewChild,
215
+ args: ['aboveSearch', { static: true }]
216
+ }], searchHolder: [{
217
+ type: ViewChild,
218
+ args: ['searchHolder', { static: true }]
219
+ }], navHolder: [{
220
+ type: ViewChild,
221
+ args: ['navHolder', { static: true }]
222
+ }], aboveContent: [{
223
+ type: ViewChild,
224
+ args: ['aboveContent', { static: true }]
225
+ }], bgOuterHolder: [{
226
+ type: ViewChild,
227
+ args: ['bgOuterHolder', { static: true }]
228
+ }], contentAndNav: [{
229
+ type: ViewChild,
230
+ args: ['contentAndNav', { static: true }]
231
+ }], tilesViewerGroupElList: [{
232
+ type: ViewChildren,
233
+ args: [TilesViewerGroupComponent, { read: ElementRef }]
234
+ }], tabPanelComponents: [{
235
+ type: ViewChildren,
236
+ args: [TabPanelComponent]
237
+ }], settings: [{
238
+ type: Input
239
+ }] } });
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDbkIsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7O0FBVXJCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSw2QkFBNkI7SUE0QnpFLFlBQ2MsY0FBNkIsRUFDN0IsYUFBMkIsRUFDM0IsbUJBQXVDLEVBQ3ZDLFNBQW9CLEVBQ3RCLGlCQUFtQyxFQUNuQyxJQUF1QixFQUN2QixPQUFlLEVBQ2YsZUFBK0I7UUFFdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQVRoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGNB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WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBSZW5kZXJlclN0eWxlRmxhZ3MyLFxuICAgIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFiUGFuZWxDb21wb25lbnQsIFRhYlNpemVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7XG4gICAgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQsXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgIFRpbGVzU2VydmljZSxcbiAgICBUaWxlc1ZpZXdlckdyb3VwQ29tcG9uZW50XG59IGZyb20gJ2JhcnNhLXRpbGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZURlc2tIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBUaWxlc1ZpZXdlckNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyU3BhY2VIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJTcGFjZUhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckdyaWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJHcmlkOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnYWJvdmVTZWFyY2gnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhYm92ZVNlYXJjaDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlYXJjaEhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ25hdkhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIG5hdkhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Fib3ZlQ29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGFib3ZlQ29udGVudDogRWxlbWVudFJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2JnT3V0ZXJIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ091dGVySG9sZGVyOiBFbGVtZW50UmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnY29udGVudEFuZE5hdicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRBbmROYXY6IEVsZW1lbnRSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkcmVuKFRpbGVzVmlld2VyR3JvdXBDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0aWxlc1ZpZXdlckdyb3VwRWxMaXN0OiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gICAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsQ29tcG9uZW50czogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgICBASW5wdXQoKSBzZXR0aW5nczogU2VydmljZURlc2tIZWFkZXJTZXR0aW5nO1xuICAgIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xuICAgIGhlaWdodE9mU3BhY2VIb2xkZXIgPSA4ODtcbiAgICB0YWJTaXplOiBUYWJTaXplcztcbiAgICBzZWFyY2hUZXJtJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHNlYXJjaFRlcm0gPSAnJztcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIHByaXZhdGUgX2VuYWJsZVNjcm9sbCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2Rpc2FibGVJbnRlcnNlY3Rpb246IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfaXNGb3JtT3BlbmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX3N0aWNreVRvcFBvc2l0aW9uID0gNjY7XG4gICAgcHJpdmF0ZSBvYnNlcnZlckxpc3Q6IHsgZWw6IGFueTsgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIH1bXSA9IFtdO1xuICAgIHByaXZhdGUgX2xhc3RTY3JvbGxQb3M6IG51bWJlcjtcbiAgICBhcHBHcm91cHM6IGFueVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzVmlld2VyU2VydmljZTogVGlsZXNWaWV3ZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX3BvcnRhbFNlcnZpY2UsIF90aWxlc1NlcnZpY2UsIF90aWxlc1ZpZXdlclNlcnZpY2UpO1xuICAgICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICByb290LnN0eWxlLnNldFByb3BlcnR5KCctLWFic29sdXRlLXBhZ2UtdG9wJywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2VhcmNoVGVybSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodGVybSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGVybTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnN1YnNjcmliZSgoYXBwVGlsZUdyb3VwcykgPT4ge1xuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChjKSA9PiB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGMpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwR3JvdXBzID0gYXBwVGlsZUdyb3VwcztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF2SG9sZGVyLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xuXG4gICAgICAgIHRoaXMuc2V0R3JpZFRlbXBsYXRlUm93cyh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdIZWlnaHQgPSB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXI7XG4gICAgICAgICAgICB0aGlzLnRhYlNpemUgPSBjO1xuICAgICAgICAgICAgaWYgKGMgPT09ICdzJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDg4O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjID09PSAnbScpIHtcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyMjA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09ICdsJykge1xuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDI1MDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMzI1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3SGVpZ2h0ID0gODg7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyICE9PSBuZXdIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKG5ld0hlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRldmljZVNpemUgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemU7XG4gICAgICAgIGxldCBzdGlja3lUb3BQb3NpdGlvbiA9IDIwO1xuICAgICAgICBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XG4gICAgICAgICAgICBzdGlja3lUb3BQb3NpdGlvbiA9IDYwO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N0aWNreURvbSh0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsIC1zdGlja3lUb3BQb3NpdGlvbiwgJ3N0aWNreScpO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5uYXZIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3N0aWNreURvbShcbiAgICAgICAgICAgIHRoaXMuYWJvdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC10aGlzLl9zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICdzdGlja3knLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iZ091dGVySG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9zdGlja3lEb20oXG4gICAgICAgICAgICB0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIC1zdGlja3lUb3BQb3NpdGlvbixcbiAgICAgICAgICAgICduYXZBbmRDb250ZW50X3RiJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdmaXJzdCcsICd0cnVlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZW5hYmxlU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvblN0YXJ0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNjcm9sbFBvcyA9IHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50Py51cmwgIT09ICcvc2VydmljZWRlc2snICYmIGV2ZW50Py51cmwgIT09ICcvJyAmJiAhdGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUZvcm0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvbkVuZCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIChldmVudD8udXJsID09PSAnL3NlcnZpY2VkZXNrJyB8fCBldmVudD8udXJsID09PSAnLycgfHwgZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgPT09ICcvc2VydmljZWRlc2snKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51blByZXBhcmVGb3JtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvblNlYXJjaFN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJ3NlcnZpY2VkZXNrL3NlYXJjaD90ZXJtPScgKyB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyB2YXIgc2VhcmNoTW8gPSBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZCgnR2V0U2VhcmNoTW8nLCB0aGlzLnNlYXJjaFRlcm0pO1xuICAgICAgICAvLyBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coeyBNbzogc2VhcmNoTW8gfSk7XG4gICAgfVxuICAgIHByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGFjaCgpO1xuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KGZhbHNlKTtcbiAgICAgICAgY29uc3QgZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicsIGZsYWdzKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgIH1cbiAgICB1blByZXBhcmVGb3JtKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLnNldEhlaWdodFNlYXJjaEhvbGRlcih0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KHRydWUpO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XG4gICAgICAgIGNvbnN0IGZsYWdzID0gUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQ7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdhdXRvJywgZmxhZ3MpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XG4gICAgICAgIHRoaXMuX2Nkci5yZWF0dGFjaCgpO1xuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk7XG4gICAgfVxuICAgIHNldEhlaWdodFNlYXJjaEhvbGRlcihoZWlnaHQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJTcGFjZUhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgfVxuICAgIHZpc2libGVDb250ZW50KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgdmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyk7XG4gICAgfVxuXG4gICAgc2V0R3JpZFRlbXBsYXRlUm93cyhoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyR3JpZC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXG4gICAgICAgICAgICBgbWlubWF4KDc4cHgsIDE1JSkgNDZweCAzMnB4IDFmciBhdXRvIDEyJTsgaGVpZ2h0OiR7aGVpZ2h0fXB4YFxuICAgICAgICApO1xuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlckdyaWQubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InLCBgcmVkYCk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyU3BhY2VIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgIH1cbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlMyhzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFibGlzdENtcCA9IChzZWxlY3RlZFRhYiBhcyBhbnkpLl90YWJzQ29tcG9uZW50O1xuICAgICAgICBpZiAodGFibGlzdENtcCkge1xuICAgICAgICAgICAgdGFibGlzdENtcC5fZGlzYWJsZVNjcm9sbFNweSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRUYWIuaWQgPT09ICcwJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWZPZnNlbGVjdGVkVGlsZUdyb3VwOiBIVE1MRWxlbWVudCA9IHRoaXMudGlsZXNWaWV3ZXJHcm91cEVsTGlzdC5nZXQoXG4gICAgICAgICAgICBOdW1iZXIoc2VsZWN0ZWRUYWIuaWQpXG4gICAgICAgICk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudFJlZk9mc2VsZWN0ZWRUaWxlR3JvdXAuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCdcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc2Nyb2xsVG9MYXN0UG9zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIHRoaXMuX2xhc3RTY3JvbGxQb3NdKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2VuYWJsZVNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKFswLCB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgLSB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbl0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgZGlzY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XG4gICAgfVxuICAgIHByaXZhdGUgY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLm9ic2VydmUoYy5lbCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0aWNreURvbShcbiAgICAgICAgYWJvdmUsXG4gICAgICAgIGhvbGRlcixcbiAgICAgICAgbWFyZ2luVG9wLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIHZpc2libGVDYWxsYmFjaz86ICgpID0+IHZvaWQsXG4gICAgICAgIGhpZGRlbkNhbGxCYWNrPzogKCkgPT4gdm9pZFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGVudHJpZXMpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmlzaWJsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVDYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaGlkZGVuQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuQ2FsbEJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICByb290TWFyZ2luOiBgJHttYXJnaW5Ub3B9cHggMHB4IDBweCAwcHhgLFxuICAgICAgICAgICAgdGhyZXNob2xkOiAwLjFcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoYWJvdmUpO1xuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5wdXNoKHsgZWw6IGFib3ZlLCBvYnNlcnZlciB9KTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBTZXJ2aWNlRGVza0hlYWRlclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBIaWRlU2VhcmNoOiBib29sZWFuO1xufVxuIiwiPGRpdiBpZD1cImhlYWRlckdyaWRcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFweCwgMTUlKSA0OHB4IDMycHggMWZyIGF1dG8gMTIlOyBoZWlnaHQ6IDE0OHB4XCIgI2hlYWRlckdyaWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29tcGFueUxvZ29Ib2xkZXJfYWJvdmVTZWFyY2hcIiAjYWJvdmVTZWFyY2g+PC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwic2VhcmNoSG9sZGVyXCIgc3R5bGU9XCJncmlkLXJvdzogMlwiICNzZWFyY2hIb2xkZXI+XHJcbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXHJcbiAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNldHRpbmdzPy5IaWRlU2VhcmNoID8gJ25vbmUnIDogbnVsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtc2VhcmNoXCJcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk9XCJjb3p5XCJcclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgIFtnbHlwaEFyaWFMYWJlbF09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiXHJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgaWQ9XCJoZWFkZXJTcGFjZUhvbGRlclwiICNoZWFkZXJTcGFjZUhvbGRlcj5cclxuICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XHJcbiAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhY2tncm91bmRJbWFnZVwiIGlkPVwiYmFja2dyb3VuZEltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIHNyYz1cIi9hc3NldHMvYmFjay5qcGdcIiBsb2FkaW5nPVwibGF6eVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGlkPVwiY29udGVudEhvbGRlckFuZE5hdlwiIGZpcnN0PVwidHJ1ZVwiICNjb250ZW50QW5kTmF2PlxyXG4gICAgPGRpdiBjbGFzcz1cImFib3ZlQ29udGVudFwiICNhYm92ZUNvbnRlbnQ+PC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwiY29udGVudEhvbGRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZcIiAjbmF2SG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGFiczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2X3N1cnJvZ2F0ZVwiIHN0eWxlPVwiaGVpZ2h0OiAxMHB4XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZmVlZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlckdyb3VwczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxyXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3Vwcz5cclxuICAgIDxmZC10YWItbGlzdFxyXG4gICAgICAgIFtzaXplXT1cInRhYlNpemVcIlxyXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRhYlNpemUgPT09ICdzJyB8fCBhcHBUaWxlR3JvdXBzLmxlbmd0aCA+IDVcIlxyXG4gICAgICAgIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25TZWxlY3RlZFRhYkNoYW5nZTMoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgICAgQGZvciAoYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IHRyYWNrIGFwcFRpbGVHcm91cDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICA8ZmQtdGFiIFtpZF09XCInJyArIGlcIiBbdGl0bGVdPVwiYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpdGxlXCI+IDwvZmQtdGFiPlxyXG4gICAgICAgIH1cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR3JvdXBzIGxldC1hcHBUaWxlR3JvdXBzPlxyXG4gICAgQGZvciAoYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IHRyYWNrIGFwcFRpbGVHcm91cDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgIDxidC10aWxlcy12aWV3ZXItZ3JvdXBcclxuICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcclxuICAgICAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVHcm91cFwiXHJcbiAgICAgICAgW2VkaXRdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2lzQXBwVGlsZVN1Ykdyb3VwXT1cImZhbHNlXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXHJcbiAgICA+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,142 @@
1
+ import { Component, ChangeDetectionStrategy, ViewChild, ViewChildren } from '@angular/core';
2
+ import { BarsaApi, FormPropsBaseComponent, FindLayoutSettingFromLayout94 } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-sap-ui";
6
+ import * as i3 from "@fundamental-ngx/core/dynamic-page";
7
+ import * as i4 from "@fundamental-ngx/core/icon";
8
+ import * as i5 from "@fundamental-ngx/core/layout-grid";
9
+ import * as i6 from "@fundamental-ngx/core/tabs";
10
+ import * as i7 from "barsa-novin-ray-core";
11
+ export class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.firstArray = [];
15
+ this.secondArray = [];
16
+ this.moByCaption = {};
17
+ this.fieldsCaption = [];
18
+ this.value = '';
19
+ this.israhnamayTasviri = false;
20
+ }
21
+ ngOnInit() {
22
+ super.ngOnInit();
23
+ const $FieldDict = this.fieldDict;
24
+ if (!$FieldDict) {
25
+ return;
26
+ }
27
+ this._prepare($FieldDict, this.mo);
28
+ }
29
+ onDownload(item) {
30
+ if (item.Attachment) {
31
+ BarsaApi.Common.File.DownloadFileId(item.Attachment.Files[0].Id);
32
+ }
33
+ }
34
+ ngAfterViewInit() {
35
+ super.ngAfterViewInit();
36
+ this.alignTablesTr();
37
+ }
38
+ onKhadamatMortabet(item) {
39
+ BarsaApi.Bw.Form.Show({
40
+ MoId: item.Id,
41
+ TypeDefId: this.khadamatmortabetReport.TypeDefId,
42
+ MoContext: { ReportId: this.khadamatmortabetReport.ReportId }
43
+ });
44
+ }
45
+ alignTablesTr() {
46
+ setTimeout(() => {
47
+ const tablesRef = this.tablesRef.toArray();
48
+ const firstTableEl = tablesRef[0].nativeElement;
49
+ const secondTableEl = tablesRef[1].nativeElement;
50
+ const trFirstTable = firstTableEl.querySelectorAll('tr');
51
+ const trSecondTable = secondTableEl.querySelectorAll('tr');
52
+ trFirstTable.forEach((tr, index) => {
53
+ if (index < trSecondTable.length) {
54
+ const trSecond = trSecondTable[index];
55
+ if (tr.offsetHeight > trSecond.offsetHeight) {
56
+ trSecond.style.height = `${tr.offsetHeight}px`;
57
+ }
58
+ else {
59
+ tr.style.height = `${trSecond.offsetHeight}px`;
60
+ }
61
+ }
62
+ });
63
+ }, 0);
64
+ }
65
+ _prepare($FieldDict, mo) {
66
+ const leftside = FindLayoutSettingFromLayout94(this.layout94, 'جدول چپ');
67
+ const rightside = FindLayoutSettingFromLayout94(this.layout94, 'جدول راست');
68
+ leftside?.items[0]?.items?.forEach((item2) => {
69
+ const key = item2.Caption;
70
+ const fieldName = item2.ControlId;
71
+ const item = { caption: key, fieldName };
72
+ if (key === 'آدرس سایت' ||
73
+ (typeof mo[fieldName] === 'string' &&
74
+ (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))) {
75
+ item.type = 'Link';
76
+ }
77
+ if (typeof mo[fieldName] === 'object') {
78
+ if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {
79
+ item.type = 'MoList';
80
+ }
81
+ else if (mo[fieldName].Ext) {
82
+ item.type = 'Image';
83
+ }
84
+ else if (mo[fieldName].Files) {
85
+ item.type = 'Files';
86
+ }
87
+ else {
88
+ item.type = 'Relation';
89
+ }
90
+ }
91
+ this.firstArray.push(item);
92
+ });
93
+ rightside?.items[0]?.items?.forEach((item2) => {
94
+ const key = item2.Caption;
95
+ const fieldName = item2.ControlId;
96
+ const item = { caption: key, fieldName };
97
+ if (key === 'آدرس سایت' ||
98
+ (typeof mo[fieldName] === 'string' &&
99
+ (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))) {
100
+ item.type = 'Link';
101
+ }
102
+ if (typeof mo[fieldName] === 'object') {
103
+ if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {
104
+ item.type = 'MoList';
105
+ }
106
+ else if (mo[fieldName].Ext) {
107
+ item.type = 'Image';
108
+ }
109
+ else if (mo[fieldName].Files) {
110
+ item.type = 'Files';
111
+ }
112
+ else {
113
+ item.type = 'Relation';
114
+ }
115
+ }
116
+ this.secondArray.push(item);
117
+ });
118
+ this.rahnamayTasviri = this._sanitizer.bypassSecurityTrustResourceUrl(mo[$FieldDict['راهنمای تصویری']]);
119
+ if (this.rahnamayTasviri) {
120
+ this.israhnamayTasviri = true;
121
+ }
122
+ // this.firstArray = filteredControls.slice(0, controlCountMiddle);
123
+ // this.secondArray = filteredControls.slice(controlCountMiddle, controlCount);
124
+ this.khadamatmortabet = mo[$FieldDict['خدمات مرتبط']]?.MoDataList ?? [];
125
+ this.khadamatmortabetReport = mo[$FieldDict['خدمات مرتبط']];
126
+ // this.isOdd = controlCount % 2 === 0;
127
+ this.isOdd = false;
128
+ }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskServcieDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskServcieDetailComponent, selector: "bdc-service-desk-servcie-detail", viewQueries: [{ propertyName: "tabContainerRef", first: true, predicate: ["tabContainerRef"], descendants: true }, { propertyName: "tablesRef", predicate: ["tablesRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "pipe", type: i7.MoValuePipe, name: "val" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i7.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskServcieDetailComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n } @if ('\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\" [config]=\"configUi\"></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if ('\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94; as configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n @if ('SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94; as configUi) {\r\n <fd-tab [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\r\n <fd-dynamic-page-content>\r\n @if (configUi) {\r\n <bsu-layout-control\r\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n }\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n @for (controlItem of array; track controlItem) {\r\n <tr>\r\n <th>{{ controlItem.caption | bbbTranslate }}</th>\r\n <td>\r\n @switch (controlItem.type) { @case ('Link') {\r\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{ mo[controlItem.fieldName] }}</a>\r\n } @case ('Relation') {\r\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}\r\n } @case ('MoList') { @for (item of mo[controlItem.fieldName]?.MoDataList; track item) {\r\n <div class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n } } @case ('Image') {\r\n {{ mo[controlItem.fieldName].Ext }}\r\n } @case ('Files') {\r\n {{ mo[controlItem.fieldName].Files }}\r\n } @default {\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\r\n } }\r\n </td>\r\n </tr>\r\n }\r\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container> -->\r\n </table>\r\n</ng-template>\r\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"] }]
135
+ }], propDecorators: { tabContainerRef: [{
136
+ type: ViewChild,
137
+ args: ['tabContainerRef']
138
+ }], tablesRef: [{
139
+ type: ViewChildren,
140
+ args: ['tablesRef']
141
+ }] } });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxRQUFRLEVBR1Isc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUNoQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFROUIsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHNCQUFzQjtJQU43RTs7UUFVSSxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFLakIsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FzSDdCO0lBbEhHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFF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QUM7UUFDbEMsQ0FBQztRQUVELG1FQUFtRTtRQUNuRSwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFNUQsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OEdBcElRLGlDQUFpQztrR0FBakMsaUNBQWlDLDhSQ3ZCOUMsdW9WQXNMQTs7MkZEL0phLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgRm9ybVByb3BzQmFzZUNvbXBvbmVudCxcclxuICAgIEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0XHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza1NlcnZjaWVEZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYmxlc1JlZicpIHRhYmxlc1JlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgZmlsdGVyZWRDb250cm9sczogRmllbGRzSW5mb1tdO1xyXG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICBzZWNvbmRBcnJheTogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICB2YWx1ZVNoYXJoS2hlZG1hdDogYW55O1xyXG4gICAgbW9CeUNhcHRpb24gPSB7fTtcclxuICAgIGtoYWRhbWF0bW9ydGFiZXQ6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIHNlcnZpY2VzOiBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFtdO1xyXG4gICAgY29udHJvbENvdW50OiBudW1iZXI7XHJcbiAgICBpc09kZDogYm9vbGVhbjtcclxuICAgIGZpZWxkc0NhcHRpb246IEZpZWxkc0luZm9bXSA9IFtdO1xyXG4gICAgdmFsdWUgPSAnJztcclxuICAgIHJhaG5hbWF5VGFzdmlyaTogYW55O1xyXG4gICAgaXNyYWhuYW1heVRhc3ZpcmkgPSBmYWxzZTtcclxuICAgIHNlbGVjdGVkVGFiOiBudW1iZXI7XHJcbiAgICBraGFkYW1hdG1vcnRhYmV0UmVwb3J0OiB7IFJlcG9ydElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH07XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IHRoaXMuZmllbGREaWN0O1xyXG4gICAgICAgIGlmICghJEZpZWxkRGljdCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3ByZXBhcmUoJEZpZWxkRGljdCwgdGhpcy5tbyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Eb3dubG9hZChpdGVtKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGl0ZW0uQXR0YWNobWVudCkge1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uRmlsZS5Eb3dubG9hZEZpbGVJZChpdGVtLkF0dGFjaG1lbnQuRmlsZXNbMF0uSWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5hbGlnblRhYmxlc1RyKCk7XHJcbiAgICB9XHJcbiAgICBvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSk6IHZvaWQge1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7XHJcbiAgICAgICAgICAgIE1vSWQ6IGl0ZW0uSWQsXHJcbiAgICAgICAgICAgIFR5cGVEZWZJZDogdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0LlR5cGVEZWZJZCxcclxuICAgICAgICAgICAgTW9Db250ZXh0OiB7IFJlcG9ydElkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuUmVwb3J0SWQgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBhbGlnblRhYmxlc1RyKCk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZXNSZWYgPSB0aGlzLnRhYmxlc1JlZi50b0FycmF5KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGFibGVFbCA9IHRhYmxlc1JlZlswXS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBzZWNvbmRUYWJsZUVsID0gdGFibGVzUmVmWzFdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB0ckZpcnN0VGFibGUgPSBmaXJzdFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICAgICAgICAgICAgY29uc3QgdHJTZWNvbmRUYWJsZSA9IHNlY29uZFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuXHJcbiAgICAgICAgICAgIHRyRmlyc3RUYWJsZS5mb3JFYWNoKCh0ciwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IHRyU2Vjb25kVGFibGUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJTZWNvbmQgPSB0clNlY29uZFRhYmxlW2luZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHIub2Zmc2V0SGVpZ2h0ID4gdHJTZWNvbmQub2Zmc2V0SGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyU2Vjb25kLnN0eWxlLmhlaWdodCA9IGAke3RyLm9mZnNldEhlaWdodH1weGA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7dHJTZWNvbmQub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmUoJEZpZWxkRGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZWZ0c2lkZSA9IEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0KHRoaXMubGF5b3V0OTQsICfYrNiv2YjZhCDahtm+Jyk7XHJcbiAgICAgICAgY29uc3QgcmlnaHRzaWRlID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5sYXlvdXQ5NCwgJ9is2K/ZiNmEINix2KfYs9iqJyk7XHJcblxyXG4gICAgICAgIGxlZnRzaWRlPy5pdGVtc1swXT8uaXRlbXM/LmZvckVhY2goKGl0ZW0yKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW0yLkNhcHRpb247XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGl0ZW0yLkNvbnRyb2xJZDtcclxuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAga2V5ID09PSAn2KLYr9ix2LMg2LPYp9uM2KonIHx8XHJcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vW2ZpZWxkTmFtZV0uc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSkpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbW9bZmllbGROYW1lXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdNb0xpc3QnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRmlsZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnRmlsZXMnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnUmVsYXRpb24nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RBcnJheS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJpZ2h0c2lkZT8uaXRlbXNbMF0/Lml0ZW1zPy5mb3JFYWNoKChpdGVtMikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtMi5DYXB0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBpdGVtMi5Db250cm9sSWQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW06IEZpZWxkc0luZm8gPSB7IGNhcHRpb246IGtleSwgZmllbGROYW1lIH07XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGtleSA9PT0gJ9ii2K/YsdizINiz2KfbjNiqJyB8fFxyXG4gICAgICAgICAgICAgICAgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnc3RyaW5nJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdMaW5rJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobW9bZmllbGROYW1lXS4kVHlwZSA9PT0gJ0NvbW1vbi5NZXRhT2JqZWN0TGlzdFdlYicpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9bZmllbGROYW1lXS5FeHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnSW1hZ2UnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0ZpbGVzJztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlY29uZEFycmF5LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yYWhuYW1heVRhc3ZpcmkgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG1vWyRGaWVsZERpY3RbJ9ix2KfZh9mG2YXYp9uMINiq2LXZiNuM2LHbjCddXSk7XHJcbiAgICAgICAgaWYgKHRoaXMucmFobmFtYXlUYXN2aXJpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNyYWhuYW1heVRhc3ZpcmkgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xyXG4gICAgICAgIC8vIHRoaXMuc2Vjb25kQXJyYXkgPSBmaWx0ZXJlZENvbnRyb2xzLnNsaWNlKGNvbnRyb2xDb3VudE1pZGRsZSwgY29udHJvbENvdW50KTtcclxuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV0/Lk1vRGF0YUxpc3QgPz8gW107XHJcbiAgICAgICAgdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0ID0gbW9bJEZpZWxkRGljdFsn2K7Yr9mF2KfYqiDZhdix2KrYqNi3J11dO1xyXG5cclxuICAgICAgICAvLyB0aGlzLmlzT2RkID0gY29udHJvbENvdW50ICUgMiA9PT0gMDtcclxuICAgICAgICB0aGlzLmlzT2RkID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuaW50ZXJmYWNlIEZpZWxkc0luZm8ge1xyXG4gICAgdHlwZT86IHN0cmluZztcclxuICAgIGNhcHRpb246IHN0cmluZztcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nO1xyXG59XHJcbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxyXG4gICAgPGZkLXRhYi1saXN0XHJcbiAgICAgICAgW2NvbGxhcHNlT3ZlcmZsb3ddPVwidHJ1ZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiXHJcbiAgICAgICAgbWF4Q29udGVudEhlaWdodD1cImF1dG9cIlxyXG4gICAgICAgIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAjdGFibGlzdFxyXG4gICAgPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifYtNmG2KfYs9mG2KfZhdmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiIHNlbGVjdGVkPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCI2XCIgW2NvbExnXT1cIjZcIiBbY29sWGxdPVwiNlwiIHN0eWxlPVwicGFkZGluZzogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclRhYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaXJzdEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogaXNPZGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM6ICdmaXJzdFRhYmxlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNlwiIFtjb2xYbF09XCI2XCIgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNlY29uZEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogIWlzT2RkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnc2Vjb25kVGFibGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9m+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2b7bjNi02YbbjNin2LLZh9in24wg2KfYrtiwINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9m+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifYtNix2KfZiti3INin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mF2LHYp9it2YQg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfSBAaWYgKCfZgdix2KLbjNmG2K8g2YXYrNmI2LInIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2wgW2NhcHRpb25dPVwiJ9mB2LHYotuM2YbYryDZhdis2YjYsicgfCBiYmJUcmFuc2xhdGVcIiBbY29uZmlnXT1cImNvbmZpZ1VpXCI+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZhdiv2KfYsdqpINmF2YjYsdivINmG24zYp9iyINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mH2LLbjNmG2Ycg2YfYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mI2KfYrdiv2YfYp9uMINin2LHYp9im2Ycg2K/Zh9mG2K/ZhyDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgQGlmICgn2YjYp9it2K/Zh9in24wg2LPYp9iy2YXYp9mG24wg2KfYsdin2KbZhyDYr9mH2YbYr9mHJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQ7IGFzIGNvbmZpZ1VpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXHJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mI2KfYrdiv2YfYp9uMINiz2KfYstmF2KfZhtuMINin2LHYp9im2Ycg2K/Zh9mG2K/ZhycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG5cclxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2K/Ys9iq2q/Yp9mHINmH2KfbjCDYp9iz2KrYudmE2KfZhSDYr9mH2YbYr9mHJyB8IGJiYlRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICBAaWYgKCfYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG4gICAgICAgIEBpZiAoJ1NMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0OyBhcyBjb25maWdVaSkge1xyXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIidTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIEBpZiAoY29uZmlnVWkpIHtcclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCInU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgfVxyXG4gICAgPC9mZC10YWItbGlzdD5cclxuXHJcbiAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj4gPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxyXG48L2ZkLWR5bmFtaWMtcGFnZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFibGUgbGV0LWFycmF5IGxldC1zaG93S2hhZGFtYXRNb3J0YWJldD1cInNob3dLaGFkYW1hdE1vcnRhYmV0XCIgbGV0LWNsYXNzTmFtZXM9XCJjbGFzc05hbWVzXCI+XHJcbiAgICA8dGFibGUgI3RhYmxlc1JlZiBjbGFzcz1cInRhYmxlLWdyaWRcIiBbbmdDbGFzc109XCJjbGFzc05hbWVzXCI+XHJcbiAgICAgICAgQGZvciAoY29udHJvbEl0ZW0gb2YgYXJyYXk7IHRyYWNrIGNvbnRyb2xJdGVtKSB7XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGg+e3sgY29udHJvbEl0ZW0uY2FwdGlvbiB8IGJiYlRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIEBzd2l0Y2ggKGNvbnRyb2xJdGVtLnR5cGUpIHsgQGNhc2UgKCdMaW5rJykge1xyXG4gICAgICAgICAgICAgICAgPGEgZGlyPVwibHRyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwibW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVwiPnt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0gfX08L2E+XHJcbiAgICAgICAgICAgICAgICB9IEBjYXNlICgnUmVsYXRpb24nKSB7XHJcbiAgICAgICAgICAgICAgICB7eyBjb250cm9sSXRlbS5maWVsZE5hbWUgfCB2YWw6IG1vOnRydWUgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIH0gQGNhc2UgKCdNb0xpc3QnKSB7IEBmb3IgKGl0ZW0gb2YgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXT8uTW9EYXRhTGlzdDsgdHJhY2sgaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCJmZC1pY29uLWxpbmtcIiBbZ2x5cGhdPVwiJ2NoYWluLWxpbmsnXCIgc3R5bGU9XCJjb2xvcjogIzA4NTRhMFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidwZGYtYXR0YWNobWVudCdcIj48L2ZkLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkRvd25sb2FkKGl0ZW0pXCI+e3sgaXRlbS4kQ2FwdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfSB9IEBjYXNlICgnSW1hZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdLkV4dCB9fVxyXG4gICAgICAgICAgICAgICAgfSBAY2FzZSAoJ0ZpbGVzJykge1xyXG4gICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5GaWxlcyB9fVxyXG4gICAgICAgICAgICAgICAgfSBAZGVmYXVsdCB7XHJcbiAgICAgICAgICAgICAgICB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWUgKyAnJENhcHRpb24nXSB8fCBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdIHwgYmJiVHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICB9IH1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGg+2K7Yr9mF2KfYqiDZhdix2KrYqNi3PC90aD5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGtoYWRhbWF0bW9ydGFiZXRcIj5cclxuICAgICAgICAgIDxhIChjbGljayk9XCJvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSlcIj57eyBpdGVtLiRDYXB0aW9uIH19PC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICA8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=