@annalib/anna-core 1.0.0 → 1.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 (201) hide show
  1. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +6 -6
  2. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +35 -0
  3. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +6 -6
  4. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +6 -6
  5. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +6 -6
  6. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +4 -4
  7. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +6 -6
  8. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +3 -2
  9. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +281 -0
  10. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  11. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +1 -1
  12. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +1 -1
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-manage-users.model.mjs +8 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +11 -3
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -2
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +5 -3
  17. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  18. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +23 -8
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  21. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +52 -34
  22. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +165 -260
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +95 -8
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +4 -5
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +41 -0
  26. package/esm2020/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +60 -0
  27. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +12 -6
  28. package/esm2020/lib/anna-core.module.mjs +178 -0
  29. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +23 -12
  30. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +27 -23
  31. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1105 -580
  32. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +29 -20
  33. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +7 -7
  34. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +5 -5
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +3 -3
  36. package/esm2020/public-api.mjs +48 -4
  37. package/fesm2015/annalib-anna-core.mjs +3989 -2922
  38. package/fesm2015/annalib-anna-core.mjs.map +1 -1
  39. package/fesm2020/annalib-anna-core.mjs +3956 -2893
  40. package/fesm2020/annalib-anna-core.mjs.map +1 -1
  41. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +1 -1
  42. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  43. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +1 -1
  44. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +1 -1
  45. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +1 -1
  46. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +1 -1
  47. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +1 -1
  48. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +2 -1
  49. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -0
  50. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  51. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +8 -0
  52. package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +1 -0
  53. package/lib/anna-core-shared-lib/models/anna-manage-users.model.d.ts +6 -0
  54. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +44 -2
  55. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +5 -0
  56. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +4 -2
  57. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  58. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +1 -1
  59. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  60. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  61. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -0
  62. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +13 -19
  63. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +20 -4
  64. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +7 -0
  65. package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +8 -0
  66. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +2 -0
  67. package/lib/anna-core.module.d.ts +36 -0
  68. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +8 -6
  69. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +5 -2
  70. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +134 -27
  71. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +8 -5
  72. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +3 -3
  73. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +1 -1
  74. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +1 -1
  75. package/package.json +11 -34
  76. package/public-api.d.ts +35 -3
  77. package/src/lib/anna-assets/images/bg-heads.png +0 -0
  78. package/src/lib/anna-common-scss/_animate.scss +27 -0
  79. package/src/lib/anna-common-scss/_application-spacing.scss +6 -0
  80. package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +25 -0
  81. package/src/lib/anna-common-scss/_colors.scss +107 -0
  82. package/src/lib/anna-common-scss/_customDropdown.scss +129 -0
  83. package/src/lib/anna-common-scss/_dashboard-partials.scss +104 -0
  84. package/src/lib/anna-common-scss/_date-picker-form.scss +87 -0
  85. package/src/lib/anna-common-scss/_filters.scss +641 -0
  86. package/src/lib/anna-common-scss/_font.scss +10 -0
  87. package/src/lib/anna-common-scss/_fonts.scss +86 -0
  88. package/src/lib/anna-common-scss/_generic-table-common.scss +112 -0
  89. package/src/lib/anna-common-scss/_legend.scss +11 -0
  90. package/src/lib/anna-common-scss/_mixins.scss +188 -0
  91. package/src/lib/anna-common-scss/_modal.scss +37 -0
  92. package/src/lib/anna-common-scss/_ng-select.scss +176 -0
  93. package/src/lib/anna-common-scss/_sort.scss +30 -0
  94. package/src/lib/anna-common-scss/_toggle.scss +84 -0
  95. package/src/lib/anna-common-scss/style.scss +1 -0
  96. package/esm2020/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +0 -59
  97. package/esm2020/lib/anna-core-shared-lib/index.mjs +0 -2
  98. package/esm2020/lib/anna-core-shared-lib/public-api.mjs +0 -26
  99. package/esm2020/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +0 -43
  100. package/esm2020/lib/anna-dropdown-lib/index.mjs +0 -2
  101. package/esm2020/lib/anna-dropdown-lib/public-api.mjs +0 -6
  102. package/esm2020/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +0 -86
  103. package/esm2020/lib/anna-generic-table-lib/index.mjs +0 -2
  104. package/esm2020/lib/anna-generic-table-lib/public-api.mjs +0 -10
  105. package/esm2020/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +0 -59
  106. package/esm2020/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -5
  107. package/esm2020/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
  108. package/esm2020/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
  109. package/esm2020/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  110. package/esm2020/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -15
  111. package/esm2020/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -21
  112. package/esm2020/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
  113. package/esm2020/src/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -34
  114. package/esm2020/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  115. package/esm2020/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  116. package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -3
  117. package/esm2020/src/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -2
  118. package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +0 -28
  119. package/esm2020/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -31
  120. package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +0 -26
  121. package/esm2020/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -180
  122. package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -588
  123. package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -48
  124. package/esm2020/src/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -133
  125. package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -145
  126. package/esm2020/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +0 -43
  127. package/esm2020/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -5
  128. package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -90
  129. package/esm2020/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -360
  130. package/esm2020/src/lib/anna-dropdown-lib/public-api.mjs +0 -6
  131. package/esm2020/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +0 -86
  132. package/esm2020/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -5
  133. package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -1392
  134. package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -55
  135. package/esm2020/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
  136. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -189
  137. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +0 -2
  138. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
  139. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +0 -2
  140. package/esm2020/src/lib/anna-generic-table-lib/public-api.mjs +0 -10
  141. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -1307
  142. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +0 -1
  143. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -486
  144. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +0 -1
  145. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -2222
  146. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +0 -1
  147. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -1307
  148. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +0 -1
  149. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -484
  150. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +0 -1
  151. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -2221
  152. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +0 -1
  153. package/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +0 -14
  154. package/lib/anna-core-shared-lib/index.d.ts +0 -1
  155. package/lib/anna-core-shared-lib/public-api.d.ts +0 -19
  156. package/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +0 -11
  157. package/lib/anna-dropdown-lib/index.d.ts +0 -1
  158. package/lib/anna-dropdown-lib/public-api.d.ts +0 -3
  159. package/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +0 -21
  160. package/lib/anna-generic-table-lib/index.d.ts +0 -1
  161. package/lib/anna-generic-table-lib/public-api.d.ts +0 -6
  162. package/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +0 -14
  163. package/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.d.ts +0 -5
  164. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +0 -8
  165. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +0 -8
  166. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +0 -11
  167. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +0 -8
  168. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +0 -11
  169. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +0 -8
  170. package/src/lib/anna-core-shared-lib/constants/shared.constant.d.ts +0 -32
  171. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +0 -8
  172. package/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +0 -95
  173. package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +0 -70
  174. package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +0 -6
  175. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +0 -23
  176. package/src/lib/anna-core-shared-lib/package.json +0 -10
  177. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +0 -9
  178. package/src/lib/anna-core-shared-lib/public-api.d.ts +0 -19
  179. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +0 -25
  180. package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +0 -80
  181. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +0 -14
  182. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +0 -21
  183. package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +0 -14
  184. package/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +0 -11
  185. package/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.d.ts +0 -5
  186. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +0 -32
  187. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +0 -67
  188. package/src/lib/anna-dropdown-lib/package.json +0 -10
  189. package/src/lib/anna-dropdown-lib/public-api.d.ts +0 -3
  190. package/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +0 -21
  191. package/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.d.ts +0 -5
  192. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +0 -191
  193. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +0 -14
  194. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +0 -141
  195. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +0 -89
  196. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +0 -1
  197. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +0 -45
  198. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +0 -1
  199. package/src/lib/anna-generic-table-lib/package.json +0 -10
  200. package/src/lib/anna-generic-table-lib/public-api.d.ts +0 -6
  201. /package/{annalib-anna-core.d.ts → index.d.ts} +0 -0
@@ -1,16 +1,21 @@
1
1
  // Angular import statements
