@bnsights/bbsf-controls 1.0.109 → 1.0.110

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 (274) hide show
  1. package/README.md +4 -0
  2. package/{esm2020 → esm2022}/bnsights-bbsf-controls.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/Shared/Components/app-base-component.mjs +226 -226
  4. package/{esm2020 → esm2022}/lib/Shared/Components/ng-tag-input.mjs +176 -176
  5. package/{esm2020 → esm2022}/lib/Shared/Directives/template-name.directive.mjs +18 -18
  6. package/{esm2020 → esm2022}/lib/Shared/Enums/CalendarView.mjs +7 -7
  7. package/{esm2020 → esm2022}/lib/Shared/Enums/ControlLayout.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/Shared/Enums/Countries.mjs +246 -246
  9. package/{esm2020 → esm2022}/lib/Shared/Enums/Enums.mjs +32 -32
  10. package/{esm2020 → esm2022}/lib/Shared/Enums/FileType.mjs +21 -21
  11. package/{esm2020 → esm2022}/lib/Shared/Enums/FilterType.mjs +10 -10
  12. package/{esm2020 → esm2022}/lib/Shared/Enums/FontSize.mjs +6 -6
  13. package/{esm2020 → esm2022}/lib/Shared/Enums/ForceDirection.mjs +5 -5
  14. package/{esm2020 → esm2022}/lib/Shared/Enums/IconPosition.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/Shared/Enums/ImageType.mjs +9 -9
  16. package/{esm2020 → esm2022}/lib/Shared/Enums/InputType.mjs +9 -9
  17. package/{esm2020 → esm2022}/lib/Shared/Enums/Insert.mjs +8 -8
  18. package/{esm2020 → esm2022}/lib/Shared/Enums/LanguageMode.mjs +10 -10
  19. package/{esm2020 → esm2022}/lib/Shared/Enums/LanguageValidation.mjs +5 -5
  20. package/{esm2020 → esm2022}/lib/Shared/Enums/Misc.mjs +6 -6
  21. package/{esm2020 → esm2022}/lib/Shared/Enums/PagingActionMode.mjs +5 -5
  22. package/{esm2020 → esm2022}/lib/Shared/Enums/Para.mjs +8 -8
  23. package/{esm2020 → esm2022}/lib/Shared/Enums/PickerType.mjs +6 -6
  24. package/{esm2020 → esm2022}/lib/Shared/Enums/SelectMode.mjs +5 -5
  25. package/{esm2020 → esm2022}/lib/Shared/Enums/StartView.mjs +6 -6
  26. package/{esm2020 → esm2022}/lib/Shared/Enums/Style.mjs +7 -7
  27. package/{esm2020 → esm2022}/lib/Shared/Enums/StyleConfirmationMode.mjs +6 -6
  28. package/{esm2020 → esm2022}/lib/Shared/Enums/TagInputView.mjs +6 -6
  29. package/{esm2020 → esm2022}/lib/Shared/Enums/menu-list-enum.mjs +5 -5
  30. package/{esm2020 → esm2022}/lib/Shared/Models/Attribute.mjs +2 -2
  31. package/{esm2020 → esm2022}/lib/Shared/Models/AutocompleteDTO.mjs +7 -7
  32. package/{esm2020 → esm2022}/lib/Shared/Models/AutocompleteOptions.mjs +23 -23
  33. package/{esm2020 → esm2022}/lib/Shared/Models/CalendarEventDTO.mjs +2 -2
  34. package/{esm2020 → esm2022}/lib/Shared/Models/CalendarOptions.mjs +18 -18
  35. package/{esm2020 → esm2022}/lib/Shared/Models/CancelDTO.mjs +6 -6
  36. package/{esm2020 → esm2022}/lib/Shared/Models/CaptchaStyle.mjs +2 -2
  37. package/{esm2020 → esm2022}/lib/Shared/Models/CheckBoxOptions.mjs +10 -10
  38. package/{esm2020 → esm2022}/lib/Shared/Models/ConfirmationModalOptions.mjs +38 -38
  39. package/{esm2020 → esm2022}/lib/Shared/Models/ControlOptionsBase.mjs +12 -12
  40. package/{esm2020 → esm2022}/lib/Shared/Models/CustomValidation.mjs +13 -13
  41. package/{esm2020 → esm2022}/lib/Shared/Models/DropdownListItem.mjs +2 -2
  42. package/{esm2020 → esm2022}/lib/Shared/Models/DropdownOptions.mjs +15 -15
  43. package/{esm2020 → esm2022}/lib/Shared/Models/EditPersonalImage.mjs +6 -6
  44. package/{esm2020 → esm2022}/lib/Shared/Models/EnglishArabicDTO.mjs +10 -10
  45. package/{esm2020 → esm2022}/lib/Shared/Models/FileDTO.mjs +1 -1
  46. package/{esm2020 → esm2022}/lib/Shared/Models/FileUploadModel.mjs +2 -2
  47. package/{esm2020 → esm2022}/lib/Shared/Models/FileUploadOptions.mjs +10 -10
  48. package/{esm2020 → esm2022}/lib/Shared/Models/FilterItem.mjs +7 -7
  49. package/{esm2020 → esm2022}/lib/Shared/Models/FormOptions.mjs +27 -27
  50. package/{esm2020 → esm2022}/lib/Shared/Models/HtmlEditorOptions.mjs +11 -11
  51. package/{esm2020 → esm2022}/lib/Shared/Models/ImageUploadOptions.mjs +13 -13
  52. package/{esm2020 → esm2022}/lib/Shared/Models/MapAutoCompleteOptions.mjs +3 -3
  53. package/{esm2020 → esm2022}/lib/Shared/Models/MapAutocompleteDTO.mjs +5 -5
  54. package/{esm2020 → esm2022}/lib/Shared/Models/MultiLingualHtmlEditorOptions.mjs +8 -8
  55. package/{esm2020 → esm2022}/lib/Shared/Models/MultiLingualTextAreaOptions.mjs +8 -8
  56. package/{esm2020 → esm2022}/lib/Shared/Models/MultilingualControlOptionsBase.mjs +15 -15
  57. package/{esm2020 → esm2022}/lib/Shared/Models/MultilingualTextBoxOptions.mjs +13 -13
  58. package/{esm2020 → esm2022}/lib/Shared/Models/MultipleFileUploadModel.mjs +8 -8
  59. package/{esm2020 → esm2022}/lib/Shared/Models/PagingDTO.mjs +12 -12
  60. package/{esm2020 → esm2022}/lib/Shared/Models/PagingOptions.mjs +46 -46
  61. package/{esm2020 → esm2022}/lib/Shared/Models/PagingPayload.mjs +2 -2
  62. package/{esm2020 → esm2022}/lib/Shared/Models/PhoneOptions.mjs +12 -12
  63. package/{esm2020 → esm2022}/lib/Shared/Models/ProfileImageUploadOptions.mjs +10 -10
  64. package/{esm2020 → esm2022}/lib/Shared/Models/ProfilePictureDTO.mjs +2 -2
  65. package/{esm2020 → esm2022}/lib/Shared/Models/RadioButtonItem.mjs +2 -2
  66. package/{esm2020 → esm2022}/lib/Shared/Models/RadioButtonOptions.mjs +3 -3
  67. package/{esm2020 → esm2022}/lib/Shared/Models/RangeNumber.mjs +2 -2
  68. package/{esm2020 → esm2022}/lib/Shared/Models/Recaptcha.mjs +5 -5
  69. package/{esm2020 → esm2022}/lib/Shared/Models/RecaptchaOptions.mjs +21 -21
  70. package/{esm2020 → esm2022}/lib/Shared/Models/RepeaterField.mjs +2 -2
  71. package/{esm2020 → esm2022}/lib/Shared/Models/RepeaterOptions.mjs +12 -12
  72. package/{esm2020 → esm2022}/lib/Shared/Models/SaveDTO.mjs +6 -6
  73. package/{esm2020 → esm2022}/lib/Shared/Models/TagsInputDTO.mjs +2 -2
  74. package/{esm2020 → esm2022}/lib/Shared/Models/TagsInputOptions.mjs +40 -40
  75. package/{esm2020 → esm2022}/lib/Shared/Models/TextAreaOptions.mjs +3 -3
  76. package/{esm2020 → esm2022}/lib/Shared/Models/TextBoxOptions.mjs +22 -22
  77. package/{esm2020 → esm2022}/lib/Shared/Models/ToggleslideOptions.mjs +8 -8
  78. package/{esm2020 → esm2022}/lib/Shared/Models/UploadPersonalImage.mjs +6 -6
  79. package/{esm2020 → esm2022}/lib/Shared/Models/bread-crumb.mjs +7 -7
  80. package/{esm2020 → esm2022}/lib/Shared/Models/control-filter-Item.mjs +5 -5
  81. package/{esm2020 → esm2022}/lib/Shared/Models/datePickerOptions.mjs +22 -22
  82. package/{esm2020 → esm2022}/lib/Shared/Models/filter-options.mjs +8 -8
  83. package/{esm2020 → esm2022}/lib/Shared/Models/page-header-options.mjs +77 -77
  84. package/{esm2020 → esm2022}/lib/Shared/Pipes/bbsf-date-time.pipe.mjs +21 -21
  85. package/{esm2020 → esm2022}/lib/Shared/Pipes/bbsf-date.pipe.mjs +21 -21
  86. package/{esm2020 → esm2022}/lib/Shared/config/environment.mjs +11 -11
  87. package/{esm2020 → esm2022}/lib/Shared/default_intl.mjs +29 -29
  88. package/{esm2020 → esm2022}/lib/Shared/services/ControlUtility.mjs +162 -162
  89. package/{esm2020 → esm2022}/lib/Shared/services/GlobalSettings.service.mjs +30 -30
  90. package/esm2022/lib/Shared/services/OnPagingFiltersChange.service.mjs +24 -0
  91. package/{esm2020 → esm2022}/lib/Shared/services/render-component-service.service.mjs +30 -30
  92. package/esm2022/lib/Shared/services/validationErrorMassage.service.mjs +170 -0
  93. package/esm2022/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.mjs +262 -0
  94. package/esm2022/lib/controls/Calendar/Calendar.component.mjs +173 -0
  95. package/esm2022/lib/controls/CheckBox/CheckBox.component.mjs +117 -0
  96. package/{esm2020 → esm2022}/lib/controls/ConfirmationModal/ConfirmationModal.component.mjs +136 -136
  97. package/esm2022/lib/controls/DateTimePicker/DateTimePicker.component.mjs +223 -0
  98. package/esm2022/lib/controls/DropdownList/DropdownList.component.mjs +193 -0
  99. package/esm2022/lib/controls/FileUplaod/FileUplaod.component.mjs +447 -0
  100. package/{esm2020 → esm2022}/lib/controls/Form/Form.component.mjs +101 -101
  101. package/esm2022/lib/controls/HtmlEditor/HtmlEditor.component.mjs +226 -0
  102. package/esm2022/lib/controls/ImageUpload/ImageUpload.component.mjs +350 -0
  103. package/esm2022/lib/controls/MapAutoComplete/MapAutoComplete.component.mjs +324 -0
  104. package/esm2022/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.mjs +427 -0
  105. package/esm2022/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.mjs +429 -0
  106. package/esm2022/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.mjs +428 -0
  107. package/{esm2020 → esm2022}/lib/controls/Paging/JwPagination.component.mjs +121 -121
  108. package/{esm2020 → esm2022}/lib/controls/Paging/Paging.component.mjs +312 -312
  109. package/esm2022/lib/controls/Phone/Phone.component.mjs +129 -0
  110. package/esm2022/lib/controls/ProfileImageUploader/ProfileImageUploader.component.mjs +376 -0
  111. package/esm2022/lib/controls/RadioButton/RadioButton.component.mjs +109 -0
  112. package/{esm2020 → esm2022}/lib/controls/Recaptcha/Recaptcha.component.mjs +135 -135
  113. package/{esm2020 → esm2022}/lib/controls/Repeater/repeater/repeater.component.mjs +125 -125
  114. package/{esm2020 → esm2022}/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.mjs +750 -750
  115. package/{esm2020 → esm2022}/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.mjs +21 -21
  116. package/{esm2020 → esm2022}/lib/controls/Repeater/repeater-table/repeater-table.component.mjs +108 -108
  117. package/esm2022/lib/controls/TagsInput/TagsInput.component.mjs +277 -0
  118. package/esm2022/lib/controls/TextArea/TextArea.component.mjs +196 -0
  119. package/esm2022/lib/controls/TextBox/TextBox.component.mjs +306 -0
  120. package/esm2022/lib/controls/Toggleslide/toggleslide.component.mjs +90 -0
  121. package/esm2022/lib/controls/bbsf-controls.module.mjs +350 -0
  122. package/{esm2020 → esm2022}/lib/controls/page-header-component/page-header-component.component.mjs +37 -37
  123. package/{esm2020 → esm2022}/public-api.mjs +130 -130
  124. package/{fesm2020 → fesm2022}/bnsights-bbsf-controls.mjs +8718 -8735
  125. package/fesm2022/bnsights-bbsf-controls.mjs.map +1 -0
  126. package/index.d.ts +5 -5
  127. package/lib/Shared/Components/app-base-component.d.ts +58 -58
  128. package/lib/Shared/Components/ng-tag-input.d.ts +50 -50
  129. package/lib/Shared/Directives/template-name.directive.d.ts +9 -9
  130. package/lib/Shared/Enums/CalendarView.d.ts +6 -6
  131. package/lib/Shared/Enums/ControlLayout.d.ts +4 -4
  132. package/lib/Shared/Enums/Countries.d.ts +245 -245
  133. package/lib/Shared/Enums/Enums.d.ts +30 -30
  134. package/lib/Shared/Enums/FileType.d.ts +20 -20
  135. package/lib/Shared/Enums/FilterType.d.ts +9 -9
  136. package/lib/Shared/Enums/FontSize.d.ts +5 -5
  137. package/lib/Shared/Enums/ForceDirection.d.ts +4 -4
  138. package/lib/Shared/Enums/IconPosition.d.ts +4 -4
  139. package/lib/Shared/Enums/ImageType.d.ts +8 -8
  140. package/lib/Shared/Enums/InputType.d.ts +8 -8
  141. package/lib/Shared/Enums/Insert.d.ts +7 -7
  142. package/lib/Shared/Enums/LanguageMode.d.ts +9 -9
  143. package/lib/Shared/Enums/LanguageValidation.d.ts +4 -4
  144. package/lib/Shared/Enums/Misc.d.ts +5 -5
  145. package/lib/Shared/Enums/PagingActionMode.d.ts +4 -4
  146. package/lib/Shared/Enums/Para.d.ts +7 -7
  147. package/lib/Shared/Enums/PickerType.d.ts +5 -5
  148. package/lib/Shared/Enums/SelectMode.d.ts +4 -4
  149. package/lib/Shared/Enums/StartView.d.ts +5 -5
  150. package/lib/Shared/Enums/Style.d.ts +6 -6
  151. package/lib/Shared/Enums/StyleConfirmationMode.d.ts +5 -5
  152. package/lib/Shared/Enums/TagInputView.d.ts +5 -5
  153. package/lib/Shared/Enums/menu-list-enum.d.ts +4 -4
  154. package/lib/Shared/Models/Attribute.d.ts +4 -4
  155. package/lib/Shared/Models/AutocompleteDTO.d.ts +5 -5
  156. package/lib/Shared/Models/AutocompleteOptions.d.ts +40 -40
  157. package/lib/Shared/Models/CalendarEventDTO.d.ts +8 -8
  158. package/lib/Shared/Models/CalendarOptions.d.ts +23 -23
  159. package/lib/Shared/Models/CancelDTO.d.ts +5 -5
  160. package/lib/Shared/Models/CaptchaStyle.d.ts +7 -7
  161. package/lib/Shared/Models/CheckBoxOptions.d.ts +7 -7
  162. package/lib/Shared/Models/ConfirmationModalOptions.d.ts +21 -21
  163. package/lib/Shared/Models/ControlOptionsBase.d.ts +44 -44
  164. package/lib/Shared/Models/CustomValidation.d.ts +10 -10
  165. package/lib/Shared/Models/DropdownListItem.d.ts +4 -4
  166. package/lib/Shared/Models/DropdownOptions.d.ts +33 -33
  167. package/lib/Shared/Models/EditPersonalImage.d.ts +5 -5
  168. package/lib/Shared/Models/EnglishArabicDTO.d.ts +4 -4
  169. package/lib/Shared/Models/FileDTO.d.ts +19 -19
  170. package/lib/Shared/Models/FileUploadModel.d.ts +4 -4
  171. package/lib/Shared/Models/FileUploadOptions.d.ts +19 -19
  172. package/lib/Shared/Models/FilterItem.d.ts +13 -13
  173. package/lib/Shared/Models/FormOptions.d.ts +16 -16
  174. package/lib/Shared/Models/HtmlEditorOptions.d.ts +31 -31
  175. package/lib/Shared/Models/ImageUploadOptions.d.ts +23 -23
  176. package/lib/Shared/Models/MapAutoCompleteOptions.d.ts +6 -6
  177. package/lib/Shared/Models/MapAutocompleteDTO.d.ts +7 -7
  178. package/lib/Shared/Models/MultiLingualHtmlEditorOptions.d.ts +22 -22
  179. package/lib/Shared/Models/MultiLingualTextAreaOptions.d.ts +12 -12
  180. package/lib/Shared/Models/MultilingualControlOptionsBase.d.ts +77 -77
  181. package/lib/Shared/Models/MultilingualTextBoxOptions.d.ts +12 -12
  182. package/lib/Shared/Models/MultipleFileUploadModel.d.ts +7 -7
  183. package/lib/Shared/Models/PagingDTO.d.ts +11 -11
  184. package/lib/Shared/Models/PagingOptions.d.ts +56 -56
  185. package/lib/Shared/Models/PagingPayload.d.ts +5 -5
  186. package/lib/Shared/Models/PhoneOptions.d.ts +21 -21
  187. package/lib/Shared/Models/ProfileImageUploadOptions.d.ts +28 -28
  188. package/lib/Shared/Models/ProfilePictureDTO.d.ts +13 -13
  189. package/lib/Shared/Models/RadioButtonItem.d.ts +4 -4
  190. package/lib/Shared/Models/RadioButtonOptions.d.ts +8 -8
  191. package/lib/Shared/Models/RangeNumber.d.ts +4 -4
  192. package/lib/Shared/Models/Recaptcha.d.ts +6 -6
  193. package/lib/Shared/Models/RecaptchaOptions.d.ts +18 -18
  194. package/lib/Shared/Models/RepeaterField.d.ts +7 -7
  195. package/lib/Shared/Models/RepeaterOptions.d.ts +19 -19
  196. package/lib/Shared/Models/SaveDTO.d.ts +5 -5
  197. package/lib/Shared/Models/TagsInputDTO.d.ts +6 -6
  198. package/lib/Shared/Models/TagsInputOptions.d.ts +57 -57
  199. package/lib/Shared/Models/TextAreaOptions.d.ts +23 -23
  200. package/lib/Shared/Models/TextBoxOptions.d.ts +37 -37
  201. package/lib/Shared/Models/ToggleslideOptions.d.ts +9 -9
  202. package/lib/Shared/Models/UploadPersonalImage.d.ts +5 -5
  203. package/lib/Shared/Models/bread-crumb.d.ts +6 -6
  204. package/lib/Shared/Models/control-filter-Item.d.ts +6 -6
  205. package/lib/Shared/Models/datePickerOptions.d.ts +29 -29
  206. package/lib/Shared/Models/filter-options.d.ts +7 -7
  207. package/lib/Shared/Models/page-header-options.d.ts +71 -71
  208. package/lib/Shared/Pipes/bbsf-date-time.pipe.d.ts +10 -10
  209. package/lib/Shared/Pipes/bbsf-date.pipe.d.ts +10 -10
  210. package/lib/Shared/config/environment.d.ts +1 -1
  211. package/lib/Shared/default_intl.d.ts +21 -21
  212. package/lib/Shared/services/ControlUtility.d.ts +32 -32
  213. package/lib/Shared/services/GlobalSettings.service.d.ts +17 -17
  214. package/lib/Shared/services/OnPagingFiltersChange.service.d.ts +10 -10
  215. package/lib/Shared/services/render-component-service.service.d.ts +10 -10
  216. package/lib/Shared/services/validationErrorMassage.service.d.ts +14 -14
  217. package/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.d.ts +59 -59
  218. package/lib/controls/Calendar/Calendar.component.d.ts +42 -42
  219. package/lib/controls/CheckBox/CheckBox.component.d.ts +37 -37
  220. package/lib/controls/ConfirmationModal/ConfirmationModal.component.d.ts +29 -29
  221. package/lib/controls/DateTimePicker/DateTimePicker.component.d.ts +61 -61
  222. package/lib/controls/DropdownList/DropdownList.component.d.ts +55 -55
  223. package/lib/controls/FileUplaod/FileUplaod.component.d.ts +58 -58
  224. package/lib/controls/Form/Form.component.d.ts +28 -28
  225. package/lib/controls/HtmlEditor/HtmlEditor.component.d.ts +49 -49
  226. package/lib/controls/ImageUpload/ImageUpload.component.d.ts +70 -70
  227. package/lib/controls/MapAutoComplete/MapAutoComplete.component.d.ts +49 -54
  228. package/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.d.ts +65 -65
  229. package/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.d.ts +74 -74
  230. package/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.d.ts +73 -73
  231. package/lib/controls/Paging/JwPagination.component.d.ts +27 -27
  232. package/lib/controls/Paging/Paging.component.d.ts +57 -57
  233. package/lib/controls/Phone/Phone.component.d.ts +43 -43
  234. package/lib/controls/ProfileImageUploader/ProfileImageUploader.component.d.ts +69 -69
  235. package/lib/controls/RadioButton/RadioButton.component.d.ts +37 -37
  236. package/lib/controls/Recaptcha/Recaptcha.component.d.ts +41 -41
  237. package/lib/controls/Repeater/repeater/repeater.component.d.ts +29 -29
  238. package/lib/controls/Repeater/repeater-field-builder/repeater-field-builder.component.d.ts +23 -23
  239. package/lib/controls/Repeater/repeater-item-field/repeater-item-field.component.d.ts +11 -11
  240. package/lib/controls/Repeater/repeater-table/repeater-table.component.d.ts +19 -19
  241. package/lib/controls/TagsInput/TagsInput.component.d.ts +58 -58
  242. package/lib/controls/TextArea/TextArea.component.d.ts +51 -51
  243. package/lib/controls/TextBox/TextBox.component.d.ts +66 -66
  244. package/lib/controls/Toggleslide/toggleslide.component.d.ts +33 -33
  245. package/lib/controls/bbsf-controls.module.d.ts +68 -77
  246. package/lib/controls/page-header-component/page-header-component.component.d.ts +20 -20
  247. package/package.json +50 -63
  248. package/public-api.d.ts +117 -117
  249. package/src/lib/assets/Style.scss +4 -4
  250. package/esm2020/lib/Shared/services/OnPagingFiltersChange.service.mjs +0 -24
  251. package/esm2020/lib/Shared/services/validationErrorMassage.service.mjs +0 -170
  252. package/esm2020/lib/controls/AutocompleteTextBox/AutocompleteTextBox.component.mjs +0 -262
  253. package/esm2020/lib/controls/Calendar/Calendar.component.mjs +0 -173
  254. package/esm2020/lib/controls/CheckBox/CheckBox.component.mjs +0 -117
  255. package/esm2020/lib/controls/DateTimePicker/DateTimePicker.component.mjs +0 -223
  256. package/esm2020/lib/controls/DropdownList/DropdownList.component.mjs +0 -194
  257. package/esm2020/lib/controls/FileUplaod/FileUplaod.component.mjs +0 -447
  258. package/esm2020/lib/controls/HtmlEditor/HtmlEditor.component.mjs +0 -226
  259. package/esm2020/lib/controls/ImageUpload/ImageUpload.component.mjs +0 -350
  260. package/esm2020/lib/controls/MapAutoComplete/MapAutoComplete.component.mjs +0 -325
  261. package/esm2020/lib/controls/MultiLingualHtmlEditor/MultiLingualHtmlEditor.component.mjs +0 -427
  262. package/esm2020/lib/controls/MultiLingualTextArea/MultiLingualTextArea.component.mjs +0 -429
  263. package/esm2020/lib/controls/MultiLingualTextBox/MultiLingualTextBox.component.mjs +0 -428
  264. package/esm2020/lib/controls/Phone/Phone.component.mjs +0 -129
  265. package/esm2020/lib/controls/ProfileImageUploader/ProfileImageUploader.component.mjs +0 -376
  266. package/esm2020/lib/controls/RadioButton/RadioButton.component.mjs +0 -109
  267. package/esm2020/lib/controls/TagsInput/TagsInput.component.mjs +0 -277
  268. package/esm2020/lib/controls/TextArea/TextArea.component.mjs +0 -196
  269. package/esm2020/lib/controls/TextBox/TextBox.component.mjs +0 -312
  270. package/esm2020/lib/controls/Toggleslide/toggleslide.component.mjs +0 -90
  271. package/esm2020/lib/controls/bbsf-controls.module.mjs +0 -361
  272. package/fesm2015/bnsights-bbsf-controls.mjs +0 -9159
  273. package/fesm2015/bnsights-bbsf-controls.mjs.map +0 -1
  274. package/fesm2020/bnsights-bbsf-controls.mjs.map +0 -1
