@firestitch/filter 13.0.13 → 13.0.15

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 (207) hide show
  1. package/app/classes/actions-controller.d.ts +41 -41
  2. package/app/components/action-button/action-button.component.d.ts +9 -9
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +12 -12
  5. package/app/components/filter/filter.component.d.ts +194 -192
  6. package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
  7. package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
  8. package/app/components/filter-chips/filter-chips.component.d.ts +10 -10
  9. package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
  10. package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
  11. package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
  14. package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
  15. package/app/components/filters-item/chips/chips.component.d.ts +13 -13
  16. package/app/components/filters-item/date/date.component.d.ts +20 -20
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
  18. package/app/components/filters-item/filter-item.component.d.ts +39 -39
  19. package/app/components/filters-item/range/range.component.d.ts +15 -15
  20. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
  21. package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
  22. package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
  23. package/app/components/filters-item/select/select.component.d.ts +23 -23
  24. package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
  25. package/app/components/filters-item/text/text.component.d.ts +19 -19
  26. package/app/components/filters-item/week/week.component.d.ts +12 -12
  27. package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  28. package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
  29. package/app/consts/query-param-delimiter.d.ts +1 -1
  30. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  31. package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
  32. package/app/enums/action-mode.enum.d.ts +6 -6
  33. package/app/enums/action-type.enum.d.ts +9 -9
  34. package/app/enums/button-style.d.ts +9 -9
  35. package/app/enums/index.d.ts +6 -6
  36. package/app/enums/item-date-mode.enum.d.ts +5 -5
  37. package/app/enums/item-type.enum.d.ts +15 -15
  38. package/app/enums/picker-view-type.enum.d.ts +7 -7
  39. package/app/fs-filter.module.d.ts +66 -66
  40. package/app/helpers/build-query-params.d.ts +3 -3
  41. package/app/helpers/compare.d.ts +2 -2
  42. package/app/helpers/create-filter-item.d.ts +14 -14
  43. package/app/helpers/find-value.d.ts +1 -1
  44. package/app/helpers/get-range-name.d.ts +1 -1
  45. package/app/helpers/parse-date.d.ts +1 -1
  46. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  47. package/app/helpers/query-param-transformers.d.ts +2 -2
  48. package/app/helpers/restore-items.d.ts +12 -12
  49. package/app/injectors/filter-config.d.ts +2 -2
  50. package/app/injectors/filter-drawer-data.d.ts +2 -2
  51. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  52. package/app/interfaces/action.interface.d.ts +80 -80
  53. package/app/interfaces/config.interface.d.ts +62 -62
  54. package/app/interfaces/external-params.interface.d.ts +3 -3
  55. package/app/interfaces/filter.interface.d.ts +4 -4
  56. package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  57. package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
  58. package/app/interfaces/items/base.interface.d.ts +29 -29
  59. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  60. package/app/interfaces/items/chips.interface.d.ts +6 -6
  61. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  62. package/app/interfaces/items/date.interface.d.ts +7 -7
  63. package/app/interfaces/items/range.interface.d.ts +13 -13
  64. package/app/interfaces/items/select.interface.d.ts +20 -20
  65. package/app/interfaces/items/text.interface.d.ts +9 -9
  66. package/app/interfaces/items/week.interface.d.ts +7 -7
  67. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  68. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  69. package/app/models/action-menu-item.model.d.ts +23 -23
  70. package/app/models/action.model.d.ts +50 -50
  71. package/app/models/filter-config.d.ts +30 -30
  72. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  73. package/app/models/items/autocomplete-chips-item.d.ts +20 -20
  74. package/app/models/items/autocomplete-item.d.ts +11 -11
  75. package/app/models/items/base-item.d.ts +80 -80
  76. package/app/models/items/checkbox-item.d.ts +17 -17
  77. package/app/models/items/chips-item.d.ts +18 -18
  78. package/app/models/items/date/base-date-item.d.ts +14 -14
  79. package/app/models/items/date-item.d.ts +8 -8
  80. package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
  81. package/app/models/items/date-range-item.d.ts +6 -6
  82. package/app/models/items/date-time-item.d.ts +7 -7
  83. package/app/models/items/date-time-range-item.d.ts +6 -6
  84. package/app/models/items/range-item.d.ts +23 -23
  85. package/app/models/items/select/base-select-item.d.ts +13 -13
  86. package/app/models/items/select/multiple-select-item.d.ts +14 -14
  87. package/app/models/items/select/simple-select-item.d.ts +14 -14
  88. package/app/models/items/select-item.d.ts +8 -8
  89. package/app/models/items/text-item.d.ts +15 -15
  90. package/app/models/items/week-item.d.ts +18 -18
  91. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  92. package/app/providers/filter-meta.d.ts +5 -5
  93. package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
  94. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  95. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  96. package/app/services/external-params-controller.service.d.ts +42 -42
  97. package/app/services/filter-overlay.service.d.ts +36 -36
  98. package/app/services/focus-controller.service.d.ts +18 -18
  99. package/app/services/items-store.service.d.ts +67 -67
  100. package/esm2020/app/classes/actions-controller.mjs +126 -126
  101. package/esm2020/app/components/action-button/action-button.component.mjs +23 -23
  102. package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
  103. package/esm2020/app/components/actions/actions.component.mjs +38 -38
  104. package/esm2020/app/components/filter/filter.component.mjs +575 -572
  105. package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
  106. package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
  107. package/esm2020/app/components/filter-chips/filter-chips.component.mjs +22 -22
  108. package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
  109. package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
  110. package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
  111. package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
  112. package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
  113. package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
  114. package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
  115. package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
  116. package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
  117. package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
  118. package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
  119. package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
  120. package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
  121. package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
  122. package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
  123. package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
  124. package/esm2020/app/components/filters-item/text/text.component.mjs +48 -48
  125. package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
  126. package/esm2020/app/components/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
  127. package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +50 -50
  128. package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
  129. package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
  130. package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
  131. package/esm2020/app/enums/action-mode.enum.mjs +7 -7
  132. package/esm2020/app/enums/action-type.enum.mjs +10 -10
  133. package/esm2020/app/enums/button-style.mjs +10 -10
  134. package/esm2020/app/enums/index.mjs +6 -6
  135. package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
  136. package/esm2020/app/enums/item-type.enum.mjs +16 -16
  137. package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
  138. package/esm2020/app/fs-filter.module.mjs +247 -247
  139. package/esm2020/app/helpers/build-query-params.mjs +32 -32
  140. package/esm2020/app/helpers/compare.mjs +37 -37
  141. package/esm2020/app/helpers/create-filter-item.mjs +54 -54
  142. package/esm2020/app/helpers/find-value.mjs +12 -12
  143. package/esm2020/app/helpers/get-range-name.mjs +8 -8
  144. package/esm2020/app/helpers/parse-date.mjs +7 -7
  145. package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
  146. package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
  147. package/esm2020/app/helpers/restore-items.mjs +48 -48
  148. package/esm2020/app/injectors/filter-config.mjs +2 -2
  149. package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
  150. package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
  151. package/esm2020/app/interfaces/action.interface.mjs +1 -1
  152. package/esm2020/app/interfaces/config.interface.mjs +1 -1
  153. package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
  154. package/esm2020/app/interfaces/filter.interface.mjs +1 -1
  155. package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  156. package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
  157. package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
  158. package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
  159. package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
  160. package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
  161. package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
  162. package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
  163. package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
  164. package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
  165. package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
  166. package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
  167. package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
  168. package/esm2020/app/models/action-menu-item.model.mjs +66 -66
  169. package/esm2020/app/models/action.model.mjs +114 -114
  170. package/esm2020/app/models/filter-config.mjs +65 -65
  171. package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
  172. package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
  173. package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
  174. package/esm2020/app/models/items/base-item.mjs +233 -233
  175. package/esm2020/app/models/items/checkbox-item.mjs +49 -49
  176. package/esm2020/app/models/items/chips-item.mjs +88 -88
  177. package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
  178. package/esm2020/app/models/items/date-item.mjs +18 -18
  179. package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
  180. package/esm2020/app/models/items/date-range-item.mjs +6 -6
  181. package/esm2020/app/models/items/date-time-item.mjs +9 -9
  182. package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
  183. package/esm2020/app/models/items/range-item.mjs +82 -82
  184. package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
  185. package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
  186. package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
  187. package/esm2020/app/models/items/select-item.mjs +10 -10
  188. package/esm2020/app/models/items/text-item.mjs +33 -33
  189. package/esm2020/app/models/items/week-item.mjs +93 -93
  190. package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
  191. package/esm2020/app/providers/filter-meta.mjs +9 -9
  192. package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
  193. package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
  194. package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +163 -163
  195. package/esm2020/app/services/external-params-controller.service.mjs +161 -161
  196. package/esm2020/app/services/filter-overlay.service.mjs +121 -121
  197. package/esm2020/app/services/focus-controller.service.mjs +29 -29
  198. package/esm2020/app/services/items-store.service.mjs +336 -336
  199. package/esm2020/firestitch-filter.mjs +4 -4
  200. package/esm2020/public_api.mjs +36 -36
  201. package/fesm2015/firestitch-filter.mjs +4248 -4245
  202. package/fesm2015/firestitch-filter.mjs.map +1 -1
  203. package/fesm2020/firestitch-filter.mjs +4229 -4226
  204. package/fesm2020/firestitch-filter.mjs.map +1 -1
  205. package/firestitch-filter.d.ts +5 -5
  206. package/package.json +1 -1
  207. package/public_api.d.ts +40 -40