2
2
  import { Injectable } from "@angular/core";
3
+ import { ActivatedRoute, Router } from '@angular/router';
3
4
  // Third party import statements
4
5
  import { Subject } from "rxjs";
6
+ import { cloneDeep } from "lodash-es";
5
7
  //sub-entries of anna lib import statement
6
8
  import { AnnaFilterService } from "./anna-filter.service";
7
9
  import { AnnaSortService } from "./anna-sort.service";
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "./anna-filter.service";
10
- import * as i2 from "./anna-sort.service";
11
- export class AnnaGenericTableService {
12
- constructor(annaFilterService, annaSortService) {
12
+ import * as i2 from "@angular/router";
13
+ import * as i3 from "./anna-sort.service";
14
+ export class AnnaGtHelperService {
15
+ constructor(annaFilterService, router, route, annaSortService) {
13
16
  this.annaFilterService = annaFilterService;
17
+ this.router = router;
18
+ this.route = route;
14
19
  this.annaSortService = annaSortService;
15
20
  this.virtualScrollSubject = new Subject();
16
21
  }
@@ -36,13 +41,95 @@ export class AnnaGenericTableService {
36
41
  this.annaSortService.columnSortState = new Map();
37
42
  this.annaSortService.noSortingAppliedData = [];
38
43
  }
44
+ enableOrDisableClearAllBtn() {
45
+ let isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
46
+ let isSortApplied = this.isSortingAppliedToTable();
47
+ return isFilterApplied || isSortApplied ? false : true;
48
+ }
49
+ updateFiltersInURL() {
50
+ let latestQueryParams = this.prepareQueryParamsOnFilter();
51
+ this.router.navigate([], {
52
+ queryParams: { filters: JSON.stringify(latestQueryParams) },
53
+ relativeTo: this.route.parent,
54
+ queryParamsHandling: 'merge'
55
+ });
56
+ }
57
+ prepareQueryParamsOnFilter() {
58
+ if (!this.annaFilterService.appliedFiltersArray.length &&
59
+ !this.annaFilterService.tooltipSelectedMap.size &&
60
+ !this.annaSortService.columnSortState.size) {
61
+ return null;
62
+ }
63
+ let query = {
64
+ appliedFilters: this.annaFilterService.appliedFiltersArray,
65
+ selectedFilterData: JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap)),
66
+ sortState: JSON.stringify(Array.from(this.annaSortService.columnSortState))
67
+ };
68
+ return query;
69
+ }
70
+ initTableFilters(clonedTableData) {
71
+ this.annaFilterService.tooltipSelectedMap = new Map();
72
+ this.annaFilterService.selectedRadio = null;
73
+ this.annaFilterService.appliedFiltersArray = [];
74
+ this.annaSortService.columnSortState = new Map();
75
+ this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
76
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
77
+ }
78
+ initFilters() {
79
+ this.annaFilterService.tooltipSelectedMap = new Map();
80
+ this.annaFilterService.appliedFiltersArray = [];
81
+ }
82
+ setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
83
+ let usersTable;
84
+ if (isPersistingFilter) {
85
+ usersTable = this.annaFilterService.filterData(clonedTable, "");
86
+ this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
87
+ this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
88
+ this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
89
+ usersTable = this.callSort(usersTable);
90
+ }
91
+ else {
92
+ usersTable = clonedTable;
93
+ this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
94
+ }
95
+ return usersTable;
96
+ }
97
+ callSort(usersTable) {
98
+ for (let [key, value] of this.annaSortService.columnSortState) {
99
+ if (value == "ASC") {
100
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
101
+ }
102
+ else if (value == "DESC") {
103
+ usersTable = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
104
+ }
105
+ }
106
+ return usersTable;
107
+ }
108
+ isSortingAppliedToTable() {
109
+ let isSortingApplied = false;
110
+ for (let val of this.annaSortService.columnSortState.values()) {
111
+ if (val == "ASC" || val == "DESC") {
112
+ isSortingApplied = true;
113
+ }
114
+ }
115
+ return isSortingApplied;
116
+ }
117
+ updateQueryParamsFilter(key, value, operation, queryParamObj) {
118
+ if (operation == "ADD") {
119
+ queryParamObj[key] = value;
120
+ }
121
+ else if (operation == "DELETE") {
122
+ delete queryParamObj[key];
123
+ }
124
+ return queryParamObj;
125
+ }
39
126
  }
