@fundamental-ngx/platform 0.44.1-rc.3 → 0.45.0

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 (277) hide show
  1. package/action-bar/action-bar.component.d.ts +1 -6
  2. package/action-bar/action-bar.module.d.ts +3 -4
  3. package/button/button.module.d.ts +2 -3
  4. package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +1 -3
  5. package/esm2022/action-bar/action-bar.component.mjs +3 -5
  6. package/esm2022/action-bar/action-bar.module.mjs +5 -26
  7. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +5 -5
  8. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +5 -5
  9. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
  10. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +5 -5
  11. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  12. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
  13. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  14. package/esm2022/approval-flow/approval-flow.component.mjs +1 -1
  15. package/esm2022/button/button.module.mjs +5 -6
  16. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +2 -8
  17. package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
  18. package/esm2022/feed-input/feed-input.component.mjs +3 -17
  19. package/esm2022/form/checkbox/checkbox.component.mjs +3 -50
  20. package/esm2022/form/checkbox/checkbox.module.mjs +5 -26
  21. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +10 -38
  22. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +5 -23
  23. package/esm2022/form/combobox/combobox/combobox.component.mjs +1 -1
  24. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
  25. package/esm2022/form/combobox/combobox.module.mjs +4 -8
  26. package/esm2022/form/date-picker/date-picker.component.mjs +4 -66
  27. package/esm2022/form/date-picker/date-picker.module.mjs +5 -26
  28. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -56
  29. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +5 -26
  30. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +2 -2
  31. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +2 -2
  32. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +2 -2
  33. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +2 -2
  34. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +35 -60
  35. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
  36. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  37. package/esm2022/form/form-group/fdp-form.module.mjs +1 -5
  38. package/esm2022/form/form-group/form-field/form-field.component.mjs +5 -41
  39. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
  40. package/esm2022/form/form-group/form-group.component.mjs +5 -29
  41. package/esm2022/form/index.mjs +1 -2
  42. package/esm2022/form/input/fdp-input.module.mjs +5 -23
  43. package/esm2022/form/input-group/input-group.module.mjs +4 -22
  44. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
  45. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
  46. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -8
  47. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  48. package/esm2022/form/multi-input/multi-input.component.mjs +3 -3
  49. package/esm2022/form/multi-input/multi-input.module.mjs +4 -8
  50. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +9 -27
  51. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +5 -23
  52. package/esm2022/form/radio-group/radio/radio.component.mjs +3 -22
  53. package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
  54. package/esm2022/form/radio-group/radio-group.module.mjs +4 -17
  55. package/esm2022/form/select/select/select.component.mjs +5 -23
  56. package/esm2022/form/select/select.module.mjs +4 -20
  57. package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
  58. package/esm2022/form/step-input/step-input.module.mjs +4 -8
  59. package/esm2022/form/switch/switch/switch.component.mjs +1 -1
  60. package/esm2022/form/switch/switch.module.mjs +5 -23
  61. package/esm2022/form/text-area/text-area.component.mjs +4 -21
  62. package/esm2022/form/text-area/text-area.module.mjs +4 -8
  63. package/esm2022/form/time-picker/time-picker.module.mjs +5 -26
  64. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
  65. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
  66. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
  67. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
  68. package/esm2022/link/link.component.mjs +3 -3
  69. package/esm2022/list/action-list-item/action-list-item.component.mjs +1 -1
  70. package/esm2022/list/base-list-item.mjs +6 -49
  71. package/esm2022/list/display-list-item/display-list-item.component.mjs +1 -1
  72. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
  73. package/esm2022/list/list-group-header.component.mjs +2 -8
  74. package/esm2022/list/list.component.mjs +1 -1
  75. package/esm2022/list/list.module.mjs +2 -9
  76. package/esm2022/list/object-list-item/object-list-item.component.mjs +1 -1
  77. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -17
  78. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
  79. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -8
  80. package/esm2022/menu/menu.module.mjs +5 -37
  81. package/esm2022/menu-button/menu-button.module.mjs +5 -23
  82. package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
  83. package/esm2022/message-popover/message-popover.component.mjs +4 -5
  84. package/esm2022/panel/panel.module.mjs +5 -17
  85. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
  86. package/esm2022/search-field/search-field.component.mjs +8 -45
  87. package/esm2022/search-field/search-field.module.mjs +4 -19
  88. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
  89. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
  90. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
  91. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
  92. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
  93. package/esm2022/shared/form/form-field.mjs +1 -1
  94. package/esm2022/shared/form/form-options.mjs +1 -1
  95. package/esm2022/shared/form/hint-options.mjs +1 -1
  96. package/esm2022/shared/index.mjs +1 -2
  97. package/esm2022/slider/slider.component.mjs +1 -1
  98. package/esm2022/slider/slider.module.mjs +5 -6
  99. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +6 -10
  100. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +10 -12
  101. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +8 -11
  102. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +40 -45
  103. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
  104. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
  105. package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
  106. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
  107. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +5 -72
  108. package/esm2022/split-menu-button/split-menu-button.module.mjs +5 -23
  109. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
  110. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
  111. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
  112. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
  113. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +3 -3
  114. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +3 -3
  115. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +3 -3
  116. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
  117. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +1 -1
  118. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
  119. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
  120. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +3 -3
  121. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
  122. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
  123. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
  124. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
  125. package/esm2022/table/table.component.mjs +1 -1
  126. package/esm2022/table/table.module.mjs +1 -5
  127. package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +5 -5
  128. package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +3 -3
  129. package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
  130. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +1 -1
  131. package/esm2022/upload-collection/models/upload-collection.models.mjs +1 -1
  132. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +4 -29
  133. package/esm2022/upload-collection/upload-collection.module.mjs +4 -8
  134. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -27
  135. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -17
  136. package/esm2022/value-help-dialog/index.mjs +1 -2
  137. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +4 -43
  138. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -22
  139. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +3 -3
  140. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
  141. package/esm2022/variant-management/variant-management.component.mjs +1 -1
  142. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +1 -1
  143. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
  144. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
  145. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
  146. package/feed-input/feed-input.component.d.ts +1 -9
  147. package/fesm2022/fundamental-ngx-platform-action-bar.mjs +7 -29
  148. package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +25 -25
  150. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-platform-button.mjs +5 -5
  152. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +3 -8
  154. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -16
  156. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-platform-form.mjs +138 -716
  158. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +4 -4
  160. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  162. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-platform-list.mjs +23 -93
  164. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +5 -22
  166. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -36
  168. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
  170. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-platform-panel.mjs +5 -16
  172. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-platform-search-field.mjs +12 -63
  174. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +5 -5
  176. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-platform-shared.mjs +2 -116
  178. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-platform-slider.mjs +6 -6
  180. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +71 -146
  182. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +5 -22
  184. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-platform-table.mjs +23 -26
  186. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +6 -6
  188. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +9 -37
  190. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  191. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +11 -147
  192. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  193. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +4 -4
  194. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +4 -4
  196. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  197. package/form/checkbox/checkbox.component.d.ts +3 -19
  198. package/form/checkbox/checkbox.module.d.ts +3 -4
  199. package/form/checkbox-group/checkbox-group.component.d.ts +5 -16
  200. package/form/checkbox-group/checkbox-group.module.d.ts +2 -3
  201. package/form/combobox/combobox.module.d.ts +2 -3
  202. package/form/date-picker/date-picker.component.d.ts +1 -35
  203. package/form/date-picker/date-picker.module.d.ts +2 -3
  204. package/form/datetime-picker/datetime-picker.component.d.ts +1 -33
  205. package/form/datetime-picker/datetime-picker.module.d.ts +2 -3
  206. package/form/form-generator/form-generator/form-generator.component.d.ts +8 -18
  207. package/form/form-generator/interfaces/dynamic-form-item.d.ts +1 -13
  208. package/form/form-group/fdp-form.module.d.ts +12 -13
  209. package/form/form-group/form-field/form-field.component.d.ts +2 -17
  210. package/form/form-group/form-group.component.d.ts +2 -14
  211. package/form/index.d.ts +0 -1
  212. package/form/input/fdp-input.module.d.ts +2 -3
  213. package/form/input-group/input-group.module.d.ts +2 -3
  214. package/form/multi-combobox/multi-combobox.module.d.ts +2 -3
  215. package/form/multi-input/multi-input.module.d.ts +2 -3
  216. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +5 -11
  217. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +2 -3
  218. package/form/radio-group/radio/radio.component.d.ts +1 -8
  219. package/form/radio-group/radio-group.module.d.ts +2 -3
  220. package/form/select/select/select.component.d.ts +1 -8
  221. package/form/select/select.module.d.ts +2 -3
  222. package/form/step-input/step-input.module.d.ts +2 -3
  223. package/form/switch/switch.module.d.ts +2 -3
  224. package/form/text-area/text-area.component.d.ts +1 -6
  225. package/form/text-area/text-area.module.d.ts +3 -4
  226. package/form/time-picker/time-picker.module.d.ts +2 -3
  227. package/fundamental-ngx-platform-v0.45.0.tgz +0 -0
  228. package/list/base-list-item.d.ts +2 -27
  229. package/list/list-group-header.component.d.ts +1 -3
  230. package/list/list.module.d.ts +7 -8
  231. package/list/object-list-item/object-list-item.module.d.ts +2 -3
  232. package/list/standard-list-item/standard-list-item.module.d.ts +2 -3
  233. package/menu/menu.module.d.ts +2 -3
  234. package/menu-button/menu-button.module.d.ts +2 -3
  235. package/package.json +4 -4
  236. package/panel/panel.module.d.ts +2 -3
  237. package/schematics/ng-add/index.js +1 -1
  238. package/search-field/search-field.component.d.ts +1 -18
  239. package/search-field/search-field.module.d.ts +4 -5
  240. package/shared/form/form-field.d.ts +1 -17
  241. package/shared/form/form-options.d.ts +0 -3
  242. package/shared/form/hint-options.d.ts +0 -7
  243. package/shared/index.d.ts +0 -1
  244. package/slider/slider.module.d.ts +2 -3
  245. package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +1 -3
  246. package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +1 -2
  247. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +8 -8
  248. package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +0 -6
  249. package/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.d.ts +0 -6
  250. package/smart-filter-bar/interfaces/strategy-labels.type.d.ts +1 -1
  251. package/smart-filter-bar/smart-filter-bar.class.d.ts +0 -3
  252. package/smart-filter-bar/smart-filter-bar.component.d.ts +1 -43
  253. package/split-menu-button/split-menu-button.module.d.ts +2 -3
  254. package/table/table.module.d.ts +5 -6
  255. package/upload-collection/models/upload-collection.models.d.ts +0 -2
  256. package/upload-collection/upload-collection/upload-collection.component.d.ts +1 -16
  257. package/upload-collection/upload-collection.module.d.ts +1 -1
  258. package/value-help-dialog/components/define-tab/define-tab.component.d.ts +1 -11
  259. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -7
  260. package/value-help-dialog/index.d.ts +0 -1
  261. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -21
  262. package/value-help-dialog/value-help-dialog.module.d.ts +32 -34
  263. package/esm2022/form/form-group/deprecated-form-group-compact.directive.mjs +0 -30
  264. package/esm2022/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.mjs +0 -24
  265. package/esm2022/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.mjs +0 -68
  266. package/esm2022/shared/platform-content-density-deprecations/index.mjs +0 -5
  267. package/esm2022/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.mjs +0 -19
  268. package/esm2022/shared/platform-content-density-deprecations/providers/module-deprecation.provider.mjs +0 -13
  269. package/esm2022/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.mjs +0 -46
  270. package/form/form-group/deprecated-form-group-compact.directive.d.ts +0 -8
  271. package/fundamental-ngx-platform-v0.44.1-rc.3.tgz +0 -0
  272. package/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.d.ts +0 -8
  273. package/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.d.ts +0 -10
  274. package/shared/platform-content-density-deprecations/index.d.ts +0 -4
  275. package/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.d.ts +0 -9
  276. package/shared/platform-content-density-deprecations/providers/module-deprecation.provider.d.ts +0 -3
  277. package/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.d.ts +0 -20