@@ -1,12 +1,12 @@
1
- import { Component, forwardRef, Input, Output, EventEmitter } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { TagInputView } from '../Enums/TagInputView';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "ngx-intl-tel-input";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "ngx-bootstrap/typeahead";
9
- const noop = () => { };
1
+ import { Component, forwardRef, Input, Output, EventEmitter } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { TagInputView } from '../Enums/TagInputView';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "ngx-intl-tel-input";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "ngx-bootstrap/typeahead";
9
+ const noop = () => { };
10
10
  const TAGS_INPUT_TEMPLATE = `
11
11
 
12
12
  <div class="tags-input">
@@ -129,7 +129,7 @@ src="{{(tag.imageURL?tag.imageURL:defaultImageURL)}}" />
129
129
  </div>
130
130
  </ng-template>
131
131
  </div>
132
- `;
132
+ `;
133
133
  const TAGS_INPUT_STYLE = `
134
134
  :host {
135
135
  overflow: auto;
@@ -163,169 +163,169 @@ const TAGS_INPUT_STYLE = `
163
163
  flex-grow: 1;
164
164
  outline: none;
165
165
  }
166
- `;
167
- const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
168
- provide: NG_VALUE_ACCESSOR,
169
- useExisting: forwardRef(() => BTagsInputComponent),
170
- multi: true
171
- };
172
- export class BTagsInputComponent {
173
- constructor() {
174
- this.selected = '';
175
- this.tags = [];
176
- this.onTouchedCallback = noop;
177
- this.onChangeCallback = noop;
178
- this.tagInputViewEnum = TagInputView;
179
- this.removeLastOnBackspace = false;
180
- this.canDeleteTags = true;
181
- this.canAddTags = true;
182
- this.ViewMode = TagInputView.WithoutImage;
183
- this.placeholder = '';
184
- this.showDescription = true;
185
- this.options = null;
186
- this.defaultImageURL = null;
187
- this.displayField = 'name';
188
- this.minLengthBeforeOptions = 1;
189
- this.scrollableOptions = false;
190
- this.scrollableOptionsInView = 5;
191
- this.onTagsChanged = new EventEmitter();
192
- this.onMaxTagsReached = new EventEmitter();
193
- this.onNoOptionsMatch = new EventEmitter();
194
- this.onBlurInput = new EventEmitter();
195
- }
196
- getPlaceholder() {
197
- if (this.tags && this.tags.length > 0) {
198
- return '';
199
- }
200
- return this.placeholder;
201
- }
202
- tagsChanged(type, tag) {
203
- this.onChangeCallback(this.tags);
204
- this.onTagsChanged.emit({
205
- change: type,
206
- tag: tag
207
- });
208
- if (this.maximumOfTagsReached()) {
209
- this.onMaxTagsReached.emit();
210
- }
211
- }
212
- removeLastTag(tagInput) {
213
- if (!this.removeLastOnBackspace || !this.tags?.length) {
214
- return;
215
- }
216
- if (tagInput.value === '') {
217
- this.removeTag(this.tags[this.tags.length - 1]);
218
- }
219
- }
220
- addTag(tagInput) {
221
- if (tagInput.value.trim() !== '') {
222
- let tag = {
223
- [this.displayField]: tagInput.value
224
- };
225
- this.addPredefinedTag(tag);
226
- }
227
- tagInput.value = '';
228
- }
229
- addPredefinedTag(tag) {
230
- if (this.tags == null)
231
- this.tags = [];
232
- if (!this.maximumOfTagsReached()) {
233
- this.tags.push(tag);
234
- this.tagsChanged('add', tag);
235
- }
236
- }
237
- removeTag(tagToRemove) {
238
- if (!this.isDeleteable(tagToRemove)) {
239
- return;
240
- }
241
- this.tags = this.tags.filter(tag => tagToRemove !== tag);
242
- this.tagsChanged('remove', tagToRemove);
243
- }
244
- maximumOfTagsReached() {
245
- return typeof this.maxTags !== 'undefined' && this.tags && this.tags.length >= this.maxTags;
246
- }
247
- isDeleteable(tag) {
248
- if (typeof tag.deleteable !== "undefined" && !tag.deleteable) {
249
- return false;
250
- }
251
- return this.canDeleteTags;
252
- }
253
- typeaheadOnSelect(e) {
254
- if (typeof e.item === 'string') {
255
- this.addPredefinedTag({
256
- [this.displayField]: e.value
257
- });
258
- }
259
- else {
260
- this.addPredefinedTag(e.item);
261
- }
262
- this.selected = '';
263
- }
264
- typeaheadOnNoMatch(e) {
265
- if (typeof this.onNoOptionsMatch !== 'undefined') {
266
- this.onNoOptionsMatch.emit(e);
267
- }
268
- }
269
- writeValue(value) {
270
- if (value !== this.tags) {
271
- this.tags = value;
272
- }
273
- }
274
- registerOnChange(fn) {
275
- this.onChangeCallback = fn;
276
- }
277
- registerOnTouched(fn) {
278
- this.onTouchedCallback = fn;
279
- }
280
- calculateInitials(name) {
281
- var fullName = name.split(' ');
282
- var initials = "";
283
- if (fullName.length > 1)
284
- initials = fullName.shift().charAt(0) + fullName.pop().charAt(0);
285
- else
286
- initials = fullName.shift().charAt(0);
287
- return initials.toUpperCase();
288
- }
289
- onBlur() {
290
- this.onBlurInput.emit();
291
- }
292
- }
293
- BTagsInputComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BTagsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
- BTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BTagsInputComponent, selector: "b-tags-input", inputs: { maxTags: "maxTags", removeLastOnBackspace: "removeLastOnBackspace", canDeleteTags: "canDeleteTags", canAddTags: "canAddTags", ViewMode: "ViewMode", placeholder: "placeholder", showDescription: "showDescription", options: "options", defaultImageURL: "defaultImageURL", minLengthBeforeOptions: "minLengthBeforeOptions", scrollableOptions: "scrollableOptions", scrollableOptionsInView: "scrollableOptionsInView" }, outputs: { onTagsChanged: "onTagsChanged", onMaxTagsReached: "onMaxTagsReached", onNoOptionsMatch: "onNoOptionsMatch", onBlurInput: "onBlurInput" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "\n\n<div class=\"tags-input\">\n<span class=\"tags-input__tag label label-primary badge badge-primary\" *ngFor=\"let tag of tags\">\n\n<span [ngSwitch]=\"ViewMode\">\n<span *ngSwitchCase=\"tagInputViewEnum.WithImage\">\n<img style=\"border-radius:50%; height:40px; width: 40px; float:left; margin-left:5px ; margin-top: 5px;margin-right: 5px;\"\nsrc=\"{{(tag.imageURL?tag.imageURL:defaultImageURL)}}\" />\n</span>\n\n<span *ngSwitchCase=\"tagInputViewEnum.WithInitial\">\n<div class=\"user-initials\">{{calculateInitials(tag.name)}}</div>\n</span>\n\n<span *ngSwitchDefault>\n</span>\n\n</span>\n {{tag[displayField]}}\n <span *ngIf=\"isDeleteable(tag)\" role=\"button\" class=\"tags-input__tag-remove-btn\" (click)=\"removeTag(tag)\"\n (touch)=\"removeTag(tag)\">\n <span aria-hidden=\"true\">&times;</span>\n <span class=\"sr-only\">Close</span>\n </span>\n</span>\n\n<input *ngIf=\"options === null; else withTypeahead\" class=\"tags-input__input-field\" type=\"text\"\n [placeholder]=\"getPlaceholder()\" name=\"tags\" (keyup.enter)=\"addTag(tagInput)\"\n (keydown.backspace)=\"removeLastTag(tagInput)\" [disabled]=\"!canAddTags || maximumOfTagsReached()\"\n [hidden]=\"!canAddTags || maximumOfTagsReached()\" #tagInput />\n\n<ng-template #withTypeahead>\n <span [ngSwitch]=\"ViewMode\">\n <span *ngSwitchCase=\"tagInputViewEnum.WithImage\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithImage\" [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchCase=\"tagInputViewEnum.WithoutImage\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutImage\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchCase=\"tagInputViewEnum.WithInitial\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutInitial\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchDefault>\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutImage\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n </span>\n\n</ng-template>\n\n<ng-template #itemTemplateWithImage let-model=\"item\" let-index=\"index\">\n <img\n style=\"border-radius:50%; height:40px; width: 40px; float:left; margin-left:5px ; margin-top: 5px;margin-right: 5px;\"\n src=\"{{(model.imageURL?model.imageURL:defaultImageURL)}}\" />\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n\n<ng-template #itemTemplateWithoutImage let-model=\"item\" let-index=\"index\">\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n\n<ng-template #itemTemplateWithoutInitial let-model=\"item\" let-index=\"index\">\n <div class=\"user-image\">\n <div class=\"user-initials\">{{calculateInitials(model.name)}}</div>\n </div>\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n</div>\n", isInline: true, styles: [":host{overflow:auto;white-space:nowrap}.tags-input{align-items:center;display:flex;flex-wrap:wrap}.tags-input__tag{display:inline-block;margin-bottom:2px;margin-right:5px;padding-right:.3em}.tags-input__tag-remove-btn{cursor:pointer;display:inline-block;font-size:12px;margin:-3px 0 0 3px;padding:0;vertical-align:top}.tags-input__input-field{border:none;flex-grow:1;outline:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.TypeaheadDirective, selector: "[typeahead]", inputs: ["isAnimated", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "dropup", "typeaheadOptionsLimit", "typeaheadMinLength", "typeaheadWaitMs", "typeaheadAsync", "typeahead", "adaptivePosition", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadMultipleSearch", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadHideResultsOnBlur", "container"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BTagsInputComponent, decorators: [{
296
- type: Component,
297
- args: [{ selector: 'b-tags-input', template: TAGS_INPUT_TEMPLATE, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], styles: [":host{overflow:auto;white-space:nowrap}.tags-input{align-items:center;display:flex;flex-wrap:wrap}.tags-input__tag{display:inline-block;margin-bottom:2px;margin-right:5px;padding-right:.3em}.tags-input__tag-remove-btn{cursor:pointer;display:inline-block;font-size:12px;margin:-3px 0 0 3px;padding:0;vertical-align:top}.tags-input__input-field{border:none;flex-grow:1;outline:none}\n"] }]
298
- }], propDecorators: { maxTags: [{
299
- type: Input
300
- }], removeLastOnBackspace: [{
301
- type: Input
302
- }], canDeleteTags: [{
303
- type: Input
304
- }], canAddTags: [{
305
- type: Input
306
- }], ViewMode: [{
307
- type: Input
308
- }], placeholder: [{
309
- type: Input
310
- }], showDescription: [{
311
- type: Input
312
- }], options: [{
313
- type: Input
314
- }], defaultImageURL: [{
315
- type: Input
316
- }], minLengthBeforeOptions: [{
317
- type: Input
318
- }], scrollableOptions: [{
319
- type: Input
320
- }], scrollableOptionsInView: [{
321
- type: Input
322
- }], onTagsChanged: [{
323
- type: Output
324
- }], onMaxTagsReached: [{
325
- type: Output
326
- }], onNoOptionsMatch: [{
327
- type: Output
328
- }], onBlurInput: [{
329
- type: Output
330
- }] } });
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGFnLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Db21wb25lbnRzL25nLXRhZy1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFHckQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZCLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEgzQixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUN4QixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBUTtJQUMvQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBYUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFFLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDZixTQUFJLEdBQWUsRUFBRSxDQUFDO1FBQ3JCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLFlBQVksQ0FBQztRQUU5QiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixhQUFRLEdBQWlCLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDbkQsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsWUFBTyxHQUFRLElBQUksQ0FBQztRQUNwQixvQkFBZSxHQUFRLElBQUksQ0FBQztRQUNyQyxpQkFBWSxHQUFXLE1BQU0sQ0FBQztRQUNyQiwyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFDbkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLDRCQUF1QixHQUFXLENBQUMsQ0FBQztRQUNuQyxrQkFBYSxHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7S0FxSGhFO0lBcEhDLGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFZLEVBQUUsR0FBUTtRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxJQUFJO1lBQ1osR0FBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsUUFBMEI7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3JELE9BQU87U0FDUjtRQUVELElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQTBCO1FBQy9CLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxHQUFHLEdBQUc7Z0JBQ1IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUs7YUFDcEMsQ0FBQztZQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1QjtRQUNELFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsV0FBZ0I7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbkMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUYsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFRO1FBQ25CLElBQUksT0FBTyxHQUFHLENBQUMsVUFBVSxLQUFLLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUU7WUFDNUQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsQ0FBaUI7UUFDakMsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDcEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUs7YUFDN0IsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBTTtRQUN2QixJQUFJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFdBQVcsRUFBRTtZQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDNUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUE7UUFDakIsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDckIsUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFFakUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkMsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7O2lIQXJJVSxtQkFBbUI7cUdBQW5CLG1CQUFtQixrbUJBRm5CLENBQUMsbUNBQW1DLENBQUM7NEZBRXJDLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsbUJBQW1CLGFBRWxCLENBQUMsbUNBQW1DLENBQUM7OEJBU3ZDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUYWdJbnB1dFZpZXcgfSBmcm9tICcuLi9FbnVtcy9UYWdJbnB1dFZpZXcnO1xyXG5pbXBvcnQgeyBUeXBlYWhlYWRNYXRjaCB9IGZyb20gJ25neC1ib290c3RyYXAvdHlwZWFoZWFkJztcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7IH07XHJcblxyXG5jb25zdCBUQUdTX0lOUFVUX1RFTVBMQVRFID0gYFxyXG5cclxuPGRpdiBjbGFzcz1cInRhZ3MtaW5wdXRcIj5cclxuPHNwYW4gY2xhc3M9XCJ0YWdzLWlucHV0X190YWcgbGFiZWwgbGFiZWwtcHJpbWFyeSBiYWRnZSBiYWRnZS1wcmltYXJ5XCIgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzXCI+XHJcblxyXG48c3BhbiBbbmdTd2l0Y2hdPVwiVmlld01vZGVcIj5cclxuPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEltYWdlXCI+XHJcbjxpbWcgc3R5bGU9XCJib3JkZXItcmFkaXVzOjUwJTsgaGVpZ2h0OjQwcHg7IHdpZHRoOiA0MHB4OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo1cHggOyBtYXJnaW4tdG9wOiA1cHg7bWFyZ2luLXJpZ2h0OiA1cHg7XCJcclxuc3JjPVwie3sodGFnLmltYWdlVVJMP3RhZy5pbWFnZVVSTDpkZWZhdWx0SW1hZ2VVUkwpfX1cIiAvPlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW5pdGlhbFwiPlxyXG48ZGl2IGNsYXNzPVwidXNlci1pbml0aWFsc1wiPnt7Y2FsY3VsYXRlSW5pdGlhbHModGFnLm5hbWUpfX08L2Rpdj5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuPC9zcGFuPlxyXG5cclxuPC9zcGFuPlxyXG4gIHt7dGFnW2Rpc3BsYXlGaWVsZF19fVxyXG4gIDxzcGFuICpuZ0lmPVwiaXNEZWxldGVhYmxlKHRhZylcIiByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0YWdzLWlucHV0X190YWctcmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVUYWcodGFnKVwiXHJcbiAgICAodG91Y2gpPVwicmVtb3ZlVGFnKHRhZylcIj5cclxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbjwvc3Bhbj5cclxuXHJcbjxpbnB1dCAqbmdJZj1cIm9wdGlvbnMgPT09IG51bGw7IGVsc2Ugd2l0aFR5cGVhaGVhZFwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIiBuYW1lPVwidGFnc1wiIChrZXl1cC5lbnRlcik9XCJhZGRUYWcodGFnSW5wdXQpXCJcclxuICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbZGlzYWJsZWRdPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiXHJcbiAgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgI3RhZ0lucHV0IC8+XHJcblxyXG48bmctdGVtcGxhdGUgI3dpdGhUeXBlYWhlYWQ+XHJcbiAgPHNwYW4gW25nU3dpdGNoXT1cIlZpZXdNb2RlXCI+XHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW1hZ2VcIj5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhJbWFnZVwiIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aG91dEltYWdlXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cIihvcHRpb25zICE9PSBudWxsKVwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcclxuICAgICAgICBuYW1lPVwidGFnc1wiIChrZXlkb3duLmJhY2tzcGFjZSk9XCJyZW1vdmVMYXN0VGFnKHRhZ0lucHV0KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiBbdHlwZWFoZWFkXT1cIm9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25GaWVsZF09XCJkaXNwbGF5RmllbGRcIiAodHlwZWFoZWFkT25TZWxlY3QpPVwidHlwZWFoZWFkT25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHR5cGVhaGVhZE5vUmVzdWx0cyk9XCJ0eXBlYWhlYWRPbk5vTWF0Y2goJGV2ZW50KVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwibWluTGVuZ3RoQmVmb3JlT3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZFNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZU9wdGlvbnNcIiBbdHlwZWFoZWFkTGF0aW5pemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZEl0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVXaXRob3V0SW1hZ2VcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAjdGFnSW5wdXQgLz5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW5pdGlhbFwiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEluaXRpYWxcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAjdGFnSW5wdXQgLz5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEltYWdlXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gIDwvc3Bhbj5cclxuXHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhJbWFnZSBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8aW1nXHJcbiAgICBzdHlsZT1cImJvcmRlci1yYWRpdXM6NTAlOyBoZWlnaHQ6NDBweDsgd2lkdGg6IDQwcHg7IGZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjVweCA7IG1hcmdpbi10b3A6IDVweDttYXJnaW4tcmlnaHQ6IDVweDtcIlxyXG4gICAgc3JjPVwie3sobW9kZWwuaW1hZ2VVUkw/bW9kZWwuaW1hZ2VVUkw6ZGVmYXVsdEltYWdlVVJMKX19XCIgLz5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhvdXRJbWFnZSBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhvdXRJbml0aWFsIGxldC1tb2RlbD1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1c2VyLWltYWdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXNlci1pbml0aWFsc1wiPnt7Y2FsY3VsYXRlSW5pdGlhbHMobW9kZWwubmFtZSl9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8YSBbaW5uZXJIVE1MXT1cIm1vZGVsLm5hbWVcIj48L2E+XHJcbiAgICA8cCAqbmdJZj1cInNob3dEZXNjcmlwdGlvblwiPlxyXG4gICAgICB7e21vZGVsLmRlc2NyaXB0aW9ufX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbmA7XHJcblxyXG5jb25zdCBUQUdTX0lOUFVUX1NUWUxFID0gYFxyXG4gICAgOmhvc3Qge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX3RhZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTtcclxuICAgIH1cclxuXHJcbiAgICAudGFncy1pbnB1dF9fdGFnLXJlbW92ZS1idG4ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbjogLTNweCAwIDAgM3B4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxuXHJcbiAgICAudGFncy1pbnB1dF9faW5wdXQtZmllbGQge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuYDtcclxuXHJcbmNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQlRhZ3NJbnB1dENvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFnc0NoYW5nZWRFdmVudCB7XHJcbiAgY2hhbmdlOiBzdHJpbmcsXHJcbiAgdGFnOiBhbnlcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiLXRhZ3MtaW5wdXQnLFxyXG4gIHRlbXBsYXRlOiBUQUdTX0lOUFVUX1RFTVBMQVRFLFxyXG4gIHN0eWxlczogW1RBR1NfSU5QVVRfU1RZTEVdLFxyXG4gIHByb3ZpZGVyczogW0NVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQlRhZ3NJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgc2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyB0YWdzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcclxuICBwdWJsaWMgdGFnSW5wdXRWaWV3RW51bSA9IFRhZ0lucHV0VmlldztcclxuICBASW5wdXQoKSBtYXhUYWdzOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcmVtb3ZlTGFzdE9uQmFja3NwYWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuRGVsZXRlVGFnczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuQWRkVGFnczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgVmlld01vZGU6IFRhZ0lucHV0VmlldyA9IFRhZ0lucHV0Vmlldy5XaXRob3V0SW1hZ2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNob3dEZXNjcmlwdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBkZWZhdWx0SW1hZ2VVUkw6IGFueSA9IG51bGw7XHJcbiAgZGlzcGxheUZpZWxkOiBzdHJpbmcgPSAnbmFtZSc7XHJcbiAgQElucHV0KCkgbWluTGVuZ3RoQmVmb3JlT3B0aW9uczogbnVtYmVyID0gMTtcclxuICBASW5wdXQoKSBzY3JvbGxhYmxlT3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNjcm9sbGFibGVPcHRpb25zSW5WaWV3OiBudW1iZXIgPSA1O1xyXG4gIEBPdXRwdXQoKSBvblRhZ3NDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8VGFnc0NoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTWF4VGFnc1JlYWNoZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Ob09wdGlvbnNNYXRjaDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy50YWdzICYmIHRoaXMudGFncy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0YWdzQ2hhbmdlZCh0eXBlOiBzdHJpbmcsIHRhZzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy50YWdzKTtcclxuICAgIHRoaXMub25UYWdzQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY2hhbmdlOiB0eXBlLFxyXG4gICAgICB0YWc6IHRhZ1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5tYXhpbXVtT2ZUYWdzUmVhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMub25NYXhUYWdzUmVhY2hlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVMYXN0VGFnKHRhZ0lucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVtb3ZlTGFzdE9uQmFja3NwYWNlIHx8ICF0aGlzLnRhZ3M/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRhZ0lucHV0LnZhbHVlID09PSAnJykge1xyXG4gICAgICB0aGlzLnJlbW92ZVRhZyh0aGlzLnRhZ3NbdGhpcy50YWdzLmxlbmd0aCAtIDFdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFRhZyh0YWdJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRhZ0lucHV0LnZhbHVlLnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgbGV0IHRhZyA9IHtcclxuICAgICAgICBbdGhpcy5kaXNwbGF5RmllbGRdOiB0YWdJbnB1dC52YWx1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcodGFnKTtcclxuICAgIH1cclxuICAgIHRhZ0lucHV0LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByZWRlZmluZWRUYWcodGFnOiBPYmplY3QpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRhZ3MgPT0gbnVsbClcclxuICAgICAgdGhpcy50YWdzID0gW107XHJcbiAgICBpZiAoIXRoaXMubWF4aW11bU9mVGFnc1JlYWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnRhZ3MucHVzaCh0YWcpO1xyXG4gICAgICB0aGlzLnRhZ3NDaGFuZ2VkKCdhZGQnLCB0YWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlVGFnKHRhZ1RvUmVtb3ZlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0RlbGV0ZWFibGUodGFnVG9SZW1vdmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFncyA9IHRoaXMudGFncy5maWx0ZXIodGFnID0+IHRhZ1RvUmVtb3ZlICE9PSB0YWcpO1xyXG4gICAgdGhpcy50YWdzQ2hhbmdlZCgncmVtb3ZlJywgdGFnVG9SZW1vdmUpO1xyXG4gIH1cclxuXHJcbiAgbWF4aW11bU9mVGFnc1JlYWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubWF4VGFncyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50YWdzICYmIHRoaXMudGFncy5sZW5ndGggPj0gdGhpcy5tYXhUYWdzO1xyXG4gIH1cclxuXHJcbiAgaXNEZWxldGVhYmxlKHRhZzogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHRhZy5kZWxldGVhYmxlICE9PSBcInVuZGVmaW5lZFwiICYmICF0YWcuZGVsZXRlYWJsZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jYW5EZWxldGVUYWdzO1xyXG4gIH1cclxuXHJcbiAgdHlwZWFoZWFkT25TZWxlY3QoZTogVHlwZWFoZWFkTWF0Y2gpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgZS5pdGVtID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcoe1xyXG4gICAgICAgIFt0aGlzLmRpc3BsYXlGaWVsZF06IGUudmFsdWVcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcoZS5pdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWQgPSAnJztcclxuICB9XHJcblxyXG4gIHR5cGVhaGVhZE9uTm9NYXRjaChlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5vbk5vT3B0aW9uc01hdGNoICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm9uTm9PcHRpb25zTWF0Y2guZW1pdChlKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMudGFncykge1xyXG4gICAgICB0aGlzLnRhZ3MgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVJbml0aWFscyhuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdmFyIGZ1bGxOYW1lID0gbmFtZS5zcGxpdCgnICcpO1xyXG4gICAgdmFyIGluaXRpYWxzID0gXCJcIlxyXG4gICAgaWYgKGZ1bGxOYW1lLmxlbmd0aCA+IDEpXHJcbiAgICAgIGluaXRpYWxzID0gZnVsbE5hbWUuc2hpZnQoKS5jaGFyQXQoMCkgKyBmdWxsTmFtZS5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGluaXRpYWxzID0gZnVsbE5hbWUuc2hpZnQoKS5jaGFyQXQoMClcclxuICAgIHJldHVybiBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkJsdXJJbnB1dC5lbWl0KCk7XHJcbiAgfVxyXG4gIC8vIChrZXlkb3duLlRhYikgPSBcIm9uVGFiKCRldmVudClcIlxyXG4gIC8vb25UYWIoZXZlbnQpIHtcclxuICAvLyAgdGhpcy5vblRhYklucHV0LmVtaXQoKTtcclxuICAvLyAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAvLyAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgLy99XHJcbn1cclxuIl19
166
+ `;
167
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
168
+ provide: NG_VALUE_ACCESSOR,
169
+ useExisting: forwardRef(() => BTagsInputComponent),
170
+ multi: true
171
+ };
172
+ export class BTagsInputComponent {
173
+ constructor() {
174
+ this.selected = '';
175
+ this.tags = [];
176
+ this.onTouchedCallback = noop;
177
+ this.onChangeCallback = noop;
178
+ this.tagInputViewEnum = TagInputView;
179
+ this.removeLastOnBackspace = false;
180
+ this.canDeleteTags = true;
181
+ this.canAddTags = true;
182
+ this.ViewMode = TagInputView.WithoutImage;
183
+ this.placeholder = '';
184
+ this.showDescription = true;
185
+ this.options = null;
186
+ this.defaultImageURL = null;
187
+ this.displayField = 'name';
188
+ this.minLengthBeforeOptions = 1;
189
+ this.scrollableOptions = false;
190
+ this.scrollableOptionsInView = 5;
191
+ this.onTagsChanged = new EventEmitter();
192
+ this.onMaxTagsReached = new EventEmitter();
193
+ this.onNoOptionsMatch = new EventEmitter();
194
+ this.onBlurInput = new EventEmitter();
195
+ }
196
+ getPlaceholder() {
197
+ if (this.tags && this.tags.length > 0) {
198
+ return '';
199
+ }
200
+ return this.placeholder;
201
+ }
202
+ tagsChanged(type, tag) {
203
+ this.onChangeCallback(this.tags);
204
+ this.onTagsChanged.emit({
205
+ change: type,
206
+ tag: tag
207
+ });
208
+ if (this.maximumOfTagsReached()) {
209
+ this.onMaxTagsReached.emit();
210
+ }
211
+ }
212
+ removeLastTag(tagInput) {
213
+ if (!this.removeLastOnBackspace || !this.tags?.length) {
214
+ return;
215
+ }
216
+ if (tagInput.value === '') {
217
+ this.removeTag(this.tags[this.tags.length - 1]);
218
+ }
219
+ }
220
+ addTag(tagInput) {
221
+ if (tagInput.value.trim() !== '') {
222
+ let tag = {
223
+ [this.displayField]: tagInput.value
224
+ };
225
+ this.addPredefinedTag(tag);
226
+ }
227
+ tagInput.value = '';
228
+ }
229
+ addPredefinedTag(tag) {
230
+ if (this.tags == null)
231
+ this.tags = [];
232
+ if (!this.maximumOfTagsReached()) {
233
+ this.tags.push(tag);
234
+ this.tagsChanged('add', tag);
235
+ }
236
+ }
237
+ removeTag(tagToRemove) {
238
+ if (!this.isDeleteable(tagToRemove)) {
239
+ return;
240
+ }
241
+ this.tags = this.tags.filter(tag => tagToRemove !== tag);
242
+ this.tagsChanged('remove', tagToRemove);
243
+ }
244
+ maximumOfTagsReached() {
245
+ return typeof this.maxTags !== 'undefined' && this.tags && this.tags.length >= this.maxTags;
246
+ }
247
+ isDeleteable(tag) {
248
+ if (typeof tag.deleteable !== "undefined" && !tag.deleteable) {
249
+ return false;
250
+ }
251
+ return this.canDeleteTags;
252
+ }
253
+ typeaheadOnSelect(e) {
254
+ if (typeof e.item === 'string') {
255
+ this.addPredefinedTag({
256
+ [this.displayField]: e.value
257
+ });
258
+ }
259
+ else {
260
+ this.addPredefinedTag(e.item);
261
+ }
262
+ this.selected = '';
263
+ }
264
+ typeaheadOnNoMatch(e) {
265
+ if (typeof this.onNoOptionsMatch !== 'undefined') {
266
+ this.onNoOptionsMatch.emit(e);
267
+ }
268
+ }
269
+ writeValue(value) {
270
+ if (value !== this.tags) {
271
+ this.tags = value;
272
+ }
273
+ }
274
+ registerOnChange(fn) {
275
+ this.onChangeCallback = fn;
276
+ }
277
+ registerOnTouched(fn) {
278
+ this.onTouchedCallback = fn;
279
+ }
280
+ calculateInitials(name) {
281
+ var fullName = name.split(' ');
282
+ var initials = "";
283
+ if (fullName.length > 1)
284
+ initials = fullName.shift().charAt(0) + fullName.pop().charAt(0);
285
+ else
286
+ initials = fullName.shift().charAt(0);
287
+ return initials.toUpperCase();
288
+ }
289
+ onBlur() {
290
+ this.onBlurInput.emit();
291
+ }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BTagsInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
293
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: BTagsInputComponent, selector: "b-tags-input", inputs: { maxTags: "maxTags", removeLastOnBackspace: "removeLastOnBackspace", canDeleteTags: "canDeleteTags", canAddTags: "canAddTags", ViewMode: "ViewMode", placeholder: "placeholder", showDescription: "showDescription", options: "options", defaultImageURL: "defaultImageURL", minLengthBeforeOptions: "minLengthBeforeOptions", scrollableOptions: "scrollableOptions", scrollableOptionsInView: "scrollableOptionsInView" }, outputs: { onTagsChanged: "onTagsChanged", onMaxTagsReached: "onMaxTagsReached", onNoOptionsMatch: "onNoOptionsMatch", onBlurInput: "onBlurInput" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "\n\n<div class=\"tags-input\">\n<span class=\"tags-input__tag label label-primary badge badge-primary\" *ngFor=\"let tag of tags\">\n\n<span [ngSwitch]=\"ViewMode\">\n<span *ngSwitchCase=\"tagInputViewEnum.WithImage\">\n<img style=\"border-radius:50%; height:40px; width: 40px; float:left; margin-left:5px ; margin-top: 5px;margin-right: 5px;\"\nsrc=\"{{(tag.imageURL?tag.imageURL:defaultImageURL)}}\" />\n</span>\n\n<span *ngSwitchCase=\"tagInputViewEnum.WithInitial\">\n<div class=\"user-initials\">{{calculateInitials(tag.name)}}</div>\n</span>\n\n<span *ngSwitchDefault>\n</span>\n\n</span>\n {{tag[displayField]}}\n <span *ngIf=\"isDeleteable(tag)\" role=\"button\" class=\"tags-input__tag-remove-btn\" (click)=\"removeTag(tag)\"\n (touch)=\"removeTag(tag)\">\n <span aria-hidden=\"true\">&times;</span>\n <span class=\"sr-only\">Close</span>\n </span>\n</span>\n\n<input *ngIf=\"options === null; else withTypeahead\" class=\"tags-input__input-field\" type=\"text\"\n [placeholder]=\"getPlaceholder()\" name=\"tags\" (keyup.enter)=\"addTag(tagInput)\"\n (keydown.backspace)=\"removeLastTag(tagInput)\" [disabled]=\"!canAddTags || maximumOfTagsReached()\"\n [hidden]=\"!canAddTags || maximumOfTagsReached()\" #tagInput />\n\n<ng-template #withTypeahead>\n <span [ngSwitch]=\"ViewMode\">\n <span *ngSwitchCase=\"tagInputViewEnum.WithImage\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithImage\" [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchCase=\"tagInputViewEnum.WithoutImage\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutImage\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchCase=\"tagInputViewEnum.WithInitial\">\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutInitial\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n <span *ngSwitchDefault>\n <input *ngIf=\"(options !== null)\" class=\"tags-input__input-field\" type=\"text\" [placeholder]=\"getPlaceholder()\"\n name=\"tags\" (keydown.backspace)=\"removeLastTag(tagInput)\" [(ngModel)]=\"selected\" [typeahead]=\"options\"\n [typeaheadOptionField]=\"displayField\" (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n (typeaheadNoResults)=\"typeaheadOnNoMatch($event)\" [typeaheadMinLength]=\"minLengthBeforeOptions\"\n [typeaheadScrollable]=\"scrollableOptions\" [typeaheadLatinize]=\"true\"\n [typeaheadItemTemplate]=\"itemTemplateWithoutImage\"\n [typeaheadOptionsInScrollableView]=\"scrollableOptionsInView\"\n [disabled]=\"!canAddTags || maximumOfTagsReached()\" [hidden]=\"!canAddTags || maximumOfTagsReached()\"\n (blur)=\"onBlur()\" autocomplete=\"off\"\n #tagInput />\n </span>\n\n </span>\n\n</ng-template>\n\n<ng-template #itemTemplateWithImage let-model=\"item\" let-index=\"index\">\n <img\n style=\"border-radius:50%; height:40px; width: 40px; float:left; margin-left:5px ; margin-top: 5px;margin-right: 5px;\"\n src=\"{{(model.imageURL?model.imageURL:defaultImageURL)}}\" />\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n\n<ng-template #itemTemplateWithoutImage let-model=\"item\" let-index=\"index\">\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n\n<ng-template #itemTemplateWithoutInitial let-model=\"item\" let-index=\"index\">\n <div class=\"user-image\">\n <div class=\"user-initials\">{{calculateInitials(model.name)}}</div>\n </div>\n <div>\n <a [innerHTML]=\"model.name\"></a>\n <p *ngIf=\"showDescription\">\n {{model.description}}\n </p>\n </div>\n</ng-template>\n</div>\n", isInline: true, styles: [":host{overflow:auto;white-space:nowrap}.tags-input{align-items:center;display:flex;flex-wrap:wrap}.tags-input__tag{display:inline-block;margin-bottom:2px;margin-right:5px;padding-right:.3em}.tags-input__tag-remove-btn{cursor:pointer;display:inline-block;font-size:12px;margin:-3px 0 0 3px;padding:0;vertical-align:top}.tags-input__input-field{border:none;flex-grow:1;outline:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NativeElementInjectorDirective, selector: "[ngModel], [formControl], [formControlName]" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] }); }
294
+ }
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BTagsInputComponent, decorators: [{
296
+ type: Component,
297
+ args: [{ selector: 'b-tags-input', template: TAGS_INPUT_TEMPLATE, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], styles: [":host{overflow:auto;white-space:nowrap}.tags-input{align-items:center;display:flex;flex-wrap:wrap}.tags-input__tag{display:inline-block;margin-bottom:2px;margin-right:5px;padding-right:.3em}.tags-input__tag-remove-btn{cursor:pointer;display:inline-block;font-size:12px;margin:-3px 0 0 3px;padding:0;vertical-align:top}.tags-input__input-field{border:none;flex-grow:1;outline:none}\n"] }]
298
+ }], propDecorators: { maxTags: [{
299
+ type: Input
300
+ }], removeLastOnBackspace: [{
301
+ type: Input
302
+ }], canDeleteTags: [{
303
+ type: Input
304
+ }], canAddTags: [{
305
+ type: Input
306
+ }], ViewMode: [{
307
+ type: Input
308
+ }], placeholder: [{
309
+ type: Input
310
+ }], showDescription: [{
311
+ type: Input
312
+ }], options: [{
313
+ type: Input
314
+ }], defaultImageURL: [{
315
+ type: Input
316
+ }], minLengthBeforeOptions: [{
317
+ type: Input
318
+ }], scrollableOptions: [{
319
+ type: Input
320
+ }], scrollableOptionsInView: [{
321
+ type: Input
322
+ }], onTagsChanged: [{
323
+ type: Output
324
+ }], onMaxTagsReached: [{
325
+ type: Output
326
+ }], onNoOptionsMatch: [{
327
+ type: Output
328
+ }], onBlurInput: [{
329
+ type: Output
330
+ }] } });
331
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGFnLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Db21wb25lbnRzL25nLXRhZy1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFHckQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZCLE1BQU0sbUJBQW1CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEgzQixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUN4QixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBUTtJQUMvQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBYUYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVFFLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDZixTQUFJLEdBQWUsRUFBRSxDQUFDO1FBQ3JCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLFlB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V0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUYWdJbnB1dFZpZXcgfSBmcm9tICcuLi9FbnVtcy9UYWdJbnB1dFZpZXcnO1xyXG5pbXBvcnQgeyBUeXBlYWhlYWRNYXRjaCB9IGZyb20gJ25neC1ib290c3RyYXAvdHlwZWFoZWFkJztcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7IH07XHJcblxyXG5jb25zdCBUQUdTX0lOUFVUX1RFTVBMQVRFID0gYFxyXG5cclxuPGRpdiBjbGFzcz1cInRhZ3MtaW5wdXRcIj5cclxuPHNwYW4gY2xhc3M9XCJ0YWdzLWlucHV0X190YWcgbGFiZWwgbGFiZWwtcHJpbWFyeSBiYWRnZSBiYWRnZS1wcmltYXJ5XCIgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzXCI+XHJcblxyXG48c3BhbiBbbmdTd2l0Y2hdPVwiVmlld01vZGVcIj5cclxuPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aEltYWdlXCI+XHJcbjxpbWcgc3R5bGU9XCJib3JkZXItcmFkaXVzOjUwJTsgaGVpZ2h0OjQwcHg7IHdpZHRoOiA0MHB4OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo1cHggOyBtYXJnaW4tdG9wOiA1cHg7bWFyZ2luLXJpZ2h0OiA1cHg7XCJcclxuc3JjPVwie3sodGFnLmltYWdlVVJMP3RhZy5pbWFnZVVSTDpkZWZhdWx0SW1hZ2VVUkwpfX1cIiAvPlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW5pdGlhbFwiPlxyXG48ZGl2IGNsYXNzPVwidXNlci1pbml0aWFsc1wiPnt7Y2FsY3VsYXRlSW5pdGlhbHModGFnLm5hbWUpfX08L2Rpdj5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuPC9zcGFuPlxyXG5cclxuPC9zcGFuPlxyXG4gIHt7dGFnW2Rpc3BsYXlGaWVsZF19fVxyXG4gIDxzcGFuICpuZ0lmPVwiaXNEZWxldGVhYmxlKHRhZylcIiByb2xlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0YWdzLWlucHV0X190YWctcmVtb3ZlLWJ0blwiIChjbGljayk9XCJyZW1vdmVUYWcodGFnKVwiXHJcbiAgICAodG91Y2gpPVwicmVtb3ZlVGFnKHRhZylcIj5cclxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbjwvc3Bhbj5cclxuXHJcbjxpbnB1dCAqbmdJZj1cIm9wdGlvbnMgPT09IG51bGw7IGVsc2Ugd2l0aFR5cGVhaGVhZFwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIiBuYW1lPVwidGFnc1wiIChrZXl1cC5lbnRlcik9XCJhZGRUYWcodGFnSW5wdXQpXCJcclxuICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbZGlzYWJsZWRdPVwiIWNhbkFkZFRhZ3MgfHwgbWF4aW11bU9mVGFnc1JlYWNoZWQoKVwiXHJcbiAgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgI3RhZ0lucHV0IC8+XHJcblxyXG48bmctdGVtcGxhdGUgI3dpdGhUeXBlYWhlYWQ+XHJcbiAgPHNwYW4gW25nU3dpdGNoXT1cIlZpZXdNb2RlXCI+XHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW1hZ2VcIj5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiKG9wdGlvbnMgIT09IG51bGwpXCIgY2xhc3M9XCJ0YWdzLWlucHV0X19pbnB1dC1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxyXG4gICAgICAgIG5hbWU9XCJ0YWdzXCIgKGtleWRvd24uYmFja3NwYWNlKT1cInJlbW92ZUxhc3RUYWcodGFnSW5wdXQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFwiIFt0eXBlYWhlYWRdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZE9wdGlvbkZpZWxkXT1cImRpc3BsYXlGaWVsZFwiICh0eXBlYWhlYWRPblNlbGVjdCk9XCJ0eXBlYWhlYWRPblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAodHlwZWFoZWFkTm9SZXN1bHRzKT1cInR5cGVhaGVhZE9uTm9NYXRjaCgkZXZlbnQpXCIgW3R5cGVhaGVhZE1pbkxlbmd0aF09XCJtaW5MZW5ndGhCZWZvcmVPcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkU2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlT3B0aW9uc1wiIFt0eXBlYWhlYWRMYXRpbml6ZV09XCJ0cnVlXCJcclxuICAgICAgICBbdHlwZWFoZWFkSXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVdpdGhJbWFnZVwiIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cInRhZ0lucHV0Vmlld0VudW0uV2l0aG91dEltYWdlXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cIihvcHRpb25zICE9PSBudWxsKVwiIGNsYXNzPVwidGFncy1pbnB1dF9faW5wdXQtZmllbGRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcclxuICAgICAgICBuYW1lPVwidGFnc1wiIChrZXlkb3duLmJhY2tzcGFjZSk9XCJyZW1vdmVMYXN0VGFnKHRhZ0lucHV0KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRcIiBbdHlwZWFoZWFkXT1cIm9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25GaWVsZF09XCJkaXNwbGF5RmllbGRcIiAodHlwZWFoZWFkT25TZWxlY3QpPVwidHlwZWFoZWFkT25TZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHR5cGVhaGVhZE5vUmVzdWx0cyk9XCJ0eXBlYWhlYWRPbk5vTWF0Y2goJGV2ZW50KVwiIFt0eXBlYWhlYWRNaW5MZW5ndGhdPVwibWluTGVuZ3RoQmVmb3JlT3B0aW9uc1wiXHJcbiAgICAgICAgW3R5cGVhaGVhZFNjcm9sbGFibGVdPVwic2Nyb2xsYWJsZU9wdGlvbnNcIiBbdHlwZWFoZWFkTGF0aW5pemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3R5cGVhaGVhZEl0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVXaXRob3V0SW1hZ2VcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAjdGFnSW5wdXQgLz5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwidGFnSW5wdXRWaWV3RW51bS5XaXRoSW5pdGlhbFwiPlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEluaXRpYWxcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRPcHRpb25zSW5TY3JvbGxhYmxlVmlld109XCJzY3JvbGxhYmxlT3B0aW9uc0luVmlld1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIiBbaGlkZGVuXT1cIiFjYW5BZGRUYWdzIHx8IG1heGltdW1PZlRhZ3NSZWFjaGVkKClcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAjdGFnSW5wdXQgLz5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8aW5wdXQgKm5nSWY9XCIob3B0aW9ucyAhPT0gbnVsbClcIiBjbGFzcz1cInRhZ3MtaW5wdXRfX2lucHV0LWZpZWxkXCIgdHlwZT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXHJcbiAgICAgICAgbmFtZT1cInRhZ3NcIiAoa2V5ZG93bi5iYWNrc3BhY2UpPVwicmVtb3ZlTGFzdFRhZyh0YWdJbnB1dClcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkXCIgW3R5cGVhaGVhZF09XCJvcHRpb25zXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uRmllbGRdPVwiZGlzcGxheUZpZWxkXCIgKHR5cGVhaGVhZE9uU2VsZWN0KT1cInR5cGVhaGVhZE9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgICh0eXBlYWhlYWROb1Jlc3VsdHMpPVwidHlwZWFoZWFkT25Ob01hdGNoKCRldmVudClcIiBbdHlwZWFoZWFkTWluTGVuZ3RoXT1cIm1pbkxlbmd0aEJlZm9yZU9wdGlvbnNcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRTY3JvbGxhYmxlXT1cInNjcm9sbGFibGVPcHRpb25zXCIgW3R5cGVhaGVhZExhdGluaXplXT1cInRydWVcIlxyXG4gICAgICAgIFt0eXBlYWhlYWRJdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlV2l0aG91dEltYWdlXCJcclxuICAgICAgICBbdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXddPVwic2Nyb2xsYWJsZU9wdGlvbnNJblZpZXdcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCIgW2hpZGRlbl09XCIhY2FuQWRkVGFncyB8fCBtYXhpbXVtT2ZUYWdzUmVhY2hlZCgpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgI3RhZ0lucHV0IC8+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gIDwvc3Bhbj5cclxuXHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhJbWFnZSBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8aW1nXHJcbiAgICBzdHlsZT1cImJvcmRlci1yYWRpdXM6NTAlOyBoZWlnaHQ6NDBweDsgd2lkdGg6IDQwcHg7IGZsb2F0OmxlZnQ7IG1hcmdpbi1sZWZ0OjVweCA7IG1hcmdpbi10b3A6IDVweDttYXJnaW4tcmlnaHQ6IDVweDtcIlxyXG4gICAgc3JjPVwie3sobW9kZWwuaW1hZ2VVUkw/bW9kZWwuaW1hZ2VVUkw6ZGVmYXVsdEltYWdlVVJMKX19XCIgLz5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhvdXRJbWFnZSBsZXQtbW9kZWw9XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICA8ZGl2PlxyXG4gICAgPGEgW2lubmVySFRNTF09XCJtb2RlbC5uYW1lXCI+PC9hPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93RGVzY3JpcHRpb25cIj5cclxuICAgICAge3ttb2RlbC5kZXNjcmlwdGlvbn19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZVdpdGhvdXRJbml0aWFsIGxldC1tb2RlbD1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1c2VyLWltYWdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidXNlci1pbml0aWFsc1wiPnt7Y2FsY3VsYXRlSW5pdGlhbHMobW9kZWwubmFtZSl9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8YSBbaW5uZXJIVE1MXT1cIm1vZGVsLm5hbWVcIj48L2E+XHJcbiAgICA8cCAqbmdJZj1cInNob3dEZXNjcmlwdGlvblwiPlxyXG4gICAgICB7e21vZGVsLmRlc2NyaXB0aW9ufX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbmA7XHJcblxyXG5jb25zdCBUQUdTX0lOUFVUX1NUWUxFID0gYFxyXG4gICAgOmhvc3Qge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhZ3MtaW5wdXRfX3RhZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTtcclxuICAgIH1cclxuXHJcbiAgICAudGFncy1pbnB1dF9fdGFnLXJlbW92ZS1idG4ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIG1hcmdpbjogLTNweCAwIDAgM3B4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxuXHJcbiAgICAudGFncy1pbnB1dF9faW5wdXQtZmllbGQge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuYDtcclxuXHJcbmNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQlRhZ3NJbnB1dENvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFnc0NoYW5nZWRFdmVudCB7XHJcbiAgY2hhbmdlOiBzdHJpbmcsXHJcbiAgdGFnOiBhbnlcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiLXRhZ3MtaW5wdXQnLFxyXG4gIHRlbXBsYXRlOiBUQUdTX0lOUFVUX1RFTVBMQVRFLFxyXG4gIHN0eWxlczogW1RBR1NfSU5QVVRfU1RZTEVdLFxyXG4gIHByb3ZpZGVyczogW0NVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQlRhZ3NJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgc2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyB0YWdzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcclxuICBwdWJsaWMgdGFnSW5wdXRWaWV3RW51bSA9IFRhZ0lucHV0VmlldztcclxuICBASW5wdXQoKSBtYXhUYWdzOiBudW1iZXI7XHJcbiAgQElucHV0KCkgcmVtb3ZlTGFzdE9uQmFja3NwYWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuRGVsZXRlVGFnczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuQWRkVGFnczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgVmlld01vZGU6IFRhZ0lucHV0VmlldyA9IFRhZ0lucHV0Vmlldy5XaXRob3V0SW1hZ2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNob3dEZXNjcmlwdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBkZWZhdWx0SW1hZ2VVUkw6IGFueSA9IG51bGw7XHJcbiAgZGlzcGxheUZpZWxkOiBzdHJpbmcgPSAnbmFtZSc7XHJcbiAgQElucHV0KCkgbWluTGVuZ3RoQmVmb3JlT3B0aW9uczogbnVtYmVyID0gMTtcclxuICBASW5wdXQoKSBzY3JvbGxhYmxlT3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNjcm9sbGFibGVPcHRpb25zSW5WaWV3OiBudW1iZXIgPSA1O1xyXG4gIEBPdXRwdXQoKSBvblRhZ3NDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8VGFnc0NoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTWF4VGFnc1JlYWNoZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Ob09wdGlvbnNNYXRjaDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy50YWdzICYmIHRoaXMudGFncy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0YWdzQ2hhbmdlZCh0eXBlOiBzdHJpbmcsIHRhZzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy50YWdzKTtcclxuICAgIHRoaXMub25UYWdzQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgY2hhbmdlOiB0eXBlLFxyXG4gICAgICB0YWc6IHRhZ1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5tYXhpbXVtT2ZUYWdzUmVhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMub25NYXhUYWdzUmVhY2hlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVMYXN0VGFnKHRhZ0lucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVtb3ZlTGFzdE9uQmFja3NwYWNlIHx8ICF0aGlzLnRhZ3M/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRhZ0lucHV0LnZhbHVlID09PSAnJykge1xyXG4gICAgICB0aGlzLnJlbW92ZVRhZyh0aGlzLnRhZ3NbdGhpcy50YWdzLmxlbmd0aCAtIDFdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFRhZyh0YWdJbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRhZ0lucHV0LnZhbHVlLnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgbGV0IHRhZyA9IHtcclxuICAgICAgICBbdGhpcy5kaXNwbGF5RmllbGRdOiB0YWdJbnB1dC52YWx1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcodGFnKTtcclxuICAgIH1cclxuICAgIHRhZ0lucHV0LnZhbHVlID0gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByZWRlZmluZWRUYWcodGFnOiBPYmplY3QpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRhZ3MgPT0gbnVsbClcclxuICAgICAgdGhpcy50YWdzID0gW107XHJcbiAgICBpZiAoIXRoaXMubWF4aW11bU9mVGFnc1JlYWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnRhZ3MucHVzaCh0YWcpO1xyXG4gICAgICB0aGlzLnRhZ3NDaGFuZ2VkKCdhZGQnLCB0YWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlVGFnKHRhZ1RvUmVtb3ZlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0RlbGV0ZWFibGUodGFnVG9SZW1vdmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFncyA9IHRoaXMudGFncy5maWx0ZXIodGFnID0+IHRhZ1RvUmVtb3ZlICE9PSB0YWcpO1xyXG4gICAgdGhpcy50YWdzQ2hhbmdlZCgncmVtb3ZlJywgdGFnVG9SZW1vdmUpO1xyXG4gIH1cclxuXHJcbiAgbWF4aW11bU9mVGFnc1JlYWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubWF4VGFncyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50YWdzICYmIHRoaXMudGFncy5sZW5ndGggPj0gdGhpcy5tYXhUYWdzO1xyXG4gIH1cclxuXHJcbiAgaXNEZWxldGVhYmxlKHRhZzogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHRhZy5kZWxldGVhYmxlICE9PSBcInVuZGVmaW5lZFwiICYmICF0YWcuZGVsZXRlYWJsZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jYW5EZWxldGVUYWdzO1xyXG4gIH1cclxuXHJcbiAgdHlwZWFoZWFkT25TZWxlY3QoZTogVHlwZWFoZWFkTWF0Y2gpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgZS5pdGVtID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcoe1xyXG4gICAgICAgIFt0aGlzLmRpc3BsYXlGaWVsZF06IGUudmFsdWVcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFkZFByZWRlZmluZWRUYWcoZS5pdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWQgPSAnJztcclxuICB9XHJcblxyXG4gIHR5cGVhaGVhZE9uTm9NYXRjaChlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5vbk5vT3B0aW9uc01hdGNoICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLm9uTm9PcHRpb25zTWF0Y2guZW1pdChlKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMudGFncykge1xyXG4gICAgICB0aGlzLnRhZ3MgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVJbml0aWFscyhuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdmFyIGZ1bGxOYW1lID0gbmFtZS5zcGxpdCgnICcpO1xyXG4gICAgdmFyIGluaXRpYWxzID0gXCJcIlxyXG4gICAgaWYgKGZ1bGxOYW1lLmxlbmd0aCA+IDEpXHJcbiAgICAgIGluaXRpYWxzID0gZnVsbE5hbWUuc2hpZnQoKS5jaGFyQXQoMCkgKyBmdWxsTmFtZS5wb3AoKS5jaGFyQXQoMCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGluaXRpYWxzID0gZnVsbE5hbWUuc2hpZnQoKS5jaGFyQXQoMClcclxuICAgIHJldHVybiBpbml0aWFscy50b1VwcGVyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkJsdXJJbnB1dC5lbWl0KCk7XHJcbiAgfVxyXG4gIC8vIChrZXlkb3duLlRhYikgPSBcIm9uVGFiKCRldmVudClcIlxyXG4gIC8vb25UYWIoZXZlbnQpIHtcclxuICAvLyAgdGhpcy5vblRhYklucHV0LmVtaXQoKTtcclxuICAvLyAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAvLyAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgLy99XHJcbn1cclxuIl19
@@ -1,18 +1,18 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgTemplateNameDirective {
4
- constructor(template) {
5
- this.template = template;
6
- }
7
- }
8
- NgTemplateNameDirectivefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgTemplateNameDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- NgTemplateNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NgTemplateNameDirective, selector: "ng-template[name]", inputs: { name: "name" }, ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgTemplateNameDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: 'ng-template[name]'
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { name: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL0RpcmVjdGl2ZXMvdGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBSzlELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDOztxSEFIdkMsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtrR0FFVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtuYW1lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVGVtcGxhdGVOYW1lRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PikgeyB9XHJcbn0iXX0=
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgTemplateNameDirective {
4
+ constructor(template) {
5
+ this.template = template;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NgTemplateNameDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: NgTemplateNameDirective, selector: "ng-template[name]", inputs: { name: "name" }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: NgTemplateNameDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[name]'
14
+ }]
15
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { name: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL0RpcmVjdGl2ZXMvdGVtcGxhdGUtbmFtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBSzlELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBSSxDQUFDOzhHQUh2Qyx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtnRkFFVSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtuYW1lXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVGVtcGxhdGVOYW1lRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PikgeyB9XHJcbn0iXX0=
@@ -1,8 +1,8 @@
1
- export var CalendarView;
2
- (function (CalendarView) {
3
- CalendarView[CalendarView["Month"] = 1] = "Month";
4
- CalendarView[CalendarView["Weekly"] = 2] = "Weekly";
5
- CalendarView[CalendarView["Daily"] = 3] = "Daily";
6
- CalendarView[CalendarView["Agenda"] = 4] = "Agenda";
7
- })(CalendarView || (CalendarView = {}));
1
+ export var CalendarView;
2
+ (function (CalendarView) {
3
+ CalendarView[CalendarView["Month"] = 1] = "Month";
4
+ CalendarView[CalendarView["Weekly"] = 2] = "Weekly";
5
+ CalendarView[CalendarView["Daily"] = 3] = "Daily";
6
+ CalendarView[CalendarView["Agenda"] = 4] = "Agenda";
7
+ })(CalendarView || (CalendarView = {}));
8
8
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsZW5kYXJWaWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9FbnVtcy9DYWxlbmRhclZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFOLElBQVksWUFLVDtBQUxILFdBQVksWUFBWTtJQUNwQixpREFBUyxDQUFBO0lBQ1QsbURBQVUsQ0FBQTtJQUNWLGlEQUFTLENBQUE7SUFDVCxtREFBVSxDQUFBO0FBQ1osQ0FBQyxFQUxTLFlBQVksS0FBWixZQUFZLFFBS3JCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBlbnVtIENhbGVuZGFyVmlldyB7XHJcbiAgICBNb250aCA9IDEsXHJcbiAgICBXZWVrbHkgPSAyLFxyXG4gICAgRGFpbHkgPSAzLFxyXG4gICAgQWdlbmRhID0gNFxyXG4gIH0iXX0=
@@ -1,6 +1,6 @@
1
- export var ControlLayout;
2
- (function (ControlLayout) {
3
- ControlLayout[ControlLayout["Vertical"] = 1] = "Vertical";
4
- ControlLayout[ControlLayout["Horizontal"] = 2] = "Horizontal";
5
- })(ControlLayout || (ControlLayout = {}));
1
+ export var ControlLayout;
2
+ (function (ControlLayout) {
3
+ ControlLayout[ControlLayout["Vertical"] = 1] = "Vertical";
4
+ ControlLayout[ControlLayout["Horizontal"] = 2] = "Horizontal";
5
+ })(ControlLayout || (ControlLayout = {}));
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbExheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9TaGFyZWQvRW51bXMvQ29udHJvbExheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLHlEQUFZLENBQUE7SUFDWiw2REFBYyxDQUFBO0FBQ2xCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbnRyb2xMYXlvdXQgIHtcclxuICAgIFZlcnRpY2FsID0gMSxcclxuICAgIEhvcml6b250YWwgPSAyXHJcbn1cclxuIl19