@@ -1,30 +1,30 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { filter, tap } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- export class FocusControllerService {
6
- constructor() {
7
- this._focusOn = new BehaviorSubject(null);
8
- }
9
- get focusOn$() {
10
- return this._focusOn.asObservable();
11
- }
12
- click(item, type = null) {
13
- this._focusOn.next({ item, type });
14
- }
15
- listenFocusFor$(targetItem, targetType = null) {
16
- return this._focusOn
17
- .pipe(filter((event) => !!event), filter(({ item, type }) => {
18
- return targetItem === item && targetType === type;
19
- }), tap(() => this.clearFocus()));
20
- }
21
- clearFocus() {
22
- this._focusOn.next(null);
23
- }
24
- }
25
- FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
- FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService, decorators: [{
28
- type: Injectable
29
- }], ctorParameters: function () { return []; } });
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { filter, tap } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class FocusControllerService {
6
+ constructor() {
7
+ this._focusOn = new BehaviorSubject(null);
8
+ }
9
+ get focusOn$() {
10
+ return this._focusOn.asObservable();
11
+ }
12
+ click(item, type = null) {
13
+ this._focusOn.next({ item, type });
14
+ }
15
+ listenFocusFor$(targetItem, targetType = null) {
16
+ return this._focusOn
17
+ .pipe(filter((event) => !!event), filter(({ item, type }) => {
18
+ return targetItem === item && targetType === type;
19
+ }), tap(() => this.clearFocus()));
20
+ }
21
+ clearFocus() {
22
+ this._focusOn.next(null);
23
+ }
24
+ }
25
+ FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
+ FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FocusControllerService, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: function () { return []; } });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7UUFGUSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQThDLElBQUksQ0FBQyxDQUFDO0lBRTNFLENBQUM7SUFFaEIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQW1CLEVBQUUsT0FBc0IsSUFBSTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBeUIsRUFBRSxhQUE0QixJQUFJO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FDN0IsQ0FBQTtJQUNMLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7bUhBM0JVLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9mb2N1c09uID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGl0ZW06IEJhc2VJdGVtPGFueT4sIHR5cGU6ICdmcm9tJyB8ICd0byd9PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBmb2N1c09uJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGljayhpdGVtOiBCYXNlSXRlbTxhbnk+LCB0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dCh7IGl0ZW0sIHR5cGUgfSlcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5Gb2N1c0ZvciQodGFyZ2V0SXRlbTogQmFzZUl0ZW08YW55PiwgdGFyZ2V0VHlwZTogJ2Zyb20nIHwgJ3RvJyA9IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPblxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+ICEhZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKHsgaXRlbSwgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRhcmdldEl0ZW0gPT09IGl0ZW0gJiYgdGFyZ2V0VHlwZSA9PT0gdHlwZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNsZWFyRm9jdXMoKSksXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGb2N1cygpIHtcbiAgICB0aGlzLl9mb2N1c09uLm5leHQobnVsbCk7XG4gIH1cbn1cbiJdfQ==