@ng-nest/ui 14.0.2 → 14.0.5

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 (226) hide show
  1. package/auto-complete/auto-complete.component.d.ts +1 -1
  2. package/base-form/base-form.component.d.ts +6 -3
  3. package/button/button.property.d.ts +11 -1
  4. package/cascade/cascade.component.d.ts +1 -1
  5. package/color-picker/color-picker.component.d.ts +1 -1
  6. package/core/config/config.d.ts +5 -0
  7. package/date-picker/date-picker.component.d.ts +1 -1
  8. package/date-picker/date-range.component.d.ts +1 -1
  9. package/dialog/dialog.module.d.ts +2 -1
  10. package/dialog/dialog.property.d.ts +2 -0
  11. package/dropdown/dropdown-portal.component.d.ts +3 -0
  12. package/dropdown/dropdown.property.d.ts +16 -1
  13. package/esm2020/auto-complete/auto-complete.component.mjs +1 -1
  14. package/esm2020/base-form/base-form.component.mjs +11 -3
  15. package/esm2020/button/button.component.mjs +3 -3
  16. package/esm2020/button/button.property.mjs +7 -2
  17. package/esm2020/cascade/cascade.component.mjs +4 -3
  18. package/esm2020/checkbox/checkbox.component.mjs +4 -3
  19. package/esm2020/color-picker/color-picker-portal.component.mjs +3 -3
  20. package/esm2020/color-picker/color-picker.component.mjs +4 -3
  21. package/esm2020/core/config/config.mjs +1 -1
  22. package/esm2020/date-picker/date-picker.component.mjs +4 -3
  23. package/esm2020/date-picker/date-range.component.mjs +1 -1
  24. package/esm2020/dialog/dialog.module.mjs +8 -4
  25. package/esm2020/dialog/dialog.property.mjs +1 -1
  26. package/esm2020/dropdown/dropdown-portal.component.mjs +6 -3
  27. package/esm2020/dropdown/dropdown.component.mjs +4 -1
  28. package/esm2020/dropdown/dropdown.property.mjs +8 -2
  29. package/esm2020/find/find.component.mjs +7 -4
  30. package/esm2020/form/control.component.mjs +37 -25
  31. package/esm2020/form/form.component.mjs +15 -3
  32. package/esm2020/form/form.module.mjs +6 -3
  33. package/esm2020/form/form.property.mjs +10 -3
  34. package/esm2020/i18n/i18n.property.mjs +1 -1
  35. package/esm2020/i18n/languages/en_US.mjs +6 -2
  36. package/esm2020/i18n/languages/zh_CN.mjs +6 -2
  37. package/esm2020/i18n/languages/zh_TW.mjs +6 -2
  38. package/esm2020/input/input.component.mjs +21 -9
  39. package/esm2020/input/input.property.mjs +24 -2
  40. package/esm2020/input-number/input-number.component.mjs +3 -3
  41. package/esm2020/list/list.component.mjs +13 -13
  42. package/esm2020/radio/radio.component.mjs +4 -3
  43. package/esm2020/rate/rate.component.mjs +8 -3
  44. package/esm2020/select/select-portal.component.mjs +7 -5
  45. package/esm2020/select/select.component.mjs +235 -31
  46. package/esm2020/select/select.module.mjs +35 -4
  47. package/esm2020/select/select.property.mjs +14 -3
  48. package/esm2020/slider/slider.component.mjs +27 -7
  49. package/esm2020/slider/slider.module.mjs +5 -4
  50. package/esm2020/slider/slider.property.mjs +13 -2
  51. package/esm2020/slider-select/slider-select.component.mjs +6 -5
  52. package/esm2020/switch/switch.component.mjs +1 -1
  53. package/esm2020/table/table-body.component.mjs +13 -9
  54. package/esm2020/table/table-head.component.mjs +4 -4
  55. package/esm2020/table/table.component.mjs +23 -5
  56. package/esm2020/table/table.property.mjs +16 -3
  57. package/esm2020/tabs/tabs.component.mjs +45 -15
  58. package/esm2020/tabs/tabs.module.mjs +5 -4
  59. package/esm2020/tabs/tabs.property.mjs +15 -2
  60. package/esm2020/tag/tag.component.mjs +5 -5
  61. package/esm2020/tag/tag.property.mjs +1 -1
  62. package/esm2020/textarea/textarea.component.mjs +3 -3
  63. package/esm2020/textarea/textarea.property.mjs +1 -6
  64. package/esm2020/theme/theme.component.mjs +1 -1
  65. package/esm2020/time-picker/time-picker.component.mjs +4 -3
  66. package/esm2020/timeline/timeline.component.mjs +11 -5
  67. package/esm2020/timeline/timeline.property.mjs +7 -2
  68. package/esm2020/transfer/transfer.component.mjs +1 -1
  69. package/esm2020/upload/upload.component.mjs +1 -1
  70. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  71. package/fesm2015/ng-nest-ui-base-form.mjs +10 -2
  72. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  73. package/fesm2015/ng-nest-ui-button.mjs +8 -3
  74. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  75. package/fesm2015/ng-nest-ui-cascade.mjs +3 -2
  76. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  77. package/fesm2015/ng-nest-ui-checkbox.mjs +3 -2
  78. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  79. package/fesm2015/ng-nest-ui-color-picker.mjs +5 -4
  80. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  81. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  82. package/fesm2015/ng-nest-ui-date-picker.mjs +3 -2
  83. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  84. package/fesm2015/ng-nest-ui-dialog.mjs +7 -3
  85. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  86. package/fesm2015/ng-nest-ui-dropdown.mjs +15 -3
  87. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  88. package/fesm2015/ng-nest-ui-find.mjs +6 -3
  89. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  90. package/fesm2015/ng-nest-ui-form.mjs +65 -30
  91. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  92. package/fesm2015/ng-nest-ui-i18n.mjs +15 -3
  93. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  94. package/fesm2015/ng-nest-ui-input-number.mjs +2 -2
  95. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  96. package/fesm2015/ng-nest-ui-input.mjs +43 -9
  97. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  98. package/fesm2015/ng-nest-ui-list.mjs +12 -12
  99. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  100. package/fesm2015/ng-nest-ui-radio.mjs +3 -2
  101. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  102. package/fesm2015/ng-nest-ui-rate.mjs +7 -2
  103. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  104. package/fesm2015/ng-nest-ui-select.mjs +289 -39
  105. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  106. package/fesm2015/ng-nest-ui-slider-select.mjs +5 -4
  107. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  108. package/fesm2015/ng-nest-ui-slider.mjs +43 -11
  109. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  110. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  111. package/fesm2015/ng-nest-ui-table.mjs +56 -20
  112. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  113. package/fesm2015/ng-nest-ui-tabs.mjs +63 -18
  114. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  115. package/fesm2015/ng-nest-ui-tag.mjs +4 -4
  116. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  117. package/fesm2015/ng-nest-ui-textarea.mjs +2 -7
  118. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  119. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  120. package/fesm2015/ng-nest-ui-time-picker.mjs +3 -2
  121. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  122. package/fesm2015/ng-nest-ui-timeline.mjs +16 -5
  123. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  124. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  125. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  126. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  127. package/fesm2020/ng-nest-ui-base-form.mjs +10 -2
  128. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  129. package/fesm2020/ng-nest-ui-button.mjs +8 -3
  130. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  131. package/fesm2020/ng-nest-ui-cascade.mjs +3 -2
  132. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  133. package/fesm2020/ng-nest-ui-checkbox.mjs +3 -2
  134. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  135. package/fesm2020/ng-nest-ui-color-picker.mjs +5 -4
  136. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  137. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  138. package/fesm2020/ng-nest-ui-date-picker.mjs +3 -2
  139. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  140. package/fesm2020/ng-nest-ui-dialog.mjs +7 -3
  141. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  142. package/fesm2020/ng-nest-ui-dropdown.mjs +15 -3
  143. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  144. package/fesm2020/ng-nest-ui-find.mjs +6 -3
  145. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  146. package/fesm2020/ng-nest-ui-form.mjs +64 -30
  147. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  148. package/fesm2020/ng-nest-ui-i18n.mjs +15 -3
  149. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  150. package/fesm2020/ng-nest-ui-input-number.mjs +2 -2
  151. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  152. package/fesm2020/ng-nest-ui-input.mjs +43 -9
  153. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  154. package/fesm2020/ng-nest-ui-list.mjs +12 -12
  155. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  156. package/fesm2020/ng-nest-ui-radio.mjs +3 -2
  157. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  158. package/fesm2020/ng-nest-ui-rate.mjs +7 -2
  159. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  160. package/fesm2020/ng-nest-ui-select.mjs +286 -39
  161. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  162. package/fesm2020/ng-nest-ui-slider-select.mjs +5 -4
  163. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  164. package/fesm2020/ng-nest-ui-slider.mjs +43 -11
  165. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  166. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  167. package/fesm2020/ng-nest-ui-table.mjs +52 -17
  168. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  169. package/fesm2020/ng-nest-ui-tabs.mjs +62 -18
  170. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  171. package/fesm2020/ng-nest-ui-tag.mjs +4 -4
  172. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  173. package/fesm2020/ng-nest-ui-textarea.mjs +2 -7
  174. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  175. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  176. package/fesm2020/ng-nest-ui-time-picker.mjs +3 -2
  177. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  178. package/fesm2020/ng-nest-ui-timeline.mjs +16 -5
  179. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  180. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  181. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  182. package/find/find.component.d.ts +1 -1
  183. package/form/control.component.d.ts +6 -3
  184. package/form/examples/en_US/default/form-vaild/README.md +8 -0
  185. package/form/examples/zh_CN/default/form-vaild/README.md +8 -0
  186. package/form/form.component.d.ts +3 -1
  187. package/form/form.module.d.ts +2 -1
  188. package/form/form.property.d.ts +7 -2
  189. package/i18n/i18n.property.d.ts +6 -0
  190. package/i18n/languages/en_US.d.ts +4 -0
  191. package/i18n/languages/zh_CN.d.ts +4 -0
  192. package/i18n/languages/zh_TW.d.ts +4 -0
  193. package/input/input.component.d.ts +3 -0
  194. package/input/input.property.d.ts +26 -1
  195. package/input-number/input-number.component.d.ts +1 -1
  196. package/package.json +1 -1
  197. package/rate/rate.component.d.ts +1 -0
  198. package/select/select.component.d.ts +26 -5
  199. package/select/select.module.d.ts +4 -2
  200. package/select/select.property.d.ts +13 -2
  201. package/slider/examples/en_US/default/expand/README.md +7 -0
  202. package/slider/examples/zh_CN/default/expand/README.md +7 -0
  203. package/slider/slider.component.d.ts +2 -0
  204. package/slider/slider.module.d.ts +2 -1
  205. package/slider/slider.property.d.ts +11 -1
  206. package/slider-select/slider-select.component.d.ts +1 -1
  207. package/switch/switch.component.d.ts +1 -1
  208. package/table/examples/en_US/default/head/README.md +6 -0
  209. package/table/examples/zh_CN/default/head/README.md +6 -0
  210. package/table/table-body.component.d.ts +1 -1
  211. package/table/table.component.d.ts +5 -2
  212. package/table/table.property.d.ts +23 -3
  213. package/tabs/examples/en_US/default/action/README.md +6 -0
  214. package/tabs/examples/en_US/default/expand/README.md +6 -0
  215. package/tabs/examples/zh_CN/default/action/README.md +6 -0
  216. package/tabs/examples/zh_CN/default/expand/README.md +6 -0
  217. package/tabs/tabs.component.d.ts +9 -2
  218. package/tabs/tabs.module.d.ts +3 -2
  219. package/tabs/tabs.property.d.ts +18 -3
  220. package/tag/tag.component.d.ts +1 -1
  221. package/tag/tag.property.d.ts +1 -1
  222. package/time-picker/time-picker.component.d.ts +1 -1
  223. package/timeline/examples/en_US/default/mode/README.md +6 -0
  224. package/timeline/examples/zh_CN/default/mode/README.md +6 -0
  225. package/timeline/timeline.component.d.ts +1 -0
  226. package/timeline/timeline.property.d.ts +11 -1