@@ -120,14 +120,11 @@ export class SmartFilterBarConditionsDialogComponent {
120
120
  */
121
121
  _getApplicableConditionOperators() {
122
122
  const strategy = this._smartFilterBarService.getApplicableFilterConditions(this.config.filterType, this.config.dataType);
123
- let labelsConfig = this.config.defineStrategyLabels;
124
- if (!labelsConfig) {
125
- labelsConfig = { ...this._conditionLabelKeys };
126
- for (const strategyItem in labelsConfig) {
127
- if (Object.prototype.hasOwnProperty.call(labelsConfig, strategyItem)) {
128
- const translationKey = labelsConfig[strategyItem];
129
- labelsConfig[strategyItem] = this._translationResolver.resolve(this._language, 'platformSmartFilterBar.' + translationKey);
130
- }
123
+ const labelsConfig = { ...this._conditionLabelKeys };
124
+ for (const strategyItem in labelsConfig) {
125
+ if (Object.prototype.hasOwnProperty.call(labelsConfig, strategyItem)) {
126
+ const translationKey = labelsConfig[strategyItem];
127
+ labelsConfig[strategyItem] = this._translationResolver.resolve(this._language, 'platformSmartFilterBar.' + translationKey);
131
128
  }
132
129
  }
133
130
  return strategy.map((s) => ({
@@ -218,11 +215,11 @@ export class SmartFilterBarConditionsDialogComponent {
218
215
  ];
219
216
  }
220
217
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarConditionsDialogComponent, deps: [{ token: i1.DialogRef }, { token: FD_LANGUAGE }, { token: i0.ChangeDetectorRef }, { token: i2.SmartFilterBarService }], target: i0.ɵɵFactoryTarget.Component }); }
221
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarConditionsDialogComponent, selector: "fdp-smart-filter-bar-conditions-dialog", viewQueries: [{ propertyName: "formGenerators", predicate: FormGeneratorComponent, descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"applyConditions()\"\n buttonType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_cancel()\"\n buttonType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }, { kind: "component", type: i6.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["isTitle", "fullWidth"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i11.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i11.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "pipe", type: i12.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
218
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarConditionsDialogComponent, selector: "fdp-smart-filter-bar-conditions-dialog", viewQueries: [{ propertyName: "formGenerators", predicate: FormGeneratorComponent, descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }, { kind: "component", type: i6.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i7.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i8.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i11.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i11.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "pipe", type: i12.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
222
219
  }
223
220
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarConditionsDialogComponent, decorators: [{
224
221
  type: Component,
225
- args: [{ selector: 'fdp-smart-filter-bar-conditions-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"applyConditions()\"\n buttonType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_cancel()\"\n buttonType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
222
+ args: [{ selector: 'fdp-smart-filter-bar-conditions-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-smart-filter-bar__conditions-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>{{ config.header }}</h4>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <form *ngIf=\"loaded; else loadingTpl\">\n <fd-layout-grid *ngFor=\"let condition of _formItems; let i = index\">\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>\n <!-- wrapping \"formSubmitted\" event payload as any, because it's type is more generic than we're expecting -->\n <fdp-form-generator\n (formSubmitted)=\"_onFormSubmitted($any($event))\"\n [formItems]=\"condition\"\n [unifiedLayout]=\"false\"\n columnLayout=\"XL3-L3-M3-S3\"\n [noAdditionalContent]=\"true\"\n ></fdp-form-generator>\n </div>\n <div class=\"fdp-smart-filter-bar__actions-column\" colGrow fdLayoutGridCol>\n <fdp-button\n (click)=\"removeCondition(i)\"\n buttonType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformSmartFilterBar.defineConditionsRemoveConditionButtonTitle' | fdTranslate\"\n type=\"button\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div colGrow fdLayoutGridCol>&nbsp;</div>\n <div class=\"fdp-smart-filter-bar__actions-column\" fdLayoutGridCol>\n <fdp-button\n (click)=\"addCondition()\"\n [label]=\"'platformSmartFilterBar.defineConditionsAddConditionButtonLabel' | fdTranslate\"\n ></fdp-button>\n </div>\n </div>\n </fd-layout-grid>\n </form>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"applyConditions()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.defineConditionsSubmitButtonLabel' | fdTranslate\"\n >\n </fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.defineConditionsCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
226
223
  }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i13.Observable, decorators: [{
227
224
  type: Inject,
228
225
  args: [FD_LANGUAGE]
@@ -230,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
230
227
  type: ViewChildren,
231
228
  args: [FormGeneratorComponent]
232
229
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBdUMsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRbEQsTUFBTSxPQUFP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RUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsS0FBSyxlQUFlLENBQUMsT0FBTztnQkFDNUQsVUFBVSxFQUFFO29CQUNSLE1BQU0sRUFBRSxLQUFLO29CQUNiLE1BQU0sRUFBRSxDQUFDO29CQUNULGFBQWEsRUFBRSxJQUFJO2lCQUN0QjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBNVBRLHVDQUF1QywyQ0FnRHBDLFdBQVc7a0dBaERkLHVDQUF1QyxpSEFhbEMsc0JBQXNCLGdEQ3hDeEMsbXJHQTBFQTs7MkZEL0NhLHVDQUF1QztrQkFObkQsU0FBUzsrQkFDSSx3Q0FBd0MsaUJBRW5DLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQWtEMUMsTUFBTTsyQkFBQyxXQUFXO2dIQWxDdkIsY0FBYztzQkFEYixZQUFZO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWx0ZXJBbGxTdHJhdGVneSwgRklMVEVSX1NUUkFURUdZIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2wsIER5bmFtaWNGb3JtSXRlbSwgRm9ybUdlbmVyYXRvckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vZm9ybSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhckNvbmRpdGlvbiwgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25CdWlsZGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zbWFydC1maWx0ZXItYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0SXRlbVZhbHVlIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhclN0cmF0ZWd5TGFiZWxzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zdHJhdGVneS1sYWJlbHMudHlwZSc7XG5pbXBvcnQgeyBGZExhbmd1YWdlLCBGRF9MQU5HVUFHRSwgVHJhbnNsYXRpb25SZXNvbHZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbnMtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckJhckNvbmRpdGlvbnNEaWFsb2dDb21wb25lbnQge1xuICAgIC8qKiBDb25kaXRpb24gYnVpbGRlciBjb25maWcuICovXG4gICAgY29uZmlnOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXI7XG5cbiAgICAvKiogQXZhaWxhYmxlIGNvbmRpdGlvbiBvcGVyYXRvciBvcHRpb25zLiAqL1xuICAgIGNvbmRpdGlvbk9wZXJhdG9yT3B0aW9uczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb3JtSXRlbXM6IER5bmFtaWNGb3JtSXRlbVtdW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlZCBjb25kaXRpb24gZm9ybXMuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihGb3JtR2VuZXJhdG9yQ29tcG9uZW50KVxuICAgIGZvcm1HZW5lcmF0b3JzITogUXVlcnlMaXN0PEZvcm1HZW5lcmF0b3JDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29uZGl0aW9uTGFiZWxLZXlzOiBTbWFydEZpbHRlckJhclN0cmF0ZWd5TGFiZWxzID0ge1xuICAgICAgICBjb250YWluczogJ2ZpbHRlckNvbmRpdGlvbkNvbnRhaW5zJyxcbiAgICAgICAgZXF1YWxUbzogJ2ZpbHRlckNvbmRpdGlvbkVxdWFsVG8nLFxuICAgICAgICBiZXR3ZWVuOiAnZmlsdGVyQ29uZGl0aW9uQmV0d2VlbicsXG4gICAgICAgIGJlZ2luc1dpdGg6ICdmaWx0ZXJDb25kaXRpb25CZWdpbnNXaXRoJyxcbiAgICAgICAgZW5kc1dpdGg6ICdmaWx0ZXJDb25kaXRpb25FbmRzV2l0aCcsXG4gICAgICAgIGxlc3NUaGFuOiAnZmlsdGVyQ29uZGl0aW9uTGVzc1RoYW4nLFxuICAgICAgICBsZXNzVGhhbk9yRXF1YWxUbzogJ2ZpbHRlckNvbmRpdGlvbkxlc3NUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgZ3JlYXRlclRoYW46ICdmaWx0ZXJDb25kaXRpb25HcmVhdGVyVGhhbicsXG4gICAgICAgIGdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAnZmlsdGVyQ29uZGl0aW9uR3JlYXRlclRoYW5PckVxdWFsVG8nLFxuICAgICAgICBhZnRlcjogJ2ZpbHRlckNvbmRpdGlvbkFmdGVyJyxcbiAgICAgICAgb25PckFmdGVyOiAnZmlsdGVyQ29uZGl0aW9uT25PckFmdGVyJyxcbiAgICAgICAgYmVmb3JlOiAnZmlsdGVyQ29uZGl0aW9uQmVmb3JlJyxcbiAgICAgICAgYmVmb3JlT3JPbjogJ2ZpbHRlckNvbmRpdGlvbkJlZm9yZU9yT24nXG4gICAgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3VibWl0dGVkRm9ybXM6IGFueVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xhbmd1YWdlOiBGZExhbmd1YWdlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmFuc2xhdGlvblJlc29sdmVyID0gbmV3IFRyYW5zbGF0aW9uUmVzb2x2ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1JlZjogRGlhbG9nUmVmPFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uQnVpbGRlciwgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXT4sXG4gICAgICAgIEBJbmplY3QoRkRfTEFOR1VBR0UpIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlJDogT2JzZXJ2YWJsZTxGZExhbmd1YWdlPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfc21hcnRGaWx0ZXJCYXJTZXJ2aWNlOiBTbWFydEZpbHRlckJhclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5faW5pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5jb25maWcgPSB0aGlzLl9kaWFsb2dSZWYuZGF0YTtcblxuICAgICAgICB0aGlzLl9sYW5ndWFnZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2xhbmd1YWdlJCk7XG4gICAgICAgIHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zID0gYXdhaXQgdGhpcy5fZ2V0QXBwbGljYWJsZUNvbmRpdGlvbk9wZXJhdG9ycygpO1xuXG4gICAgICAgIHRoaXMuX2FkZEV4aXN0aW5nQ29uZGl0aW9ucyhnZXRTZWxlY3RJdGVtVmFsdWUodGhpcy5jb25maWcuY29uZGl0aW9ucykpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gQWRkIGZpcnN0IGVtcHR5IGNvbmRpdGlvblxuICAgICAgICAgICAgdGhpcy5hZGRDb25kaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGVtcHR5IGNvbmRpdGlvbi5cbiAgICAgKi9cbiAgICBhZGRDb25kaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtcy5wdXNoKHRoaXMuX2dlbmVyYXRlRm9ybUdlbmVyYXRvckl0ZW1zKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgY29uZGl0aW9uIGF0IGRlZmluZWQgaW5kZXhcbiAgICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIGNvbmRpdGlvbiBpbiB0aGUgYXJyYXkuXG4gICAgICovXG4gICAgcmVtb3ZlQ29uZGl0aW9uKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybUl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2Zvcm1JdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYWRkQ29uZGl0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJtaXRzIGFsbCBjb25kaXRpb24gZm9ybXMuXG4gICAgICovXG4gICAgYXBwbHlDb25kaXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLl9zdWJtaXR0ZWRGb3JtcyA9IFtdO1xuICAgICAgICB0aGlzLmZvcm1HZW5lcmF0b3JzLnRvQXJyYXkoKS5mb3JFYWNoKChmb3JtR2VuZXJhdG9yKSA9PiBmb3JtR2VuZXJhdG9yLnN1Ym1pdCgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBmb3JtIGdlbmVyYXRvciBmb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZC5cbiAgICAgKiBXaWxsIGNsb3NlIGRpYWxvZyBpbiBjYXNlIGlmIGFsbCBmb3JtcyBhcmUgdmFsaWQuXG4gICAgICogQHBhcmFtIGZvcm0gRm9ybSBnZW5lcmF0b3IgZm9ybSB2YWx1ZS5cbiAgICAgKi9cbiAgICBfb25Gb3JtU3VibWl0dGVkKGZvcm06IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1Ym1pdHRlZEZvcm1zLnB1c2goZm9ybSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3N1Ym1pdHRlZEZvcm1zLmxlbmd0aCAhPT0gdGhpcy5mb3JtR2VuZXJhdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1zUmVzdWx0ID0gdGhpcy5fc3VibWl0dGVkRm9ybXMubWFwKChmKSA9PiB7XG4gICAgICAgICAgICBmLnZhbHVlID0gZi52YWx1ZTEgIT09IHVuZGVmaW5lZCA/IGYudmFsdWUxIDogZi52YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiBmO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoXG4gICAgICAgICAgICBmb3Jtc1Jlc3VsdC5maWx0ZXIoKGM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKSA9PiBjLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgYy52YWx1ZSAhPT0gbnVsbClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5kaXNtaXNzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJldHVybnMgYXBwbGljYWJsZSBjb25kaXRpb24gb3B0aW9ucyBvZiB0aGUgZmlsdGVyLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGFwcGxpY2FibGUgY29uZGl0aW9uIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0QXBwbGljYWJsZUNvbmRpdGlvbk9wZXJhdG9ycygpOiBTZWxlY3RJdGVtW10ge1xuICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuX3NtYXJ0RmlsdGVyQmFyU2VydmljZS5nZXRBcHBsaWNhYmxlRmlsdGVyQ29uZGl0aW9ucyhcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmZpbHRlclR5cGUsXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5kYXRhVHlwZVxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBsYWJlbHNDb25maWcgPSB0aGlzLmNvbmZpZy5kZWZpbmVTdHJhdGVneUxhYmVscztcblxuICAgICAgICBpZiAoIWxhYmVsc0NvbmZpZykge1xuICAgICAgICAgICAgbGFiZWxzQ29uZmlnID0geyAuLi50aGlzLl9jb25kaXRpb25MYWJlbEtleXMgfTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3RyYXRlZ3lJdGVtIGluIGxhYmVsc0NvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobGFiZWxzQ29uZmlnLCBzdHJhdGVneUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gbGFiZWxzQ29uZmlnW3N0cmF0ZWd5SXRlbV07XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsc0NvbmZpZ1tzdHJhdGVneUl0ZW1dID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci4nICsgdHJhbnNsYXRpb25LZXlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyYXRlZ3kubWFwKChzOiBGaWx0ZXJBbGxTdHJhdGVneSkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBsYWJlbHNDb25maWchW3NdLFxuICAgICAgICAgICAgdmFsdWU6IHNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZmlsdGVyIGNvbmRpdGlvbnMgaW50byBmb3JtIGdlbmVyYXRvciBmb3JtIGl0ZW1zIGFycmF5LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb25zIGV4aXN0aW5nIHNtYXJ0IGZpbHRlciBiYXIgZmlsdGVyIGNvbmRpdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYWRkRXhpc3RpbmdDb25kaXRpb25zKGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbkdyb3VwID0gdGhpcy5fZ2VuZXJhdGVGb3JtR2VuZXJhdG9ySXRlbXMoY29uZGl0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1zLnB1c2goY29uZGl0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlRm9ybUdlbmVyYXRvckl0ZW1zKGNvbmRpdGlvbj86IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKTogRHluYW1pY0Zvcm1JdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdvcGVyYXRvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ29wZXJhdG9yJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBjb25kaXRpb24ub3BlcmF0b3IpPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogY29uZGl0aW9uPy52YWx1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb25maWcuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgd2hlbjogKHZhbHVlKSA9PiB2YWx1ZS5vcGVyYXRvciAhPT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6ICh2YWx1ZSwgXywgY29udHJvbDogRHluYW1pY0Zvcm1Db250cm9sKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGFyZW50Py5nZXQoJ3ZhbHVlMScpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDIsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGNvbmRpdGlvbj8udmFsdWUsXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jb25maWcuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICBjaG9pY2VzOiB0aGlzLmNvbmZpZy5jaG9pY2VzLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci5maWx0ZXJDb25kaXRpb25WYWx1ZUZyb21QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlLm9wZXJhdG9yID09PSBGSUxURVJfU1RSQVRFR1kuQkVUV0VFTixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogKHZhbHVlLCBfLCBjb250cm9sOiBEeW5hbWljRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgndmFsdWUnKT8uc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAyLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb24/LnZhbHVlMixcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlVG9QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlPy5vcGVyYXRvciA9PT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDMsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19jb25kaXRpb25zLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgW2hlYWRlclNpemVdPVwiNFwiIGZkLXRpdGxlPnt7IGNvbmZpZy5oZWFkZXIgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmb3JtICpuZ0lmPVwibG9hZGVkOyBlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZCAqbmdGb3I9XCJsZXQgY29uZGl0aW9uIG9mIF9mb3JtSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd3JhcHBpbmcgXCJmb3JtU3VibWl0dGVkXCIgZXZlbnQgcGF5bG9hZCBhcyBhbnksIGJlY2F1c2UgaXQncyB0eXBlIGlzIG1vcmUgZ2VuZXJpYyB0aGFuIHdlJ3JlIGV4cGVjdGluZyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtSXRlbXNdPVwiY29uZGl0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5pZmllZExheW91dF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTGF5b3V0PVwiWEwzLUwzLU0zLVMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9BZGRpdGlvbmFsQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtc21hcnQtZmlsdGVyLWJhcl9fYWN0aW9ucy1jb2x1bW5cIiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zUmVtb3ZlQ29uZGl0aW9uQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNvbEdyb3cgZmRMYXlvdXRHcmlkQ29sPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmRwLXNtYXJ0LWZpbHRlci1iYXJfX2FjdGlvbnMtY29sdW1uXCIgZmRMYXlvdXRHcmlkQ29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUNvbmRpdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zU3VibWl0QnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cblxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2FuY2VsKClcIlxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmRlZmluZUNvbmRpdGlvbnNDYW5jZWxCdXR0b24nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMXJlbVwiPlxuICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBdUMsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRbEQsTUFBTSxPQUFP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QUUsS0FBSztvQkFDYixNQUFNLEVBQUUsQ0FBQztvQkFDVCxhQUFhLEVBQUUsSUFBSTtpQkFDdEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzhHQXhQUSx1Q0FBdUMsMkNBZ0RwQyxXQUFXO2tHQWhEZCx1Q0FBdUMsaUhBYWxDLHNCQUFzQixnREN4Q3hDLDJnR0F1RUE7OzJGRDVDYSx1Q0FBdUM7a0JBTm5ELFNBQVM7K0JBQ0ksd0NBQXdDLGlCQUVuQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrRDFDLE1BQU07MkJBQUMsV0FBVztnSEFsQ3ZCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmlsdGVyQWxsU3RyYXRlZ3ksIEZJTFRFUl9TVFJBVEVHWSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sLCBEeW5hbWljRm9ybUl0ZW0sIEZvcm1HZW5lcmF0b3JDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb24sIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtZmlsdGVyLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldFNlbGVjdEl0ZW1WYWx1ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RyYXRlZ3ktbGFiZWxzLnR5cGUnO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSwgRkRfTEFOR1VBR0UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb25zLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25zRGlhbG9nQ29tcG9uZW50IHtcbiAgICAvKiogQ29uZGl0aW9uIGJ1aWxkZXIgY29uZmlnLiAqL1xuICAgIGNvbmZpZzogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25CdWlsZGVyO1xuXG4gICAgLyoqIEF2YWlsYWJsZSBjb25kaXRpb24gb3BlcmF0b3Igb3B0aW9ucy4gKi9cbiAgICBjb25kaXRpb25PcGVyYXRvck9wdGlvbnM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9ybUl0ZW1zOiBEeW5hbWljRm9ybUl0ZW1bXVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZWQgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oRm9ybUdlbmVyYXRvckNvbXBvbmVudClcbiAgICBmb3JtR2VuZXJhdG9ycyE6IFF1ZXJ5TGlzdDxGb3JtR2VuZXJhdG9yQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbG9hZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbmRpdGlvbkxhYmVsS2V5czogU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyA9IHtcbiAgICAgICAgY29udGFpbnM6ICdmaWx0ZXJDb25kaXRpb25Db250YWlucycsXG4gICAgICAgIGVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25FcXVhbFRvJyxcbiAgICAgICAgYmV0d2VlbjogJ2ZpbHRlckNvbmRpdGlvbkJldHdlZW4nLFxuICAgICAgICBiZWdpbnNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uQmVnaW5zV2l0aCcsXG4gICAgICAgIGVuZHNXaXRoOiAnZmlsdGVyQ29uZGl0aW9uRW5kc1dpdGgnLFxuICAgICAgICBsZXNzVGhhbjogJ2ZpbHRlckNvbmRpdGlvbkxlc3NUaGFuJyxcbiAgICAgICAgbGVzc1RoYW5PckVxdWFsVG86ICdmaWx0ZXJDb25kaXRpb25MZXNzVGhhbk9yRXF1YWxUbycsXG4gICAgICAgIGdyZWF0ZXJUaGFuOiAnZmlsdGVyQ29uZGl0aW9uR3JlYXRlclRoYW4nLFxuICAgICAgICBncmVhdGVyVGhhbk9yRXF1YWxUbzogJ2ZpbHRlckNvbmRpdGlvbkdyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgYWZ0ZXI6ICdmaWx0ZXJDb25kaXRpb25BZnRlcicsXG4gICAgICAgIG9uT3JBZnRlcjogJ2ZpbHRlckNvbmRpdGlvbk9uT3JBZnRlcicsXG4gICAgICAgIGJlZm9yZTogJ2ZpbHRlckNvbmRpdGlvbkJlZm9yZScsXG4gICAgICAgIGJlZm9yZU9yT246ICdmaWx0ZXJDb25kaXRpb25CZWZvcmVPck9uJ1xuICAgIH07XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Ym1pdHRlZEZvcm1zOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sYW5ndWFnZTogRmRMYW5ndWFnZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IERpYWxvZ1JlZjxTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXIsIFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10+LFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3NtYXJ0RmlsdGVyQmFyU2VydmljZTogU21hcnRGaWx0ZXJCYXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX2luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5fZGlhbG9nUmVmLmRhdGE7XG5cbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9sYW5ndWFnZSQpO1xuICAgICAgICB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucyA9IGF3YWl0IHRoaXMuX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTtcblxuICAgICAgICB0aGlzLl9hZGRFeGlzdGluZ0NvbmRpdGlvbnMoZ2V0U2VsZWN0SXRlbVZhbHVlKHRoaXMuY29uZmlnLmNvbmRpdGlvbnMpKTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcuY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vIEFkZCBmaXJzdCBlbXB0eSBjb25kaXRpb25cbiAgICAgICAgICAgIHRoaXMuYWRkQ29uZGl0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBlbXB0eSBjb25kaXRpb24uXG4gICAgICovXG4gICAgYWRkQ29uZGl0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSXRlbXMucHVzaCh0aGlzLl9nZW5lcmF0ZUZvcm1HZW5lcmF0b3JJdGVtcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGNvbmRpdGlvbiBhdCBkZWZpbmVkIGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBjb25kaXRpb24gaW4gdGhlIGFycmF5LlxuICAgICAqL1xuICAgIHJlbW92ZUNvbmRpdGlvbihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1JdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICAgIGlmICh0aGlzLl9mb3JtSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZENvbmRpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyBhbGwgY29uZGl0aW9uIGZvcm1zLlxuICAgICAqL1xuICAgIGFwcGx5Q29uZGl0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fc3VibWl0dGVkRm9ybXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtR2VuZXJhdG9ycy50b0FycmF5KCkuZm9yRWFjaCgoZm9ybUdlbmVyYXRvcikgPT4gZm9ybUdlbmVyYXRvci5zdWJtaXQoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZm9ybSBnZW5lcmF0b3IgZm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQuXG4gICAgICogV2lsbCBjbG9zZSBkaWFsb2cgaW4gY2FzZSBpZiBhbGwgZm9ybXMgYXJlIHZhbGlkLlxuICAgICAqIEBwYXJhbSBmb3JtIEZvcm0gZ2VuZXJhdG9yIGZvcm0gdmFsdWUuXG4gICAgICovXG4gICAgX29uRm9ybVN1Ym1pdHRlZChmb3JtOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5wdXNoKGZvcm0pO1xuXG4gICAgICAgIGlmICh0aGlzLl9zdWJtaXR0ZWRGb3Jtcy5sZW5ndGggIT09IHRoaXMuZm9ybUdlbmVyYXRvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3Jtc1Jlc3VsdCA9IHRoaXMuX3N1Ym1pdHRlZEZvcm1zLm1hcCgoZikgPT4ge1xuICAgICAgICAgICAgZi52YWx1ZSA9IGYudmFsdWUxICE9PSB1bmRlZmluZWQgPyBmLnZhbHVlMSA6IGYudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gZjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKFxuICAgICAgICAgICAgZm9ybXNSZXN1bHQuZmlsdGVyKChjOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbikgPT4gYy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGMudmFsdWUgIT09IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuZGlzbWlzcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZXR1cm5zIGFwcGxpY2FibGUgY29uZGl0aW9uIG9wdGlvbnMgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhcHBsaWNhYmxlIGNvbmRpdGlvbiBvcHRpb25zLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldEFwcGxpY2FibGVDb25kaXRpb25PcGVyYXRvcnMoKTogU2VsZWN0SXRlbVtdIHtcbiAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9zbWFydEZpbHRlckJhclNlcnZpY2UuZ2V0QXBwbGljYWJsZUZpbHRlckNvbmRpdGlvbnMoXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0YVR5cGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBsYWJlbHNDb25maWcgPSB7IC4uLnRoaXMuX2NvbmRpdGlvbkxhYmVsS2V5cyB9O1xuICAgICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5SXRlbSBpbiBsYWJlbHNDb25maWcpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobGFiZWxzQ29uZmlnLCBzdHJhdGVneUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXTtcbiAgICAgICAgICAgICAgICBsYWJlbHNDb25maWdbc3RyYXRlZ3lJdGVtXSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLicgKyB0cmFuc2xhdGlvbktleVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RyYXRlZ3kubWFwKChzOiBGaWx0ZXJBbGxTdHJhdGVneSkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBsYWJlbHNDb25maWchW3NdLFxuICAgICAgICAgICAgdmFsdWU6IHNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZmlsdGVyIGNvbmRpdGlvbnMgaW50byBmb3JtIGdlbmVyYXRvciBmb3JtIGl0ZW1zIGFycmF5LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb25zIGV4aXN0aW5nIHNtYXJ0IGZpbHRlciBiYXIgZmlsdGVyIGNvbmRpdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfYWRkRXhpc3RpbmdDb25kaXRpb25zKGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgY29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbkdyb3VwID0gdGhpcy5fZ2VuZXJhdGVGb3JtR2VuZXJhdG9ySXRlbXMoY29uZGl0aW9uKTtcblxuICAgICAgICAgICAgdGhpcy5fZm9ybUl0ZW1zLnB1c2goY29uZGl0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlRm9ybUdlbmVyYXRvckl0ZW1zKGNvbmRpdGlvbj86IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uKTogRHluYW1pY0Zvcm1JdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdvcGVyYXRvcicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ29wZXJhdG9yJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbmRpdGlvbk9wZXJhdG9yT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBjb25kaXRpb24ub3BlcmF0b3IpPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZGl0aW9uT3BlcmF0b3JPcHRpb25zLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogY29uZGl0aW9uPy52YWx1ZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlUGxhY2Vob2xkZXInXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb25maWcuY29udHJvbFR5cGUsXG4gICAgICAgICAgICAgICAgd2hlbjogKHZhbHVlKSA9PiB2YWx1ZS5vcGVyYXRvciAhPT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6ICh2YWx1ZSwgXywgY29udHJvbDogRHluYW1pY0Zvcm1Db250cm9sKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wucGFyZW50Py5nZXQoJ3ZhbHVlMScpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDIsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICd2YWx1ZTEnLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGNvbmRpdGlvbj8udmFsdWUsXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5jb25maWcuZmlsdGVyVHlwZSxcbiAgICAgICAgICAgICAgICBjaG9pY2VzOiB0aGlzLmNvbmZpZy5jaG9pY2VzLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci5maWx0ZXJDb25kaXRpb25WYWx1ZUZyb21QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlLm9wZXJhdG9yID09PSBGSUxURVJfU1RSQVRFR1kuQkVUV0VFTixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogKHZhbHVlLCBfLCBjb250cm9sOiBEeW5hbWljRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgndmFsdWUnKT8uc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGd1aU9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAyLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsTGF5b3V0OiB0cnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiAndmFsdWUyJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBjb25kaXRpb24/LnZhbHVlMixcbiAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLmNvbmZpZy5maWx0ZXJUeXBlLFxuICAgICAgICAgICAgICAgIGNob2ljZXM6IHRoaXMuY29uZmlnLmNob2ljZXMsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlckNvbmRpdGlvblZhbHVlVG9QbGFjZWhvbGRlcidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbmZpZy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgICAgICB3aGVuOiAodmFsdWUpID0+IHZhbHVlPy5vcGVyYXRvciA9PT0gRklMVEVSX1NUUkFURUdZLkJFVFdFRU4sXG4gICAgICAgICAgICAgICAgZ3VpT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDMsXG4gICAgICAgICAgICAgICAgICAgIG5vTGFiZWxMYXlvdXQ6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19jb25kaXRpb25zLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgW2hlYWRlclNpemVdPVwiNFwiIGZkLXRpdGxlPnt7IGNvbmZpZy5oZWFkZXIgfX08L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmb3JtICpuZ0lmPVwibG9hZGVkOyBlbHNlIGxvYWRpbmdUcGxcIj5cbiAgICAgICAgICAgIDxmZC1sYXlvdXQtZ3JpZCAqbmdGb3I9XCJsZXQgY29uZGl0aW9uIG9mIF9mb3JtSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd3JhcHBpbmcgXCJmb3JtU3VibWl0dGVkXCIgZXZlbnQgcGF5bG9hZCBhcyBhbnksIGJlY2F1c2UgaXQncyB0eXBlIGlzIG1vcmUgZ2VuZXJpYyB0aGFuIHdlJ3JlIGV4cGVjdGluZyAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtZm9ybS1nZW5lcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRhbnkoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtSXRlbXNdPVwiY29uZGl0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5pZmllZExheW91dF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTGF5b3V0PVwiWEwzLUwzLU0zLVMzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm9BZGRpdGlvbmFsQ29udGVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkcC1mb3JtLWdlbmVyYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtc21hcnQtZmlsdGVyLWJhcl9fYWN0aW9ucy1jb2x1bW5cIiBjb2xHcm93IGZkTGF5b3V0R3JpZENvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImRlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zUmVtb3ZlQ29uZGl0aW9uQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgICAgIDxkaXYgZmRMYXlvdXRHcmlkUm93PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNvbEdyb3cgZmRMYXlvdXRHcmlkQ29sPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmRwLXNtYXJ0LWZpbHRlci1iYXJfX2FjdGlvbnMtY29sdW1uXCIgZmRMYXlvdXRHcmlkQ29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkcC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQ29uZGl0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQWRkQ29uZGl0aW9uQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmRwLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICA8L2Zvcm0+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5Q29uZGl0aW9ucygpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmRlZmluZUNvbmRpdGlvbnNTdWJtaXRCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1idXR0b24tYmFyPlxuXG4gICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAoY2xpY2spPVwiX2NhbmNlbCgpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5kZWZpbmVDb25kaXRpb25zQ2FuY2VsQnV0dG9uJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMXJlbVwiPlxuICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -8,17 +8,16 @@ import { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@fundamental-ngx/core/dialog";
10
10
  import * as i2 from "@angular/common";
11
- import * as i3 from "@fundamental-ngx/platform/button";
12
- import * as i4 from "@fundamental-ngx/core/icon";
13
- import * as i5 from "@fundamental-ngx/core/busy-indicator";
14
- import * as i6 from "@fundamental-ngx/core/bar";
15
- import * as i7 from "@fundamental-ngx/core/title";
16
- import * as i8 from "@fundamental-ngx/cdk/utils";
17
- import * as i9 from "@fundamental-ngx/platform/table";
18
- import * as i10 from "@fundamental-ngx/platform/table-helpers";
19
- import * as i11 from "@fundamental-ngx/platform/form";
20
- import * as i12 from "@fundamental-ngx/i18n";
21
- import * as i13 from "rxjs";
11
+ import * as i3 from "@fundamental-ngx/core/icon";
12
+ import * as i4 from "@fundamental-ngx/core/busy-indicator";
13
+ import * as i5 from "@fundamental-ngx/core/bar";
14
+ import * as i6 from "@fundamental-ngx/core/title";
15
+ import * as i7 from "@fundamental-ngx/cdk/utils";
16
+ import * as i8 from "@fundamental-ngx/platform/table";
17
+ import * as i9 from "@fundamental-ngx/platform/table-helpers";
18
+ import * as i10 from "@fundamental-ngx/platform/form";
19
+ import * as i11 from "@fundamental-ngx/i18n";
20
+ import * as i12 from "rxjs";
22
21
  export class SmartFilterBarSettingsDialogComponent {
23
22
  /** @hidden */
24
23
  constructor(_dialogRef, _language$, _cdr) {
@@ -46,45 +45,16 @@ export class SmartFilterBarSettingsDialogComponent {
46
45
  this._onDestroy$ = new Subject();
47
46
  /** @hidden */
48
47
  this._isResetAvailableSubject$ = new BehaviorSubject(false);
49
- /** Indicates when reset command is available */
50
- this.isResetAvailable$ = this._isResetAvailableSubject$.asObservable();
51
48
  /** @hidden */
52
49
  this._translationResolver = new TranslationResolver();
50
+ this.isResetAvailable$ = this._isResetAvailableSubject$.asObservable();
53
51
  this.setInitialTableState();
54
52
  this._init();
55
53
  }
56
54
  /** @hidden */
57
- async _init() {
58
- await this._transformVisibilityLabels();
59
- this.loaded = true;
60
- this._cdr.markForCheck();
61
- }
62
- /** @hidden */
63
55
  ngAfterViewInit() {
64
56
  this.setSelectedFilters();
65
57
  }
66
- /**
67
- * Transforms visibility options into appropriate select item object.
68
- */
69
- async _transformVisibilityLabels() {
70
- let labels = this._dialogRef.data.visibilityCategories;
71
- if (!labels) {
72
- const lang = await firstValueFrom(this._language$);
73
- labels = { ...this._categoryLabelKeys };
74
- for (const strategyItem in labels) {
75
- if (Object.prototype.hasOwnProperty.call(labels, strategyItem)) {
76
- const translationKey = labels[strategyItem];
77
- labels[strategyItem] = this._translationResolver.resolve(lang, 'platformSmartFilterBar.' + translationKey);
78
- }
79
- }
80
- }
81
- for (const [selectValue, selectLabel] of Object.entries(labels)) {
82
- this._filterVisibilityOptions.push({
83
- label: selectLabel,
84
- value: selectValue
85
- });
86
- }
87
- }
88
58
  /**
89
59
  * Checks the checkbox in the table row if the field is selected.
90
60
  */
@@ -150,17 +120,42 @@ export class SmartFilterBarSettingsDialogComponent {
150
120
  this.source.dataProvider.filter(event.payload);
151
121
  this.source.fetch(this.table.getTableState());
152
122
  }
123
+ /** @hidden */
124
+ async _init() {
125
+ await this._transformVisibilityLabels();
126
+ this.loaded = true;
127
+ this._cdr.markForCheck();
128
+ }
129
+ /**
130
+ * Transforms visibility options into appropriate select item object.
131
+ */
132
+ async _transformVisibilityLabels() {
133
+ const lang = await firstValueFrom(this._language$);
134
+ const labels = { ...this._categoryLabelKeys };
135
+ for (const strategyItem in labels) {
136
+ if (Object.prototype.hasOwnProperty.call(labels, strategyItem)) {
137
+ const translationKey = labels[strategyItem];
138
+ labels[strategyItem] = this._translationResolver.resolve(lang, 'platformSmartFilterBar.' + translationKey);
139
+ }
140
+ }
141
+ for (const [selectValue, selectLabel] of Object.entries(labels)) {
142
+ this._filterVisibilityOptions.push({
143
+ label: selectLabel,
144
+ value: selectValue
145
+ });
146
+ }
147
+ }
153
148
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarSettingsDialogComponent, deps: [{ token: i1.DialogRef }, { token: FD_LANGUAGE }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarSettingsDialogComponent, selector: "fdp-smart-filter-bar-settings-dialog", providers: [{ provide: RESETTABLE_TOKEN, useExisting: SmartFilterBarSettingsDialogComponent }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>\n {{ 'platformSmartFilterBar.selectFiltersHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table\n *ngIf=\"loaded; else loadingTpl\"\n #table\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n [dataSource]=\"source\"\n selectionMode=\"multiple\"\n >\n <fdp-table-toolbar\n [hideItemCount]=\"false\"\n [title]=\"'platformSmartFilterBar.selectFiltersAvailableFiltersText' | fdTranslate\"\n >\n <fdp-table-toolbar-actions>\n <fdp-select\n (selectionChange)=\"_onFilterVisibilityChange($event)\"\n [list]=\"_filterVisibilityOptions\"\n [value]=\"_filterVisibilityOptions[0].value\"\n >\n </fdp-select>\n </fdp-table-toolbar-actions>\n </fdp-table-toolbar>\n <fdp-column\n align=\"start\"\n key=\"label\"\n [label]=\"'platformSmartFilterBar.selectFiltersFilterColumnLabel' | fdTranslate\"\n name=\"label\"\n ></fdp-column>\n <fdp-column\n align=\"center\"\n key=\"active\"\n [label]=\"'platformSmartFilterBar.selectFiltersActiveColumnLabel' | fdTranslate\"\n name=\"active\"\n width=\"150px\"\n >\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-icon *ngIf=\"item.active\" glyph=\"accept\"></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_confirm()\"\n buttonType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.selectFiltersSubmitButtonLabel' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_cancel()\"\n buttonType=\"transparent\"\n [label]=\"'platformSmartFilterBar.selectFiltersCancelButton' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "toggled", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i6.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i6.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i6.BarElementDirective, selector: "fd-bar-element", inputs: ["isTitle", "fullWidth"] }, { kind: "component", type: i7.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i9.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed"] }, { kind: "component", type: i9.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "component", type: i9.TableToolbarComponent, selector: "fdp-table-toolbar", inputs: ["shouldOverflow", "title", "hideItemCount", "hideSearchInput", "showExpandCollapseButtons", "searchSuggestions", "editMode"] }, { kind: "component", type: i9.TableToolbarActionsComponent, selector: "fdp-table-toolbar-actions" }, { kind: "component", type: i9.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "directive", type: i10.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i10.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i10.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "component", type: i11.SelectComponent, selector: "fdp-select", inputs: ["selectState", "value", "inline"] }, { kind: "pipe", type: i12.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SmartFilterBarSettingsDialogComponent, selector: "fdp-smart-filter-bar-settings-dialog", providers: [{ provide: RESETTABLE_TOKEN, useExisting: SmartFilterBarSettingsDialogComponent }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>\n {{ 'platformSmartFilterBar.selectFiltersHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table\n *ngIf=\"loaded; else loadingTpl\"\n #table\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n [dataSource]=\"source\"\n selectionMode=\"multiple\"\n >\n <fdp-table-toolbar\n [hideItemCount]=\"false\"\n [title]=\"'platformSmartFilterBar.selectFiltersAvailableFiltersText' | fdTranslate\"\n >\n <fdp-table-toolbar-actions>\n <fdp-select\n (selectionChange)=\"_onFilterVisibilityChange($event)\"\n [list]=\"_filterVisibilityOptions\"\n [value]=\"_filterVisibilityOptions[0].value\"\n >\n </fdp-select>\n </fdp-table-toolbar-actions>\n </fdp-table-toolbar>\n <fdp-column\n align=\"start\"\n key=\"label\"\n [label]=\"'platformSmartFilterBar.selectFiltersFilterColumnLabel' | fdTranslate\"\n name=\"label\"\n ></fdp-column>\n <fdp-column\n align=\"center\"\n key=\"active\"\n [label]=\"'platformSmartFilterBar.selectFiltersActiveColumnLabel' | fdTranslate\"\n name=\"active\"\n width=\"150px\"\n >\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-icon *ngIf=\"item.active\" glyph=\"accept\"></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"_confirm()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.selectFiltersSubmitButtonLabel' | fdTranslate\"\n ></fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.selectFiltersCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i5.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i5.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i5.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i5.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i8.TableComponent, selector: "fdp-table", inputs: ["name", "id", "enableDragResize", "fixed", "freezeColumnsTo", "freezeEndColumnsTo", "pageScrolling", "pageSize", "pageScrollingThreshold", "bodyHeight", "emptyTableMessage", "noVisibleColumnsMessage", "noHorizontalBorders", "noVerticalBorders", "noBorders", "noBodyBorders", "noOuterBorders", "noBorderX", "noBorderY", "relationKey", "expandedStateKey", "hasChildrenKey", "rowNavigatable", "highlightNavigatedRow", "rowsActivable", "selectedKey", "selectableKey", "trackBy", "rowComparator", "rowsClass", "editableRowSkeleton", "expandOnInit", "rowHeight", "loadPagesBefore", "selectionMode", "enableTristateMode", "semanticHighlighting", "forceCheckedAllState", "loading"], outputs: ["presetChanged", "rowSelectionChange", "sortChange", "filterChange", "groupChange", "columnsChange", "pageChange", "columnFreeze", "rowToggleOpenState", "rowActivate", "rowNavigate", "emptyRowAdded", "save", "cancel", "tableScrolled", "tableRowsSet", "allRowsExpanded", "allRowsCollapsed"] }, { kind: "component", type: i8.TableColumnComponent, selector: "fdp-column", inputs: ["name", "key", "label", "align", "sortable", "filterable", "visible", "dataType", "groupable", "freezable", "endFreezable", "width", "noWrap", "applyText", "role"] }, { kind: "component", type: i8.TableToolbarComponent, selector: "fdp-table-toolbar", inputs: ["shouldOverflow", "title", "hideItemCount", "hideSearchInput", "showExpandCollapseButtons", "searchSuggestions", "editMode"] }, { kind: "component", type: i8.TableToolbarActionsComponent, selector: "fdp-table-toolbar-actions" }, { kind: "component", type: i8.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "directive", type: i9.TableInitialStateDirective, selector: "[fdpTableInitialState], fdp-table", inputs: ["initialVisibleColumns", "initialSortBy", "initialFilterBy", "initialGroupBy", "initialPage", "state"] }, { kind: "directive", type: i9.FdpTableCell, selector: "fdp-table-cell" }, { kind: "directive", type: i9.FdpCellDef, selector: "[fdpCellDef]", inputs: ["fdpCellDefAs"] }, { kind: "component", type: i10.SelectComponent, selector: "fdp-select", inputs: ["value", "inline"] }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
155
150
  }
156
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SmartFilterBarSettingsDialogComponent, decorators: [{
157
152
  type: Component,
158
- args: [{ selector: 'fdp-smart-filter-bar-settings-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: RESETTABLE_TOKEN, useExisting: SmartFilterBarSettingsDialogComponent }], template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>\n {{ 'platformSmartFilterBar.selectFiltersHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table\n *ngIf=\"loaded; else loadingTpl\"\n #table\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n [dataSource]=\"source\"\n selectionMode=\"multiple\"\n >\n <fdp-table-toolbar\n [hideItemCount]=\"false\"\n [title]=\"'platformSmartFilterBar.selectFiltersAvailableFiltersText' | fdTranslate\"\n >\n <fdp-table-toolbar-actions>\n <fdp-select\n (selectionChange)=\"_onFilterVisibilityChange($event)\"\n [list]=\"_filterVisibilityOptions\"\n [value]=\"_filterVisibilityOptions[0].value\"\n >\n </fdp-select>\n </fdp-table-toolbar-actions>\n </fdp-table-toolbar>\n <fdp-column\n align=\"start\"\n key=\"label\"\n [label]=\"'platformSmartFilterBar.selectFiltersFilterColumnLabel' | fdTranslate\"\n name=\"label\"\n ></fdp-column>\n <fdp-column\n align=\"center\"\n key=\"active\"\n [label]=\"'platformSmartFilterBar.selectFiltersActiveColumnLabel' | fdTranslate\"\n name=\"active\"\n width=\"150px\"\n >\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-icon *ngIf=\"item.active\" glyph=\"accept\"></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_confirm()\"\n buttonType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.selectFiltersSubmitButtonLabel' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <fdp-button\n (click)=\"_cancel()\"\n buttonType=\"transparent\"\n [label]=\"'platformSmartFilterBar.selectFiltersCancelButton' | fdTranslate\"\n ></fdp-button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
159
- }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i13.Observable, decorators: [{
153
+ args: [{ selector: 'fdp-smart-filter-bar-settings-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: RESETTABLE_TOKEN, useExisting: SmartFilterBarSettingsDialogComponent }], template: "<fd-dialog class=\"fdp-table-p13-filtering-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 [headerSize]=\"4\" fd-title>\n {{ 'platformSmartFilterBar.selectFiltersHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-table\n *ngIf=\"loaded; else loadingTpl\"\n #table\n (rowSelectionChange)=\"_onRowSelectionChange($event)\"\n [dataSource]=\"source\"\n selectionMode=\"multiple\"\n >\n <fdp-table-toolbar\n [hideItemCount]=\"false\"\n [title]=\"'platformSmartFilterBar.selectFiltersAvailableFiltersText' | fdTranslate\"\n >\n <fdp-table-toolbar-actions>\n <fdp-select\n (selectionChange)=\"_onFilterVisibilityChange($event)\"\n [list]=\"_filterVisibilityOptions\"\n [value]=\"_filterVisibilityOptions[0].value\"\n >\n </fdp-select>\n </fdp-table-toolbar-actions>\n </fdp-table-toolbar>\n <fdp-column\n align=\"start\"\n key=\"label\"\n [label]=\"'platformSmartFilterBar.selectFiltersFilterColumnLabel' | fdTranslate\"\n name=\"label\"\n ></fdp-column>\n <fdp-column\n align=\"center\"\n key=\"active\"\n [label]=\"'platformSmartFilterBar.selectFiltersActiveColumnLabel' | fdTranslate\"\n name=\"active\"\n width=\"150px\"\n >\n <fdp-table-cell *fdpCellDef=\"let item\">\n <fd-icon *ngIf=\"item.active\" glyph=\"accept\"></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n (click)=\"_confirm()\"\n fdType=\"emphasized\"\n [label]=\"'platformSmartFilterBar.selectFiltersSubmitButtonLabel' | fdTranslate\"\n ></fd-button-bar>\n\n <fd-button-bar\n (click)=\"_cancel()\"\n fdType=\"transparent\"\n [label]=\"'platformSmartFilterBar.selectFiltersCancelButton' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n\n<ng-template #loadingTpl>\n <div style=\"text-align: center; margin: 1rem\">\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n </div>\n</ng-template>\n" }]
154
+ }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i12.Observable, decorators: [{
160
155
  type: Inject,
161
156
  args: [FD_LANGUAGE]
162
157
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { table: [{
163
158
  type: ViewChild,
164
159
  args: ['table']
165
160
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3NtYXJ0LWZpbHRlci1iYXIvY29tcG9uZW50cy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHekQsT0FBTyxFQUVILGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsZUFBZSxFQUVsQixNQUFNLGlDQUFpQyxDQUFDO0FBS3pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBYyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBVXJGLE1BQU0sT0FBTyxx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LENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFFLENBQUMsMEhDcENsRyw0bEdBbUZBOzsyRkQ3Q2EscUNBQXFDO2tCQVBqRCxTQUFTOytCQUNJLHNDQUFzQyxpQkFFakMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsdUNBQXVDLEVBQUUsQ0FBQzs7MEJBdUR6RixNQUFNOzJCQUFDLFdBQVc7NEVBakRILEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBvYnNlcnZlT24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQgeyBGZHBTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vZm9ybSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgICBSZXNldHRhYmxlLFxuICAgIFJFU0VUVEFCTEVfVE9LRU4sXG4gICAgVGFibGUsXG4gICAgVGFibGVEYXRhU291cmNlLFxuICAgIFRhYmxlUm93U2VsZWN0aW9uQ2hhbmdlRXZlbnRcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5cbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWZpZWxkLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2ctY29uZmlnJztcbmltcG9ydCB7IEZpZWxkRmlsdGVySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1maWVsZC1maWx0ZXItaXRlbSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhck9wdGlvbnNEYXRhUHJvdmlkZXIgfSBmcm9tICcuL2RhdGEtcHJvdmlkZXInO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSwgRkRfTEFOR1VBR0UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJWaXNpYmlsaXR5Q2F0ZWdvcnlMYWJlbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItdmlzaWJpbGl0eS1jYXRlZ29yeSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXNtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSRVNFVFRBQkxFX1RPS0VOLCB1c2VFeGlzdGluZzogU21hcnRGaWx0ZXJCYXJTZXR0aW5nc0RpYWxvZ0NvbXBvbmVudCB9XVxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckJhclNldHRpbmdzRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgUmVzZXR0YWJsZSwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBUYWJsZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdGFibGUhOiBUYWJsZTtcblxuICAgIC8qKlxuICAgICAqIFRhYmxlIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIHNvdXJjZSE6IFRhYmxlRGF0YVNvdXJjZTxGaWVsZEZpbHRlckl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYXZhaWxhYmxlRmllbGRzITogRmllbGRGaWx0ZXJJdGVtW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9maWx0ZXJWaXNpYmlsaXR5T3B0aW9uczogU2VsZWN0SXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxvYWRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYXRlZ29yeUxhYmVsS2V5czogU21hcnRGaWx0ZXJCYXJWaXNpYmlsaXR5Q2F0ZWdvcnlMYWJlbHMgPSB7XG4gICAgICAgIGFsbDogJ3NldHRpbmdzQ2F0ZWdvcnlBbGwnLFxuICAgICAgICB2aXNpYmxlOiAnc2V0dGluZ3NDYXRlZ29yeVZpc2libGUnLFxuICAgICAgICBhY3RpdmU6ICdzZXR0aW5nc0NhdGVnb3J5QWN0aXZlJyxcbiAgICAgICAgdmlzaWJsZUFuZEFjdGl2ZTogJ3NldHRpbmdzQ2F0ZWdvcnlWaXNpYmxlQW5kQWN0aXZlJyxcbiAgICAgICAgbWFuZGF0b3J5OiAnc2V0dGluZ3NDYXRlZ29yeU1hbmRhdG9yeSdcbiAgICB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zb3VyY2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkRmlsdGVyczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKiogSW5kaWNhdGVzIHdoZW4gcmVzZXQgY29tbWFuZCBpcyBhdmFpbGFibGUgKi9cbiAgICByZWFkb25seSBpc1Jlc2V0QXZhaWxhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9kaWFsb2dSZWY6IERpYWxvZ1JlZjxTbWFydEZpbHRlclNldHRpbmdzRGlhbG9nQ29uZmlnLCBzdHJpbmdbXT4sXG4gICAgICAgIEBJbmplY3QoRkRfTEFOR1VBR0UpIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlJDogT2JzZXJ2YWJsZTxGZExhbmd1YWdlPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLnNldEluaXRpYWxUYWJsZVN0YXRlKCk7XG4gICAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX2luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuX3RyYW5zZm9ybVZpc2liaWxpdHlMYWJlbHMoKTtcbiAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyB2aXNpYmlsaXR5IG9wdGlvbnMgaW50byBhcHByb3ByaWF0ZSBzZWxlY3QgaXRlbSBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhc3luYyBfdHJhbnNmb3JtVmlzaWJpbGl0eUxhYmVscygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgbGV0IGxhYmVscyA9IHRoaXMuX2RpYWxvZ1JlZi5kYXRhLnZpc2liaWxpdHlDYXRlZ29yaWVzO1xuICAgICAgICBpZiAoIWxhYmVscykge1xuICAgICAgICAgICAgY29uc3QgbGFuZyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2xhbmd1YWdlJCk7XG4gICAgICAgICAgICBsYWJlbHMgPSB7IC4uLnRoaXMuX2NhdGVnb3J5TGFiZWxLZXlzIH07XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5SXRlbSBpbiBsYWJlbHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGxhYmVscywgc3RyYXRlZ3lJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IGxhYmVsc1tzdHJhdGVneUl0ZW1dO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbHNbc3RyYXRlZ3lJdGVtXSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TbWFydEZpbHRlckJhci4nICsgdHJhbnNsYXRpb25LZXlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBbc2VsZWN0VmFsdWUsIHNlbGVjdExhYmVsXSBvZiBPYmplY3QuZW50cmllcyhsYWJlbHMpKSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJWaXNpYmlsaXR5T3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogc2VsZWN0TGFiZWwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHNlbGVjdFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyB0aGUgY2hlY2tib3ggaW4gdGhlIHRhYmxlIHJvdyBpZiB0aGUgZmllbGQgaXMgc2VsZWN0ZWQuXG4gICAgICovXG4gICAgc2V0U2VsZWN0ZWRGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zb3VyY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3NvdXJjZVN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlXG4gICAgICAgICAgICAub3BlbigpXG4gICAgICAgICAgICAucGlwZShvYnNlcnZlT24oYXN5bmNTY2hlZHVsZXIpLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGQudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS50b2dnbGVTZWxlY3RhYmxlUm93KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgZmlsdGVycyBzZWxlY3Rpb24uXG4gICAgICovXG4gICAgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SW5pdGlhbFRhYmxlU3RhdGUoKTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGluaXRpYWwgc3RhdGUgb2YgdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIHNldEluaXRpYWxUYWJsZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hdmFpbGFibGVGaWVsZHMgPSB0aGlzLl9kaWFsb2dSZWYuZGF0YS5maWVsZHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGM6IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uKSA9PiBjLmZpbHRlcmFibGUpXG4gICAgICAgICAgICAubWFwKChjOiBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogYy5sYWJlbCxcbiAgICAgICAgICAgICAgICBhY3RpdmU6ICEhdGhpcy5fZGlhbG9nUmVmLmRhdGEuZmlsdGVyQnkuZmluZCgoZikgPT4gZi5maWVsZCA9PT0gYy5uYW1lKSxcbiAgICAgICAgICAgICAgICBtYW5kYXRvcnk6IGMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5fZGlhbG9nUmVmLmRhdGEuc2VsZWN0ZWRGaWx0ZXJzLmluY2x1ZGVzKGMubmFtZSksXG4gICAgICAgICAgICAgICAga2V5OiBjLmtleSxcbiAgICAgICAgICAgICAgICBuYW1lOiBjLm5hbWVcbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLnNvdXJjZSA9IG5ldyBUYWJsZURhdGFTb3VyY2UobmV3IFNtYXJ0RmlsdGVyQmFyT3B0aW9uc0RhdGFQcm92aWRlcih0aGlzLl9hdmFpbGFibGVGaWVsZHMpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5kaXNtaXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHRoaXMuX3NlbGVjdGVkRmlsdGVycyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25Sb3dTZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IFRhYmxlUm93U2VsZWN0aW9uQ2hhbmdlRXZlbnQ8RmllbGRGaWx0ZXJJdGVtPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEZpbHRlcnMgPSBldmVudC5zZWxlY3Rpb24ubWFwKChjKSA9PiBjLm5hbWUpO1xuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkZpbHRlclZpc2liaWxpdHlDaGFuZ2UoZXZlbnQ6IEZkcFNlbGVjdGlvbkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50YWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgICh0aGlzLnNvdXJjZS5kYXRhUHJvdmlkZXIgYXMgU21hcnRGaWx0ZXJCYXJPcHRpb25zRGF0YVByb3ZpZGVyKS5maWx0ZXIoZXZlbnQucGF5bG9hZCk7XG4gICAgICAgIHRoaXMuc291cmNlLmZldGNoKHRoaXMudGFibGUuZ2V0VGFibGVTdGF0ZSgpKTtcbiAgICB9XG59XG4iLCI8ZmQtZGlhbG9nIGNsYXNzPVwiZmRwLXRhYmxlLXAxMy1maWx0ZXJpbmctZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBbaGVhZGVyU2l6ZV09XCI0XCIgZmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1TbWFydEZpbHRlckJhci5zZWxlY3RGaWx0ZXJzSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj48L2ZkcC10YWJsZS1yZXNldC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGZkcC10YWJsZVxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkZWQ7IGVsc2UgbG9hZGluZ1RwbFwiXG4gICAgICAgICAgICAjdGFibGVcbiAgICAgICAgICAgIChyb3dTZWxlY3Rpb25DaGFuZ2UpPVwiX29uUm93U2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwic291cmNlXCJcbiAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU9XCJtdWx0aXBsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZHAtdGFibGUtdG9vbGJhclxuICAgICAgICAgICAgICAgIFtoaWRlSXRlbUNvdW50XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuc2VsZWN0RmlsdGVyc0F2YWlsYWJsZUZpbHRlcnNUZXh0JyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXRvb2xiYXItYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPGZkcC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiX29uRmlsdGVyVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaXN0XT1cIl9maWx0ZXJWaXNpYmlsaXR5T3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiX2ZpbHRlclZpc2liaWxpdHlPcHRpb25zWzBdLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2ZkcC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9mZHAtdGFibGUtdG9vbGJhci1hY3Rpb25zPlxuICAgICAgICAgICAgPC9mZHAtdGFibGUtdG9vbGJhcj5cbiAgICAgICAgICAgIDxmZHAtY29sdW1uXG4gICAgICAgICAgICAgICAgYWxpZ249XCJzdGFydFwiXG4gICAgICAgICAgICAgICAga2V5PVwibGFiZWxcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1TbWFydEZpbHRlckJhci5zZWxlY3RGaWx0ZXJzRmlsdGVyQ29sdW1uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJsYWJlbFwiXG4gICAgICAgICAgICA+PC9mZHAtY29sdW1uPlxuICAgICAgICAgICAgPGZkcC1jb2x1bW5cbiAgICAgICAgICAgICAgICBhbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAga2V5PVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuc2VsZWN0RmlsdGVyc0FjdGl2ZUNvbHVtbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLWNlbGwgKmZkcENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiAqbmdJZj1cIml0ZW0uYWN0aXZlXCIgZ2x5cGg9XCJhY2NlcHRcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9mZHAtdGFibGUtY2VsbD5cbiAgICAgICAgICAgIDwvZmRwLWNvbHVtbj5cbiAgICAgICAgPC9mZHAtdGFibGU+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8ZmRwLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfY29uZmlybSgpXCJcbiAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlbGVjdEZpbHRlcnNTdWJtaXRCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxmZHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuc2VsZWN0RmlsdGVyc0NhbmNlbEJ1dHRvbicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9mZHAtYnV0dG9uPlxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbjwvZmQtZGlhbG9nPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdUcGw+XG4gICAgPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAxcmVtXCI+XG4gICAgICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3NtYXJ0LWZpbHRlci1iYXIvY29tcG9uZW50cy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHekQsT0FBTyxFQUVILGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsZUFBZSxFQUVsQixNQUFNLGlDQUFpQyxDQUFDO0FBS3pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQWMsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVckYsTUFBTSxPQUFPLHFDQUFxQztJQWtEOUMsY0FBYztJQUNkLFlBQ1ksVUFBZ0UsRUFDbEMsVUFBa0MsRUFDdkQsSUFBdUI7UUFGaEMsZUFBVSxHQUFWLFVBQVUsQ0FBc0Q7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDdkQsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUF4QzVDLGNBQWM7UUFDZCw2QkFBd0IsR0FBaUIsRUFBRSxDQUFDO1FBRTVDLGNBQWM7UUFDZCxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBS2YsY0FBYztRQUNHLHVCQUFrQixHQUEyQztZQUMxRSxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLE9BQU8sRUFBRSx5QkFBeUI7WUFDbEMsTUFBTSxFQUFFLHdCQUF3QjtZQUNoQyxnQkFBZ0IsRUFBRSxrQ0FBa0M7WUFDcEQsU0FBUyxFQUFFLDJCQUEyQjtTQUN6QyxDQUFDO1FBS0YsY0FBYztRQUNOLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUV4Qzs7O1dBR0c7UUFDYyxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxFLGNBQWM7UUFDTiw4QkFBeUIsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbEcsY0FBYztRQUNHLHlCQUFvQixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQVE5RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNO2FBQ2pDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM1RCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDOUMsTUFBTSxDQUFDLENBQUMsQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzthQUMxRCxHQUFHLENBQUMsQ0FBQyxDQUFnQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztZQUNkLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZFLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUTtZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzlELEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRztZQUNWLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtTQUNmLENBQUMsQ0FBQyxDQUFDO1FBRVIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELGNBQWM7SUFDZCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsY0FBYztJQUNkLHFCQUFxQixDQUFDLEtBQW9EO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGNBQWM7SUFDZCx5QkFBeUIsQ0FBQyxLQUE4QjtRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLE9BQU87U0FDVjtRQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBa0QsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztJQUNOLEtBQUssQ0FBQyxLQUFLO1FBQ2YsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQywwQkFBMEI7UUFDcEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QyxLQUFLLE1BQU0sWUFBWSxJQUFJLE1BQU0sRUFBRTtZQUMvQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQzVELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQ3BELElBQUksRUFDSix5QkFBeUIsR0FBRyxjQUFjLENBQzdDLENBQUM7YUFDTDtTQUNKO1FBQ0QsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQztnQkFDL0IsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLEtBQUssRUFBRSxXQUFXO2FBQ3JCLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs4R0F4S1EscUNBQXFDLDJDQXFEbEMsV0FBVztrR0FyRGQscUNBQXFDLCtEQUZuQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxxQ0FBcUMsRUFBRSxDQUFDLDBIQ3BDbEcsMDZGQStFQTs7MkZEekNhLHFDQUFxQztrQkFQakQsU0FBUzsrQkFDSSxzQ0FBc0MsaUJBRWpDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHVDQUF1QyxFQUFFLENBQUM7OzBCQXVEekYsTUFBTTsyQkFBQyxXQUFXOzRFQWpESCxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb2JzZXJ2ZU9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgRmRwU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7XG4gICAgUmVzZXR0YWJsZSxcbiAgICBSRVNFVFRBQkxFX1RPS0VOLFxuICAgIFRhYmxlLFxuICAgIFRhYmxlRGF0YVNvdXJjZSxcbiAgICBUYWJsZVJvd1NlbGVjdGlvbkNoYW5nZUV2ZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuXG5pbXBvcnQgeyBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1maWVsZC1kZWZpbml0aW9uJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyU2V0dGluZ3NEaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nLWNvbmZpZyc7XG5pbXBvcnQgeyBGaWVsZEZpbHRlckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItZmllbGQtZmlsdGVyLWl0ZW0nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJPcHRpb25zRGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9kYXRhLXByb3ZpZGVyJztcbmltcG9ydCB7IEZEX0xBTkdVQUdFLCBGZExhbmd1YWdlLCBUcmFuc2xhdGlvblJlc29sdmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyVmlzaWJpbGl0eUNhdGVnb3J5TGFiZWxzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLXZpc2liaWxpdHktY2F0ZWdvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1iYXItc2V0dGluZ3MtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUkVTRVRUQUJMRV9UT0tFTiwgdXNlRXhpc3Rpbmc6IFNtYXJ0RmlsdGVyQmFyU2V0dGluZ3NEaWFsb2dDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJTZXR0aW5nc0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFJlc2V0dGFibGUsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogVGFibGUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogVGFibGU7XG5cbiAgICAvKipcbiAgICAgKiBUYWJsZSBkYXRhIHNvdXJjZS5cbiAgICAgKi9cbiAgICBzb3VyY2UhOiBUYWJsZURhdGFTb3VyY2U8RmllbGRGaWx0ZXJJdGVtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2F2YWlsYWJsZUZpZWxkcyE6IEZpZWxkRmlsdGVySXRlbVtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZmlsdGVyVmlzaWJpbGl0eU9wdGlvbnM6IFNlbGVjdEl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jYXRlZ29yeUxhYmVsS2V5czogU21hcnRGaWx0ZXJCYXJWaXNpYmlsaXR5Q2F0ZWdvcnlMYWJlbHMgPSB7XG4gICAgICAgIGFsbDogJ3NldHRpbmdzQ2F0ZWdvcnlBbGwnLFxuICAgICAgICB2aXNpYmxlOiAnc2V0dGluZ3NDYXRlZ29yeVZpc2libGUnLFxuICAgICAgICBhY3RpdmU6ICdzZXR0aW5nc0NhdGVnb3J5QWN0aXZlJyxcbiAgICAgICAgdmlzaWJsZUFuZEFjdGl2ZTogJ3NldHRpbmdzQ2F0ZWdvcnlWaXNpYmxlQW5kQWN0aXZlJyxcbiAgICAgICAgbWFuZGF0b3J5OiAnc2V0dGluZ3NDYXRlZ29yeU1hbmRhdG9yeSdcbiAgICB9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zb3VyY2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkRmlsdGVyczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBEaWFsb2dSZWY8U21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZywgc3RyaW5nW10+LFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgdGhpcy5pc1Jlc2V0QXZhaWxhYmxlJCA9IHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVGFibGVTdGF0ZSgpO1xuICAgICAgICB0aGlzLl9pbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHRoZSBjaGVja2JveCBpbiB0aGUgdGFibGUgcm93IGlmIHRoZSBmaWVsZCBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBzZXRTZWxlY3RlZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NvdXJjZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc291cmNlU3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2VcbiAgICAgICAgICAgIC5vcGVuKClcbiAgICAgICAgICAgIC5waXBlKG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC52aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLnRvZ2dsZVNlbGVjdGFibGVSb3coaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyBmaWx0ZXJzIHNlbGVjdGlvbi5cbiAgICAgKi9cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVGFibGVTdGF0ZSgpO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkRmlsdGVycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgdGFibGUuXG4gICAgICovXG4gICAgc2V0SW5pdGlhbFRhYmxlU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2F2YWlsYWJsZUZpZWxkcyA9IHRoaXMuX2RpYWxvZ1JlZi5kYXRhLmZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoYzogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24pID0+IGMuZmlsdGVyYWJsZSlcbiAgICAgICAgICAgIC5tYXAoKGM6IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiBjLmxhYmVsLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogISF0aGlzLl9kaWFsb2dSZWYuZGF0YS5maWx0ZXJCeS5maW5kKChmKSA9PiBmLmZpZWxkID09PSBjLm5hbWUpLFxuICAgICAgICAgICAgICAgIG1hbmRhdG9yeTogYy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLl9kaWFsb2dSZWYuZGF0YS5zZWxlY3RlZEZpbHRlcnMuaW5jbHVkZXMoYy5uYW1lKSxcbiAgICAgICAgICAgICAgICBrZXk6IGMua2V5LFxuICAgICAgICAgICAgICAgIG5hbWU6IGMubmFtZVxuICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZShuZXcgU21hcnRGaWx0ZXJCYXJPcHRpb25zRGF0YVByb3ZpZGVyKHRoaXMuX2F2YWlsYWJsZUZpZWxkcykpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmRpc21pc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb25maXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UodGhpcy5fc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblJvd1NlbGVjdGlvbkNoYW5nZShldmVudDogVGFibGVSb3dTZWxlY3Rpb25DaGFuZ2VFdmVudDxGaWVsZEZpbHRlckl0ZW0+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRmlsdGVycyA9IGV2ZW50LnNlbGVjdGlvbi5tYXAoKGMpID0+IGMubmFtZSk7XG4gICAgICAgIHRoaXMuX2lzUmVzZXRBdmFpbGFibGVTdWJqZWN0JC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRmlsdGVyVmlzaWJpbGl0eUNoYW5nZShldmVudDogRmRwU2VsZWN0aW9uQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKHRoaXMuc291cmNlLmRhdGFQcm92aWRlciBhcyBTbWFydEZpbHRlckJhck9wdGlvbnNEYXRhUHJvdmlkZXIpLmZpbHRlcihldmVudC5wYXlsb2FkKTtcbiAgICAgICAgdGhpcy5zb3VyY2UuZmV0Y2godGhpcy50YWJsZS5nZXRUYWJsZVN0YXRlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNmb3JtVmlzaWJpbGl0eUxhYmVscygpO1xuICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm1zIHZpc2liaWxpdHkgb3B0aW9ucyBpbnRvIGFwcHJvcHJpYXRlIHNlbGVjdCBpdGVtIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIF90cmFuc2Zvcm1WaXNpYmlsaXR5TGFiZWxzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBsYW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fbGFuZ3VhZ2UkKTtcbiAgICAgICAgY29uc3QgbGFiZWxzID0geyAuLi50aGlzLl9jYXRlZ29yeUxhYmVsS2V5cyB9O1xuICAgICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5SXRlbSBpbiBsYWJlbHMpIHtcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobGFiZWxzLCBzdHJhdGVneUl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBsYWJlbHNbc3RyYXRlZ3lJdGVtXTtcbiAgICAgICAgICAgICAgICBsYWJlbHNbc3RyYXRlZ3lJdGVtXSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgICAgICAgICAgbGFuZyxcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuJyArIHRyYW5zbGF0aW9uS2V5XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IFtzZWxlY3RWYWx1ZSwgc2VsZWN0TGFiZWxdIG9mIE9iamVjdC5lbnRyaWVzKGxhYmVscykpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlclZpc2liaWxpdHlPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGxhYmVsOiBzZWxlY3RMYWJlbCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0VmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZkLWRpYWxvZyBjbGFzcz1cImZkcC10YWJsZS1wMTMtZmlsdGVyaW5nLWRpYWxvZ1wiPlxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8aDQgW2hlYWRlclNpemVdPVwiNFwiIGZkLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuc2VsZWN0RmlsdGVyc0hlYWRlcicgfCBmZFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkcC10YWJsZS1yZXNldC1idXR0b24+PC9mZHAtdGFibGUtcmVzZXQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG5cbiAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgIDxmZHAtdGFibGVcbiAgICAgICAgICAgICpuZ0lmPVwibG9hZGVkOyBlbHNlIGxvYWRpbmdUcGxcIlxuICAgICAgICAgICAgI3RhYmxlXG4gICAgICAgICAgICAocm93U2VsZWN0aW9uQ2hhbmdlKT1cIl9vblJvd1NlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInNvdXJjZVwiXG4gICAgICAgICAgICBzZWxlY3Rpb25Nb2RlPVwibXVsdGlwbGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmRwLXRhYmxlLXRvb2xiYXJcbiAgICAgICAgICAgICAgICBbaGlkZUl0ZW1Db3VudF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlbGVjdEZpbHRlcnNBdmFpbGFibGVGaWx0ZXJzVGV4dCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZkcC10YWJsZS10b29sYmFyLWFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIl9vbkZpbHRlclZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlzdF09XCJfZmlsdGVyVmlzaWJpbGl0eU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIl9maWx0ZXJWaXNpYmlsaXR5T3B0aW9uc1swXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9mZHAtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvZmRwLXRhYmxlLXRvb2xiYXItYWN0aW9ucz5cbiAgICAgICAgICAgIDwvZmRwLXRhYmxlLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZmRwLWNvbHVtblxuICAgICAgICAgICAgICAgIGFsaWduPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgIGtleT1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIuc2VsZWN0RmlsdGVyc0ZpbHRlckNvbHVtbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibGFiZWxcIlxuICAgICAgICAgICAgPjwvZmRwLWNvbHVtbj5cbiAgICAgICAgICAgIDxmZHAtY29sdW1uXG4gICAgICAgICAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGtleT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlbGVjdEZpbHRlcnNBY3RpdmVDb2x1bW5MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBweFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZkcC10YWJsZS1jZWxsICpmZHBDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gKm5nSWY9XCJpdGVtLmFjdGl2ZVwiIGdseXBoPVwiYWNjZXB0XCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZmRwLXRhYmxlLWNlbGw+XG4gICAgICAgICAgICA8L2ZkcC1jb2x1bW4+XG4gICAgICAgIDwvZmRwLXRhYmxlPlxuICAgIDwvZmQtZGlhbG9nLWJvZHk+XG5cbiAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIChjbGljayk9XCJfY29uZmlybSgpXCJcbiAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlbGVjdEZpbHRlcnNTdWJtaXRCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG5cbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgIChjbGljayk9XCJfY2FuY2VsKClcIlxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlbGVjdEZpbHRlcnNDYW5jZWxCdXR0b24nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbjwvZmQtZGlhbG9nPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdUcGw+XG4gICAgPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAxcmVtXCI+XG4gICAgICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsIEZpbHRlclN0cmF0ZWd5IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyU3RyYXRlZ3lMYWJlbHMgfSBmcm9tICcuL3N0cmF0ZWd5LWxhYmVscy50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXIge1xuICAgIC8qKlxuICAgICAqIEhlYWRlciBvZiB0aGUgZGlhbG9nIHdpbmRvdy5cbiAgICAgKi9cbiAgICBoZWFkZXI6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZGF0YSB0eXBlLlxuICAgICAqL1xuICAgIGRhdGFUeXBlOiBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGU7XG4gICAgLyoqXG4gICAgICogQXBwbGllZCBjb25kaXRpb25zIGZvciB0aGUgZmlsdGVyLlxuICAgICAqL1xuICAgIGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW107XG4gICAgLyoqXG4gICAgICogRmlsdGVyIHR5cGUuXG4gICAgICovXG4gICAgZmlsdGVyVHlwZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGZvciBmaWx0ZXJpbmcuXG4gICAgICovXG4gICAgY2hvaWNlczogU2VsZWN0SXRlbVtdO1xuICAgIC8qKlxuICAgICAqIElucHV0IHR5cGUuXG4gICAgICovXG4gICAgY29udHJvbFR5cGU6IElucHV0VHlwZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpMThuIGNhcGFiaWxpdGllcyBpbnN0ZWFkXG4gICAgICogQ29uZGl0aW9uIHN0cmF0ZWd5IGxhYmVscy5cbiAgICAgKi9cbiAgICBkZWZpbmVTdHJhdGVneUxhYmVscz86IFNtYXJ0RmlsdGVyQmFyU3RyYXRlZ3lMYWJlbHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRGaWx0ZXJCYXJDb25kaXRpb248VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIEZpbHRlciB2YWx1ZS5cbiAgICAgKi9cbiAgICB2YWx1ZTogVDtcbiAgICAvKipcbiAgICAgKiBSYW5nZSBmaWx0ZXIgdmFsdWUuXG4gICAgICovXG4gICAgdmFsdWUyPzogVDtcbiAgICAvKipcbiAgICAgKiBDb25kaXRpb24gdHlwZS5cbiAgICAgKi9cbiAgICBvcGVyYXRvcjogRmlsdGVyU3RyYXRlZ3k7XG4gICAgLyoqXG4gICAgICogSHVtYW4tcmVhZGFibGUgdmFsdWUgdG8gYmUgZGlzcGxheWVkIGluIHNtYXJ0IGZpbHRlciBiYXIuXG4gICAgICovXG4gICAgZGlzcGxheVZhbHVlPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsIEZpbHRlclN0cmF0ZWd5IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlckJhckNvbmRpdGlvbkJ1aWxkZXIge1xuICAgIC8qKlxuICAgICAqIEhlYWRlciBvZiB0aGUgZGlhbG9nIHdpbmRvdy5cbiAgICAgKi9cbiAgICBoZWFkZXI6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZGF0YSB0eXBlLlxuICAgICAqL1xuICAgIGRhdGFUeXBlOiBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGU7XG4gICAgLyoqXG4gICAgICogQXBwbGllZCBjb25kaXRpb25zIGZvciB0aGUgZmlsdGVyLlxuICAgICAqL1xuICAgIGNvbmRpdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uW107XG4gICAgLyoqXG4gICAgICogRmlsdGVyIHR5cGUuXG4gICAgICovXG4gICAgZmlsdGVyVHlwZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEF2YWlsYWJsZSBvcHRpb25zIGZvciBmaWx0ZXJpbmcuXG4gICAgICovXG4gICAgY2hvaWNlczogU2VsZWN0SXRlbVtdO1xuICAgIC8qKlxuICAgICAqIElucHV0IHR5cGUuXG4gICAgICovXG4gICAgY29udHJvbFR5cGU6IElucHV0VHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlckJhckNvbmRpdGlvbjxUID0gYW55PiB7XG4gICAgLyoqXG4gICAgICogRmlsdGVyIHZhbHVlLlxuICAgICAqL1xuICAgIHZhbHVlOiBUO1xuICAgIC8qKlxuICAgICAqIFJhbmdlIGZpbHRlciB2YWx1ZS5cbiAgICAgKi9cbiAgICB2YWx1ZTI/OiBUO1xuICAgIC8qKlxuICAgICAqIENvbmRpdGlvbiB0eXBlLlxuICAgICAqL1xuICAgIG9wZXJhdG9yOiBGaWx0ZXJTdHJhdGVneTtcbiAgICAvKipcbiAgICAgKiBIdW1hbi1yZWFkYWJsZSB2YWx1ZSB0byBiZSBkaXNwbGF5ZWQgaW4gc21hcnQgZmlsdGVyIGJhci5cbiAgICAgKi9cbiAgICBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2ctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3NtYXJ0LWZpbHRlci1iYXIvaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25GaWx0ZXJBbmRHcm91cCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24gfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1iYXItZmllbGQtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhclZpc2liaWxpdHlDYXRlZ29yeUxhYmVscyB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWJhci12aXNpYmlsaXR5LWNhdGVnb3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZpbHRlclNldHRpbmdzRGlhbG9nQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBBdmFpbGFibGUgZmllbGRzLlxuICAgICAqL1xuICAgIGZpZWxkczogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb25bXTtcbiAgICAvKipcbiAgICAgKiBBcHBsaWVkIGZpbHRlcnMuXG4gICAgICovXG4gICAgZmlsdGVyQnk6IENvbGxlY3Rpb25GaWx0ZXJBbmRHcm91cFtdO1xuICAgIC8qKlxuICAgICAqIFNlbGVjdGVkIGZpbHRlcnMuXG4gICAgICovXG4gICAgc2VsZWN0ZWRGaWx0ZXJzOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpMThuIGNhcGFiaWxpdGllcyBpbnN0ZWFkXG4gICAgICogRmlsdGVycyB2aXNpYmlsaXR5IGNhdGVnb3J5IGxhYmVscy5cbiAgICAgKi9cbiAgICB2aXNpYmlsaXR5Q2F0ZWdvcmllcz86IFNtYXJ0RmlsdGVyQmFyVmlzaWJpbGl0eUNhdGVnb3J5TGFiZWxzO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2ctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3NtYXJ0LWZpbHRlci1iYXIvaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25GaWx0ZXJBbmRHcm91cCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24gfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1iYXItZmllbGQtZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogQXZhaWxhYmxlIGZpZWxkcy5cbiAgICAgKi9cbiAgICBmaWVsZHM6IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uW107XG4gICAgLyoqXG4gICAgICogQXBwbGllZCBmaWx0ZXJzLlxuICAgICAqL1xuICAgIGZpbHRlckJ5OiBDb2xsZWN0aW9uRmlsdGVyQW5kR3JvdXBbXTtcbiAgICAvKipcbiAgICAgKiBTZWxlY3RlZCBmaWx0ZXJzLlxuICAgICAqL1xuICAgIHNlbGVjdGVkRmlsdGVyczogc3RyaW5nW107XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3ktbGFiZWxzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9pbnRlcmZhY2VzL3N0cmF0ZWd5LWxhYmVscy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGSUxURVJfU1RSQVRFR1kgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlJztcblxuZXhwb3J0IHR5cGUgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyA9IHtcbiAgICBba2V5IGluIHR5cGVvZiBGSUxURVJfU1RSQVRFR1lba2V5b2YgdHlwZW9mIEZJTFRFUl9TVFJBVEVHWV1dOiBzdHJpbmc7XG59O1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3ktbGFiZWxzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc21hcnQtZmlsdGVyLWJhci9pbnRlcmZhY2VzL3N0cmF0ZWd5LWxhYmVscy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGSUxURVJfU1RSQVRFR1kgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlJztcblxuZXhwb3J0IHR5cGUgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyA9IHtcbiAgICBba2V5IGluICh0eXBlb2YgRklMVEVSX1NUUkFURUdZKVtrZXlvZiB0eXBlb2YgRklMVEVSX1NUUkFURUdZXV06IHN0cmluZztcbn07XG4iXX0=
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
17
17
  }], presetChanged: [{
18
18
  type: Output
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbWFydC1maWx0ZXItYmFyL3NtYXJ0LWZpbHRlci1iYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTdkUsTUFBTSxPQUFnQixjQUFjO0lBRHBDO1FBa0JJLHVEQUF1RDtRQUV2RCxTQUFJLEdBQUcsd0JBQXdCLENBQUM7UUFFaEMsMEVBQTBFO1FBRTFFLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7S0FDbkU7OEdBeEJxQixjQUFjO2tHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRG5DLFNBQVM7OEJBb0JOLElBQUk7c0JBREgsS0FBSztnQkFLTixhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgeyBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlckdyb3VwIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQgfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jaGFuZ2UnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscyB9IGZyb20gJy4vaW50ZXJmYWNlcy9zdHJhdGVneS1sYWJlbHMudHlwZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNtYXJ0RmlsdGVyQmFyIGltcGxlbWVudHMgUHJlc2V0TWFuYWdlZENvbXBvbmVudDxTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQ+IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFic3RyYWN0IGRlZmluZVN0cmF0ZWd5TGFiZWxzPzogU21hcnRGaWx0ZXJCYXJTdHJhdGVneUxhYmVscztcblxuICAgIGFic3RyYWN0IHNlYXJjaDogU2VhcmNoSW5wdXQgfCB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFic3RyYWN0IGdldERpc3BsYXlWYWx1ZShjb25kaXRpb246IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uLCBmaWx0ZXJUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG5cbiAgICAvKiogTWV0aG9kIGZvciBzZXR0aW5nIHByZWRlZmluZWQgY29uZmlndXJhdGlvbiBwcmVzZXQuICovXG4gICAgYWJzdHJhY3Qgc2V0UHJlc2V0KGRhdGE6IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldCk6IHZvaWQ7XG5cbiAgICAvKiogUmV0dXJucyBjdXJyZW50IHByZXNldCBjb25maWd1cmF0aW9uLiAqL1xuICAgIGFic3RyYWN0IGdldEN1cnJlbnRQcmVzZXQoKTogU21hcnRGaWx0ZXJCYXJNYW5hZ2VkUHJlc2V0O1xuXG4gICAgYWJzdHJhY3QgZ2V0Rm9ybWF0dGVkQ29uZGl0aW9ucygpOiBQcm9taXNlPENvbGxlY3Rpb25GaWx0ZXJHcm91cFtdPjtcblxuICAgIC8qKiBDb21wb25lbnQgbmFtZSB1c2VkIGluIFByZXNldCBtYW5hZ2VkIGNvbXBvbmVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWUgPSAncGxhdGZvcm1TbWFydEZpbHRlckJhcic7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHNtYXJ0IGZpbHRlciBiYXIgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHByZXNldENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldD4oKTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zbWFydC1maWx0ZXItYmFyL3NtYXJ0LWZpbHRlci1iYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRdkUsTUFBTSxPQUFnQixjQUFjO0lBRHBDO1FBZUksdURBQXVEO1FBRXZELFNBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUVoQywwRUFBMEU7UUFFMUUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBK0IsQ0FBQztLQUNuRTs4R0FyQnFCLGNBQWM7a0dBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsU0FBUzs4QkFpQk4sSUFBSTtzQkFESCxLQUFLO2dCQUtOLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFByZXNldE1hbmFnZWRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRmlsdGVyR3JvdXAgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldCB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWNoYW5nZSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhckNvbmRpdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNtYXJ0RmlsdGVyQmFyIGltcGxlbWVudHMgUHJlc2V0TWFuYWdlZENvbXBvbmVudDxTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQ+IHtcbiAgICBhYnN0cmFjdCBzZWFyY2g6IFNlYXJjaElucHV0IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhYnN0cmFjdCBnZXREaXNwbGF5VmFsdWUoY29uZGl0aW9uOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbiwgZmlsdGVyVHlwZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4gICAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyBwcmVkZWZpbmVkIGNvbmZpZ3VyYXRpb24gcHJlc2V0LiAqL1xuICAgIGFic3RyYWN0IHNldFByZXNldChkYXRhOiBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQpOiB2b2lkO1xuXG4gICAgLyoqIFJldHVybnMgY3VycmVudCBwcmVzZXQgY29uZmlndXJhdGlvbi4gKi9cbiAgICBhYnN0cmFjdCBnZXRDdXJyZW50UHJlc2V0KCk6IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldDtcblxuICAgIGFic3RyYWN0IGdldEZvcm1hdHRlZENvbmRpdGlvbnMoKTogUHJvbWlzZTxDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXT47XG5cbiAgICAvKiogQ29tcG9uZW50IG5hbWUgdXNlZCBpbiBQcmVzZXQgbWFuYWdlZCBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lID0gJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXInO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBzbWFydCBmaWx0ZXIgYmFyIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gY2hhbmdlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBwcmVzZXRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQ+KCk7XG59XG4iXX0=