40
- AnnaGenericTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, deps: [{ token: i1.AnnaFilterService }, { token: i2.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AnnaGenericTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, providedIn: "root" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGenericTableService, decorators: [{
127
+ AnnaGtHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable });
128
+ AnnaGtHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGtHelperService, decorators: [{
43
130
  type: Injectable,
44
131
  args: [{
45
132
  providedIn: "root",
46
133
  }]
47
- }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.AnnaSortService }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxnQ0FBZ0M7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQiwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBS3RELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsaUJBQW9DLEVBQVMsZUFBZ0M7UUFBN0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQURqRyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzhELENBQUM7SUFFcEcsd0NBQXdDLENBQUMsWUFBbUI7UUFDMUQsSUFBSSx1QkFBdUIsR0FBWSxFQUFFLENBQUM7UUFDMUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7b0JBQy9CLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFBO2dCQUNGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7b0hBM0JVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8vc3ViLWVudHJpZXMgb2YgYW5uYSBsaWIgaW1wb3J0IHN0YXRlbWVudFxyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VydmljZSB9IGZyb20gXCIuL2FubmEtZmlsdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYVNvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1zb3J0LnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHZW5lcmljVGFibGVTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLHByaXZhdGUgYW5uYVNvcnRTZXJ2aWNlOiBBbm5hU29ydFNlcnZpY2Upe31cclxuXHJcbiAgY2FsY3VsYXRlTnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnNGb3JUYWJsZSh0YWJsZUhlYWRlcnM6IGFueVtdKTogbnVtYmVyW11bXSB7XHJcbiAgICBsZXQgbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM6IGFueVtdW10gPSBbXTtcclxuICAgIHZhciBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgIHRhYmxlSGVhZGVycy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgIGNvbHVtbi5oZWFkZXJJbmZvLmZvckVhY2goKCkgPT4ge1xyXG4gICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uKys7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBudW1iZXJPZlNrZWxldG9uQ29sdW1ucztcclxuICB9XHJcblxyXG4gIGluaXRDb2x1bW5GaWx0ZXJBbmRTb3J0aW5nKCkge1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnNlbGVjdGVkUmFkaW8gPSBudWxsO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5ID0gW107XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gW107XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
134
+ }], ctorParameters: function () { return [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }]; } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEMsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDFDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNckMsQ0FBQztJQUVELHdDQUF3QyxDQUFDLFlBQW1CO1FBQzFELElBQUksdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixJQUFJLE1B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QjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG4vL3N1Yi1lbnRyaWVzIG9mIGFubmEgbGliIGltcG9ydCBzdGF0ZW1lbnRcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLWZpbHRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFubmFTb3J0U2VydmljZSB9IGZyb20gXCIuL2FubmEtc29ydC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR3RIZWxwZXJTZXJ2aWNlIHtcclxuXHJcbiAgdmlydHVhbFNjcm9sbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhbm5hRmlsdGVyU2VydmljZTogQW5uYUZpbHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGFubmFTb3J0U2VydmljZTogQW5uYVNvcnRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVOdW1iZXJPZlNrZWxldG9uQ29sdW1uc0ZvclRhYmxlKHRhYmxlSGVhZGVyczogYW55W10pOiBudW1iZXJbXVtdIHtcclxuICAgIGxldCBudW1iZXJPZlNrZWxldG9uQ29sdW1uczogYW55W11bXSA9IFtdO1xyXG4gICAgdmFyIGhlYWRlcnNJbkVhY2hDb2x1bW4gPSAwO1xyXG4gICAgdGFibGVIZWFkZXJzLmZvckVhY2goKGNvbHVtbikgPT4ge1xyXG4gICAgICBpZiAoY29sdW1uLnZpc2libGUpIHtcclxuICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgICAgICBjb2x1bW4uaGVhZGVySW5mby5mb3JFYWNoKCgpID0+IHtcclxuICAgICAgICAgIGhlYWRlcnNJbkVhY2hDb2x1bW4rKztcclxuICAgICAgICB9KVxyXG4gICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBpbml0Q29sdW1uRmlsdGVyQW5kU29ydGluZygpIHtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gbnVsbDtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5pbml0aWFsVmFsdWVNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKCk7XHJcbiAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IFtdO1xyXG4gIH1cclxuXHJcblxyXG4gIGVuYWJsZU9yRGlzYWJsZUNsZWFyQWxsQnRuKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzRmlsdGVyQXBwbGllZCA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwO1xyXG4gICAgbGV0IGlzU29ydEFwcGxpZWQgPSB0aGlzLmlzU29ydGluZ0FwcGxpZWRUb1RhYmxlKCk7XHJcblxyXG4gICAgcmV0dXJuIGlzRmlsdGVyQXBwbGllZCB8fCBpc1NvcnRBcHBsaWVkID8gZmFsc2UgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRmlsdGVyc0luVVJMKCkge1xyXG4gICAgbGV0IGxhdGVzdFF1ZXJ5UGFyYW1zID0gdGhpcy5wcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHsgZmlsdGVyczogSlNPTi5zdHJpbmdpZnkobGF0ZXN0UXVlcnlQYXJhbXMpIH0sXHJcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUucGFyZW50LFxyXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByZXBhcmVRdWVyeVBhcmFtc09uRmlsdGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkubGVuZ3RoICYmXHJcbiAgICAgICF0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcC5zaXplICYmXHJcbiAgICAgICF0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuc2l6ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcXVlcnkgPSB7XHJcbiAgICAgIGFwcGxpZWRGaWx0ZXJzOiB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXksXHJcbiAgICAgIHNlbGVjdGVkRmlsdGVyRGF0YTogSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCkpLFxyXG4gICAgICBzb3J0U3RhdGU6IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKSlcclxuICAgIH1cclxuICAgIHJldHVybiBxdWVyeTtcclxuICB9XHJcblxyXG4gIGluaXRUYWJsZUZpbHRlcnMoY2xvbmVkVGFibGVEYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gbnVsbDtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG5cclxuICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcChjbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS51cGRhdGVTdGF0ZU9mQWxsVGhlS2V5cyh0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgaW5pdEZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YUFzUGVyUGVyc2lzdGluZ0ZpbHRlcihpc1BlcnNpc3RpbmdGaWx0ZXI6IGJvb2xlYW4sIGNsb25lZFRhYmxlOiBhbnksIGZpbHRlcnM6IGFueSk6IGFueSB7XHJcbiAgICBsZXQgdXNlcnNUYWJsZTtcclxuICAgIGlmIChpc1BlcnNpc3RpbmdGaWx0ZXIpIHtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuZmlsdGVyRGF0YShjbG9uZWRUYWJsZSwgXCJcIik7XHJcbiAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG5cclxuICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcChKU09OLnBhcnNlKGZpbHRlcnMuc29ydFN0YXRlKSk7XHJcbiAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdXNlcnNUYWJsZSA9IGNsb25lZFRhYmxlO1xyXG4gICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gIH1cclxuXHJcbiAgY2FsbFNvcnQodXNlcnNUYWJsZTogYW55KTogYW55IHtcclxuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUpIHtcclxuICAgICAgaWYgKHZhbHVlID09IFwiQVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHVzZXJzVGFibGUsIGtleSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWUgPT0gXCJERVNDXCIpIHtcclxuICAgICAgICB1c2Vyc1RhYmxlID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB1c2Vyc1RhYmxlLCBrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlcnNUYWJsZTtcclxuICB9XHJcblxyXG4gIGlzU29ydGluZ0FwcGxpZWRUb1RhYmxlKCkge1xyXG4gICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuICAgIGZvciAobGV0IHZhbCBvZiB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUudmFsdWVzKCkpIHtcclxuICAgICAgaWYgKHZhbCA9PSBcIkFTQ1wiIHx8IHZhbCA9PSBcIkRFU0NcIikge1xyXG4gICAgICAgIGlzU29ydGluZ0FwcGxpZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlzU29ydGluZ0FwcGxpZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVRdWVyeVBhcmFtc0ZpbHRlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgb3BlcmF0aW9uOiBcIkFERFwiIHwgXCJERUxFVEVcIiwgcXVlcnlQYXJhbU9iajogYW55KSB7XHJcbiAgICBpZiAob3BlcmF0aW9uID09IFwiQUREXCIpIHtcclxuICAgICAgcXVlcnlQYXJhbU9ialtrZXldID0gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PSBcIkRFTEVURVwiKSB7XHJcbiAgICAgIGRlbGV0ZSBxdWVyeVBhcmFtT2JqW2tleV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcXVlcnlQYXJhbU9iajtcclxuICB9XHJcbn1cclxuIl19
@@ -5,7 +5,6 @@ export class AnnaGlobalConfigService {
5
5
  Initializing all default settings
6
6
  */
7
7
  constructor() {
8
- console.log("AnnaGlobalConfigService service created.");
9
8
  this.defaultAngular2MultiSelectSettings = {
10
9
  text: "Select option",
11
10
  selectAllText: "Select All",
@@ -122,12 +121,12 @@ export class AnnaGlobalConfigService {
122
121
  this.defaultMultiSelectConfig = { ...this.defaultSingleSelectConfig, ...{ showErrorWhenNoOptionSelected: true } };
123
122
  }
124
123
  }
125
- AnnaGlobalConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
126
- AnnaGlobalConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" });
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
124
+ AnnaGlobalConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
125
+ AnnaGlobalConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
128
127
  type: Injectable,
129
128
  args: [{
130
129
  providedIn: "root",
131
130
  }]
132
131
  }], ctorParameters: function () { return []; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXNCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQ0FBa0MsR0FBRztZQUN0QyxJQUFJLEVBQUUsZUFBZTtZQUNyQixhQUFhLEVBQUUsWUFBWTtZQUMzQixlQUFlLEVBQUUsY0FBYztZQUMvQixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsS0FBSztZQUN0QixPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsY0FBYyxFQUFFLElBQUk7WUFDcEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsS0FBSztZQUNsQixZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsR0FBRztZQUNkLHFCQUFxQixFQUFFLElBQUk7U0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyx1QkFBdUIsR0FBRztZQUMzQixLQUFLLEVBQUUsV0FBVztZQUNsQixpQkFBaUIsRUFBRSxVQUFVO1lBQzdCLGlCQUFpQixFQUFFLFNBQVM7WUFDNUIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixpQkFBaUIsRUFBRSxLQUFLO1NBQzNCLENBQUM7UUFFRixJQUFJLENBQUMs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LElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUMsNkJBQTZCLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQztJQUNsSCxDQUFDOztvSEFsSlEsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTsyRkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgICBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzLFxyXG4gICAgSU5neEFzaWRlU2V0dGluZ3MsXHJcbiAgICBJTmdiRGF0ZVBpY2tlclNldHRpbmdzLFxyXG4gICAgSU5nU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxuICAgIElDdXN0b21TaW5nbGVTZWxlY3QsXHJcbiAgICBJQ3VzdG9tTXVsdGlTZWxlY3QsXHJcbn0gZnJvbSBcIi4uL21vZGVscy9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHtcclxuICAgIElHdEhlYWRlckNvbmZpZyxcclxuICAgIElHdEdlbmVyYWxDb25maWdcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2Ugc2VydmljZSBjcmVhdGVkLlwiKTtcclxuICAgICAgICB0aGlzLmRlZmF1bHRBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIHRleHQ6IFwiU2VsZWN0IG9wdGlvblwiLFxyXG4gICAgICAgICAgICBzZWxlY3RBbGxUZXh0OiBcIlNlbGVjdCBBbGxcIixcclxuICAgICAgICAgICAgdW5TZWxlY3RBbGxUZXh0OiBcIlVuU2VsZWN0IEFsbFwiLFxyXG4gICAgICAgICAgICBiYWRnZVNob3dMaW1pdDogMSxcclxuICAgICAgICAgICAgc2luZ2xlU2VsZWN0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgY2xhc3NlczogXCJmaWx0ZXItZHJvcGRvd25zXCIsXHJcbiAgICAgICAgICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgZW5hYmxlQ2hlY2tBbGw6IHRydWUsXHJcbiAgICAgICAgICAgIGF1dG9Qb3NpdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiYm90dG9tXCIsXHJcbiAgICAgICAgICAgIGxhenlMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0NoZWNrYm94OiB0cnVlLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IDMwMCxcclxuICAgICAgICAgICAgZW5hYmxlRmlsdGVyU2VsZWN0QWxsOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEFzaWRlU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnXCJGaWx0ZXJzXCInLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UaXRsZTogJ1wiQ2FuY2VsXCInLFxyXG4gICAgICAgICAgICBzdWJtaXRCdXR0b25UaXRsZTogJ1wiQXBwbHlcIicsXHJcbiAgICAgICAgICAgIGNsb3NlT25Fc2NhcGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93T3ZlcmxheTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0Rm9vdGVyOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0RlZmF1bHRIZWFkZXI6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgYXV0b0Nsb3NlOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwibW0tZGQteXl5eVwiLFxyXG4gICAgICAgICAgICBkaXNwbGF5TW9udGhzOiAxLFxyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiBmYWxzZSxcclxuICAgICAgICAgICAgcmVhZG9ubHk6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlNlbGVjdFwiLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsRGlzdGFuY2U6IDEsXHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsVXBEaXN0YW5jZTogMixcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxUaHJvdHRsZTogMzAwLFxyXG4gICAgICAgICAgICBzY3JvbGxXaW5kb3c6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Sb3dzOiBBcnJheSg2KS5maWxsKDApLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFJhZGlvQnV0dG9uc0NvbXBvbmVudENvbmZpZyA9IHtcclxuICAgICAgICAgICAgaGVhZGluZzogXCJTZWxlY3QgT3B0aW9uXCIsXHJcbiAgICAgICAgICAgIHJhZGlvQnV0dG9uczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIlllc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdENvbmZpcm1hdGlvblBvcHVwQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJBcmUgeW91IHN1cmUgP1wiLFxyXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxyXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAgICAgICAgd2luZG93Q2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIHNpemU6IFwic21cIixcclxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZyA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDEsXHJcbiAgICAgICAgICAgIHNob3dXZWVrTnVtYmVyczogdHJ1ZSxcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdFRvRGlzcGxheTogXCJkIE1NTSB5XCIsXHJcbiAgICAgICAgICAgIGRhdGVGb3JtYXRGb3JSZXF1ZXN0OiBcInktTU0tZGRcIixcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ6IDIsXHJcbiAgICAgICAgICAgIG51bWJlck9mTW9udGhzVG9FbmFibGVJblBhc3Q6IDEsXHJcbiAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlV2Vla3M6IGZhbHNlLFxyXG4gICAgICAgICAgICBjdXN0b21DbGFzczogXCJcIixcclxuICAgICAgICAgICAgZW1pdE11bHRpcGxlV2Vla09iamVjdHM6IHRydWUsXHJcbiAgICAgICAgICAgIG1heFdlZWtzVG9TZWxlY3Q6IDAsXHJcbiAgICAgICAgICAgIHNob3dBc0Ryb3Bkb3duOiB0cnVlLFxyXG4gICAgICAgICAgICBzZWxlY3RDdXJyZW50V2VlazogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRHdEhlYWRlckNvbmZpZyA9IHtcclxuICAgICAgICAgICAgaWNvbkNvbHVtbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNoZWNrYm94Q29sdW1uOiBmYWxzZSxcclxuICAgICAgICAgICAgbGFzdENvbHVtbktleXM6IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RHZW5lcmFsQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogXCJcIlxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgc2hvd1NlYXJjaEJhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAgXCJTZWxlY3RcIixcclxuICAgICAgICAgICAgY2xhc3NlczogXCJcIixcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiQk9UVE9NXCIsXHJcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHsuLi50aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsIC4uLntzaG93RXJyb3JXaGVuTm9PcHRpb25TZWxlY3RlZDogdHJ1ZX19O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXNCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFXLEVBQUUsWUFBWTtZQUN6QixhQUFhLEVBQUUsQ0FBQztZQUNoQixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsS0FBSztZQUN0QixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxRQUFRO1NBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsZ0NBQWdDLEdBQUc7WUFDcEMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6Qix3QkFBd0IsRUFBRSxDQUFDO1lBQzNCLHNCQUFzQixFQUFFLEdBQUc7WUFDM0IsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRztZQUNwQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO1FBRUYsSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFlBQVksRUFBRTtnQkFDVjtvQkFDSSxLQUFLLEVBQUUsS0FBSztvQkFDWixVQUFVLEVBQUUsS0FBSztvQkFDakIsS0FBSyxFQUFFLEtBQUs7b0JBQ1osS0FBSyxFQUFFLEVBQUU7aUJBQ1o7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLElBQUk7b0JBQ1gsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLEtBQUssRUFBRSxJQUFJO29CQUNYLEtBQUssRUFBRSxFQUFFO2lCQUNaO2FBQ0o7U0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLDhCQUE4QixHQUFHO1lBQ2xDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyx5QkFBeUIsR0FBRztZQUM3QixjQUFjLEVBQUUsQ0FBQztZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixtQkFBbUIsRUFBRSxTQUFTO1lBQzlCLG9CQUFvQixFQUFFLFNBQVM7WUFDL0IsZ0NBQWdDLEVBQUUsQ0FBQztZQUNuQyw0QkFBNEIsRUFBRSxDQUFDO1lBQy9CLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsV0FBVyxFQUFFLEVBQUU7WUFDZix1QkFBdUIsRUFBRSxJQUFJO1lBQzdCLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsY0FBYyxFQUFFLElBQUk7WUFDcEIsaUJBQWlCLEVBQUUsSUFBSTtTQUMxQixDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHO1lBQ3pCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGNBQWMsRUFBRSxFQUFFO1NBQ3JCLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLEdBQUc7WUFDMUIsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLHFCQUFxQixFQUFFLEtBQUs7WUFDNUIsb0NBQW9DLEVBQUUsQ0FBQztZQUN2QyxTQUFTLEVBQUUsS0FBSztZQUNoQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBRUYsSUFBSSxDQUFDLHlCQUF5QixHQUFHO1lBQzdCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFdBQVcsRUFBRyxRQUFRO1lBQ3RCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZUFBZSxFQUFFLEdBQUc7U0FDdkIsQ0FBQTtRQUVELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBQyw2QkFBNkIsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDO0lBQ2xILENBQUM7O29IQWpKUSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZwQixNQUFNOzJGQUVULHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICAgIElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJTmd4QXNpZGVTZXR0aW5ncyxcclxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXHJcbiAgICBJTmdTZWxlY3RTZXR0aW5ncyxcclxuICAgIElOZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzLFxyXG4gICAgSU5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3MsXHJcbiAgICBJUmFkaW9CdXR0b25Db21wb25lbnRDb25maWcsXHJcbiAgICBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcsXHJcbiAgICBJV2Vla0NhbGVuZGFyLFxyXG4gICAgSUN1c3RvbVNpbmdsZVNlbGVjdCxcclxuICAgIElDdXN0b21NdWx0aVNlbGVjdCxcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQge1xyXG4gICAgSUd0SGVhZGVyQ29uZmlnLFxyXG4gICAgSUd0R2VuZXJhbENvbmZpZ1xyXG59IGZyb20gXCIuLi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFHbG9iYWxDb25maWdTZXJ2aWNlIHtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3M6IElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3M7XHJcbiAgICByZWFkb25seSBkZWZhdWx0Tmd4QXNpZGVTZXR0aW5nczogSU5neEFzaWRlU2V0dGluZ3M7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzOiBJTmdiRGF0ZVBpY2tlclNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nU2VsZWN0U2V0dGluZ3M6IElOZ1NlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3M6IElOZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3M6IElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFJhZGlvQnV0dG9uc0NvbXBvbmVudENvbmZpZzogSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdENvbmZpcm1hdGlvblBvcHVwQ29uZmlnOiBJQ29uZmlybWF0aW9uUG9wdXBDb25maWc7XHJcbiAgICByZWFkb25seSBkZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnOiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0SGVhZGVyQ29uZmlnOiBJR3RIZWFkZXJDb25maWc7XHJcbiAgICByZWFkb25seSBkZWZhdWx0R3RHZW5lcmFsQ29uZmlnOiBJR3RHZW5lcmFsQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZzogSUN1c3RvbVNpbmdsZVNlbGVjdDtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZzogSUN1c3RvbU11bHRpU2VsZWN0O1xyXG5cclxuICAgIC8qXHJcbiAgICAgSW5pdGlhbGl6aW5nIGFsbCBkZWZhdWx0IHNldHRpbmdzXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICB0ZXh0OiBcIlNlbGVjdCBvcHRpb25cIixcclxuICAgICAgICAgICAgc2VsZWN0QWxsVGV4dDogXCJTZWxlY3QgQWxsXCIsXHJcbiAgICAgICAgICAgIHVuU2VsZWN0QWxsVGV4dDogXCJVblNlbGVjdCBBbGxcIixcclxuICAgICAgICAgICAgYmFkZ2VTaG93TGltaXQ6IDEsXHJcbiAgICAgICAgICAgIHNpbmdsZVNlbGVjdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiZmlsdGVyLWRyb3Bkb3duc1wiLFxyXG4gICAgICAgICAgICBlbmFibGVTZWFyY2hGaWx0ZXI6IHRydWUsXHJcbiAgICAgICAgICAgIGVuYWJsZUNoZWNrQWxsOiB0cnVlLFxyXG4gICAgICAgICAgICBhdXRvUG9zaXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcImJvdHRvbVwiLFxyXG4gICAgICAgICAgICBsYXp5TG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dDaGVja2JveDogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4SGVpZ2h0OiAzMDAsXHJcbiAgICAgICAgICAgIGVuYWJsZUZpbHRlclNlbGVjdEFsbDogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ3hBc2lkZVNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1wiRmlsdGVyc1wiJyxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGl0bGU6ICdcIkNhbmNlbFwiJyxcclxuICAgICAgICAgICAgc3VibWl0QnV0dG9uVGl0bGU6ICdcIkFwcGx5XCInLFxyXG4gICAgICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd092ZXJsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93RGVmYXVsdEZvb3RlcjogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dEZWZhdWx0SGVhZGVyOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ2JEYXRlUGlja2VyU2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGF1dG9DbG9zZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIm1tLWRkLXl5eXlcIixcclxuICAgICAgICAgICAgZGlzcGxheU1vbnRoczogMSxcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IDEsXHJcbiAgICAgICAgICAgIHNob3dXZWVrTnVtYmVyczogZmFsc2UsXHJcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE5nU2VsZWN0U2V0dGluZ3MgPSB7XHJcbiAgICAgICAgICAgIGFsbG93Q2xlYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJTZWxlY3RcIixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlOiAxLFxyXG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2U6IDIsXHJcbiAgICAgICAgICAgIGluZmluaXRlU2Nyb2xsVGhyb3R0bGU6IDMwMCxcclxuICAgICAgICAgICAgc2Nyb2xsV2luZG93OiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBudW1iZXJPZlNrZWxldG9uUm93czogQXJyYXkoNikuZmlsbCgwKSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGhlYWRpbmc6IFwiU2VsZWN0IE9wdGlvblwiLFxyXG4gICAgICAgICAgICByYWRpb0J1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJZZXNcIixcclxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJZZXNcIixcclxuICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9cIixcclxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJOb1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZyA9IHtcclxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgdGl0bGU6IFwiQXJlIHlvdSBzdXJlID9cIixcclxuICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogXCJZZXNcIixcclxuICAgICAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcclxuICAgICAgICAgICAgYmFja2Ryb3A6IFwic3RhdGljXCIsXHJcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBzaXplOiBcInNtXCIsXHJcbiAgICAgICAgICAgIGtleWJvYXJkOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IHRydWUsXHJcbiAgICAgICAgICAgIGRhdGVGb3JtYXRUb0Rpc3BsYXk6IFwiZCBNTU0geVwiLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0Rm9yUmVxdWVzdDogXCJ5LU1NLWRkXCIsXHJcbiAgICAgICAgICAgIG1heFdlZWtzVG9TaG93V2l0aFJlbWFpbmluZ0NvdW50OiAyLFxyXG4gICAgICAgICAgICBudW1iZXJPZk1vbnRoc1RvRW5hYmxlSW5QYXN0OiAxLFxyXG4gICAgICAgICAgICBzZWxlY3RNdWx0aXBsZVdlZWtzOiBmYWxzZSxcclxuICAgICAgICAgICAgY3VzdG9tQ2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIGVtaXRNdWx0aXBsZVdlZWtPYmplY3RzOiB0cnVlLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2VsZWN0OiAwLFxyXG4gICAgICAgICAgICBzaG93QXNEcm9wZG93bjogdHJ1ZSxcclxuICAgICAgICAgICAgc2VsZWN0Q3VycmVudFdlZWs6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RIZWFkZXJDb25maWcgPSB7XHJcbiAgICAgICAgICAgIGljb25Db2x1bW46IGZhbHNlLFxyXG4gICAgICAgICAgICBjaGVja2JveENvbHVtbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGxhc3RDb2x1bW5LZXlzOiBbXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0R2VuZXJhbENvbmZpZyA9IHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiBcIlwiLFxyXG4gICAgICAgICAgICB0b3RhbFJvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIGlzSGVhZGVyQ2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVIZWFkZXJDaGVja2JveDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcDogMCxcclxuICAgICAgICAgICAgaXNHcm91cGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0FsbENvbHVtbkZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgYnVmZmVyU2l6ZTogMjAsXHJcbiAgICAgICAgICAgIHBhZ2U6IFwiXCJcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dTZWFyY2hCYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogIFwiU2VsZWN0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiXCIsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcIkJPVFRPTVwiLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHRPZkxpc3Q6IDIwMFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TXVsdGlTZWxlY3RDb25maWcgPSB7Li4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLCAuLi57c2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IHRydWV9fTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AnnaNumberFormatService {
4
+ static GetRoundedValueWithUnits(inputValue, digitsToRoundDecimalPoint = 2) {
5
+ let [value, unit] = AnnaNumberFormatService.GetValueInUnits(Math.abs(inputValue));
6
+ value = +((+value).toFixed(digitsToRoundDecimalPoint));
7
+ if (inputValue < 0) {
8
+ value = value * -1;
9
+ }
10
+ return value.toString() + unit;
11
+ // return (Math.Round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
12
+ }
13
+ static GetValueInUnits(inputValue) {
14
+ let unit = "";
15
+ let thousand = 1000;
16
+ let million = 1000000;
17
+ let billion = 1000000000;
18
+ if (inputValue >= thousand && inputValue < million) {
19
+ inputValue = inputValue / thousand;
20
+ unit = "K";
21
+ }
22
+ else if (inputValue >= million && inputValue < billion) {
23
+ inputValue = inputValue / million;
24
+ unit = "M";
25
+ }
26
+ else if (inputValue >= billion) {
27
+ inputValue = inputValue / billion;
28
+ unit = "B";
29
+ }
30
+ return [inputValue, unit];
31
+ }
32
+ }
33
+ AnnaNumberFormatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaNumberFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ AnnaNumberFormatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaNumberFormatService, providedIn: "root" });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaNumberFormatService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: "root",
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1udW1iZXItZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLW51bWJlci1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBRTdCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLHlCQUF5QixHQUFHLENBQUM7UUFFbEYsSUFBSSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBRyxVQUFVLEdBQUcsQ0FBQyxFQUFDO1lBQ2QsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqQyxpR0FBaUc7SUFDbkcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBa0I7UUFDNUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFFekIsSUFBSSxVQUFVLElBQUksUUFBUSxJQUFJLFVBQVUsR0FBRyxPQUFPLEVBQ2xEO1lBQ0ksVUFBVSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDbkMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNkO2FBQ0ksSUFBSSxVQUFVLElBQUksT0FBTyxJQUFJLFVBQVUsR0FBRyxPQUFPLEVBQ3REO1lBQ0ksVUFBVSxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUM7WUFDbEMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUNkO2FBQ0ksSUFBSSxVQUFVLElBQUksT0FBTyxFQUM5QjtZQUNJLFVBQVUsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQ2xDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDZDtRQUVELE9BQU8sQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7b0hBcENVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07MkZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hTnVtYmVyRm9ybWF0U2VydmljZSB7XHJcblxyXG5wdWJsaWMgc3RhdGljIEdldFJvdW5kZWRWYWx1ZVdpdGhVbml0cyhpbnB1dFZhbHVlOiBudW1iZXIsIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQgPSAyKVxyXG4gIHtcclxuICAgICAgbGV0IFt2YWx1ZSx1bml0XSA9IEFubmFOdW1iZXJGb3JtYXRTZXJ2aWNlLkdldFZhbHVlSW5Vbml0cyhNYXRoLmFicyhpbnB1dFZhbHVlKSk7XHJcbiAgICAgIHZhbHVlID0gKygoK3ZhbHVlKS50b0ZpeGVkKGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQpKTtcclxuICAgICAgaWYoaW5wdXRWYWx1ZSA8IDApe1xyXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZSAqIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpICsgdW5pdDtcclxuICAgIC8vICAgcmV0dXJuIChNYXRoLlJvdW5kKHZhbHVlLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50LCBNaWRwb2ludFJvdW5kaW5nLkF3YXlGcm9tWmVybykgKyB1bml0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgR2V0VmFsdWVJblVuaXRzKGlucHV0VmFsdWU6IG51bWJlcil7XHJcbiAgICAgIGxldCB1bml0ID0gXCJcIjtcclxuICAgICAgbGV0IHRob3VzYW5kID0gMTAwMDtcclxuICAgICAgbGV0IG1pbGxpb24gPSAxMDAwMDAwO1xyXG4gICAgICBsZXQgYmlsbGlvbiA9IDEwMDAwMDAwMDA7XHJcblxyXG4gICAgICBpZiAoaW5wdXRWYWx1ZSA+PSB0aG91c2FuZCAmJiBpbnB1dFZhbHVlIDwgbWlsbGlvbilcclxuICAgICAge1xyXG4gICAgICAgICAgaW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyB0aG91c2FuZDtcclxuICAgICAgICAgIHVuaXQgPSBcIktcIjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChpbnB1dFZhbHVlID49IG1pbGxpb24gJiYgaW5wdXRWYWx1ZSA8IGJpbGxpb24pXHJcbiAgICAgIHtcclxuICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlIC8gbWlsbGlvbjtcclxuICAgICAgICAgIHVuaXQgPSBcIk1cIjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChpbnB1dFZhbHVlID49IGJpbGxpb24pXHJcbiAgICAgIHtcclxuICAgICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlIC8gYmlsbGlvbjtcclxuICAgICAgICAgIHVuaXQgPSBcIkJcIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFtpbnB1dFZhbHVlLHVuaXRdO1xyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,60 @@
1
+ import { Injectable } from "@angular/core";
2
+ import hash from 'object-hash';
3
+ import * as i0 from "@angular/core";
4
+ export class AnnaPersistingFilterService {
5
+ constructor() { }
6
+ storeKeyValueInLocalStorage(val, isFilterKey = true) {
7
+ let filterOrdering;
8
+ if (!localStorage.getItem("filterOrdering")) {
9
+ filterOrdering = [];
10
+ }
11
+ else {
12
+ filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
13
+ }
14
+ let filterOrderingSet = new Set(filterOrdering);
15
+ let hashCode = null;
16
+ let key = null;
17
+ try {
18
+ hashCode = hash(val);
19
+ key = isFilterKey ? "filter_" + hashCode : hashCode;
20
+ localStorage.setItem(key, JSON.stringify(val));
21
+ if (isFilterKey) {
22
+ if (filterOrderingSet.has(key)) {
23
+ filterOrderingSet.delete(key);
24
+ }
25
+ filterOrderingSet.add(key);
26
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
27
+ }
28
+ }
29
+ catch (e) {
30
+ let halfArrayLength = filterOrdering.length / 2;
31
+ for (let i = 0; i < halfArrayLength; i++) {
32
+ localStorage.removeItem(filterOrdering[i]);
33
+ }
34
+ filterOrdering.splice(0, (filterOrdering.length / 2));
35
+ hashCode = hash(val);
36
+ let key = isFilterKey ? "filter_" + hashCode : hashCode;
37
+ localStorage.setItem(key, JSON.stringify(val));
38
+ if (isFilterKey) {
39
+ if (filterOrderingSet.has(key)) {
40
+ filterOrderingSet.delete(key);
41
+ }
42
+ filterOrderingSet.add(key);
43
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
44
+ }
45
+ }
46
+ return key;
47
+ }
48
+ getActualQueryParams(key) {
49
+ return localStorage.getItem(key);
50
+ }
51
+ }
52
+ AnnaPersistingFilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaPersistingFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
+ AnnaPersistingFilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaPersistingFilterService, providedIn: "root" });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaPersistingFilterService, decorators: [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: "root",
58
+ }]
59
+ }], ctorParameters: function () { return []; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBRXBDLGdCQUFnQixDQUFDO0lBRWpCLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNwRCxJQUFJLGNBQXFCLENBQUM7UUFFMUIsSUFBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBQztZQUN2QyxjQUFjLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO2FBQ0c7WUFDQSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksaUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztRQUVmLElBQUc7WUFDQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBRyxXQUFXLEVBQUM7Z0JBRVgsSUFBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUM7b0JBQzFCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUNKO1FBQ0QsT0FBTyxDQUFDLEVBQUU7WUFDTixJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVoRCxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLEdBQUcsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFDO2dCQUNyQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlDO1lBRUQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEQsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN4RCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBRyxXQUFXLEVBQUM7Z0JBRVgsSUFBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUM7b0JBQzFCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUVKO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVztRQUM1QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7d0hBN0RRLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRnhCLE1BQU07MkZBRVQsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFQZXJzaXN0aW5nRmlsdGVyU2VydmljZSB7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgc3RvcmVLZXlWYWx1ZUluTG9jYWxTdG9yYWdlKHZhbDogYW55LCBpc0ZpbHRlcktleSA9IHRydWUpe1xyXG4gICAgICAgIGxldCBmaWx0ZXJPcmRlcmluZzogYW55W107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIikpe1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZmlsdGVyT3JkZXJpbmdTZXQgPSBuZXcgU2V0KGZpbHRlck9yZGVyaW5nKTtcclxuICAgICAgICBsZXQgaGFzaENvZGUgPSBudWxsO1xyXG4gICAgICAgIGxldCBrZXkgPSBudWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgaGFzaENvZGUgPSBoYXNoKHZhbCk7XHJcbiAgICAgICAgICAgIGtleSA9IGlzRmlsdGVyS2V5ID8gXCJmaWx0ZXJfXCIgKyBoYXNoQ29kZSA6IGhhc2hDb2RlO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbCkpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYoaXNGaWx0ZXJLZXkpe1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKXtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5kZWxldGUoa2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmFkZChrZXkpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiLCBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGZpbHRlck9yZGVyaW5nU2V0KSkpOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBsZXQgaGFsZkFycmF5TGVuZ3RoID0gZmlsdGVyT3JkZXJpbmcubGVuZ3RoIC8gMjtcclxuXHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDAgOyBpIDwgaGFsZkFycmF5TGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZmlsdGVyT3JkZXJpbmdbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZy5zcGxpY2UoMCwgKGZpbHRlck9yZGVyaW5nLmxlbmd0aCAvIDIpKTtcclxuXHJcbiAgICAgICAgICAgIGhhc2hDb2RlID0gaGFzaCh2YWwpO1xyXG4gICAgICAgICAgICBsZXQga2V5ID0gaXNGaWx0ZXJLZXkgPyBcImZpbHRlcl9cIiArIGhhc2hDb2RlIDogaGFzaENvZGU7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsKSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZihpc0ZpbHRlcktleSl7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYoZmlsdGVyT3JkZXJpbmdTZXQuaGFzKGtleSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmRlbGV0ZShrZXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmdTZXQuYWRkKGtleSk7XHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIsIEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20oZmlsdGVyT3JkZXJpbmdTZXQpKSk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGtleTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3R1YWxRdWVyeVBhcmFtcyhrZXk6IHN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,5 +1,6 @@
1
1
  // Angular import statements
2
2
  import { Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
3
4
  import { AnnaDateTimeFormatService } from './anna-date-time-format.service';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "./anna-date-time-format.service";
@@ -8,6 +9,7 @@ import * as i1 from "./anna-date-time-format.service";
8
9
  export class AnnaSortService {
9
10
  constructor(annaDateTimeFormatService) {
10
11
  this.annaDateTimeFormatService = annaDateTimeFormatService;
12
+ this.updateSortTypeSubject = new Subject();
11
13
  this.dateSet = new Set([
12
14
  'endDate',
13
15
  'startDate',
@@ -15,8 +17,8 @@ export class AnnaSortService {
15
17
  'start_date',
16
18
  'flightStartDate',
17
19
  'flightEndDate',
20
+ "date"
18
21
  ]);
19
- console.log('AnnaTableColumnSortService sevice created.');
20
22
  }
21
23
  sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
22
24
  let param1;
@@ -62,7 +64,9 @@ export class AnnaSortService {
62
64
  });
63
65
  }
64
66
  else {
65
- data.sort((a, b) => {
67
+ let dataWithoutEmptyOrHyphenValues = data.filter(n => n[key] != "-");
68
+ let rowsWithHyphenOrZeroValues = data.filter(n => n[key] == "-");
69
+ dataWithoutEmptyOrHyphenValues.sort((a, b) => {
66
70
  param1 = a[key];
67
71
  param2 = b[key];
68
72
  if (param1 !== param2) {
@@ -70,6 +74,8 @@ export class AnnaSortService {
70
74
  }
71
75
  return 0;
72
76
  });
77
+ data = isAsc ? [...rowsWithHyphenOrZeroValues, ...dataWithoutEmptyOrHyphenValues] :
78
+ [...dataWithoutEmptyOrHyphenValues, ...rowsWithHyphenOrZeroValues];
73
79
  }
74
80
  return data;
75
81
  }
@@ -134,12 +140,12 @@ export class AnnaSortService {
134
140
  return data;
135
141
  }
136
142
  }
137
- AnnaSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable });
138
- AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, providedIn: 'root' });
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaSortService, decorators: [{
143
+ AnnaSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaSortService, deps: [{ token: i1.AnnaDateTimeFormatService }], target: i0.ɵɵFactoryTarget.Injectable });
144
+ AnnaSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaSortService, providedIn: 'root' });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaSortService, decorators: [{
140
146
  type: Injectable,
141
147
  args: [{
142
148
  providedIn: 'root',
143
149
  }]
144
150
  }], ctorParameters: function () { return [{ type: i1.AnnaDateTimeFormatService }]; } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRTVFLGdDQUFnQztBQUVoQyxpQ0FBaUM7QUFLakMsTUFBTSxPQUFPLGVBQWU7SUFhMUIsWUFBb0IseUJBQW9EO1FBQXBELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFUeEUsWUFBTyxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ2hCLFNBQVM7WUFDVCxXQUFXO1lBQ1gsVUFBVTtZQUNWLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsZUFBZTtTQUNoQixDQUFDLENBQUM7UUFHRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELDBDQUEwQyxDQUN4QyxLQUFjLEVBQ2QsSUFBVyxFQUNYLEdBQVc7UUFFWCxJQUFJLE1BQXVCLENBQUM7UUFDNUIsSUFBSSxNQUF1QixDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUMvQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ04sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUNOLEtBQUssQ0FDTixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNLElBQUksR0FB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O29CQUNyQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDdEU7Z0JBRUQsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs0R0FuS1UsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTb3J0VHlwZSB9IGZyb20gJy4uL21vZGVscy9hbm5hLXNvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZSc7XHJcblxyXG4vLyBUaGlyZCBwYXJ0eSBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICBjb2x1bW5Tb3J0U3RhdGU6IE1hcDxzdHJpbmcsIFNvcnRUeXBlPjtcclxuICBub1NvcnRpbmdBcHBsaWVkRGF0YTogYW55W107XHJcblxyXG4gIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICdlbmREYXRlJyxcclxuICAgICdzdGFydERhdGUnLFxyXG4gICAgJ2VuZF9kYXRlJyxcclxuICAgICdzdGFydF9kYXRlJyxcclxuICAgICdmbGlnaHRTdGFydERhdGUnLFxyXG4gICAgJ2ZsaWdodEVuZERhdGUnLFxyXG4gIF0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHtcclxuICAgIGNvbnNvbGUubG9nKCdBbm5hVGFibGVDb2x1bW5Tb3J0U2VydmljZSBzZXZpY2UgY3JlYXRlZC4nKTtcclxuICB9XHJcblxyXG4gIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShcclxuICAgIGlzQXNjOiBib29sZWFuLFxyXG4gICAgZGF0YTogYW55W10sXHJcbiAgICBrZXk6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGVTZXQuaGFzKGtleSkpIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShcclxuICAgICAgICAgIGFba2V5XSxcclxuICAgICAgICAgIGJba2V5XSxcclxuICAgICAgICAgIGlzQXNjXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ0FpckRhdGVBbmRUaW1lJykge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBsZXQgZmlyc3QsIHNlY29uZDtcclxuICAgICAgICBpZiAoYVtrZXldID09ICctJykge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYltrZXldID09ICctJykge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmaXJzdCA9XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChcclxuICAgICAgICAgICAgICBhW2tleV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIHNlY29uZCA9XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChcclxuICAgICAgICAgICAgICBiW2tleV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIGxldCBjb21wYXJlRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShcclxuICAgICAgICAgICAgZmlyc3QsXHJcbiAgICAgICAgICAgIHNlY29uZCxcclxuICAgICAgICAgICAgaXNBc2NcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm4gY29tcGFyZURhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoa2V5ID09ICdzdGFydEVuZFRpbWUnIHx8IGtleSA9PSAnVGltZUJhbmQnKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBzb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogYW55KSB7XHJcbiAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBsZXQgcGFyYW0yOiBzdHJpbmcgfCBudW1iZXI7XHJcblxyXG4gICAgaWYgKGtleS5pbmNsdWRlcygnXycpKSB7XHJcbiAgICAgIGxldCBrZXlzID0ga2V5LnNwbGl0KCdfJyk7XHJcbiAgICAgIGxldCB3ZWVrTnVtYmVyID0ga2V5c1swXTtcclxuICAgICAgbGV0IHNvcnRLZXkgPSBrZXlzWzFdO1xyXG5cclxuICAgICAgaWYgKGtleXMubGVuZ3RoID4gMikge1xyXG4gICAgICAgIHNvcnRLZXkgPVxyXG4gICAgICAgICAga2V5c1syXSA9PSB0cnVlXHJcbiAgICAgICAgICAgID8gJ0Jvb2tlZEF1ckluY2x1ZGluZ05vQ2hhcmdlU3BvdHMnXHJcbiAgICAgICAgICAgIDogJ0Jvb2tlZEF1ckV4Y2x1ZGluZ05vQ2hhcmdlU3BvdHMnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBsZXQgYUludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhXHJcbiAgICAgICAgKS5maWx0ZXIoKGtleSkgPT4ga2V5LnNwbGl0KCdfJylbMV0gPT0gd2Vla051bWJlcik7XHJcbiAgICAgICAgbGV0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhcclxuICAgICAgICAgIGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVxyXG4gICAgICAgICkuZmlsdGVyKChrZXkpID0+IGtleS5zcGxpdCgnXycpWzFdID09IHdlZWtOdW1iZXIpO1xyXG5cclxuICAgICAgICBwYXJhbTEgPSBudWxsO1xyXG4gICAgICAgIHBhcmFtMiA9IG51bGw7XHJcbiAgICAgICAgaWYgKGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgcGFyYW0xID1cclxuICAgICAgICAgICAgYS5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2FJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW1xyXG4gICAgICAgICAgICAgIHNvcnRLZXlcclxuICAgICAgICAgICAgXVsxXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHBhcmFtMiA9XHJcbiAgICAgICAgICAgIGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVtiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtcclxuICAgICAgICAgICAgICBzb3J0S2V5XHJcbiAgICAgICAgICAgIF1bMV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChrZXkgPT0gJ1RpbWVCYW5kJykge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsID0gaXNBc2NcclxuICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgcGFyYW0yID0gYltrZXldO1xyXG5cclxuICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxufVxyXG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFNUUsZ0NBQWdDO0FBRWhDLGlDQUFpQztBQUtqQyxNQUFNLE9BQU8sZUFBZTtJQWUxQixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQVp4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDaEIsU0FBUztZQUNULFdBQVc7WUFDWCxVQUFVO1lBQ1YsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUdILENBQUM7SUFFRCwwQ0FBMEMsQ0FDeEMsS0FBYyxFQUNkLElBQVcsRUFDWCxHQUFXO1FBRVgsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsQ0FDL0MsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUNOLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDTixLQUFLLENB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RCxJQUFJLEdBQUcsR0FBRyxLQUFLO29CQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztvQkFDcEUsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3hFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFaEIsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO29CQUNyQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDdEU7Z0JBRUQsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs0R0ExS1UsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNvcnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbCc7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tICcuL2FubmEtZGF0ZS10aW1lLWZvcm1hdC5zZXJ2aWNlJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hU29ydFNlcnZpY2Uge1xyXG4gIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gIG5vU29ydGluZ0FwcGxpZWREYXRhOiBhbnlbXTtcclxuICB1cGRhdGVTb3J0VHlwZVN1YmplY3Q6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICdlbmREYXRlJyxcclxuICAgICdzdGFydERhdGUnLFxyXG4gICAgJ2VuZF9kYXRlJyxcclxuICAgICdzdGFydF9kYXRlJyxcclxuICAgICdmbGlnaHRTdGFydERhdGUnLFxyXG4gICAgJ2ZsaWdodEVuZERhdGUnLFxyXG4gICAgXCJkYXRlXCJcclxuICBdKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlOiBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBzb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoXHJcbiAgICBpc0FzYzogYm9vbGVhbixcclxuICAgIGRhdGE6IGFueVtdLFxyXG4gICAga2V5OiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBwYXJhbTE6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRlU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoXHJcbiAgICAgICAgICBhW2tleV0sXHJcbiAgICAgICAgICBiW2tleV0sXHJcbiAgICAgICAgICBpc0FzY1xyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdBaXJEYXRlQW5kVGltZScpIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgbGV0IGZpcnN0LCBzZWNvbmQ7XHJcbiAgICAgICAgaWYgKGFba2V5XSA9PSAnLScpIHtcclxuICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGJba2V5XSA9PSAnLScpIHtcclxuICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZmlyc3QgPVxyXG4gICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoXHJcbiAgICAgICAgICAgICAgYVtrZXldXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICBzZWNvbmQgPVxyXG4gICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoXHJcbiAgICAgICAgICAgICAgYltrZXldXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICBsZXQgY29tcGFyZURhdGUgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoXHJcbiAgICAgICAgICAgIGZpcnN0LFxyXG4gICAgICAgICAgICBzZWNvbmQsXHJcbiAgICAgICAgICAgIGlzQXNjXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGtleSA9PSAnc3RhcnRFbmRUaW1lJyB8fCBrZXkgPT0gJ1RpbWVCYW5kJykge1xyXG4gICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsID0gaXNBc2NcclxuICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZGF0YVdpdGhvdXRFbXB0eU9ySHlwaGVuVmFsdWVzID0gZGF0YS5maWx0ZXIobiA9PiBuW2tleV0gIT0gXCItXCIpO1xyXG4gICAgICBsZXQgcm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXMgPSBkYXRhLmZpbHRlcihuID0+IG5ba2V5XSA9PSBcIi1cIik7XHJcblxyXG4gICAgICBkYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBkYXRhID0gaXNBc2MgPyBbLi4ucm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXMsIC4uLmRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlc10gOlxyXG4gICAgICAgIFsuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMsIC4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIHNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbTE6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICBpZiAoa2V5LmluY2x1ZGVzKCdfJykpIHtcclxuICAgICAgbGV0IGtleXMgPSBrZXkuc3BsaXQoJ18nKTtcclxuICAgICAgbGV0IHdlZWtOdW1iZXIgPSBrZXlzWzBdO1xyXG4gICAgICBsZXQgc29ydEtleSA9IGtleXNbMV07XHJcblxyXG4gICAgICBpZiAoa2V5cy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgc29ydEtleSA9XHJcbiAgICAgICAgICBrZXlzWzJdID09IHRydWVcclxuICAgICAgICAgICAgPyAnQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90cydcclxuICAgICAgICAgICAgOiAnQm9va2VkQXVyRXhjbHVkaW5nTm9DaGFyZ2VTcG90cyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGxldCBhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5ID0gT2JqZWN0LmtleXMoXHJcbiAgICAgICAgICBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFcclxuICAgICAgICApLmZpbHRlcigoa2V5KSA9PiBrZXkuc3BsaXQoJ18nKVsxXSA9PSB3ZWVrTnVtYmVyKTtcclxuICAgICAgICBsZXQgYkludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhXHJcbiAgICAgICAgKS5maWx0ZXIoKGtleSkgPT4ga2V5LnNwbGl0KCdfJylbMV0gPT0gd2Vla051bWJlcik7XHJcblxyXG4gICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgcGFyYW0yID0gbnVsbDtcclxuICAgICAgICBpZiAoYUludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBwYXJhbTEgPVxyXG4gICAgICAgICAgICBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYUludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bXHJcbiAgICAgICAgICAgIHNvcnRLZXlcclxuICAgICAgICAgICAgXVsxXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHBhcmFtMiA9XHJcbiAgICAgICAgICAgIGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVtiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtcclxuICAgICAgICAgICAgc29ydEtleVxyXG4gICAgICAgICAgICBdWzFdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoa2V5ID09ICdUaW1lQmFuZCcpIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsyXTtcclxuICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICA/IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lQXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKVxyXG4gICAgICAgICAgOiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZURlc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpO1xyXG4gICAgICAgIHJldHVybiB2YWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgcGFyYW0xID0gYVtrZXldO1xyXG4gICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcbn1cclxuIl19