@@ -9,18 +9,49 @@ import { XSelectPortalComponent } from './select-portal.component';
9
9
  import { XSelectProperty } from './select.property';
10
10
  import { XBaseFormModule } from '@ng-nest/ui/base-form';
11
11
  import { XI18nModule } from '@ng-nest/ui/i18n';
12
+ import { XTagModule } from '@ng-nest/ui/tag';
13
+ import { XOutletModule } from '@ng-nest/ui/outlet';
12
14
  import * as i0 from "@angular/core";
13
15
  export class XSelectModule {
14
16
  }
15
17
  /** @nocollapse */ XSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- /** @nocollapse */ XSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty], imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule], exports: [XSelectComponent, XSelectPortalComponent] });
17
- /** @nocollapse */ XSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule] });
18
+ /** @nocollapse */ XSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty], imports: [CommonModule,
19
+ FormsModule,
20
+ ReactiveFormsModule,
21
+ XPortalModule,
22
+ XInputModule,
23
+ XListModule,
24
+ XBaseFormModule,
25
+ XTagModule,
26
+ XI18nModule,
27
+ XOutletModule], exports: [XSelectComponent, XSelectPortalComponent] });
28
+ /** @nocollapse */ XSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, imports: [CommonModule,
29
+ FormsModule,
30
+ ReactiveFormsModule,
31
+ XPortalModule,
32
+ XInputModule,
33
+ XListModule,
34
+ XBaseFormModule,
35
+ XTagModule,
36
+ XI18nModule,
37
+ XOutletModule] });
18
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectModule, decorators: [{
19
39
  type: NgModule,
20
40
  args: [{
21
41
  declarations: [XSelectComponent, XSelectPortalComponent, XSelectProperty],
22
42
  exports: [XSelectComponent, XSelectPortalComponent],
23
- imports: [CommonModule, FormsModule, ReactiveFormsModule, XPortalModule, XInputModule, XListModule, XBaseFormModule, XI18nModule]
43
+ imports: [
44
+ CommonModule,
45
+ FormsModule,
46
+ ReactiveFormsModule,
47
+ XPortalModule,
48
+ XInputModule,
49
+ XListModule,
50
+ XBaseFormModule,
51
+ XTagModule,
52
+ XI18nModule,
53
+ XOutletModule
54
+ ]
24
55
  }]
25
56
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGFBQWE7OzZIQUFiLGFBQWE7OEhBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBRTlELFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsYUFEdEgsZ0JBQWdCLEVBQUUsc0JBQXNCOzhIQUd2QyxhQUFhLFlBRmQsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsV0FBVzsyRkFFckgsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7aUJBQ2xJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcbmltcG9ydCB7IFhQb3J0YWxNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYTGlzdE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2xpc3QnO1xyXG5pbXBvcnQgeyBYU2VsZWN0UG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhTZWxlY3RQcm9wZXJ0eSB9IGZyb20gJy4vc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEkxOG5Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudCwgWFNlbGVjdFByb3BlcnR5XSxcclxuICBleHBvcnRzOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFhQb3J0YWxNb2R1bGUsIFhJbnB1dE1vZHVsZSwgWExpc3RNb2R1bGUsIFhCYXNlRm9ybU1vZHVsZSwgWEkxOG5Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2VsZWN0TW9kdWxlIHt9XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NlbGVjdC9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWtCbkQsTUFBTSxPQUFPLGFBQWE7OzZIQUFiLGFBQWE7OEhBQWIsYUFBYSxpQkFmVCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBR3RFLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixZQUFZO1FBQ1osV0FBVztRQUNYLGVBQWU7UUFDZixVQUFVO1FBQ1YsV0FBVztRQUNYLGFBQWEsYUFYTCxnQkFBZ0IsRUFBRSxzQkFBc0I7OEhBY3ZDLGFBQWEsWUFadEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO1FBQ1gsZUFBZTtRQUNmLFVBQVU7UUFDVixXQUFXO1FBQ1gsYUFBYTsyRkFHSixhQUFhO2tCQWhCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDO29CQUNuRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWElucHV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWExpc3RNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9saXN0JztcclxuaW1wb3J0IHsgWFNlbGVjdFBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYU2VsZWN0UHJvcGVydHkgfSBmcm9tICcuL3NlbGVjdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhCYXNlRm9ybU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJMThuTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhUYWdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS90YWcnO1xyXG5pbXBvcnQgeyBYT3V0bGV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudCwgWFNlbGVjdFByb3BlcnR5XSxcclxuICBleHBvcnRzOiBbWFNlbGVjdENvbXBvbmVudCwgWFNlbGVjdFBvcnRhbENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgWFBvcnRhbE1vZHVsZSxcclxuICAgIFhJbnB1dE1vZHVsZSxcclxuICAgIFhMaXN0TW9kdWxlLFxyXG4gICAgWEJhc2VGb3JtTW9kdWxlLFxyXG4gICAgWFRhZ01vZHVsZSxcclxuICAgIFhJMThuTW9kdWxlLFxyXG4gICAgWE91dGxldE1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhTZWxlY3RNb2R1bGUge31cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { XDataConvert, XInputBoolean, XWithConfig } from '@ng-nest/ui/core';
2
+ import { XDataConvert, XInputBoolean, XWithConfig, XInputNumber } from '@ng-nest/ui/core';
3
3
  import { Input, Component } from '@angular/core';
4
4
  import { XControlValueAccessor } from '@ng-nest/ui/base-form';
5
5
  import * as i0 from "@angular/core";
@@ -24,7 +24,7 @@ export class XSelectProperty extends XControlValueAccessor {
24
24
  }
25
25
  }
26
26
  /** @nocollapse */ XSelectProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- /** @nocollapse */ XSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSelectProperty, selector: "ng-component", inputs: { data: "data", clearable: "clearable", async: "async", placement: "placement", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", nodeTpl: "nodeTpl", size: "size", bordered: "bordered", portalMaxHeight: "portalMaxHeight", search: "search", caseSensitive: "caseSensitive", debounceTime: "debounceTime" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
27
+ /** @nocollapse */ XSelectProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSelectProperty, selector: "ng-component", inputs: { data: "data", clearable: "clearable", async: "async", placement: "placement", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", nodeTpl: "nodeTpl", size: "size", bordered: "bordered", portalMaxHeight: "portalMaxHeight", search: "search", caseSensitive: "caseSensitive", debounceTime: "debounceTime", maxTagCount: "maxTagCount", maxTagContent: "maxTagContent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
28
28
  __decorate([
29
29
  XDataConvert()
30
30
  ], XSelectProperty.prototype, "data", void 0);
@@ -68,6 +68,13 @@ __decorate([
68
68
  __decorate([
69
69
  XWithConfig(X_CONFIG_NAME, 200)
70
70
  ], XSelectProperty.prototype, "debounceTime", void 0);
71
+ __decorate([
72
+ XInputNumber(),
73
+ XWithConfig(X_CONFIG_NAME)
74
+ ], XSelectProperty.prototype, "maxTagCount", void 0);
75
+ __decorate([
76
+ XWithConfig(X_CONFIG_NAME)
77
+ ], XSelectProperty.prototype, "maxTagContent", void 0);
71
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSelectProperty, decorators: [{
72
79
  type: Component,
73
80
  args: [{ template: '' }]
@@ -99,6 +106,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
99
106
  type: Input
100
107
  }], debounceTime: [{
101
108
  type: Input
109
+ }], maxTagCount: [{
110
+ type: Input
111
+ }], maxTagContent: [{
112
+ type: Input
102
113
  }] } });
103
114
  /**
104
115
  * Select Portal
@@ -106,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
106
117
  * @decorator component
107
118
  */
108
119
  export const XSelectPortalPrefix = 'x-select-portal';
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixhQUFhLEVBR2IsV0FBVyxFQUdaLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ3hDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUUvQjs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUEwQjtJQUQvRDs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUF1QixFQUFFLENBQUM7S0FrRXhEOzsrSEF2RVksZUFBZTttSEFBZixlQUFlLCtaQURMLEVBQUU7QUFNRTtJQUFmLFlBQVksRUFBRTs2Q0FBK0I7QUFLZTtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtrREFBc0I7QUFLakU7SUFBaEIsYUFBYSxFQUFFOzhDQUFrQjtBQUt3QjtJQUF6RCxXQUFXLENBQXFCLGFBQWEsRUFBRSxRQUFRLENBQUM7a0RBQWdDO0FBS3hFO0lBQWhCLGFBQWEsRUFBRTtpREFBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFO2tEQUFzQjtBQUtGO0lBQW5DLFdBQVcsQ0FBUyxhQUFhLENBQUM7c0RBQXdCO0FBVWQ7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NkNBQXVCO0FBS047SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7aURBQXFCO0FBS3BDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDO3dEQUEwQjtBQUtSO0lBQTdELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDOytDQUFtQjtBQUtuQjtJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztzREFBMEI7QUFLN0M7SUFBeEMsV0FBVyxDQUFTLGFBQWEsRUFBRSxHQUFHLENBQUM7cURBQXVCOzJGQXRFN0QsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTUEsSUFBSTtzQkFBNUIsS0FBSztnQkFLZ0UsU0FBUztzQkFBOUUsS0FBSztnQkFLb0IsS0FBSztzQkFBOUIsS0FBSztnQkFLNkQsU0FBUztzQkFBM0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLb0IsU0FBUztzQkFBbEMsS0FBSztnQkFLdUMsYUFBYTtzQkFBekQsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS3lELElBQUk7c0JBQWxFLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS2dELGVBQWU7c0JBQXBFLEtBQUs7Z0JBS2lFLE1BQU07c0JBQTVFLEtBQUs7Z0JBS2dFLGFBQWE7c0JBQWxGLEtBQUs7Z0JBSzRDLFlBQVk7c0JBQTdELEtBQUs7O0FBdUVSOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFBhcmVudElkZW50aXR5UHJvcGVydHksXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTaXplXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIFNlbGVjdFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2VsZWN0UHJlZml4ID0gJ3gtc2VsZWN0JztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdzZWxlY3QnO1xyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdFByb3BlcnR5IGV4dGVuZHMgWENvbnRyb2xWYWx1ZUFjY2Vzc29yPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhTZWxlY3ROb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvILmraXliqDovb1cclxuICAgKiBAZW5fVVMgQXN5bmNocm9ub3VzIGxvYWRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFzeW5jPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhQb3NpdGlvblRvcEJvdHRvbT4oWF9DT05GSUdfTkFNRSwgJ2JvdHRvbScpIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbXVsdGlwbGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpIGNob2ljZSB0byBhZGQgZnVsbCBzZWxlY3Rpb24gZnVuY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNlbGVjdEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FKSBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+aLieahhueahOacgOWkp+mrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgYmlnZ2VzdCBoZWlnaHQgb2YgdGhlIGRyb3AtZG93biBib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMTJyZW0nKSBwb3J0YWxNYXhIZWlnaHQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeaQnOe0olxyXG4gICAqIEBlbl9VUyBJbnB1dCBzZWFyY2hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIHNlYXJjaCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3ljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgY2FzZVNlbnNpdGl2ZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXlu7bov5/miafooYzml7bpl7TvvIxtc1xyXG4gICAqIEBlbl9VUyBFbnRlciBhIGRlbGF5IGV4ZWN1dGlvbiB0aW1lLCBtc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDIwMCkgZGVib3VuY2VUaW1lPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3RPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBkYXRhPzogWERhdGE8WFNlbGVjdE5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvILmraXliqDovb1cclxuICAgKiBAZW5fVVMgQXN5bmNocm9ub3VzIGxvYWRpbmdcclxuICAgKi9cclxuICBhc3luYz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO9XHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0QWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFqOmAieeahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBhbGwgdGV4dFxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbFRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgcG9ydGFsTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmkJzntKJcclxuICAgKiBAZW5fVVMgSW5wdXQgc2VhcmNoXHJcbiAgICovXHJcbiAgc2VhcmNoPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2VsZWN0IOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2VsZWN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTZWxlY3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFNlbGVjdE5vZGU+IHt9XHJcblxyXG4vKipcclxuICogU2VsZWN0IFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1zZWxlY3QtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFBvcnRhbFByZWZpeCA9ICd4LXNlbGVjdC1wb3J0YWwnO1xyXG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2VsZWN0L3NlbGVjdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixhQUFhLEVBR2IsV0FBVyxFQUdYLFlBQVksRUFHYixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBZSxNQUFNLHVCQUF1QixDQUFDOztBQUUzRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxxQkFBMEI7SUFEL0Q7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBdUIsRUFBRSxDQUFDO0tBNkV4RDs7K0hBbEZZLGVBQWU7bUhBQWYsZUFBZSwyZEFETCxFQUFFO0FBTUU7SUFBZixZQUFZLEVBQUU7NkNBQStCO0FBS2U7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7a0RBQXNCO0FBS2pFO0lBQWhCLGFBQWEsRUFBRTs4Q0FBa0I7QUFLd0I7SUFBekQsV0FBVyxDQUFxQixhQUFhLEVBQUUsUUFBUSxDQUFDO2tEQUFnQztBQUt4RTtJQUFoQixhQUFhLEVBQUU7aURBQXFCO0FBS3BCO0lBQWhCLGFBQWEsRUFBRTtrREFBc0I7QUFLRjtJQUFuQyxXQUFXLENBQVMsYUFBYSxDQUFDO3NEQUF3QjtBQVVkO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDOzZDQUF1QjtBQUtOO0lBQTVELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxhQUFhLEVBQUUsSUFBSSxDQUFDO2lEQUFxQjtBQUtwQztJQUE1QyxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sQ0FBQzt3REFBMEI7QUFLUjtJQUE3RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQzsrQ0FBbUI7QUFLbkI7SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7c0RBQTBCO0FBSzdDO0lBQXhDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsR0FBRyxDQUFDO3FEQUF1QjtBQUtWO0lBQXBELFlBQVksRUFBRTtJQUFFLFdBQVcsQ0FBVSxhQUFhLENBQUM7b0RBQXVCO0FBTXBDO0lBQXRDLFdBQVcsQ0FBWSxhQUFhLENBQUM7c0RBQTJCOzJGQWpGL0QsZUFBZTtrQkFEM0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTUEsSUFBSTtzQkFBNUIsS0FBSztnQkFLZ0UsU0FBUztzQkFBOUUsS0FBSztnQkFLb0IsS0FBSztzQkFBOUIsS0FBSztnQkFLNkQsU0FBUztzQkFBM0UsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLb0IsU0FBUztzQkFBbEMsS0FBSztnQkFLdUMsYUFBYTtzQkFBekQsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS3lELElBQUk7c0JBQWxFLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS2dELGVBQWU7c0JBQXBFLEtBQUs7Z0JBS2lFLE1BQU07c0JBQTVFLEtBQUs7Z0JBS2dFLGFBQWE7c0JBQWxGLEtBQUs7Z0JBSzRDLFlBQVk7c0JBQTdELEtBQUs7Z0JBS3dELFdBQVc7c0JBQXhFLEtBQUs7Z0JBTTBDLGFBQWE7c0JBQTVELEtBQUs7O0FBdUVSOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWFBhcmVudElkZW50aXR5UHJvcGVydHksXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWERhdGEsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFBvc2l0aW9uVG9wQm90dG9tLFxyXG4gIFhTaXplLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYTnVtYmVyLFxyXG4gIFhUZW1wbGF0ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3RcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFNlbGVjdFByZWZpeCA9ICd4LXNlbGVjdCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnc2VsZWN0JztcclxuXHJcbi8qKlxyXG4gKiBTZWxlY3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhTZWxlY3RQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYU2VsZWN0Tm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgQFhJbnB1dEJvb2xlYW4oKSBjbGVhcmFibGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byC5q2l5Yqg6L29XHJcbiAgICogQGVuX1VTIEFzeW5jaHJvbm91cyBsb2FkaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhc3luYz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYUG9zaXRpb25Ub3BCb3R0b20+KFhfQ09ORklHX05BTUUsICdib3R0b20nKSBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAiea3u+WKoOWFqOmAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzZWxlY3RBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWo6YCJ55qE5paH5a2XXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGFsbCB0ZXh0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSkgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBib3JkZXJlZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvmi4nmoYbnmoTmnIDlpKfpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGJpZ2dlc3QgaGVpZ2h0IG9mIHRoZSBkcm9wLWRvd24gYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzEycmVtJykgcG9ydGFsTWF4SGVpZ2h0ITogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmkJzntKJcclxuICAgKiBAZW5fVVMgSW5wdXQgc2VhcmNoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBzZWFyY2ghOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5Yy65YiG5aSn5bCP5YaZXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGNhc2VTZW5zaXRpdmUhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5bu26L+f5omn6KGM5pe26Ze077yMbXNcclxuICAgKiBAZW5fVVMgRW50ZXIgYSBkZWxheSBleGVjdXRpb24gdGltZSwgbXNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCAyMDApIGRlYm91bmNlVGltZT86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5pe25pi+56S655qE6YCJ5Lit5pWw5o2u5Liq5pWw77yM5YW25a6D55qE5Zyo5pu05aSa5Lit5pi+56S677yM6buY6K6k5YWo6YOo5pi+56S6XHJcbiAgICogQGVuX1VTIERpc3BsYXkgdGhlIG51bWJlciBvZiBkYXRhIGluIHRoZSBtYXhpbXVtIGVsZWN0aW9uLCBhbmQgdGhlIG90aGVycyBhcmUgZGlzcGxheWVkIGluIG1vcmUgb2YgdGhlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSkgbWF4VGFnQ291bnQ/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInml7bmmL7npLrnmoTkuKrmlbDotoXov4fmjIflrprkuKrmlbDvvIzmmL7npLrnmoTmloflrZfmqKHniYhcclxuICAgKiBAZW5fVVMgVGhlIG51bWJlciBkaXNwbGF5ZWQgd2hlbiBtdWx0aXBsZSBjaG9pY2VzIGV4Y2VlZHMgdGhlIHNwZWNpZmllZCBudW1iZXIsIHRoZSBkaXNwbGF5ZWQgdGV4dCB0ZW1wbGF0ZSBkaXNwbGF5ZWRcclxuICAgKiBAZGVmYXVsdCAn5pu05aSae3tzdXJwbHVzfX3kuKrpgInkuK0nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhUZW1wbGF0ZT4oWF9DT05GSUdfTkFNRSkgbWF4VGFnQ29udGVudD86IFhUZW1wbGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYU2VsZWN0T3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgZGF0YT86IFhEYXRhPFhTZWxlY3ROb2RlPjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byC5q2l5Yqg6L29XHJcbiAgICogQGVuX1VTIEFzeW5jaHJvbm91cyBsb2FkaW5nXHJcbiAgICovXHJcbiAgYXN5bmM/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65pa55L2NXHJcbiAgICogQGVuX1VTIERpc3BsYXkgcG9zaXRpb25cclxuICAgKi9cclxuICBwbGFjZW1lbnQ/OiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDvVxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBtdWx0aXBsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInmt7vliqDlhajpgInlip/og71cclxuICAgKiBAZW5fVVMgTXVsdGkgY2hvaWNlIHRvIGFkZCBmdWxsIHNlbGVjdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIHNlbGVjdEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhajpgInnmoTmloflrZdcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgYWxsIHRleHRcclxuICAgKi9cclxuICBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmqKHmnb9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIG5vZGVUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgYm9yZGVyZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5ouJ5qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSBiaWdnZXN0IGhlaWdodCBvZiB0aGUgZHJvcC1kb3duIGJveFxyXG4gICAqL1xyXG4gIHBvcnRhbE1heEhlaWdodD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5pCc57SiXHJcbiAgICogQGVuX1VTIElucHV0IHNlYXJjaFxyXG4gICAqL1xyXG4gIHNlYXJjaD86IFhCb29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFNlbGVjdCDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFNlbGVjdCBkYXRhIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYU2VsZWN0Tm9kZSBleHRlbmRzIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5PFhTZWxlY3ROb2RlPiB7fVxyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBQb3J0YWxcclxuICogQHNlbGVjdG9yIHgtc2VsZWN0LXBvcnRhbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhTZWxlY3RQb3J0YWxQcmVmaXggPSAneC1zZWxlY3QtcG9ydGFsJztcclxuIl19
@@ -7,7 +7,9 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@ng-nest/ui/core";
8
8
  import * as i2 from "@angular/common";
9
9
  import * as i3 from "@ng-nest/ui/link";
10
- import * as i4 from "@ng-nest/ui/outlet";
10
+ import * as i4 from "@ng-nest/ui/button";
11
+ import * as i5 from "@ng-nest/ui/outlet";
12
+ import * as i6 from "@ng-nest/ui/dropdown";
11
13
  export class XSliderComponent extends XSliderProperty {
12
14
  constructor(renderer, elementRef, cdr, configService) {
13
15
  super();
@@ -19,6 +21,7 @@ export class XSliderComponent extends XSliderProperty {
19
21
  this.scrollClassMap = {};
20
22
  this.nodeClassMap = {};
21
23
  this.showArrow = false;
24
+ this.activatedId = '';
22
25
  this._offset = 0;
23
26
  this.direction = 'right';
24
27
  this.maxOffset = 0;
@@ -92,12 +95,19 @@ export class XSliderComponent extends XSliderProperty {
92
95
  this.setDirection(index, Number(this.activatedIndex));
93
96
  this.activatedIndex = index;
94
97
  this.activated = node;
98
+ this.activatedId = node.id;
95
99
  this.setHighlight();
96
100
  this.setTranslate();
97
101
  this.indexChange.emit(index);
98
102
  this.nodeChange.emit(node);
99
103
  }
104
+ dropdownClick(node) {
105
+ const index = this.nodes.indexOf(node);
106
+ this.nodeClick(node, index);
107
+ }
100
108
  scrollPrev() {
109
+ if (this.offset === 0)
110
+ return;
101
111
  const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];
102
112
  const currentOffset = this.offset;
103
113
  if (!currentOffset)
@@ -106,6 +116,8 @@ export class XSliderComponent extends XSliderProperty {
106
116
  this.offset = offset;
107
117
  }
108
118
  scrollNext() {
119
+ if (this.offset === this.maxOffset)
120
+ return;
109
121
  const sliderSize = this.sliderNodes.nativeElement[`offset${this.sizeName}`];
110
122
  const scrollSize = this.sliderScroll.nativeElement[`offset${this.sizeName}`];
111
123
  const currentOffset = this.offset;
@@ -151,9 +163,14 @@ export class XSliderComponent extends XSliderProperty {
151
163
  offset = currentOffset + (moveRect.bottom - sliderRect.bottom);
152
164
  }
153
165
  }
154
- this.maxOffset = Math.floor(maxOffset);
155
- offset = Math.max(offset, 0);
156
- this.offset = Math.min(offset, maxOffset);
166
+ this.maxOffset = Math.ceil(maxOffset);
167
+ offset = Math.max(Math.ceil(offset), 0);
168
+ if ([this.maxOffset + 1, this.maxOffset - 1].includes(offset)) {
169
+ this.offset = this.maxOffset;
170
+ }
171
+ else {
172
+ this.offset = Math.min(offset, this.maxOffset);
173
+ }
157
174
  }
158
175
  sizeChecked() {
159
176
  const size = this.sliderNodes.nativeElement[`offset${this.sizeName}`];
@@ -171,6 +188,9 @@ export class XSliderComponent extends XSliderProperty {
171
188
  setActivated() {
172
189
  if (this.nodes.length > 0) {
173
190
  this.activated = this.nodes[Number(this.activatedIndex)];
191
+ if (this.activated) {
192
+ this.activatedId = this.activated.id;
193
+ }
174
194
  }
175
195
  this.setHighlight();
176
196
  this.setTranslate();
@@ -204,10 +224,10 @@ export class XSliderComponent extends XSliderProperty {
204
224
  }
205
225
  }
206
226
  /** @nocollapse */ XSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
207
- /** @nocollapse */ XSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link *ngIf=\"showArrow\" [disabled]=\"offset === 0\" class=\"x-slider-arrow-left\" icon=\"fto-chevron-left\" (click)=\"scrollPrev()\"></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\" [class.x-slider-activated]=\"getActivated(i)\" [class.x-slider-disabled]=\"node.disabled\" [title]=\"node.label\">\r\n <x-link (click)=\"nodeClick(node, i)\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
227
+ /** @nocollapse */ XSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSliderComponent, selector: "x-slider", viewQueries: [{ propertyName: "sliderScroll", first: true, predicate: ["sliderScroll"], descendants: true }, { propertyName: "sliderNodes", first: true, predicate: ["sliderNodes"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link *ngIf=\"showArrow\" [disabled]=\"offset === 0\" class=\"x-slider-arrow-left\" icon=\"fto-chevron-left\" (click)=\"scrollPrev()\"></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link (click)=\"nodeClick(node, i)\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i5.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i6.XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
208
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderComponent, decorators: [{
209
229
  type: Component,
210
- args: [{ selector: `${XSliderPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link *ngIf=\"showArrow\" [disabled]=\"offset === 0\" class=\"x-slider-arrow-left\" icon=\"fto-chevron-left\" (click)=\"scrollPrev()\"></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\" [class.x-slider-activated]=\"getActivated(i)\" [class.x-slider-disabled]=\"node.disabled\" [title]=\"node.label\">\r\n <x-link (click)=\"nodeClick(node, i)\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
230
+ args: [{ selector: `${XSliderPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #slider class=\"x-slider\" [ngClass]=\"classMap\">\r\n <x-link *ngIf=\"showArrow\" [disabled]=\"offset === 0\" class=\"x-slider-arrow-left\" icon=\"fto-chevron-left\" (click)=\"scrollPrev()\"></x-link>\r\n <div class=\"x-slider-scroll\" #sliderScroll [ngClass]=\"scrollClassMap\">\r\n <ul #sliderNodes [style.transform]=\"transform\">\r\n <li\r\n *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\"\r\n [class.x-slider-activated]=\"getActivated(i)\"\r\n [class.x-slider-disabled]=\"node.disabled\"\r\n [title]=\"node.label\"\r\n >\r\n <x-link (click)=\"nodeClick(node, i)\" [ngClass]=\"nodeClassMap\">\r\n <ng-container *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-container>\r\n <ng-container *ngIf=\"!nodeTpl\">\r\n <ng-container *xOutlet=\"node.label\">{{ node.label }}</ng-container>\r\n </ng-container>\r\n </x-link>\r\n </li>\r\n <li class=\"x-slider-highlight\" [class.x-slider-highlight-animated]=\"animated\" [ngStyle]=\"highlightBox\"></li>\r\n </ul>\r\n </div>\r\n <x-link\r\n *ngIf=\"showArrow\"\r\n [disabled]=\"offset === maxOffset\"\r\n class=\"x-slider-arrow-right\"\r\n icon=\"fto-chevron-right\"\r\n (click)=\"scrollNext()\"\r\n ></x-link>\r\n <x-dropdown\r\n *ngIf=\"showExpand && showArrow && layout === 'row'\"\r\n class=\"x-slider-all\"\r\n [data]=\"nodes\"\r\n trigger=\"click\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"dropdownClick($event)\"\r\n [portalMaxHeight]=\"expandMaxHeight\"\r\n >\r\n <x-button icon=\"fto-list\" onlyIcon [size]=\"size\"> </x-button>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-slider{margin:0;padding:0;position:relative;display:flex;align-items:center;height:100%}.x-slider-scroll{overflow:hidden;flex:1;display:inline-flex}.x-slider-scroll.x-justify-start{justify-content:flex-start}.x-slider-scroll.x-justify-center{justify-content:center}.x-slider-scroll.x-justify-end{justify-content:flex-end}.x-slider-scroll.x-justify-space-between{justify-content:space-between}.x-slider-scroll.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul{display:inline-flex;align-items:center;position:relative;transition:transform var(--x-animation-duration-base)}.x-slider-scroll>ul>li{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.x-slider-scroll>ul>li x-link{flex:1}.x-slider-scroll>ul>li x-link.x-justify-start{justify-content:flex-start}.x-slider-scroll>ul>li x-link.x-justify-center{justify-content:center}.x-slider-scroll>ul>li x-link.x-justify-end{justify-content:flex-end}.x-slider-scroll>ul>li x-link.x-justify-space-between{justify-content:space-between}.x-slider-scroll>ul>li x-link.x-justify-space-around{justify-content:space-around}.x-slider-scroll>ul>li x-link.x-size-big{height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-slider-scroll>ul>li x-link.x-size-large{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-slider-scroll>ul>li x-link.x-size-medium{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-slider-scroll>ul>li x-link.x-size-small{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-slider-scroll>ul>li x-link.x-size-mini{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-slider-scroll>ul>li.x-slider-highlight{position:absolute;left:0;top:0;z-index:1;width:0;height:0;border-radius:var(--x-border-radius);background-color:#0000000d;border:.0625rem solid var(--x-border)}.x-slider-scroll>ul>li.x-slider-highlight-animated{transition:width var(--x-animation-duration-base),left var(--x-animation-duration-base),height var(--x-animation-duration-base),top var(--x-animation-duration-base)}.x-slider-activated{color:var(--x-primary)}.x-slider-disabled{color:var(--x-text-400)!important;cursor:not-allowed!important}.x-slider-disabled .x-link{cursor:not-allowed!important}.x-slider-disabled .x-link:hover{color:var(--x-text-400)!important}.x-slider-arrow-left,.x-slider-arrow-right{height:1.675rem;line-height:1.675rem}.x-slider-arrow-left>x-icon,.x-slider-arrow-right>x-icon{margin-right:0}.x-slider-arrow-left .x-link,.x-slider-arrow-right .x-link{padding:.5rem}.x-slider-show-arrow>.x-slider-scroll{justify-content:start!important}.x-slider-row>.x-slider-scroll>ul{flex-direction:row}.x-slider-column{display:inline-flex;flex-direction:column}.x-slider-column>.x-slider-scroll{display:inline-block}.x-slider-column>.x-slider-scroll>ul{flex-direction:column}.x-slider-column>.x-slider-scroll>ul>li{display:flex;width:100%}.x-slider-column>.x-slider-arrow-left,.x-slider-column>.x-slider-arrow-right{transform:rotate(90deg)}\n"] }]
211
231
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { sliderScroll: [{
212
232
  type: ViewChild,
213
233
  args: ['sliderScroll']
@@ -215,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
215
235
  type: ViewChild,
216
236
  args: ['sliderNodes']
217
237
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTekQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFtQ25ELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBcEN0QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ1YsWUFBTyxHQUFXLENBQUMsQ0FBQztRQVM1QixjQUFTLEdBQWMsT0FBTyxDQUFDO1FB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Q0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBaUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2dJQWxOVSxnQkFBZ0I7b0hBQWhCLGdCQUFnQix1U0MzQjdCLDZ2Q0F1QkE7MkZESWEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR3BCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyUHJlZml4LCBYU2xpZGVyTm9kZSwgWFNsaWRlclByb3BlcnR5IH0gZnJvbSAnLi9zbGlkZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlckNvbXBvbmVudCBleHRlbmRzIFhTbGlkZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNjcm9sbCcpIHNsaWRlclNjcm9sbCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyTm9kZXMnKSBzbGlkZXJOb2RlcyE6IEVsZW1lbnRSZWY7XHJcbiAgbm9kZXM6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWQhOiBYU2xpZGVyTm9kZTtcclxuICBzY3JvbGxDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgbm9kZUNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBzaG93QXJyb3cgPSBmYWxzZTtcclxuICBwcml2YXRlIF9vZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IG9mZnNldCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX29mZnNldDtcclxuICB9XHJcbiAgc2V0IG9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9vZmZzZXQgPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSR7dGhpcy5kaXJ9KC0ke3RoaXMuX29mZnNldH1weClgO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBkaXJlY3Rpb246IFhQb3NpdGlvbiA9ICdyaWdodCc7XHJcbiAgbWF4T2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGdldCBkaXIoKTogJ1gnIHwgJ1knIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnWCcgOiAnWSc7XHJcbiAgfVxyXG4gIGdldCBzaXplTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCc7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybT86IHN0cmluZztcclxuICBoaWdobGlnaHRCb3ggPSB7XHJcbiAgICB3aWR0aDogJycsXHJcbiAgICBoZWlnaHQ6ICcnLFxyXG4gICAgbGVmdDogJycsXHJcbiAgICB0b3A6ICcnXHJcbiAgfTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGxheW91dCwganVzdGlmeSwgbm9kZUp1c3RpZnksIGFjdGl2YXRlZEluZGV4IH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKGxheW91dCkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5jbGFzc01hcCwgbGF5b3V0KTtcclxuICAgIFhJc0NoYW5nZShqdXN0aWZ5KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLnNjcm9sbENsYXNzTWFwLCBqdXN0aWZ5LCAneC1qdXN0aWZ5Jyk7XHJcbiAgICBYSXNDaGFuZ2Uobm9kZUp1c3RpZnkpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMubm9kZUNsYXNzTWFwLCBub2RlSnVzdGlmeSwgJ3gtanVzdGlmeScpO1xyXG4gICAgWElzQ2hhbmdlKGFjdGl2YXRlZEluZGV4KSAmJiB0aGlzLnNldERpcmVjdGlvbihhY3RpdmF0ZWRJbmRleC5jdXJyZW50VmFsdWUsIGFjdGl2YXRlZEluZGV4LnByZXZpb3VzVmFsdWUpICYmIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYU2xpZGVyUHJlZml4fS0ke3RoaXMubGF5b3V0fWBdID0gIVhJc0VtcHR5KHRoaXMubGF5b3V0KTtcclxuICAgIHRoaXMuc2Nyb2xsQ2xhc3NNYXBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeX1gXSA9ICFYSXNFbXB0eSh0aGlzLmp1c3RpZnkpO1xyXG4gICAgdGhpcy5ub2RlQ2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgeC1qdXN0aWZ5LSR7dGhpcy5ub2RlSnVzdGlmeX1gXTogIVhJc0VtcHR5KHRoaXMubm9kZUp1c3RpZnkpLFxyXG4gICAgICBbYHgtc2l6ZS0ke3RoaXMuc2l6ZX1gXTogIVhJc0VtcHR5KHRoaXMuc2l6ZSlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRDaGFuZ2UobWFwOiBYQ2xhc3NNYXAsIGNoYW5nZTogU2ltcGxlQ2hhbmdlLCBwcmVmaXggPSBYU2xpZGVyUHJlZml4KSB7XHJcbiAgICBtYXBbYCR7cHJlZml4fS0ke2NoYW5nZS5wcmV2aW91c1ZhbHVlfWBdID0gZmFsc2U7XHJcbiAgICBtYXBbYCR7cHJlZml4fS0ke2NoYW5nZS5jdXJyZW50VmFsdWV9YF0gPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3Vic2NyaWJlKCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50LCB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIHRoaXMuc2l6ZUNoZWNrZWQoKTtcclxuICAgICAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhub2RlOiBYU2xpZGVyTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuc2V0RGlyZWN0aW9uKGluZGV4LCBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkpO1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRJbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5hY3RpdmF0ZWQgPSBub2RlO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gICAgdGhpcy5ub2RlQ2hhbmdlLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxQcmV2KCkge1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGlmICghY3VycmVudE9mZnNldCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgPyBjdXJyZW50T2Zmc2V0IC0gc2Nyb2xsU2l6ZSA6IDA7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNjcm9sbE5leHQoKSB7XHJcbiAgICBjb25zdCBzbGlkZXJTaXplID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0IDw9IHNjcm9sbFNpemUpIHJldHVybjtcclxuICAgIGNvbnN0IG9mZnNldCA9IHNsaWRlclNpemUgLSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSAqIDIgPyBjdXJyZW50T2Zmc2V0ICsgc2Nyb2xsU2l6ZSA6IHNsaWRlclNpemUgLSBzY3JvbGxTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXJlY3Rpb24oaW5kZXg6IG51bWJlciwgYmVmb3JlOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluY3JlYXNlID0gaW5kZXggPiBiZWZvcmU7XHJcbiAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMubGF5b3V0ID09PSAncm93JyA/IChpbmNyZWFzZSA/ICdyaWdodCcgOiAnbGVmdCcpIDogaW5jcmVhc2UgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc2V0VHJhbnNsYXRlKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlclNjcm9sbCkgfHwgWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBzbGlkZXJSZWN0ID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzbGlkZXJOb2Rlc1JlY3QgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgbGV0IG1vdmVJbmRleCA9IFsnYm90dG9tJywgJ3JpZ2h0J10uaW5kZXhPZih0aGlzLmRpcmVjdGlvbikgIT09IC0xID8gTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMiA6IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KTtcclxuICAgIG1vdmVJbmRleCA9IG1vdmVJbmRleCA+IHRoaXMubm9kZXMubGVuZ3RoID8gdGhpcy5ub2Rlcy5sZW5ndGggOiBtb3ZlSW5kZXggPT09IDAgPyAxIDogbW92ZUluZGV4O1xyXG4gICAgbGV0IG1vdmVFbGUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoYGxpOm50aC1jaGlsZCgke21vdmVJbmRleH0pYCk7XHJcbiAgICBsZXQgbWF4T2Zmc2V0ID0gMDtcclxuICAgIGlmIChYSXNFbXB0eShtb3ZlRWxlKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbW92ZVJlY3QgPSBtb3ZlRWxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgbGV0IG9mZnNldCA9IGN1cnJlbnRPZmZzZXQ7XHJcbiAgICBpZiAodGhpcy5sYXlvdXQgPT09ICdyb3cnKSB7XHJcbiAgICAgIG1heE9mZnNldCA9IHNsaWRlck5vZGVzUmVjdC53aWR0aCAtIHNsaWRlclJlY3Qud2lkdGg7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5sZWZ0IDwgc2xpZGVyUmVjdC5sZWZ0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCAtIChzbGlkZXJSZWN0LmxlZnQgLSBtb3ZlUmVjdC5sZWZ0KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QucmlnaHQgPiBzbGlkZXJSZWN0LnJpZ2h0KSB7XHJcbiAgICAgICAgb2Zmc2V0ID0gY3VycmVudE9mZnNldCArIG1vdmVSZWN0LnJpZ2h0IC0gc2xpZGVyUmVjdC5yaWdodDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LmhlaWdodCAtIHNsaWRlclJlY3QuaGVpZ2h0O1xyXG4gICAgICBpZiAobW92ZVJlY3QudG9wIDwgc2xpZGVyUmVjdC50b3ApIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QudG9wIC0gbW92ZVJlY3QudG9wKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW92ZVJlY3QuYm90dG9tID4gc2xpZGVyUmVjdC5ib3R0b20pIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgKG1vdmVSZWN0LmJvdHRvbSAtIHNsaWRlclJlY3QuYm90dG9tKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tYXhPZmZzZXQgPSBNYXRoLmZsb29yKG1heE9mZnNldCk7XHJcbiAgICBvZmZzZXQgPSBNYXRoLm1heChvZmZzZXQsIDApO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIG1heE9mZnNldCk7XHJcbiAgfVxyXG5cclxuICBzaXplQ2hlY2tlZCgpIHtcclxuICAgIGNvbnN0IHNpemUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBzaG93QXJyb3cgPSB0aGlzLm5vZGVzLmxlbmd0aCA+IDEgJiYgc2l6ZSA+IHNjcm9sbFNpemU7XHJcbiAgICBpZiAodGhpcy5zaG93QXJyb3cgIT09IHNob3dBcnJvdykge1xyXG4gICAgICB0aGlzLnNob3dBcnJvdyA9IHNob3dBcnJvdztcclxuICAgICAgdGhpcy5jbGFzc01hcFtgJHtYU2xpZGVyUHJlZml4fS1zaG93LWFycm93YF0gPSB0aGlzLnNob3dBcnJvdztcclxuICAgICAgaWYgKCF0aGlzLnNob3dBcnJvdykge1xyXG4gICAgICAgIHRoaXMub2Zmc2V0ID0gMDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmF0ZWQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkID0gdGhpcy5ub2Rlc1tOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCldO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7TnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMX0pYCk7XHJcbiAgICBpZiAoIWFjdGl2ZUVsZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5oaWdobGlnaHRCb3ggPSB7XHJcbiAgICAgIHdpZHRoOiBgJHthY3RpdmVFbGUub2Zmc2V0V2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRIZWlnaHR9cHhgLFxyXG4gICAgICBsZWZ0OiBgJHthY3RpdmVFbGUub2Zmc2V0TGVmdH1weGAsXHJcbiAgICAgIHRvcDogYCR7YWN0aXZlRWxlLm9mZnNldFRvcH1weGBcclxuICAgIH07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYU2xpZGVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QWN0aXZhdGVkKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmF0ZWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWFNsaWRlck5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzbGlkZXIgY2xhc3M9XCJ4LXNsaWRlclwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPHgtbGluayAqbmdJZj1cInNob3dBcnJvd1wiIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IDBcIiBjbGFzcz1cIngtc2xpZGVyLWFycm93LWxlZnRcIiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIChjbGljayk9XCJzY3JvbGxQcmV2KClcIj48L3gtbGluaz5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2Nyb2xsXCIgI3NsaWRlclNjcm9sbCBbbmdDbGFzc109XCJzY3JvbGxDbGFzc01hcFwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCIgW2NsYXNzLngtc2xpZGVyLWFjdGl2YXRlZF09XCJnZXRBY3RpdmF0ZWQoaSlcIiBbY2xhc3MueC1zbGlkZXItZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiIFt0aXRsZV09XCJub2RlLmxhYmVsXCI+XHJcbiAgICAgICAgPHgtbGluayAoY2xpY2spPVwibm9kZUNsaWNrKG5vZGUsIGkpXCIgW25nQ2xhc3NdPVwibm9kZUNsYXNzTWFwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIm5vZGUubGFiZWxcIj57eyBub2RlLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3gtbGluaz5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpIGNsYXNzPVwieC1zbGlkZXItaGlnaGxpZ2h0XCIgW2NsYXNzLngtc2xpZGVyLWhpZ2hsaWdodC1hbmltYXRlZF09XCJhbmltYXRlZFwiIFtuZ1N0eWxlXT1cImhpZ2hsaWdodEJveFwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwic2hvd0Fycm93XCJcclxuICAgIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IG1heE9mZnNldFwiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LXJpZ2h0XCJcclxuICAgIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiXHJcbiAgICAoY2xpY2spPVwic2Nyb2xsTmV4dCgpXCJcclxuICA+PC94LWxpbms+XHJcbjwvZGl2PlxyXG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQW9DbkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFyQ3RDLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQWMsRUFBRSxDQUFDO1FBQy9CLGlCQUFZLEdBQWMsRUFBRSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDVCxZQUFPLEdBQVcsQ0FBQyxDQUFD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QUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR3BCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyUHJlZml4LCBYU2xpZGVyTm9kZSwgWFNsaWRlclByb3BlcnR5IH0gZnJvbSAnLi9zbGlkZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlckNvbXBvbmVudCBleHRlbmRzIFhTbGlkZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNjcm9sbCcpIHNsaWRlclNjcm9sbCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyTm9kZXMnKSBzbGlkZXJOb2RlcyE6IEVsZW1lbnRSZWY7XHJcbiAgbm9kZXM6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWQhOiBYU2xpZGVyTm9kZTtcclxuICBzY3JvbGxDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgbm9kZUNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBzaG93QXJyb3cgPSBmYWxzZTtcclxuICBhY3RpdmF0ZWRJZCA9ICcnO1xyXG4gIHByaXZhdGUgX29mZnNldDogbnVtYmVyID0gMDtcclxuICBnZXQgb2Zmc2V0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gIH1cclxuICBzZXQgb2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX29mZnNldCA9IE1hdGguZmxvb3IodmFsdWUpO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlJHt0aGlzLmRpcn0oLSR7dGhpcy5fb2Zmc2V0fXB4KWA7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRpcmVjdGlvbjogWFBvc2l0aW9uID0gJ3JpZ2h0JztcclxuICBtYXhPZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IGRpcigpOiAnWCcgfCAnWScge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdYJyA6ICdZJztcclxuICB9XHJcbiAgZ2V0IHNpemVOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdXaWR0aCcgOiAnSGVpZ2h0JztcclxuICB9XHJcbiAgdHJhbnNmb3JtPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodEJveCA9IHtcclxuICAgIHdpZHRoOiAnJyxcclxuICAgIGhlaWdodDogJycsXHJcbiAgICBsZWZ0OiAnJyxcclxuICAgIHRvcDogJydcclxuICB9O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbGF5b3V0LCBqdXN0aWZ5LCBub2RlSnVzdGlmeSwgYWN0aXZhdGVkSW5kZXggfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgICBYSXNDaGFuZ2UobGF5b3V0KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLmNsYXNzTWFwLCBsYXlvdXQpO1xyXG4gICAgWElzQ2hhbmdlKGp1c3RpZnkpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuc2Nyb2xsQ2xhc3NNYXAsIGp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShub2RlSnVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5ub2RlQ2xhc3NNYXAsIG5vZGVKdXN0aWZ5LCAneC1qdXN0aWZ5Jyk7XHJcbiAgICBYSXNDaGFuZ2UoYWN0aXZhdGVkSW5kZXgpICYmIHRoaXMuc2V0RGlyZWN0aW9uKGFjdGl2YXRlZEluZGV4LmN1cnJlbnRWYWx1ZSwgYWN0aXZhdGVkSW5kZXgucHJldmlvdXNWYWx1ZSkgJiYgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gICAgdGhpcy5zY3JvbGxDbGFzc01hcFtgeC1qdXN0aWZ5LSR7dGhpcy5qdXN0aWZ5fWBdID0gIVhJc0VtcHR5KHRoaXMuanVzdGlmeSk7XHJcbiAgICB0aGlzLm5vZGVDbGFzc01hcCA9IHtcclxuICAgICAgW2B4LWp1c3RpZnktJHt0aGlzLm5vZGVKdXN0aWZ5fWBdOiAhWElzRW1wdHkodGhpcy5ub2RlSnVzdGlmeSksXHJcbiAgICAgIFtgeC1zaXplLSR7dGhpcy5zaXplfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENoYW5nZShtYXA6IFhDbGFzc01hcCwgY2hhbmdlOiBTaW1wbGVDaGFuZ2UsIHByZWZpeCA9IFhTbGlkZXJQcmVmaXgpIHtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLnByZXZpb3VzVmFsdWV9YF0gPSBmYWxzZTtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLmN1cnJlbnRWYWx1ZX1gXSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5zaXplQ2hlY2tlZCgpO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbm9kZUNsaWNrKG5vZGU6IFhTbGlkZXJOb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5zZXREaXJlY3Rpb24oaW5kZXgsIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSk7XHJcbiAgICB0aGlzLmFjdGl2YXRlZEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmFjdGl2YXRlZCA9IG5vZGU7XHJcbiAgICB0aGlzLmFjdGl2YXRlZElkID0gbm9kZS5pZDtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0KCk7XHJcbiAgICB0aGlzLnNldFRyYW5zbGF0ZSgpO1xyXG4gICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIHRoaXMubm9kZUNoYW5nZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25DbGljayhub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLm5vZGVzLmluZGV4T2Yobm9kZSk7XHJcbiAgICB0aGlzLm5vZGVDbGljayhub2RlLCBpbmRleCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxQcmV2KCkge1xyXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKCFjdXJyZW50T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSA/IGN1cnJlbnRPZmZzZXQgLSBzY3JvbGxTaXplIDogMDtcclxuICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTmV4dCgpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gdGhpcy5tYXhPZmZzZXQpIHJldHVybjtcclxuICAgIGNvbnN0IHNsaWRlclNpemUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBpZiAoc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPD0gc2Nyb2xsU2l6ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPiBzY3JvbGxTaXplICogMiA/IGN1cnJlbnRPZmZzZXQgKyBzY3JvbGxTaXplIDogc2xpZGVyU2l6ZSAtIHNjcm9sbFNpemU7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNldERpcmVjdGlvbihpbmRleDogbnVtYmVyLCBiZWZvcmU6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5jcmVhc2UgPSBpbmRleCA+IGJlZm9yZTtcclxuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5sYXlvdXQgPT09ICdyb3cnID8gKGluY3JlYXNlID8gJ3JpZ2h0JyA6ICdsZWZ0JykgOiBpbmNyZWFzZSA/ICdib3R0b20nIDogJ3RvcCc7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2xhdGUoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyU2Nyb2xsKSB8fCBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcykpIHJldHVybjtcclxuICAgIGNvbnN0IHNsaWRlclJlY3QgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHNsaWRlck5vZGVzUmVjdCA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgbW92ZUluZGV4ID0gWydib3R0b20nLCAncmlnaHQnXS5pbmRleE9mKHRoaXMuZGlyZWN0aW9uKSAhPT0gLTEgPyBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkgKyAyIDogTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpO1xyXG4gICAgbW92ZUluZGV4ID0gbW92ZUluZGV4ID4gdGhpcy5ub2Rlcy5sZW5ndGggPyB0aGlzLm5vZGVzLmxlbmd0aCA6IG1vdmVJbmRleCA9PT0gMCA/IDEgOiBtb3ZlSW5kZXg7XHJcbiAgICBsZXQgbW92ZUVsZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7bW92ZUluZGV4fSlgKTtcclxuICAgIGxldCBtYXhPZmZzZXQgPSAwO1xyXG4gICAgaWYgKFhJc0VtcHR5KG1vdmVFbGUpKSByZXR1cm47XHJcbiAgICBjb25zdCBtb3ZlUmVjdCA9IG1vdmVFbGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7TnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMX0pYCk7XHJcbiAgICBpZiAoIWFjdGl2ZUVsZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5oaWdobGlnaHRCb3ggPSB7XHJcbiAgICAgIHdpZHRoOiBgJHthY3RpdmVFbGUub2Zmc2V0V2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRIZWlnaHR9cHhgLFxyXG4gICAgICBsZWZ0OiBgJHthY3RpdmVFbGUub2Zmc2V0TGVmdH1weGAsXHJcbiAgICAgIHRvcDogYCR7YWN0aXZlRWxlLm9mZnNldFRvcH1weGBcclxuICAgIH07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYU2xpZGVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QWN0aXZhdGVkKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmF0ZWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWFNsaWRlck5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzbGlkZXIgY2xhc3M9XCJ4LXNsaWRlclwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPHgtbGluayAqbmdJZj1cInNob3dBcnJvd1wiIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IDBcIiBjbGFzcz1cIngtc2xpZGVyLWFycm93LWxlZnRcIiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIChjbGljayk9XCJzY3JvbGxQcmV2KClcIj48L3gtbGluaz5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2Nyb2xsXCIgI3NsaWRlclNjcm9sbCBbbmdDbGFzc109XCJzY3JvbGxDbGFzc01hcFwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1hY3RpdmF0ZWRdPVwiZ2V0QWN0aXZhdGVkKGkpXCJcclxuICAgICAgICBbY2xhc3MueC1zbGlkZXItZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHgtbGluayAoY2xpY2spPVwibm9kZUNsaWNrKG5vZGUsIGkpXCIgW25nQ2xhc3NdPVwibm9kZUNsYXNzTWFwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIm5vZGUubGFiZWxcIj57eyBub2RlLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3gtbGluaz5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpIGNsYXNzPVwieC1zbGlkZXItaGlnaGxpZ2h0XCIgW2NsYXNzLngtc2xpZGVyLWhpZ2hsaWdodC1hbmltYXRlZF09XCJhbmltYXRlZFwiIFtuZ1N0eWxlXT1cImhpZ2hsaWdodEJveFwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwic2hvd0Fycm93XCJcclxuICAgIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IG1heE9mZnNldFwiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LXJpZ2h0XCJcclxuICAgIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiXHJcbiAgICAoY2xpY2spPVwic2Nyb2xsTmV4dCgpXCJcclxuICA+PC94LWxpbms+XHJcbiAgPHgtZHJvcGRvd25cclxuICAgICpuZ0lmPVwic2hvd0V4cGFuZCAmJiBzaG93QXJyb3cgJiYgbGF5b3V0ID09PSAncm93J1wiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFsbFwiXHJcbiAgICBbZGF0YV09XCJub2Rlc1wiXHJcbiAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgWyhhY3RpdmF0ZWRJZCldPVwiYWN0aXZhdGVkSWRcIlxyXG4gICAgKG5vZGVDbGljayk9XCJkcm9wZG93bkNsaWNrKCRldmVudClcIlxyXG4gICAgW3BvcnRhbE1heEhlaWdodF09XCJleHBhbmRNYXhIZWlnaHRcIlxyXG4gID5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWxpc3RcIiBvbmx5SWNvbiBbc2l6ZV09XCJzaXplXCI+IDwveC1idXR0b24+XHJcbiAgPC94LWRyb3Bkb3duPlxyXG48L2Rpdj5cclxuIl19
@@ -5,18 +5,19 @@ import { XLinkModule } from '@ng-nest/ui/link';
5
5
  import { XButtonModule } from '@ng-nest/ui/button';
6
6
  import { XOutletModule } from '@ng-nest/ui/outlet';
7
7
  import { XSliderProperty } from './slider.property';
8
+ import { XDropdownModule } from '@ng-nest/ui/dropdown';
8
9
  import * as i0 from "@angular/core";
9
10
  export class XSliderModule {
10
11
  }
11
12
  /** @nocollapse */ XSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- /** @nocollapse */ XSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, declarations: [XSliderComponent, XSliderProperty], imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule], exports: [XSliderComponent] });
13
- /** @nocollapse */ XSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule] });
13
+ /** @nocollapse */ XSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, declarations: [XSliderComponent, XSliderProperty], imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule], exports: [XSliderComponent] });
14
+ /** @nocollapse */ XSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule] });
14
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderModule, decorators: [{
15
16
  type: NgModule,
16
17
  args: [{
17
18
  declarations: [XSliderComponent, XSliderProperty],
18
19
  exports: [XSliderComponent],
19
- imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule]
20
+ imports: [CommonModule, XLinkModule, XButtonModule, XOutletModule, XDropdownModule]
20
21
  }]
21
22
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGFBQWE7OzZIQUFiLGFBQWE7OEhBQWIsYUFBYSxpQkFKVCxnQkFBZ0IsRUFBRSxlQUFlLGFBRXRDLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsYUFEdkQsZ0JBQWdCOzhIQUdmLGFBQWEsWUFGZCxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhOzJGQUV0RCxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWExpbmtNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9saW5rJztcclxuaW1wb3J0IHsgWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYU2xpZGVyUHJvcGVydHkgfSBmcm9tICcuL3NsaWRlci5wcm9wZXJ0eSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hTbGlkZXJDb21wb25lbnQsIFhTbGlkZXJQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hTbGlkZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhMaW5rTW9kdWxlLCBYQnV0dG9uTW9kdWxlLCBYT3V0bGV0TW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlck1vZHVsZSB7fVxyXG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOzs2SEFBYixhQUFhOzhIQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLEVBQUUsZUFBZSxhQUV0QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxhQUR4RSxnQkFBZ0I7OEhBR2YsYUFBYSxZQUZkLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlOzJGQUV2RSxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQ3BGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhMaW5rTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvbGluayc7XHJcbmltcG9ydCB7IFhCdXR0b25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWFNsaWRlclByb3BlcnR5IH0gZnJvbSAnLi9zbGlkZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9kcm9wZG93bic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hTbGlkZXJDb21wb25lbnQsIFhTbGlkZXJQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hTbGlkZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhMaW5rTW9kdWxlLCBYQnV0dG9uTW9kdWxlLCBYT3V0bGV0TW9kdWxlLCBYRHJvcGRvd25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyTW9kdWxlIHt9XHJcbiJdfQ==
@@ -53,7 +53,7 @@ export class XSliderProperty extends XProperty {
53
53
  }
54
54
  }
55
55
  /** @nocollapse */ XSliderProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ XSliderProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSliderProperty, selector: "ng-component", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
56
+ /** @nocollapse */ XSliderProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: XSliderProperty, selector: "ng-component", inputs: { data: "data", animated: "animated", activatedIndex: "activatedIndex", layout: "layout", justify: "justify", nodeJustify: "nodeJustify", nodeTpl: "nodeTpl", size: "size", showExpand: "showExpand", expandMaxHeight: "expandMaxHeight" }, outputs: { indexChange: "indexChange", nodeChange: "nodeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
57
57
  __decorate([
58
58
  XDataConvert()
59
59
  ], XSliderProperty.prototype, "data", void 0);
@@ -67,6 +67,13 @@ __decorate([
67
67
  __decorate([
68
68
  XWithConfig(X_CONFIG_NAME, 'medium')
69
69
  ], XSliderProperty.prototype, "size", void 0);
70
+ __decorate([
71
+ XWithConfig(X_CONFIG_NAME, false),
72
+ XInputBoolean()
73
+ ], XSliderProperty.prototype, "showExpand", void 0);
74
+ __decorate([
75
+ XWithConfig(X_CONFIG_NAME, '15rem')
76
+ ], XSliderProperty.prototype, "expandMaxHeight", void 0);
70
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: XSliderProperty, decorators: [{
71
78
  type: Component,
72
79
  args: [{ template: '' }]
@@ -86,9 +93,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
86
93
  type: Input
87
94
  }], size: [{
88
95
  type: Input
96
+ }], showExpand: [{
97
+ type: Input
98
+ }], expandMaxHeight: [{
99
+ type: Input
89
100
  }], indexChange: [{
90
101
  type: Output
91
102
  }], nodeChange: [{
92
103
  type: Output
93
104
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFLWixXQUFXLEVBQ1osTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVwRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBRDlDOztRQUVFOzs7V0FHRztRQUNzQixTQUFJLEdBQXVCLEVBQUUsQ0FBQztRQU12RDs7O1dBR0c7UUFDc0IsbUJBQWMsR0FBWSxDQUFDLENBQUM7UUFDckQ7OztXQUdHO1FBQ00sV0FBTSxHQUFtQixLQUFLLENBQUM7UUFDeEM7OztXQUdHO1FBQ00sWUFBTyxHQUFjLE9BQU8sQ0FBQztRQUN0Qzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFjLFFBQVEsQ0FBQztRQVczQzs7O1dBR0c7UUFDTyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7OztXQUdHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7S0FDeEQ7OytIQW5EWSxlQUFlO21IQUFmLGVBQWUsb1VBREwsRUFBRTtBQU1FO0lBQWYsWUFBWSxFQUFFOzZDQUErQjtBQUtlO0lBQTVELFdBQVcsQ0FBVyxhQUFhLEVBQUUsSUFBSSxDQUFDO0lBQUUsYUFBYSxFQUFFO2lEQUFxQjtBQUtqRTtJQUFmLFlBQVksRUFBRTt1REFBNkI7QUF5QkM7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7NkNBQWM7MkZBeEN4RCxlQUFlO2tCQUQzQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNQSxJQUFJO3NCQUE1QixLQUFLO2dCQUtnRSxRQUFRO3NCQUE3RSxLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS2dELElBQUk7c0JBQXpELEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYRGF0YSxcclxuICBYVGVtcGxhdGUsXHJcbiAgWFByb3BlcnR5LFxyXG4gIFhJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYSnVzdGlmeSxcclxuICBYU2l6ZSxcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhXaXRoQ29uZmlnXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFNsaWRlclxyXG4gKiBAc2VsZWN0b3IgeC1zbGlkZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYU2xpZGVyUHJlZml4ID0gJ3gtc2xpZGVyJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdzbGlkZXInO1xyXG5cclxuLyoqXHJcbiAqIFNsaWRlciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYU2xpZGVyTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ruR5Yqo5Yqo55S7XHJcbiAgICogQGVuX1VTIFNsaWRpbmcgYW5pbWF0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGFuaW1hdGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjea/gOa0u+eahOe0ouW8lVxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgYWN0aXZlIGluZGV4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGFjdGl2YXRlZEluZGV4OiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5YiX5pa55byPXHJcbiAgICogQGVuX1VTIEFycmFuZ2VtZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgbGF5b3V0PzogWFNsaWRlckxheW91dCA9ICdyb3cnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgQWxpZ25tZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkganVzdGlmeT86IFhKdXN0aWZ5ID0gJ3N0YXJ0JztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55paH5a2X5a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIE5vZGUgdGV4dCBhbGlnbm1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlSnVzdGlmeT86IFhKdXN0aWZ5ID0gJ2NlbnRlcic7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVUcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIHNpemU/OiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS757Si5byV5Y+Y5YyW5LqL5Lu2XHJcbiAgICogQGVuX1VTIEFjdGl2YXRlIGluZGV4IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBpbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvoioLngrnmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgQWN0aXZhdGUgbm9kZSBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNsaWRlck5vZGU+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gU2xpZGVyIOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgU2xpZGVyIGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTbGlkZXJOb2RlIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfpopjvvIzmlK/mjIHmqKHmnb9cclxuICAgKiBAZW5fVVMgVGl0bGUsIHN1cHBvcnQgdGVtcGxhdGVcclxuICAgKi9cclxuICBsYWJlbD86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So6IqC54K5XHJcbiAgICogQGVuX1VTIE5vZGUgZGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5biD5bGA5pa55byPXHJcbiAqIEBlbl9VUyBMYXlvdXRcclxuICovXHJcbmV4cG9ydCB0eXBlIFhTbGlkZXJMYXlvdXQgPSAncm93JyB8ICdjb2x1bW4nO1xyXG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFLWixXQUFXLEVBQ1osTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVwRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUN4QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUFTO0lBRDlDOztRQUVFOzs7V0FHRztRQUNzQixTQUFJLEdBQXVCLEVBQUUsQ0FBQztRQU12RDs7O1dBR0c7UUFDc0IsbUJBQWMsR0FBWSxDQUFDLENBQUM7UUFDckQ7OztXQUdHO1FBQ00sV0FBTSxHQUFtQixLQUFLLENBQUM7UUFDeEM7OztXQUdHO1FBQ00sWUFBTyxHQUFjLE9BQU8sQ0FBQztRQUN0Qzs7O1dBR0c7UUFDTSxnQkFBVyxHQUFjLFFBQVEsQ0FBQztRQXFCM0M7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOzs7V0FHRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBQ3hEOzsrSEE3RFksZUFBZTttSEFBZixlQUFlLGtZQURMLEVBQUU7QUFNRTtJQUFmLFlBQVksRUFBRTs2Q0FBK0I7QUFLZTtJQUE1RCxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztJQUFFLGFBQWEsRUFBRTtpREFBcUI7QUFLakU7SUFBZixZQUFZLEVBQUU7dURBQTZCO0FBeUJDO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDOzZDQUFjO0FBS0k7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7bURBQXVCO0FBS3ZDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDO3dEQUEwQjsyRkFsRHBFLGVBQWU7a0JBRDNCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1BLElBQUk7c0JBQTVCLEtBQUs7Z0JBS2dFLFFBQVE7c0JBQTdFLEtBQUs7Z0JBS21CLGNBQWM7c0JBQXRDLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLZ0QsSUFBSTtzQkFBekQsS0FBSztnQkFLaUUsVUFBVTtzQkFBaEYsS0FBSztnQkFLZ0QsZUFBZTtzQkFBcEUsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhEYXRhLFxyXG4gIFhUZW1wbGF0ZSxcclxuICBYUHJvcGVydHksXHJcbiAgWElkZW50aXR5UHJvcGVydHksXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhKdXN0aWZ5LFxyXG4gIFhTaXplLFxyXG4gIFhOdW1iZXIsXHJcbiAgWEJvb2xlYW4sXHJcbiAgWFdpdGhDb25maWdcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVSZWYsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogU2xpZGVyXHJcbiAqIEBzZWxlY3RvciB4LXNsaWRlclxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhTbGlkZXJQcmVmaXggPSAneC1zbGlkZXInO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ3NsaWRlcic7XHJcblxyXG4vKipcclxuICogU2xpZGVyIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhTbGlkZXJOb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5HliqjliqjnlLtcclxuICAgKiBAZW5fVVMgU2xpZGluZyBhbmltYXRpb25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgYW5pbWF0ZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN5r+A5rS755qE57Si5byVXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBhY3RpdmUgaW5kZXhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgYWN0aXZhdGVkSW5kZXg6IFhOdW1iZXIgPSAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjpLliJfmlrnlvI9cclxuICAgKiBAZW5fVVMgQXJyYW5nZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsYXlvdXQ/OiBYU2xpZGVyTGF5b3V0ID0gJ3Jvdyc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBBbGlnbm1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBqdXN0aWZ5PzogWEp1c3RpZnkgPSAnc3RhcnQnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmloflrZflr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgTm9kZSB0ZXh0IGFsaWdubWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVKdXN0aWZ5PzogWEp1c3RpZnkgPSAnY2VudGVyJztcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgY3VzdG9tIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZVRwbCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmmL7npLrkuI3kuIvnmoTml7blgJnmmL7npLrlsZXlvIDmiYDmnInnmoTmjInpkq7vvIzmjpLliJfmlrnlvI/kuLogcm93IOeahOaXtuWAmeeUn+aViFxyXG4gICAqIEBlbl9VUyBXaGVuIHRoZSBub2RlIGlzIG5vdCBkaXNwbGF5ZWQsIGRpc3BsYXkgYWxsIHRoZSBidXR0b25zLCBhbmQgdGhlIGFycmFuZ2VtZW50IGlzIGVmZmVjdGl2ZSB3aGVuIHRoZSBhcnJhbmdlbWVudCBpcyByb3dcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHNob3dFeHBhbmQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA5omA5pyJ5by55qGG55qE5pyA5aSn6auY5bqmXHJcbiAgICogQGVuX1VTIEV4cGFuZCB0aGUgbWF4aW11bSBoZWlnaHQgb2YgYWxsIGJvbWIgZnJhbWVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJzE1cmVtJykgZXhwYW5kTWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvntKLlvJXlj5jljJbkuovku7ZcclxuICAgKiBAZW5fVVMgQWN0aXZhdGUgaW5kZXggY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+iKgueCueaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBBY3RpdmF0ZSBub2RlIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYU2xpZGVyTm9kZT4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBTbGlkZXIg5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBTbGlkZXIgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlck5vZGUgZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+mimO+8jOaUr+aMgeaooeadv1xyXG4gICAqIEBlbl9VUyBUaXRsZSwgc3VwcG9ydCB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIGxhYmVsPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjoioLngrlcclxuICAgKiBAZW5fVVMgTm9kZSBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDluIPlsYDmlrnlvI9cclxuICogQGVuX1VTIExheW91dFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWFNsaWRlckxheW91dCA9ICdyb3cnIHwgJ2NvbHVtbic7XHJcbiJdfQ==