@norwegian/core-components 7.13.5 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (599) hide show
  1. package/README.md +3 -3
  2. package/assets/documentation/accordion/accordion.md +1 -1
  3. package/assets/documentation/airport-select/airport-select.md +1 -0
  4. package/assets/documentation/alert/alert.md +1 -0
  5. package/assets/documentation/autocomplete/autocomplete.md +1 -1
  6. package/assets/documentation/backdrop/backdrop.md +1 -0
  7. package/assets/documentation/box/box.md +1 -1
  8. package/assets/documentation/button/button.md +1 -10
  9. package/assets/documentation/checkbox/checkbox.md +1 -7
  10. package/assets/documentation/container/container.md +1 -1
  11. package/assets/documentation/continue/continue.md +2 -1
  12. package/assets/documentation/cover/cover.md +1 -1
  13. package/assets/documentation/datepicker/datepicker.md +1 -3
  14. package/assets/documentation/datepicker-combo/datepicker-combo.md +2 -1
  15. package/assets/documentation/divider/divider.md +1 -1
  16. package/assets/documentation/dropdown/dropdown.md +1 -3
  17. package/assets/documentation/filter/filter.md +1 -0
  18. package/assets/documentation/grid/grid.md +1 -1
  19. package/assets/documentation/icon/icon.md +1 -1
  20. package/assets/documentation/icon-list/icon-list.md +1 -1
  21. package/assets/documentation/input/input.md +1 -1
  22. package/assets/documentation/journey/journey.md +2 -1
  23. package/assets/documentation/journey-availability/journey-availability.md +1 -3
  24. package/assets/documentation/journey-availability-list/journey-availability-list.md +1 -9
  25. package/assets/documentation/journey-selection/journey-selection.md +1 -1
  26. package/assets/documentation/journey-stopover/journey-stopover.md +2 -1
  27. package/assets/documentation/list/list.md +1 -1
  28. package/assets/documentation/micro-button/micro-button.md +2 -0
  29. package/assets/documentation/modal/modal.md +1 -0
  30. package/assets/documentation/number-field/number-field.md +1 -1
  31. package/assets/documentation/page-footer/page-footer.md +1 -1
  32. package/assets/documentation/page-header/page-header.md +1 -1
  33. package/assets/documentation/passenger-select/passenger-select.md +1 -1
  34. package/assets/documentation/phone-number/phone-number.md +1 -2
  35. package/assets/documentation/premium-toggle/premium-toggle.md +1 -9
  36. package/assets/documentation/radio/radio.md +1 -7
  37. package/assets/documentation/ribbon-banner/ribbon-banner.md +2 -1
  38. package/assets/documentation/select/select.md +1 -1
  39. package/assets/documentation/simple-list/simple-list.md +1 -1
  40. package/assets/documentation/slide-toggle/slide-toggle.md +1 -1
  41. package/assets/documentation/slider/slider.md +1 -1
  42. package/assets/documentation/sort/sort.md +1 -1
  43. package/assets/documentation/spinner/spinner.md +1 -1
  44. package/assets/documentation/status-box/status-box.md +2 -1
  45. package/assets/documentation/suggestions/suggestions.md +2 -1
  46. package/assets/documentation/tab-group/tab-group.md +1 -1
  47. package/assets/documentation/table/table.md +1 -8
  48. package/assets/documentation/tag/tag.md +1 -0
  49. package/assets/documentation/textarea/textarea.md +1 -1
  50. package/assets/documentation/toggle/toggle.md +1 -5
  51. package/assets/documentation/tooltip/tooltip.md +1 -0
  52. package/assets/documentation/trip-summary/trip-summary.md +1 -2
  53. package/fesm2022/norwegian-core-components.mjs +13107 -13039
  54. package/fesm2022/norwegian-core-components.mjs.map +1 -1
  55. package/index.d.ts +9116 -5
  56. package/package.json +14 -8
  57. package/styles/1__settings/_colors.scss +9 -9
  58. package/styles/1__settings/_mixins.scss +29 -25
  59. package/styles/1__settings/_type.scss +18 -6
  60. package/styles/1__settings/_vars.scss +7 -4
  61. package/styles/2__generic/_fonts.scss +7 -5
  62. package/styles/3__base/_animations.scss +84 -84
  63. package/styles/3__base/_body.scss +6 -4
  64. package/styles/3__base/_fixes.scss +1 -1
  65. package/styles/3__base/_form.scss +5 -2
  66. package/styles/3__base/_heading.scss +22 -18
  67. package/styles/3__base/_hr.scss +4 -0
  68. package/styles/3__base/_input.scss +5 -1
  69. package/styles/3__base/_link.scss +3 -0
  70. package/styles/3__base/_table.scss +8 -4
  71. package/styles/3__base/_type.scss +11 -7
  72. package/styles/_helpers.scss +4 -4
  73. package/styles/_index.scss +13 -13
  74. package/assets/documentation/campaign-header/campaign-header.md +0 -0
  75. package/assets/documentation/chip/chip.md +0 -1
  76. package/assets/documentation/info/info.md +0 -1
  77. package/esm2022/lib/components/accordion/accordion.component.mjs +0 -145
  78. package/esm2022/lib/components/accordion/accordion.module.mjs +0 -20
  79. package/esm2022/lib/components/accordion/index.mjs +0 -3
  80. package/esm2022/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.mjs +0 -622
  81. package/esm2022/lib/components/airport-select/airport-select.component.mjs +0 -498
  82. package/esm2022/lib/components/airport-select/airport-select.module.mjs +0 -42
  83. package/esm2022/lib/components/airport-select/index.mjs +0 -7
  84. package/esm2022/lib/components/airport-select/models/airport-select-event.model.mjs +0 -2
  85. package/esm2022/lib/components/airport-select/models/airport-select-state.model.mjs +0 -2
  86. package/esm2022/lib/components/airport-select/models/airport.model.mjs +0 -2
  87. package/esm2022/lib/components/airport-select/models/results-labels.model.mjs +0 -3
  88. package/esm2022/lib/components/airport-select/services/airport-select-dropdown.service.mjs +0 -35
  89. package/esm2022/lib/components/airport-select/services/airport-select.service.mjs +0 -38
  90. package/esm2022/lib/components/alert/alert.component.mjs +0 -169
  91. package/esm2022/lib/components/alert/alert.module.mjs +0 -22
  92. package/esm2022/lib/components/alert/index.mjs +0 -4
  93. package/esm2022/lib/components/alert/models/alert.model.mjs +0 -2
  94. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +0 -318
  95. package/esm2022/lib/components/autocomplete/autocomplete.module.mjs +0 -43
  96. package/esm2022/lib/components/autocomplete/index.mjs +0 -4
  97. package/esm2022/lib/components/autocomplete/models/autocomplete.model.mjs +0 -2
  98. package/esm2022/lib/components/backdrop/backdrop.component.mjs +0 -58
  99. package/esm2022/lib/components/backdrop/backdrop.module.mjs +0 -19
  100. package/esm2022/lib/components/backdrop/index.mjs +0 -3
  101. package/esm2022/lib/components/box/box.component.mjs +0 -66
  102. package/esm2022/lib/components/box/box.module.mjs +0 -19
  103. package/esm2022/lib/components/box/index.mjs +0 -3
  104. package/esm2022/lib/components/button/button.component.mjs +0 -192
  105. package/esm2022/lib/components/button/button.module.mjs +0 -21
  106. package/esm2022/lib/components/button/index.mjs +0 -3
  107. package/esm2022/lib/components/campaign-header/campaign-header.component.mjs +0 -51
  108. package/esm2022/lib/components/campaign-header/campaign-header.module.mjs +0 -20
  109. package/esm2022/lib/components/campaign-header/index.mjs +0 -3
  110. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -163
  111. package/esm2022/lib/components/checkbox/checkbox.module.mjs +0 -20
  112. package/esm2022/lib/components/checkbox/index.mjs +0 -3
  113. package/esm2022/lib/components/chip/chip.component.mjs +0 -48
  114. package/esm2022/lib/components/chip/chip.module.mjs +0 -19
  115. package/esm2022/lib/components/chip/index.mjs +0 -3
  116. package/esm2022/lib/components/container/container.component.mjs +0 -50
  117. package/esm2022/lib/components/container/container.module.mjs +0 -19
  118. package/esm2022/lib/components/container/index.mjs +0 -3
  119. package/esm2022/lib/components/continue/continue.component.mjs +0 -199
  120. package/esm2022/lib/components/continue/continue.module.mjs +0 -23
  121. package/esm2022/lib/components/continue/index.mjs +0 -3
  122. package/esm2022/lib/components/cover/cover.component.mjs +0 -75
  123. package/esm2022/lib/components/cover/cover.module.mjs +0 -21
  124. package/esm2022/lib/components/cover/index.mjs +0 -3
  125. package/esm2022/lib/components/datepicker/calendar/calendar.component.mjs +0 -607
  126. package/esm2022/lib/components/datepicker/calendar/enums/week-start.enum.mjs +0 -6
  127. package/esm2022/lib/components/datepicker/calendar/models/calendar-date.model.mjs +0 -2
  128. package/esm2022/lib/components/datepicker/calendar/models/calendar.model.mjs +0 -2
  129. package/esm2022/lib/components/datepicker/calendar/models/day.model.mjs +0 -2
  130. package/esm2022/lib/components/datepicker/calendar/models/select-option.model.mjs +0 -2
  131. package/esm2022/lib/components/datepicker/calendar/models/week.model.mjs +0 -2
  132. package/esm2022/lib/components/datepicker/datepicker.component.mjs +0 -613
  133. package/esm2022/lib/components/datepicker/datepicker.module.mjs +0 -55
  134. package/esm2022/lib/components/datepicker/index.mjs +0 -9
  135. package/esm2022/lib/components/datepicker/services/calendar.service.mjs +0 -215
  136. package/esm2022/lib/components/datepicker-combo/datepicker-combo.component.mjs +0 -401
  137. package/esm2022/lib/components/datepicker-combo/datepicker-combo.module.mjs +0 -31
  138. package/esm2022/lib/components/datepicker-combo/index.mjs +0 -3
  139. package/esm2022/lib/components/divider/divider.component.mjs +0 -59
  140. package/esm2022/lib/components/divider/divider.module.mjs +0 -28
  141. package/esm2022/lib/components/divider/index.mjs +0 -3
  142. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -170
  143. package/esm2022/lib/components/dropdown/dropdown.module.mjs +0 -21
  144. package/esm2022/lib/components/dropdown/index.mjs +0 -3
  145. package/esm2022/lib/components/filter/enums/trip-type.enum.mjs +0 -8
  146. package/esm2022/lib/components/filter/filter.component.mjs +0 -1309
  147. package/esm2022/lib/components/filter/filter.module.mjs +0 -81
  148. package/esm2022/lib/components/filter/index.mjs +0 -4
  149. package/esm2022/lib/components/grid/col/col.component.mjs +0 -49
  150. package/esm2022/lib/components/grid/grid.component.mjs +0 -72
  151. package/esm2022/lib/components/grid/grid.module.mjs +0 -20
  152. package/esm2022/lib/components/grid/index.mjs +0 -4
  153. package/esm2022/lib/components/icon/icon.component.mjs +0 -44
  154. package/esm2022/lib/components/icon/icon.module.mjs +0 -19
  155. package/esm2022/lib/components/icon/index.mjs +0 -3
  156. package/esm2022/lib/components/icon-list/icon-list.component.mjs +0 -50
  157. package/esm2022/lib/components/icon-list/icon-list.module.mjs +0 -20
  158. package/esm2022/lib/components/icon-list/index.mjs +0 -4
  159. package/esm2022/lib/components/icon-list/models/icon-list.model.mjs +0 -2
  160. package/esm2022/lib/components/index.mjs +0 -67
  161. package/esm2022/lib/components/info/index.mjs +0 -4
  162. package/esm2022/lib/components/info/info.component.mjs +0 -116
  163. package/esm2022/lib/components/info/info.module.mjs +0 -36
  164. package/esm2022/lib/components/info/models/info.model.mjs +0 -2
  165. package/esm2022/lib/components/input/index.mjs +0 -3
  166. package/esm2022/lib/components/input/input.component.mjs +0 -228
  167. package/esm2022/lib/components/input/input.module.mjs +0 -35
  168. package/esm2022/lib/components/journey/index.mjs +0 -6
  169. package/esm2022/lib/components/journey/journey.component.mjs +0 -137
  170. package/esm2022/lib/components/journey/journey.module.mjs +0 -21
  171. package/esm2022/lib/components/journey/models/journey-flight.model.mjs +0 -2
  172. package/esm2022/lib/components/journey/models/journey.model.mjs +0 -2
  173. package/esm2022/lib/components/journey/models/marketing-carrier.enum.mjs +0 -8
  174. package/esm2022/lib/components/journey-availability/index.mjs +0 -3
  175. package/esm2022/lib/components/journey-availability/journey-availability.component.mjs +0 -128
  176. package/esm2022/lib/components/journey-availability/journey-availability.module.mjs +0 -39
  177. package/esm2022/lib/components/journey-availability-list/enums/availability-sort-option.enum.mjs +0 -7
  178. package/esm2022/lib/components/journey-availability-list/index.mjs +0 -4
  179. package/esm2022/lib/components/journey-availability-list/journey-availability-list.component.mjs +0 -182
  180. package/esm2022/lib/components/journey-availability-list/journey-availability-list.module.mjs +0 -36
  181. package/esm2022/lib/components/journey-selection/index.mjs +0 -7
  182. package/esm2022/lib/components/journey-selection/journey-selection.component.mjs +0 -120
  183. package/esm2022/lib/components/journey-selection/journey-selection.module.mjs +0 -24
  184. package/esm2022/lib/components/journey-selection/models/journey-selection-collapsed.model.mjs +0 -2
  185. package/esm2022/lib/components/journey-selection/models/journey-selection-common.model.mjs +0 -2
  186. package/esm2022/lib/components/journey-selection/models/journey-selection-expanded.model.mjs +0 -2
  187. package/esm2022/lib/components/journey-selection/models/journey-selection.model.mjs +0 -2
  188. package/esm2022/lib/components/journey-stopover/index.mjs +0 -4
  189. package/esm2022/lib/components/journey-stopover/journey-stopover.component.mjs +0 -150
  190. package/esm2022/lib/components/journey-stopover/journey-stopover.module.mjs +0 -21
  191. package/esm2022/lib/components/journey-stopover/models/stopover-time.model.mjs +0 -2
  192. package/esm2022/lib/components/list/index.mjs +0 -4
  193. package/esm2022/lib/components/list/list-item/list-item.component.mjs +0 -52
  194. package/esm2022/lib/components/list/list.component.mjs +0 -78
  195. package/esm2022/lib/components/list/list.module.mjs +0 -20
  196. package/esm2022/lib/components/micro-button/index.mjs +0 -3
  197. package/esm2022/lib/components/micro-button/micro-button.component.mjs +0 -101
  198. package/esm2022/lib/components/micro-button/micro-button.module.mjs +0 -20
  199. package/esm2022/lib/components/modal/index.mjs +0 -3
  200. package/esm2022/lib/components/modal/modal.component.mjs +0 -156
  201. package/esm2022/lib/components/modal/modal.module.mjs +0 -38
  202. package/esm2022/lib/components/number-field/index.mjs +0 -4
  203. package/esm2022/lib/components/number-field/models/number-field.model.mjs +0 -2
  204. package/esm2022/lib/components/number-field/number-field.component.mjs +0 -162
  205. package/esm2022/lib/components/number-field/number-field.module.mjs +0 -39
  206. package/esm2022/lib/components/page-footer/index.mjs +0 -3
  207. package/esm2022/lib/components/page-footer/page-footer.component.mjs +0 -52
  208. package/esm2022/lib/components/page-footer/page-footer.module.mjs +0 -21
  209. package/esm2022/lib/components/page-header/hamburger/hamburger.component.mjs +0 -22
  210. package/esm2022/lib/components/page-header/index.mjs +0 -6
  211. package/esm2022/lib/components/page-header/models/wallet.model.mjs +0 -2
  212. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -171
  213. package/esm2022/lib/components/page-header/page-header.module.mjs +0 -55
  214. package/esm2022/lib/components/page-header/search/search.component.mjs +0 -49
  215. package/esm2022/lib/components/page-header/wallet/wallet.component.mjs +0 -57
  216. package/esm2022/lib/components/passenger-select/enums/passenger-type.enum.mjs +0 -9
  217. package/esm2022/lib/components/passenger-select/index.mjs +0 -5
  218. package/esm2022/lib/components/passenger-select/models/passengers.model.mjs +0 -2
  219. package/esm2022/lib/components/passenger-select/passenger-select.component.mjs +0 -423
  220. package/esm2022/lib/components/passenger-select/passenger-select.module.mjs +0 -28
  221. package/esm2022/lib/components/phone-number/index.mjs +0 -3
  222. package/esm2022/lib/components/phone-number/phone-number.component.mjs +0 -182
  223. package/esm2022/lib/components/phone-number/phone-number.module.mjs +0 -44
  224. package/esm2022/lib/components/premium-toggle/index.mjs +0 -3
  225. package/esm2022/lib/components/premium-toggle/premium-toggle.component.mjs +0 -68
  226. package/esm2022/lib/components/premium-toggle/premium-toggle.module.mjs +0 -20
  227. package/esm2022/lib/components/radio/index.mjs +0 -3
  228. package/esm2022/lib/components/radio/radio.component.mjs +0 -109
  229. package/esm2022/lib/components/radio/radio.module.mjs +0 -20
  230. package/esm2022/lib/components/ribbon-banner/index.mjs +0 -3
  231. package/esm2022/lib/components/ribbon-banner/ribbon-banner.component.mjs +0 -89
  232. package/esm2022/lib/components/ribbon-banner/ribbon-banner.module.mjs +0 -40
  233. package/esm2022/lib/components/select/index.mjs +0 -6
  234. package/esm2022/lib/components/select/models/select-option.model.mjs +0 -2
  235. package/esm2022/lib/components/select/optgroup/optgroup.component.mjs +0 -29
  236. package/esm2022/lib/components/select/option/option.component.mjs +0 -26
  237. package/esm2022/lib/components/select/select.component.mjs +0 -404
  238. package/esm2022/lib/components/select/select.module.mjs +0 -23
  239. package/esm2022/lib/components/simple-list/index.mjs +0 -3
  240. package/esm2022/lib/components/simple-list/simple-list.component.mjs +0 -48
  241. package/esm2022/lib/components/simple-list/simple-list.module.mjs +0 -19
  242. package/esm2022/lib/components/slide-toggle/index.mjs +0 -3
  243. package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +0 -121
  244. package/esm2022/lib/components/slide-toggle/slide-toggle.module.mjs +0 -20
  245. package/esm2022/lib/components/slider/index.mjs +0 -3
  246. package/esm2022/lib/components/slider/slider.component.mjs +0 -515
  247. package/esm2022/lib/components/slider/slider.module.mjs +0 -20
  248. package/esm2022/lib/components/sort/index.mjs +0 -3
  249. package/esm2022/lib/components/sort/sort.component.mjs +0 -98
  250. package/esm2022/lib/components/sort/sort.module.mjs +0 -36
  251. package/esm2022/lib/components/spinner/index.mjs +0 -3
  252. package/esm2022/lib/components/spinner/spinner.component.mjs +0 -127
  253. package/esm2022/lib/components/spinner/spinner.module.mjs +0 -19
  254. package/esm2022/lib/components/status-box/index.mjs +0 -4
  255. package/esm2022/lib/components/status-box/models/status-box.model.mjs +0 -2
  256. package/esm2022/lib/components/status-box/status-box.component.mjs +0 -109
  257. package/esm2022/lib/components/status-box/status-box.module.mjs +0 -21
  258. package/esm2022/lib/components/suggestions/index.mjs +0 -3
  259. package/esm2022/lib/components/suggestions/suggestions.component.mjs +0 -44
  260. package/esm2022/lib/components/suggestions/suggestions.module.mjs +0 -20
  261. package/esm2022/lib/components/tab-group/index.mjs +0 -4
  262. package/esm2022/lib/components/tab-group/tab/tab.component.mjs +0 -140
  263. package/esm2022/lib/components/tab-group/tab-group.component.mjs +0 -91
  264. package/esm2022/lib/components/tab-group/tab-group.module.mjs +0 -21
  265. package/esm2022/lib/components/table/column/column.component.mjs +0 -16
  266. package/esm2022/lib/components/table/column-group/column-group.component.mjs +0 -30
  267. package/esm2022/lib/components/table/index.mjs +0 -11
  268. package/esm2022/lib/components/table/services/table.service.mjs +0 -24
  269. package/esm2022/lib/components/table/table-body/table-body.component.mjs +0 -23
  270. package/esm2022/lib/components/table/table-foot/table-foot.component.mjs +0 -23
  271. package/esm2022/lib/components/table/table-head/table-head.component.mjs +0 -23
  272. package/esm2022/lib/components/table/table-row/table-data/table-data.component.mjs +0 -15
  273. package/esm2022/lib/components/table/table-row/table-header/table-header.component.mjs +0 -15
  274. package/esm2022/lib/components/table/table-row/table-row.component.mjs +0 -23
  275. package/esm2022/lib/components/table/table.component.mjs +0 -27
  276. package/esm2022/lib/components/table/table.module.mjs +0 -63
  277. package/esm2022/lib/components/tag/index.mjs +0 -3
  278. package/esm2022/lib/components/tag/tag.component.mjs +0 -71
  279. package/esm2022/lib/components/tag/tag.module.mjs +0 -28
  280. package/esm2022/lib/components/textarea/index.mjs +0 -3
  281. package/esm2022/lib/components/textarea/textarea.component.mjs +0 -139
  282. package/esm2022/lib/components/textarea/textarea.module.mjs +0 -21
  283. package/esm2022/lib/components/toggle/index.mjs +0 -3
  284. package/esm2022/lib/components/toggle/models/options.model.mjs +0 -3
  285. package/esm2022/lib/components/toggle/toggle.component.mjs +0 -102
  286. package/esm2022/lib/components/toggle/toggle.module.mjs +0 -35
  287. package/esm2022/lib/components/tooltip/index.mjs +0 -3
  288. package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -170
  289. package/esm2022/lib/components/tooltip/tooltip.module.mjs +0 -30
  290. package/esm2022/lib/components/trip-summary/index.mjs +0 -3
  291. package/esm2022/lib/components/trip-summary/trip-summary.component.mjs +0 -167
  292. package/esm2022/lib/components/trip-summary/trip-summary.module.mjs +0 -36
  293. package/esm2022/lib/core/base/nas-component.base.mjs +0 -48
  294. package/esm2022/lib/core/decorators/debounce.decorator.mjs +0 -12
  295. package/esm2022/lib/core/directives/index.mjs +0 -3
  296. package/esm2022/lib/core/directives/nas-class/nas-class.directive.mjs +0 -80
  297. package/esm2022/lib/core/directives/nas-class/nas-class.module.mjs +0 -20
  298. package/esm2022/lib/core/extensions/html-element.extension.mjs +0 -31
  299. package/esm2022/lib/core/index.mjs +0 -5
  300. package/esm2022/lib/core/models/abandoned-basket-item.model.mjs +0 -2
  301. package/esm2022/lib/core/models/animate.model.mjs +0 -2
  302. package/esm2022/lib/core/models/class.model.mjs +0 -2
  303. package/esm2022/lib/core/models/index.mjs +0 -7
  304. package/esm2022/lib/core/models/link.model.mjs +0 -2
  305. package/esm2022/lib/core/models/position.model.mjs +0 -2
  306. package/esm2022/lib/core/models/utc-date.model.mjs +0 -40
  307. package/esm2022/lib/core/services/abandoned-basket/abandoned-basket.service.mjs +0 -61
  308. package/esm2022/lib/core/services/animate-helper/animate-helper.service.mjs +0 -49
  309. package/esm2022/lib/core/services/bem-helper/bem-helper.service.mjs +0 -44
  310. package/esm2022/lib/core/services/date/date-compare.enum.mjs +0 -7
  311. package/esm2022/lib/core/services/date/date-helper.service.mjs +0 -199
  312. package/esm2022/lib/core/services/device/device-helper.service.mjs +0 -46
  313. package/esm2022/lib/core/services/geolocation/geolocation-state.enum.mjs +0 -8
  314. package/esm2022/lib/core/services/geolocation/geolocation.service.mjs +0 -66
  315. package/esm2022/lib/core/services/index.mjs +0 -10
  316. package/esm2022/lib/core/services/language/language-helper.service.mjs +0 -114
  317. package/esm2022/lib/core/services/sort/sort.service.mjs +0 -25
  318. package/esm2022/lib/core/services/viewport/viewport.service.mjs +0 -36
  319. package/esm2022/lib/index.mjs +0 -5
  320. package/esm2022/lib/services/get-position.service.mjs +0 -23
  321. package/esm2022/lib/services/index.mjs +0 -2
  322. package/esm2022/lib/shared/index.mjs +0 -2
  323. package/esm2022/lib/shared/models/flight-details.mjs +0 -3
  324. package/esm2022/lib/shared/models/index.mjs +0 -6
  325. package/esm2022/lib/shared/models/journey-availability-sort.model.mjs +0 -2
  326. package/esm2022/lib/shared/models/journey-availability.model.mjs +0 -2
  327. package/esm2022/lib/shared/models/journey-details.model.mjs +0 -2
  328. package/esm2022/lib/shared/models/journey-duration.model.mjs +0 -2
  329. package/esm2022/lib/shared/models/journey-stopover.model.mjs +0 -2
  330. package/esm2022/lib/shared/models/journey-transit-info.model.mjs +0 -2
  331. package/esm2022/lib/shared/models/operating-carrier.model.mjs +0 -2
  332. package/esm2022/lib/shared/models/sort-option.model.mjs +0 -2
  333. package/esm2022/lib/shared/models/sort.model.mjs +0 -2
  334. package/esm2022/lib/shared/models/trip-item-details.model.mjs +0 -2
  335. package/esm2022/lib/shared/models/trip-summary-details.model.mjs +0 -2
  336. package/esm2022/lib/shared/models/trip-summary.model.mjs +0 -2
  337. package/esm2022/norwegian-core-components.mjs +0 -5
  338. package/esm2022/public_api.mjs +0 -2
  339. package/lib/components/accordion/accordion.component.d.ts +0 -215
  340. package/lib/components/accordion/accordion.module.d.ts +0 -10
  341. package/lib/components/accordion/index.d.ts +0 -2
  342. package/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.d.ts +0 -100
  343. package/lib/components/airport-select/airport-select.component.d.ts +0 -330
  344. package/lib/components/airport-select/airport-select.module.d.ts +0 -13
  345. package/lib/components/airport-select/index.d.ts +0 -6
  346. package/lib/components/airport-select/models/airport-select-event.model.d.ts +0 -4
  347. package/lib/components/airport-select/models/airport-select-state.model.d.ts +0 -5
  348. package/lib/components/airport-select/models/airport.model.d.ts +0 -11
  349. package/lib/components/airport-select/models/results-labels.model.d.ts +0 -8
  350. package/lib/components/airport-select/services/airport-select-dropdown.service.d.ts +0 -10
  351. package/lib/components/airport-select/services/airport-select.service.d.ts +0 -8
  352. package/lib/components/alert/alert.component.d.ts +0 -129
  353. package/lib/components/alert/alert.module.d.ts +0 -12
  354. package/lib/components/alert/index.d.ts +0 -3
  355. package/lib/components/alert/models/alert.model.d.ts +0 -10
  356. package/lib/components/autocomplete/autocomplete.component.d.ts +0 -135
  357. package/lib/components/autocomplete/autocomplete.module.d.ts +0 -13
  358. package/lib/components/autocomplete/index.d.ts +0 -3
  359. package/lib/components/autocomplete/models/autocomplete.model.d.ts +0 -5
  360. package/lib/components/backdrop/backdrop.component.d.ts +0 -38
  361. package/lib/components/backdrop/backdrop.module.d.ts +0 -9
  362. package/lib/components/backdrop/index.d.ts +0 -2
  363. package/lib/components/box/box.component.d.ts +0 -78
  364. package/lib/components/box/box.module.d.ts +0 -9
  365. package/lib/components/box/index.d.ts +0 -2
  366. package/lib/components/button/button.component.d.ts +0 -294
  367. package/lib/components/button/button.module.d.ts +0 -11
  368. package/lib/components/button/index.d.ts +0 -2
  369. package/lib/components/campaign-header/campaign-header.component.d.ts +0 -58
  370. package/lib/components/campaign-header/campaign-header.module.d.ts +0 -10
  371. package/lib/components/campaign-header/index.d.ts +0 -2
  372. package/lib/components/checkbox/checkbox.component.d.ts +0 -151
  373. package/lib/components/checkbox/checkbox.module.d.ts +0 -10
  374. package/lib/components/checkbox/index.d.ts +0 -2
  375. package/lib/components/chip/chip.component.d.ts +0 -48
  376. package/lib/components/chip/chip.module.d.ts +0 -9
  377. package/lib/components/chip/index.d.ts +0 -2
  378. package/lib/components/container/container.component.d.ts +0 -52
  379. package/lib/components/container/container.module.d.ts +0 -9
  380. package/lib/components/container/index.d.ts +0 -2
  381. package/lib/components/continue/continue.component.d.ts +0 -171
  382. package/lib/components/continue/continue.module.d.ts +0 -11
  383. package/lib/components/continue/index.d.ts +0 -2
  384. package/lib/components/cover/cover.component.d.ts +0 -125
  385. package/lib/components/cover/cover.module.d.ts +0 -11
  386. package/lib/components/cover/index.d.ts +0 -2
  387. package/lib/components/datepicker/calendar/calendar.component.d.ts +0 -169
  388. package/lib/components/datepicker/calendar/enums/week-start.enum.d.ts +0 -4
  389. package/lib/components/datepicker/calendar/models/calendar-date.model.d.ts +0 -5
  390. package/lib/components/datepicker/calendar/models/calendar.model.d.ts +0 -4
  391. package/lib/components/datepicker/calendar/models/day.model.d.ts +0 -10
  392. package/lib/components/datepicker/calendar/models/select-option.model.d.ts +0 -4
  393. package/lib/components/datepicker/calendar/models/week.model.d.ts +0 -5
  394. package/lib/components/datepicker/datepicker.component.d.ts +0 -289
  395. package/lib/components/datepicker/datepicker.module.d.ts +0 -16
  396. package/lib/components/datepicker/index.d.ts +0 -8
  397. package/lib/components/datepicker/services/calendar.service.d.ts +0 -27
  398. package/lib/components/datepicker-combo/datepicker-combo.component.d.ts +0 -322
  399. package/lib/components/datepicker-combo/datepicker-combo.module.d.ts +0 -10
  400. package/lib/components/datepicker-combo/index.d.ts +0 -2
  401. package/lib/components/divider/divider.component.d.ts +0 -68
  402. package/lib/components/divider/divider.module.d.ts +0 -10
  403. package/lib/components/divider/index.d.ts +0 -2
  404. package/lib/components/dropdown/dropdown.component.d.ts +0 -80
  405. package/lib/components/dropdown/dropdown.module.d.ts +0 -11
  406. package/lib/components/dropdown/index.d.ts +0 -2
  407. package/lib/components/filter/enums/trip-type.enum.d.ts +0 -6
  408. package/lib/components/filter/filter.component.d.ts +0 -868
  409. package/lib/components/filter/filter.module.d.ts +0 -22
  410. package/lib/components/filter/index.d.ts +0 -3
  411. package/lib/components/grid/col/col.component.d.ts +0 -45
  412. package/lib/components/grid/grid.component.d.ts +0 -92
  413. package/lib/components/grid/grid.module.d.ts +0 -10
  414. package/lib/components/grid/index.d.ts +0 -3
  415. package/lib/components/icon/icon.component.d.ts +0 -53
  416. package/lib/components/icon/icon.module.d.ts +0 -9
  417. package/lib/components/icon/index.d.ts +0 -2
  418. package/lib/components/icon-list/icon-list.component.d.ts +0 -49
  419. package/lib/components/icon-list/icon-list.module.d.ts +0 -10
  420. package/lib/components/icon-list/index.d.ts +0 -3
  421. package/lib/components/icon-list/models/icon-list.model.d.ts +0 -8
  422. package/lib/components/index.d.ts +0 -66
  423. package/lib/components/info/index.d.ts +0 -3
  424. package/lib/components/info/info.component.d.ts +0 -108
  425. package/lib/components/info/info.module.d.ts +0 -12
  426. package/lib/components/info/models/info.model.d.ts +0 -9
  427. package/lib/components/input/index.d.ts +0 -2
  428. package/lib/components/input/input.component.d.ts +0 -214
  429. package/lib/components/input/input.module.d.ts +0 -11
  430. package/lib/components/journey/index.d.ts +0 -5
  431. package/lib/components/journey/journey.component.d.ts +0 -102
  432. package/lib/components/journey/journey.module.d.ts +0 -11
  433. package/lib/components/journey/models/journey-flight.model.d.ts +0 -13
  434. package/lib/components/journey/models/journey.model.d.ts +0 -5
  435. package/lib/components/journey/models/marketing-carrier.enum.d.ts +0 -6
  436. package/lib/components/journey-availability/index.d.ts +0 -2
  437. package/lib/components/journey-availability/journey-availability.component.d.ts +0 -93
  438. package/lib/components/journey-availability/journey-availability.module.d.ts +0 -12
  439. package/lib/components/journey-availability-list/enums/availability-sort-option.enum.d.ts +0 -5
  440. package/lib/components/journey-availability-list/index.d.ts +0 -3
  441. package/lib/components/journey-availability-list/journey-availability-list.component.d.ts +0 -114
  442. package/lib/components/journey-availability-list/journey-availability-list.module.d.ts +0 -12
  443. package/lib/components/journey-selection/index.d.ts +0 -6
  444. package/lib/components/journey-selection/journey-selection.component.d.ts +0 -84
  445. package/lib/components/journey-selection/journey-selection.module.d.ts +0 -11
  446. package/lib/components/journey-selection/models/journey-selection-collapsed.model.d.ts +0 -11
  447. package/lib/components/journey-selection/models/journey-selection-common.model.d.ts +0 -7
  448. package/lib/components/journey-selection/models/journey-selection-expanded.model.d.ts +0 -5
  449. package/lib/components/journey-selection/models/journey-selection.model.d.ts +0 -14
  450. package/lib/components/journey-stopover/index.d.ts +0 -3
  451. package/lib/components/journey-stopover/journey-stopover.component.d.ts +0 -131
  452. package/lib/components/journey-stopover/journey-stopover.module.d.ts +0 -11
  453. package/lib/components/journey-stopover/models/stopover-time.model.d.ts +0 -4
  454. package/lib/components/list/index.d.ts +0 -3
  455. package/lib/components/list/list-item/list-item.component.d.ts +0 -35
  456. package/lib/components/list/list.component.d.ts +0 -76
  457. package/lib/components/list/list.module.d.ts +0 -10
  458. package/lib/components/micro-button/index.d.ts +0 -2
  459. package/lib/components/micro-button/micro-button.component.d.ts +0 -139
  460. package/lib/components/micro-button/micro-button.module.d.ts +0 -10
  461. package/lib/components/modal/index.d.ts +0 -2
  462. package/lib/components/modal/modal.component.d.ts +0 -119
  463. package/lib/components/modal/modal.module.d.ts +0 -12
  464. package/lib/components/number-field/index.d.ts +0 -3
  465. package/lib/components/number-field/models/number-field.model.d.ts +0 -5
  466. package/lib/components/number-field/number-field.component.d.ts +0 -124
  467. package/lib/components/number-field/number-field.module.d.ts +0 -12
  468. package/lib/components/page-footer/index.d.ts +0 -2
  469. package/lib/components/page-footer/page-footer.component.d.ts +0 -53
  470. package/lib/components/page-footer/page-footer.module.d.ts +0 -11
  471. package/lib/components/page-header/hamburger/hamburger.component.d.ts +0 -12
  472. package/lib/components/page-header/index.d.ts +0 -5
  473. package/lib/components/page-header/models/wallet.model.d.ts +0 -21
  474. package/lib/components/page-header/page-header.component.d.ts +0 -127
  475. package/lib/components/page-header/page-header.module.d.ts +0 -17
  476. package/lib/components/page-header/search/search.component.d.ts +0 -26
  477. package/lib/components/page-header/wallet/wallet.component.d.ts +0 -23
  478. package/lib/components/passenger-select/enums/passenger-type.enum.d.ts +0 -7
  479. package/lib/components/passenger-select/index.d.ts +0 -4
  480. package/lib/components/passenger-select/models/passengers.model.d.ts +0 -11
  481. package/lib/components/passenger-select/passenger-select.component.d.ts +0 -141
  482. package/lib/components/passenger-select/passenger-select.module.d.ts +0 -10
  483. package/lib/components/phone-number/index.d.ts +0 -2
  484. package/lib/components/phone-number/phone-number.component.d.ts +0 -263
  485. package/lib/components/phone-number/phone-number.module.d.ts +0 -13
  486. package/lib/components/premium-toggle/index.d.ts +0 -2
  487. package/lib/components/premium-toggle/premium-toggle.component.d.ts +0 -50
  488. package/lib/components/premium-toggle/premium-toggle.module.d.ts +0 -10
  489. package/lib/components/radio/index.d.ts +0 -2
  490. package/lib/components/radio/radio.component.d.ts +0 -137
  491. package/lib/components/radio/radio.module.d.ts +0 -10
  492. package/lib/components/ribbon-banner/index.d.ts +0 -2
  493. package/lib/components/ribbon-banner/ribbon-banner.component.d.ts +0 -66
  494. package/lib/components/ribbon-banner/ribbon-banner.module.d.ts +0 -13
  495. package/lib/components/select/index.d.ts +0 -5
  496. package/lib/components/select/models/select-option.model.d.ts +0 -4
  497. package/lib/components/select/optgroup/optgroup.component.d.ts +0 -25
  498. package/lib/components/select/option/option.component.d.ts +0 -24
  499. package/lib/components/select/select.component.d.ts +0 -197
  500. package/lib/components/select/select.module.d.ts +0 -13
  501. package/lib/components/simple-list/index.d.ts +0 -2
  502. package/lib/components/simple-list/simple-list.component.d.ts +0 -60
  503. package/lib/components/simple-list/simple-list.module.d.ts +0 -9
  504. package/lib/components/slide-toggle/index.d.ts +0 -2
  505. package/lib/components/slide-toggle/slide-toggle.component.d.ts +0 -70
  506. package/lib/components/slide-toggle/slide-toggle.module.d.ts +0 -10
  507. package/lib/components/slider/index.d.ts +0 -2
  508. package/lib/components/slider/slider.component.d.ts +0 -216
  509. package/lib/components/slider/slider.module.d.ts +0 -10
  510. package/lib/components/sort/index.d.ts +0 -2
  511. package/lib/components/sort/sort.component.d.ts +0 -55
  512. package/lib/components/sort/sort.module.d.ts +0 -12
  513. package/lib/components/spinner/index.d.ts +0 -2
  514. package/lib/components/spinner/spinner.component.d.ts +0 -104
  515. package/lib/components/spinner/spinner.module.d.ts +0 -9
  516. package/lib/components/status-box/index.d.ts +0 -3
  517. package/lib/components/status-box/models/status-box.model.d.ts +0 -5
  518. package/lib/components/status-box/status-box.component.d.ts +0 -92
  519. package/lib/components/status-box/status-box.module.d.ts +0 -11
  520. package/lib/components/suggestions/index.d.ts +0 -2
  521. package/lib/components/suggestions/suggestions.component.d.ts +0 -36
  522. package/lib/components/suggestions/suggestions.module.d.ts +0 -10
  523. package/lib/components/tab-group/index.d.ts +0 -3
  524. package/lib/components/tab-group/tab/tab.component.d.ts +0 -97
  525. package/lib/components/tab-group/tab-group.component.d.ts +0 -42
  526. package/lib/components/tab-group/tab-group.module.d.ts +0 -11
  527. package/lib/components/table/column/column.component.d.ts +0 -6
  528. package/lib/components/table/column-group/column-group.component.d.ts +0 -15
  529. package/lib/components/table/index.d.ts +0 -10
  530. package/lib/components/table/services/table.service.d.ts +0 -8
  531. package/lib/components/table/table-body/table-body.component.d.ts +0 -15
  532. package/lib/components/table/table-foot/table-foot.component.d.ts +0 -15
  533. package/lib/components/table/table-head/table-head.component.d.ts +0 -15
  534. package/lib/components/table/table-row/table-data/table-data.component.d.ts +0 -5
  535. package/lib/components/table/table-row/table-header/table-header.component.d.ts +0 -5
  536. package/lib/components/table/table-row/table-row.component.d.ts +0 -15
  537. package/lib/components/table/table.component.d.ts +0 -19
  538. package/lib/components/table/table.module.d.ts +0 -17
  539. package/lib/components/tag/index.d.ts +0 -2
  540. package/lib/components/tag/tag.component.d.ts +0 -71
  541. package/lib/components/tag/tag.module.d.ts +0 -10
  542. package/lib/components/textarea/index.d.ts +0 -2
  543. package/lib/components/textarea/textarea.component.d.ts +0 -156
  544. package/lib/components/textarea/textarea.module.d.ts +0 -11
  545. package/lib/components/toggle/index.d.ts +0 -2
  546. package/lib/components/toggle/models/options.model.d.ts +0 -7
  547. package/lib/components/toggle/toggle.component.d.ts +0 -159
  548. package/lib/components/toggle/toggle.module.d.ts +0 -11
  549. package/lib/components/tooltip/index.d.ts +0 -2
  550. package/lib/components/tooltip/tooltip.component.d.ts +0 -63
  551. package/lib/components/tooltip/tooltip.module.d.ts +0 -10
  552. package/lib/components/trip-summary/index.d.ts +0 -2
  553. package/lib/components/trip-summary/trip-summary.component.d.ts +0 -162
  554. package/lib/components/trip-summary/trip-summary.module.d.ts +0 -12
  555. package/lib/core/base/nas-component.base.d.ts +0 -11
  556. package/lib/core/decorators/debounce.decorator.d.ts +0 -1
  557. package/lib/core/directives/index.d.ts +0 -2
  558. package/lib/core/directives/nas-class/nas-class.directive.d.ts +0 -14
  559. package/lib/core/directives/nas-class/nas-class.module.d.ts +0 -8
  560. package/lib/core/extensions/html-element.extension.d.ts +0 -6
  561. package/lib/core/index.d.ts +0 -4
  562. package/lib/core/models/abandoned-basket-item.model.d.ts +0 -14
  563. package/lib/core/models/animate.model.d.ts +0 -6
  564. package/lib/core/models/class.model.d.ts +0 -7
  565. package/lib/core/models/index.d.ts +0 -6
  566. package/lib/core/models/link.model.d.ts +0 -5
  567. package/lib/core/models/position.model.d.ts +0 -4
  568. package/lib/core/models/utc-date.model.d.ts +0 -13
  569. package/lib/core/services/abandoned-basket/abandoned-basket.service.d.ts +0 -10
  570. package/lib/core/services/animate-helper/animate-helper.service.d.ts +0 -9
  571. package/lib/core/services/bem-helper/bem-helper.service.d.ts +0 -7
  572. package/lib/core/services/date/date-compare.enum.d.ts +0 -5
  573. package/lib/core/services/date/date-helper.service.d.ts +0 -22
  574. package/lib/core/services/device/device-helper.service.d.ts +0 -16
  575. package/lib/core/services/geolocation/geolocation-state.enum.d.ts +0 -6
  576. package/lib/core/services/geolocation/geolocation.service.d.ts +0 -9
  577. package/lib/core/services/index.d.ts +0 -9
  578. package/lib/core/services/language/language-helper.service.d.ts +0 -12
  579. package/lib/core/services/sort/sort.service.d.ts +0 -6
  580. package/lib/core/services/viewport/viewport.service.d.ts +0 -11
  581. package/lib/index.d.ts +0 -4
  582. package/lib/services/get-position.service.d.ts +0 -9
  583. package/lib/services/index.d.ts +0 -1
  584. package/lib/shared/index.d.ts +0 -1
  585. package/lib/shared/models/flight-details.d.ts +0 -22
  586. package/lib/shared/models/index.d.ts +0 -5
  587. package/lib/shared/models/journey-availability-sort.model.d.ts +0 -8
  588. package/lib/shared/models/journey-availability.model.d.ts +0 -25
  589. package/lib/shared/models/journey-details.model.d.ts +0 -8
  590. package/lib/shared/models/journey-duration.model.d.ts +0 -7
  591. package/lib/shared/models/journey-stopover.model.d.ts +0 -15
  592. package/lib/shared/models/journey-transit-info.model.d.ts +0 -5
  593. package/lib/shared/models/operating-carrier.model.d.ts +0 -4
  594. package/lib/shared/models/sort-option.model.d.ts +0 -11
  595. package/lib/shared/models/sort.model.d.ts +0 -10
  596. package/lib/shared/models/trip-item-details.model.d.ts +0 -12
  597. package/lib/shared/models/trip-summary-details.model.d.ts +0 -5
  598. package/lib/shared/models/trip-summary.model.d.ts +0 -4
  599. package/public_api.d.ts +0 -1
@@ -1,404 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /**
3
- * @license
4
- * Copyright Norwegian Air Shuttle. All Rights Reserved.
5
- */
6
- import { Component, Input, Output, EventEmitter, ViewEncapsulation, ViewChild, ContentChildren, HostListener } from '@angular/core';
7
- import { FormControl } from '@angular/forms';
8
- import { NasComponentBase } from '../../core';
9
- import { OptionComponent } from './option/option.component';
10
- import { OptgroupComponent } from './optgroup/optgroup.component';
11
- import { Debounce } from '../../core/decorators/debounce.decorator';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "@angular/forms";
15
- import * as i3 from "../../core/directives/nas-class/nas-class.directive";
16
- import * as i4 from "../icon/icon.component";
17
- let nextId = 0;
18
- /**
19
- * @description
20
- * Norwegian Select Component | Form Controls | New design
21
- */
22
- export class SelectComponent extends NasComponentBase {
23
- /**
24
- * @property Input
25
- * @description
26
- * Add options to the selector.
27
- */
28
- get options() {
29
- return this.optionsValue;
30
- }
31
- set options(value) {
32
- this.optionsValue = value;
33
- if (this.options && this.options.length > 0 && !this.selected) {
34
- const option = this.options[0];
35
- this.setSelectedTitle(option);
36
- if (this.selectedValue === option) {
37
- return;
38
- }
39
- this.selectedValue = option;
40
- this.selectControl.setValue(this.selectedValue.value);
41
- }
42
- }
43
- /**
44
- * @property Input
45
- * @description
46
- * Gets or sets the selected value.
47
- */
48
- get selected() {
49
- return this.selectedValue;
50
- }
51
- set selected(option) {
52
- if (!option) {
53
- return;
54
- }
55
- this.setSelectedTitle(option);
56
- this.valid = !!option?.value && !this.exists(this.error);
57
- this.active = false;
58
- if (this.selectedValue === option) {
59
- return;
60
- }
61
- this.selectedValue = option;
62
- this.selectControl.setValue(this.selectedValue.value);
63
- }
64
- constructor(change) {
65
- super('nas-select');
66
- this.change = change;
67
- this.selectControl = new FormControl();
68
- this.hasContent = false;
69
- /**
70
- * @property Output
71
- * @description
72
- * An event that is fired every time a selection is done.
73
- */
74
- this.selectedChange = new EventEmitter();
75
- /**
76
- * @property Output
77
- * @description
78
- * An events that fires every type a keydown event has been pressed on the select element.
79
- */
80
- this.keyDownEvent = new EventEmitter();
81
- this.open = false;
82
- this.componentId = nextId++;
83
- }
84
- onKeydown(e) {
85
- this.lastWasTab = e.key === 'Tab';
86
- }
87
- ngOnInit() {
88
- if (!this.selected && this.options && this.options.length > 1) {
89
- const option = this.options[0];
90
- this.selected = option;
91
- this.valid = !!option.value && !this.exists(this.error) && !this.exists(this.disabled);
92
- }
93
- if (this.nasFormGroup && this.nasFormControlName) {
94
- const formControl = this.nasFormGroup.get(this.nasFormControlName);
95
- formControl.valueChanges.subscribe(value => {
96
- this.valid = !!value;
97
- });
98
- }
99
- }
100
- ngOnChanges() {
101
- if (this.selectedValue) {
102
- this.selectControl.setValue(this.selectedValue.value);
103
- }
104
- }
105
- ngAfterContentInit() {
106
- if ((this.optionComponents && this.optionComponents.length > 0) ||
107
- (this.optgroupComponents && this.optgroupComponents.length > 0)) {
108
- this.hasContent = true;
109
- }
110
- if (this.selectedValue) {
111
- return;
112
- }
113
- if (this.optionComponents && this.optionComponents.length > 0) {
114
- this.setFirstOptionSelected(this.optionComponents);
115
- }
116
- else if (this.optgroupComponents && this.optgroupComponents.length > 0) {
117
- const firstOptgroupComponent = this.optgroupComponents.first;
118
- if (firstOptgroupComponent) {
119
- this.setFirstOptionSelected(firstOptgroupComponent.optionComponents);
120
- }
121
- }
122
- }
123
- ngAfterViewChecked() {
124
- if (!this.hasContent && !this.selectedValue) {
125
- if (this.options && this.options.length > 0) {
126
- this.setSelectedTitle(this.options[0]);
127
- }
128
- return;
129
- }
130
- if (this.selectedValue) {
131
- this.selectControl.setValue(this.selectedValue.value);
132
- this.setSelectedTitle(this.selectedValue);
133
- }
134
- }
135
- getSelectId() {
136
- return `nas-select-${this.componentId}`;
137
- }
138
- get selectId() {
139
- return this.id ? this.id : `nas-select-${this.componentId}`;
140
- }
141
- get errorId() {
142
- return this.id
143
- ? this.id + '__error'
144
- : `nas-select-${this.componentId}__error`;
145
- }
146
- toggleSelect(event, keydown) {
147
- if ((event && event.key === 'Enter') || !event || !event.key) {
148
- this.open = !this.open;
149
- if (keydown) {
150
- this.keyDownEvent.emit(event);
151
- }
152
- if (!event) {
153
- return;
154
- }
155
- if (!this.open) {
156
- this.active = false;
157
- }
158
- const target = event.target;
159
- if (this.options) {
160
- const selected = this.options.find((x) => x.value === target.value);
161
- if (selected && (!this.selected || selected.value !== this.selected.value)) {
162
- this.setSelectedAndEmitChange(selected);
163
- }
164
- }
165
- if (this.optionComponents && this.optionComponents.length > 0) {
166
- const selected = this.optionComponents.find((x) => x.option.value === target.value);
167
- if (selected && (!this.selected || selected.option.value !== this.selected.value)) {
168
- this.setSelectedAndEmitChange(selected.option);
169
- return;
170
- }
171
- }
172
- if (this.optgroupComponents && this.optgroupComponents.length > 0) {
173
- this.optgroupComponents.forEach((optgroupComponent) => {
174
- if (optgroupComponent.optionComponents) {
175
- const selected = optgroupComponent.optionComponents.find((x) => x.option.value === target.value);
176
- if (selected && (!this.selected || selected.option.value !== this.selected.value)) {
177
- this.setSelectedAndEmitChange(selected.option);
178
- return;
179
- }
180
- }
181
- });
182
- }
183
- this.updateShadow(target, target.value);
184
- }
185
- }
186
- blurSelect() {
187
- this.open = false;
188
- this.active = false;
189
- this.focus = false;
190
- }
191
- getClasses() {
192
- const classes = [
193
- this.getClass('', [
194
- this.label,
195
- this.exists(this.inline) && 'inline',
196
- this.exists(this.block) && 'block',
197
- this.exists(this.spaceless) && 'spaceless',
198
- this.exists(this.stretch) && 'stretch',
199
- this.exists(this.compact) && 'compact',
200
- this.exists(this.simple) && 'simple',
201
- this.exists(this.light) && 'light',
202
- this.exists(this.fill) && 'fill',
203
- this.exists(this.error) && 'error',
204
- this.exists(this.disabled) && 'disabled',
205
- this.active && 'active',
206
- this.valid && 'valid',
207
- this.focus && 'focus',
208
- this.open && 'rotate'
209
- ]),
210
- ];
211
- if (this.cssClass) {
212
- classes.push(this.cssClass);
213
- }
214
- return classes;
215
- }
216
- activeSelect() {
217
- if (this.exists(this.error) || this.exists(this.disabled)) {
218
- this.active = false;
219
- return;
220
- }
221
- this.active = true;
222
- this.focus = false;
223
- }
224
- focusSelect() {
225
- this.focus = this.lastWasTab;
226
- this.lastWasTab = false;
227
- }
228
- setSelectedAndEmitChange(selected) {
229
- if (!selected) {
230
- return;
231
- }
232
- if (this.selected !== selected) {
233
- this.selectedChange.emit(selected);
234
- }
235
- this.selected = selected;
236
- }
237
- setFirstOptionSelected(optionComponents) {
238
- if (!optionComponents || optionComponents.length <= 0) {
239
- return;
240
- }
241
- const firstOptionComponent = optionComponents.first;
242
- if (firstOptionComponent) {
243
- this.selectedValue = firstOptionComponent.option;
244
- this.setSelectedTitle(this.selectedValue);
245
- }
246
- }
247
- updateShadow(target, targetValue) {
248
- if (this.label || this.block || !this.autogrow || !target) {
249
- return;
250
- }
251
- let value;
252
- if (target.selectedOptions && target.selectedOptions.length) {
253
- value = target.selectedOptions[0].innerHTML;
254
- }
255
- else {
256
- value = targetValue;
257
- }
258
- const shadow = document.createElement('select');
259
- const computedStyle = window.getComputedStyle(target);
260
- shadow.style.position = 'absolute';
261
- shadow.style.top = '-1000px';
262
- shadow.style.left = '-1000px';
263
- shadow.style.width = 'auto';
264
- shadow.style.maxWidth = 'none';
265
- shadow.style.fontSize = computedStyle.getPropertyValue('font-size');
266
- shadow.style.fontFamily = computedStyle.getPropertyValue('font-family');
267
- shadow.style.fontWeight = computedStyle.getPropertyValue('font-weight');
268
- shadow.style.letterSpacing = computedStyle.getPropertyValue('letter-spacing');
269
- shadow.style.paddingTop = computedStyle.getPropertyValue('padding-top');
270
- shadow.style.paddingRight = computedStyle.getPropertyValue('padding-right');
271
- shadow.style.paddingBottom = computedStyle.getPropertyValue('padding-bottom');
272
- shadow.style.paddingLeft = computedStyle.getPropertyValue('padding-left');
273
- shadow.style.borderTop = computedStyle.getPropertyValue('border-top');
274
- shadow.style.borderRight = computedStyle.getPropertyValue('border-right');
275
- shadow.style.borderBottom = computedStyle.getPropertyValue('border-bottom');
276
- shadow.style.borderLeft = computedStyle.getPropertyValue('border-left');
277
- const option = document.createElement('option');
278
- option.value = value;
279
- option.innerHTML = value;
280
- shadow.appendChild(option);
281
- target.style.width = `${shadow.offsetWidth + 6}px`;
282
- }
283
- setSelectedTitle(option) {
284
- if (this.exists(this.simple) || this.exists(this.inline)) {
285
- const selectTitleWrapper = this.selectTitleWrapper.nativeElement;
286
- if (!selectTitleWrapper) {
287
- return;
288
- }
289
- if (!option) {
290
- selectTitleWrapper.style.display = 'none';
291
- return;
292
- }
293
- this.selectTitle = option.title;
294
- selectTitleWrapper.style.display = 'block';
295
- selectTitleWrapper.style.whiteSpace = 'nowrap';
296
- if (!this.select) {
297
- return;
298
- }
299
- const selectElement = this.select.nativeElement;
300
- if (!selectElement) {
301
- return;
302
- }
303
- const selectStyle = window.getComputedStyle(selectElement);
304
- let selectPaddingLeft = 0;
305
- let selectPaddingRight = 0;
306
- let selectBorderLeft = 0;
307
- let selectBorderRight = 0;
308
- if (selectStyle) {
309
- selectPaddingLeft = parseInt(selectStyle.paddingLeft, 10);
310
- selectPaddingRight = parseInt(selectStyle.paddingRight, 10);
311
- selectBorderLeft = parseInt(selectStyle.borderLeft, 10);
312
- selectBorderRight = parseInt(selectStyle.borderRight, 10);
313
- }
314
- const selectTitleWrapperTitle = selectTitleWrapper.lastElementChild;
315
- let offsetWidth = selectPaddingLeft + selectPaddingRight + selectBorderLeft + selectBorderRight;
316
- if (selectTitleWrapperTitle) {
317
- offsetWidth += selectTitleWrapperTitle.offsetWidth;
318
- if (this.exists(this.error) && this.errorMessageWrapper) {
319
- const selectErrorWidth = parseInt(window.getComputedStyle(this.errorMessageWrapper.nativeElement).width, 10);
320
- if (selectErrorWidth > offsetWidth) {
321
- offsetWidth = selectErrorWidth;
322
- }
323
- }
324
- }
325
- if (offsetWidth > 0) {
326
- this.labelWidth = offsetWidth;
327
- this.change.detectChanges();
328
- }
329
- selectTitleWrapper.style.display = 'none';
330
- }
331
- }
332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, host: { listeners: { "document:keydown": "onKeydown($event)" } }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [formControl]=\"selectControl\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
334
- }
335
- __decorate([
336
- Debounce(150)
337
- ], SelectComponent.prototype, "setSelectedAndEmitChange", null);
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, decorators: [{
339
- type: Component,
340
- args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label id=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label-text')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\" [formControl]=\"selectControl\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (click)=\"activeSelect()\" (focus)=\"focusSelect()\" (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <div *ngIf=\"exists(error) && errorMessage\" [nasClass]=\"getClass('error')\">\n <span [nasClass]=\"getClass('error--icon')\">\n <nas-icon type=\"negative\"></nas-icon>\n </span>\n <p [nasClass]=\"getClass('error--text')\">{{errorMessage}}</p>\n </div>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label-text{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:2px solid #6F6F6F;outline:0;font-size:16px;color:#6f6f6f;background-color:#fff}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #1C1C1C}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#e9e7e4}.nas-select option,.nas-select optgroup{color:#15273f}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#e9e7e4}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{opacity:1;background-color:#e9e7e4;border-color:#e9e7e4}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:#15273f;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{background-color:transparent;font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #E9E7E4;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline select:hover,.nas-select--inline select:focus,.nas-select--simple select:hover,.nas-select--simple select:focus{border-color:#15273f}.nas-select--inline select:active,.nas-select--simple select:active{border-color:#15273f}.nas-select--inline option,.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d;background-color:#fff5f3;color:#15273f}.nas-select--error option{background-color:#fff}.nas-select--error.nas-select--inline select,.nas-select--error.nas-select--simple select{background-color:transparent}.nas-select--error:after{top:24px;bottom:auto}.nas-select--active select{border:2px solid #15273F;background-color:#ebf4ff}.nas-select--active option,.nas-select--active optgroup{background-color:#fff}.nas-select--active.nas-select--inline select,.nas-select--active.nas-select--simple select{background-color:transparent;border:0}.nas-select--valid select{border:2px solid #15273F;color:#15273f}.nas-select--valid.nas-select--inline select,.nas-select--valid.nas-select--simple select{border-top:0;border-left:0;border-right:0;border-bottom:3px solid #15273F}.nas-select--focus select{outline:2px solid #0978E8;outline-offset:2px}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:flex;gap:8px}.nas-select__error--icon{transform:scale(.9)}.nas-select__error--text{color:#b12a0b;font-size:14px;font-weight:400;line-height:20px;margin-top:3px}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:NorwegianTextPro,Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
341
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectTitleWrapper: [{
342
- type: ViewChild,
343
- args: ['selectTitleWrapper', { static: true }]
344
- }], errorMessageWrapper: [{
345
- type: ViewChild,
346
- args: ['errorMessageWrapper']
347
- }], select: [{
348
- type: ViewChild,
349
- args: ['select']
350
- }], optionComponents: [{
351
- type: ContentChildren,
352
- args: [OptionComponent]
353
- }], optgroupComponents: [{
354
- type: ContentChildren,
355
- args: [OptgroupComponent]
356
- }], id: [{
357
- type: Input
358
- }], inline: [{
359
- type: Input
360
- }], label: [{
361
- type: Input
362
- }], block: [{
363
- type: Input
364
- }], spaceless: [{
365
- type: Input
366
- }], stretch: [{
367
- type: Input
368
- }], compact: [{
369
- type: Input
370
- }], simple: [{
371
- type: Input
372
- }], light: [{
373
- type: Input
374
- }], fill: [{
375
- type: Input
376
- }], error: [{
377
- type: Input
378
- }], errorMessage: [{
379
- type: Input
380
- }], disabled: [{
381
- type: Input
382
- }], autogrow: [{
383
- type: Input
384
- }], cssClass: [{
385
- type: Input
386
- }], nasFormControlName: [{
387
- type: Input
388
- }], nasFormGroup: [{
389
- type: Input
390
- }], options: [{
391
- type: Input
392
- }], selectedValue: [{
393
- type: Input
394
- }], selected: [{
395
- type: Input
396
- }], selectedChange: [{
397
- type: Output
398
- }], keyDownEvent: [{
399
- type: Output
400
- }], onKeydown: [{
401
- type: HostListener,
402
- args: ['document:keydown', ['$event']]
403
- }], setSelectedAndEmitChange: [] } });
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLFNBQVMsRUFHVCxlQUFlLEVBSWYsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBRXBFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQWlKbkQ7Ozs7TUFJRTtJQUNGLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTlCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLEVBQUU7Z0JBQ2pDLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBU0Q7Ozs7T0FJRztJQUNILElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsTUFBeUI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRTtZQUNqQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFxQkQsWUFBb0IsTUFBeUI7UUFDM0MsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBREYsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUEvTjdDLGtCQUFhLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUdsQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBeU1uQjs7OztXQUlHO1FBQ08sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUVqRTs7OztVQUlFO1FBQ1EsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUduRCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBTW5CLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUdELFNBQVMsQ0FBQyxDQUFnQjtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDbkUsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQTtZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM3RCxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNwRDthQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztZQUU3RCxJQUFJLHNCQUFzQixFQUFFO2dCQUMxQixJQUFJLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN0RTtTQUNGO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDM0MsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4QztZQUNELE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sY0FBYyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUU7WUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxTQUFTO1lBQ3JCLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxXQUFXLFNBQVMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVUsRUFBRSxPQUFpQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzVELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRXZCLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9CO1lBRUQsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzthQUNyQjtZQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFFNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDMUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QzthQUNGO1lBRUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDakYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDL0MsT0FBTztpQkFDUjthQUNGO1lBRUQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO29CQUNwRCxJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFO3dCQUN0QyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDakcsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTs0QkFDakYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDL0MsT0FBTzt5QkFDUjtxQkFDRjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sT0FBTyxHQUFzQjtZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLEtBQUs7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUTtnQkFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksV0FBVztnQkFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztnQkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUztnQkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUTtnQkFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVTtnQkFDeEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRO2dCQUN2QixJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU87Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTztnQkFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRO2FBQ3RCLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFHTyx3QkFBd0IsQ0FBQyxRQUEyQjtRQUMxRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxnQkFBNEM7UUFDekUsSUFBSSxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFFcEQsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztZQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFXLEVBQUUsV0FBbUI7UUFDbkQsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pELE9BQU87U0FDUjtRQUVELElBQUksS0FBYSxDQUFDO1FBRWxCLElBQUksTUFBTSxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUMzRCxLQUFLLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDN0M7YUFBTTtZQUNMLEtBQUssR0FBRyxXQUFXLENBQUM7U0FDckI7UUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDbkMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RSxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4RSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUF5QjtRQUNoRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQTRCLENBQUM7WUFFaEYsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUN2QixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUMxQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDM0Msa0JBQWtCLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLE9BQU87YUFDUjtZQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBNEIsQ0FBQztZQUUvRCxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixPQUFPO2FBQ1I7WUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0QsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDMUIsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7WUFDekIsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFFMUIsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFELGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDeEQsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDM0Q7WUFFRCxNQUFNLHVCQUF1QixHQUMzQixrQkFBa0IsQ0FBQyxnQkFBK0IsQ0FBQztZQUNyRCxJQUFJLFdBQVcsR0FBRyxpQkFBaUIsR0FBRyxrQkFBa0IsR0FBRyxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztZQUVoRyxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQixXQUFXLElBQUksdUJBQXVCLENBQUMsV0FBVyxDQUFDO2dCQUNuRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzdHLElBQUksZ0JBQWdCLEdBQUcsV0FBVyxFQUFFO3dCQUNsQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUM7cUJBQ2hDO2lCQUNGO2FBQ0Y7WUFFRCxJQUFJLFdBQVcsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO2dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQzdCO1lBRUQsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7U0FDM0M7SUFDSCxDQUFDOytHQWhoQlUsZUFBZTttR0FBZixlQUFlLDRwQkFhVCxlQUFlLHFEQUVmLGlCQUFpQixpWkMxRHBDLHV5RUEwQ007O0FEa1pKO0lBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzsrREFXYjs0RkEzWlUsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7d0dBWXJDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRWYsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDWCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRW5CLGdCQUFnQjtzQkFEZixlQUFlO3VCQUFDLGVBQWU7Z0JBR2hDLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBUXpCLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUssT0FBTztzQkFEakIsS0FBSztnQkEwQkcsYUFBYTtzQkFBckIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBMkJJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0csWUFBWTtzQkFBckIsTUFBTTtnQkFhUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNEtwQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25DaGFuZ2VzLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL29wdGdyb3VwL29wdGdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9kZWJvdW5jZS5kZWNvcmF0b3InO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBTZWxlY3QgQ29tcG9uZW50IHwgRm9ybSBDb250cm9scyB8IE5ldyBkZXNpZ25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcbiAgc2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gIHNlbGVjdFRpdGxlOiBzdHJpbmc7XG4gIGhhc0NvbnRlbnQgPSBmYWxzZTtcbiAgYWN0aXZlOiBib29sZWFuO1xuICB2YWxpZDogYm9vbGVhbjtcbiAgZm9jdXM6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0VGl0bGVXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgc2VsZWN0VGl0bGVXcmFwcGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdlcnJvck1lc3NhZ2VXcmFwcGVyJykgZXJyb3JNZXNzYWdlV3JhcHBlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxTZWxlY3RFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIG9wdGlvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE9wdGdyb3VwQ29tcG9uZW50KVxuICBvcHRncm91cENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRncm91cENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIElEIG9mIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudFxuICAgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIGlubGluZSBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBpbmxpbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZCBjdXN0b20gbGFiZWwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU2V0cyBibG9jayBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBibG9jaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTZXRzIHNwYWNlbGVzcyBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgc3RyZXRjaCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBzdHJldGNoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGNvbXBhY3Qgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgY29tcGFjdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBzaW1wbGUgc3R5bGluZy5cbiAgICAgKi9cbiAgQElucHV0KCkgc2ltcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGxpZ2h0IHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGxpZ2h0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGZpbGwgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgZmlsbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBlcnJvciBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBlcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIGVycm9yIG9jY3VyLiBFcnJvciBhdHRyaWJ1dGUgbmVlZCB0byBiZSB0cnVlLlxuICAqL1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBkaXNhYmxlZCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTWFrZXMgdGhlIHNlbGVjdCBjb21wb25lbnQgYXV0b2dyb3cuXG4gICovXG4gIEBJbnB1dCgpIGF1dG9ncm93PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIENTUyBjbGFzcyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpIGNzc0NsYXNzOiBDbGFzc01vZGVsO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBzZWxlY3QuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqIEBleGFtcGxlXG4gICAgICogPG5hcy1zZWxlY3QgW25hc0Zvcm1Db250cm9sTmFtZV09XCInZmFyZUNsYXNzJ1wiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqIEBleGFtcGxlXG4gICAqIDxuYXMtc2VsZWN0IFtuYXNGb3JtR3JvdXBdPVwiY2xhc3NHcm91cFwiPjwvbmFzLXNlbGVjdD5cbiAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgICogQGRlc2NyaXB0aW9uXG4gICAgKiBBZGQgb3B0aW9ucyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPikge1xuICAgIHRoaXMub3B0aW9uc1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG5cbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZShvcHRpb24pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgZGVmYXVsdCBzZWxlY3RlZCB2YWx1ZS5cbiAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogU2VsZWN0T3B0aW9uTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogR2V0cyBvciBzZXRzIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBTZWxlY3RPcHRpb25Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgfVxuICBzZXQgc2VsZWN0ZWQob3B0aW9uOiBTZWxlY3RPcHRpb25Nb2RlbCkge1xuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKG9wdGlvbik7XG5cbiAgICB0aGlzLnZhbGlkID0gISFvcHRpb24/LnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKVxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgdGhpcy5zZWxlY3RDb250cm9sLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnQgdGhhdCBpcyBmaXJlZCBldmVyeSB0aW1lIGEgc2VsZWN0aW9uIGlzIGRvbmUuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wdGlvbk1vZGVsPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudHMgdGhhdCBmaXJlcyBldmVyeSB0eXBlIGEga2V5ZG93biBldmVudCBoYXMgYmVlbiBwcmVzc2VkIG9uIHRoZSBzZWxlY3QgZWxlbWVudC5cbiAgKi9cbiAgQE91dHB1dCgpIGtleURvd25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIG9wdGlvbnNWYWx1ZTogQXJyYXk8U2VsZWN0T3B0aW9uTW9kZWw+O1xuICBwcml2YXRlIG9wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuICBwcml2YXRlIGxhc3RXYXNUYWI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoJ25hcy1zZWxlY3QnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmxhc3RXYXNUYWIgPSBlLmtleSA9PT0gJ1RhYic7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG4gICAgICB0aGlzLnNlbGVjdGVkID0gb3B0aW9uO1xuICAgICAgdGhpcy52YWxpZCA9ICEhb3B0aW9uLnZhbHVlICYmICF0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAhdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG4gICAgICBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy52YWxpZCA9ICEhdmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMub3B0aW9uQ29tcG9uZW50cyAmJiB0aGlzLm9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkgfHxcbiAgICAgICh0aGlzLm9wdGdyb3VwQ29tcG9uZW50cyAmJiB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5sZW5ndGggPiAwKSkge1xuICAgICAgdGhpcy5oYXNDb250ZW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9uQ29tcG9uZW50cyAmJiB0aGlzLm9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXRGaXJzdE9wdGlvblNlbGVjdGVkKHRoaXMub3B0aW9uQ29tcG9uZW50cyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGdyb3VwQ29tcG9uZW50cyAmJiB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdE9wdGdyb3VwQ29tcG9uZW50ID0gdGhpcy5vcHRncm91cENvbXBvbmVudHMuZmlyc3Q7XG5cbiAgICAgIGlmIChmaXJzdE9wdGdyb3VwQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc2V0Rmlyc3RPcHRpb25TZWxlY3RlZChmaXJzdE9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuaGFzQ29udGVudCAmJiAhdGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZSh0aGlzLm9wdGlvbnNbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYG5hcy1zZWxlY3QtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXQgc2VsZWN0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHRoaXMuaWQgOiBgbmFzLXNlbGVjdC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldCBlcnJvcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRcbiAgICAgID8gdGhpcy5pZCArICdfX2Vycm9yJ1xuICAgICAgOiBgbmFzLXNlbGVjdC0ke3RoaXMuY29tcG9uZW50SWR9X19lcnJvcmA7XG4gIH1cblxuICB0b2dnbGVTZWxlY3QoZXZlbnQ6IGFueSwga2V5ZG93bj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50ICYmIGV2ZW50LmtleSA9PT0gJ0VudGVyJykgfHwgIWV2ZW50IHx8ICFldmVudC5rZXkpIHtcbiAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG5cbiAgICAgIGlmIChrZXlkb3duKSB7XG4gICAgICAgIHRoaXMua2V5RG93bkV2ZW50LmVtaXQoZXZlbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLm9wZW4pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICBpZiAodGhpcy5vcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHRpb25zLmZpbmQoKHgpID0+IHgudmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZCAmJiAoIXRoaXMuc2VsZWN0ZWQgfHwgc2VsZWN0ZWQudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWQudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5vcHRpb25Db21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbkNvbXBvbmVudHMuZmluZCgoeCkgPT4geC5vcHRpb24udmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZCAmJiAoIXRoaXMuc2VsZWN0ZWQgfHwgc2VsZWN0ZWQub3B0aW9uLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRBbmRFbWl0Q2hhbmdlKHNlbGVjdGVkLm9wdGlvbik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9wdGdyb3VwQ29tcG9uZW50cyAmJiB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmZvckVhY2goKG9wdGdyb3VwQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gb3B0Z3JvdXBDb21wb25lbnQub3B0aW9uQ29tcG9uZW50cy5maW5kKCh4KSA9PiB4Lm9wdGlvbi52YWx1ZSA9PT0gdGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZCAmJiAoIXRoaXMuc2VsZWN0ZWQgfHwgc2VsZWN0ZWQub3B0aW9uLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlU2hhZG93KHRhcmdldCwgdGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBibHVyU2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5mb2N1cyA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0Q2xhc3NlcygpOiBBcnJheTxDbGFzc01vZGVsPiB7XG4gICAgY29uc3QgY2xhc3NlczogQXJyYXk8Q2xhc3NNb2RlbD4gPSBbXG4gICAgICB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICAgIHRoaXMubGFiZWwsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuaW5saW5lKSAmJiAnaW5saW5lJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5ibG9jaykgJiYgJ2Jsb2NrJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5zcGFjZWxlc3MpICYmICdzcGFjZWxlc3MnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLnN0cmV0Y2gpICYmICdzdHJldGNoJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5jb21wYWN0KSAmJiAnY29tcGFjdCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc2ltcGxlKSAmJiAnc2ltcGxlJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5saWdodCkgJiYgJ2xpZ2h0JyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5maWxsKSAmJiAnZmlsbCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpICYmICdlcnJvcicsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpICYmICdkaXNhYmxlZCcsXG4gICAgICAgIHRoaXMuYWN0aXZlICYmICdhY3RpdmUnLFxuICAgICAgICB0aGlzLnZhbGlkICYmICd2YWxpZCcsXG4gICAgICAgIHRoaXMuZm9jdXMgJiYgJ2ZvY3VzJyxcbiAgICAgICAgdGhpcy5vcGVuICYmICdyb3RhdGUnXG4gICAgICBdKSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuY3NzQ2xhc3MpIHtcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmNzc0NsYXNzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGFjdGl2ZVNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5leGlzdHModGhpcy5lcnJvcikgfHwgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIGZvY3VzU2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXMgPSB0aGlzLmxhc3RXYXNUYWI7XG4gICAgdGhpcy5sYXN0V2FzVGFiID0gZmFsc2U7XG4gIH1cblxuICBARGVib3VuY2UoMTUwKVxuICBwcml2YXRlIHNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZDogU2VsZWN0T3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Rmlyc3RPcHRpb25TZWxlY3RlZChvcHRpb25Db21wb25lbnRzOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmICghb3B0aW9uQ29tcG9uZW50cyB8fCBvcHRpb25Db21wb25lbnRzLmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RPcHRpb25Db21wb25lbnQgPSBvcHRpb25Db21wb25lbnRzLmZpcnN0O1xuXG4gICAgaWYgKGZpcnN0T3B0aW9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmaXJzdE9wdGlvbkNvbXBvbmVudC5vcHRpb247XG4gICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNoYWRvdyh0YXJnZXQ6IGFueSwgdGFyZ2V0VmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmxhYmVsIHx8IHRoaXMuYmxvY2sgfHwgIXRoaXMuYXV0b2dyb3cgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogc3RyaW5nO1xuXG4gICAgaWYgKHRhcmdldC5zZWxlY3RlZE9wdGlvbnMgJiYgdGFyZ2V0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0LnNlbGVjdGVkT3B0aW9uc1swXS5pbm5lckhUTUw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdGFyZ2V0VmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hhZG93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VsZWN0Jyk7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCk7XG4gICAgc2hhZG93LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBzaGFkb3cuc3R5bGUudG9wID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS5sZWZ0ID0gJy0xMDAwcHgnO1xuICAgIHNoYWRvdy5zdHlsZS53aWR0aCA9ICdhdXRvJztcbiAgICBzaGFkb3cuc3R5bGUubWF4V2lkdGggPSAnbm9uZSc7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRTaXplID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udEZhbWlseSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1mYW1pbHknKTtcbiAgICBzaGFkb3cuc3R5bGUuZm9udFdlaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC13ZWlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUubGV0dGVyU3BhY2luZyA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnbGV0dGVyLXNwYWNpbmcnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1RvcCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICBzaGFkb3cuc3R5bGUucGFkZGluZ1JpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdCb3R0b20gPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdMZWZ0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWxlZnQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyVG9wID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItdG9wJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlclJpZ2h0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItcmlnaHQnKTtcbiAgICBzaGFkb3cuc3R5bGUuYm9yZGVyQm90dG9tID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItYm90dG9tJyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlckxlZnQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JvcmRlci1sZWZ0Jyk7XG5cbiAgICBjb25zdCBvcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHRpb24udmFsdWUgPSB2YWx1ZTtcbiAgICBvcHRpb24uaW5uZXJIVE1MID0gdmFsdWU7XG4gICAgc2hhZG93LmFwcGVuZENoaWxkKG9wdGlvbik7XG5cbiAgICB0YXJnZXQuc3R5bGUud2lkdGggPSBgJHtzaGFkb3cub2Zmc2V0V2lkdGggKyA2fXB4YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRUaXRsZShvcHRpb246IFNlbGVjdE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXhpc3RzKHRoaXMuc2ltcGxlKSB8fCB0aGlzLmV4aXN0cyh0aGlzLmlubGluZSkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdFRpdGxlV3JhcHBlciA9IHRoaXMuc2VsZWN0VGl0bGVXcmFwcGVyLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmICghc2VsZWN0VGl0bGVXcmFwcGVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFvcHRpb24pIHtcbiAgICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RUaXRsZSA9IG9wdGlvbi50aXRsZTtcbiAgICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG5cbiAgICAgIGlmICghdGhpcy5zZWxlY3QpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzZWxlY3RFbGVtZW50ID0gdGhpcy5zZWxlY3QubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgaWYgKCFzZWxlY3RFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2VsZWN0U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzZWxlY3RFbGVtZW50KTtcbiAgICAgIGxldCBzZWxlY3RQYWRkaW5nTGVmdCA9IDA7XG4gICAgICBsZXQgc2VsZWN0UGFkZGluZ1JpZ2h0ID0gMDtcbiAgICAgIGxldCBzZWxlY3RCb3JkZXJMZWZ0ID0gMDtcbiAgICAgIGxldCBzZWxlY3RCb3JkZXJSaWdodCA9IDA7XG5cbiAgICAgIGlmIChzZWxlY3RTdHlsZSkge1xuICAgICAgICBzZWxlY3RQYWRkaW5nTGVmdCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLnBhZGRpbmdMZWZ0LCAxMCk7XG4gICAgICAgIHNlbGVjdFBhZGRpbmdSaWdodCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLnBhZGRpbmdSaWdodCwgMTApO1xuICAgICAgICBzZWxlY3RCb3JkZXJMZWZ0ID0gcGFyc2VJbnQoc2VsZWN0U3R5bGUuYm9yZGVyTGVmdCwgMTApO1xuICAgICAgICBzZWxlY3RCb3JkZXJSaWdodCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLmJvcmRlclJpZ2h0LCAxMCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbGVjdFRpdGxlV3JhcHBlclRpdGxlID1cbiAgICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLmxhc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBsZXQgb2Zmc2V0V2lkdGggPSBzZWxlY3RQYWRkaW5nTGVmdCArIHNlbGVjdFBhZGRpbmdSaWdodCArIHNlbGVjdEJvcmRlckxlZnQgKyBzZWxlY3RCb3JkZXJSaWdodDtcblxuICAgICAgaWYgKHNlbGVjdFRpdGxlV3JhcHBlclRpdGxlKSB7XG4gICAgICAgIG9mZnNldFdpZHRoICs9IHNlbGVjdFRpdGxlV3JhcHBlclRpdGxlLm9mZnNldFdpZHRoO1xuICAgICAgICBpZiAodGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgdGhpcy5lcnJvck1lc3NhZ2VXcmFwcGVyKSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0RXJyb3JXaWR0aCA9IHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuZXJyb3JNZXNzYWdlV3JhcHBlci5uYXRpdmVFbGVtZW50KS53aWR0aCwgMTApO1xuICAgICAgICAgIGlmIChzZWxlY3RFcnJvcldpZHRoID4gb2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIG9mZnNldFdpZHRoID0gc2VsZWN0RXJyb3JXaWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9mZnNldFdpZHRoID4gMCkge1xuICAgICAgICB0aGlzLmxhYmVsV2lkdGggPSBvZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuXG4gICAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBpZD1cImdldFNlbGVjdElkKClcIiAqbmdJZj1cImxhYmVsICYmICFpbmxpbmVcIj5cbiAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbC10ZXh0JylcIj57e2xhYmVsfX08L3NwYW4+XG48L2xhYmVsPlxuPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUdyb3VwIHx8ICFuYXNGb3JtQ29udHJvbE5hbWU7IGVsc2UgcmVhY3RpdmVGb3JtXCI+XG4gICAgPHNlbGVjdCAjc2VsZWN0IFtpZF09XCJzZWxlY3RJZFwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInc2VsZWN0J1wiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0U2VsZWN0SWQoKVwiIFtzdHlsZS53aWR0aC5weF09XCJsYWJlbFdpZHRoXCIgKG1vdXNlZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCB0cnVlKVwiIChibHVyKT1cImJsdXJTZWxlY3QoKVwiIFtmb3JtQ29udHJvbF09XCJzZWxlY3RDb250cm9sXCJcbiAgICAgIChjbGljayk9XCJhY3RpdmVTZWxlY3QoKVwiIChmb2N1cyk9XCJmb2N1c1NlbGVjdCgpXCIgKGNoYW5nZSk9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50KVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNDb250ZW50XCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbj8udGl0bGVcIj5cbiAgICAgICAgICB7e29wdGlvbj8udGl0bGV9fTwvb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICAgIDxzZWxlY3QgI3NlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hc0Zvcm1Db250cm9sTmFtZVwiIFtpZF09XCJzZWxlY3RJZFwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2VsZWN0J1wiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRTZWxlY3RJZCgpXCIgW3N0eWxlLndpZHRoLnB4XT1cImxhYmVsV2lkdGhcIlxuICAgICAgICAobW91c2Vkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCIgKGtleWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudCwgdHJ1ZSlcIiAoYmx1cik9XCJibHVyU2VsZWN0KClcIlxuICAgICAgICAoY2xpY2spPVwiYWN0aXZlU2VsZWN0KClcIiAoZm9jdXMpPVwiZm9jdXNTZWxlY3QoKVwiIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNDb250ZW50XCI+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy50aXRsZVwiPlxuICAgICAgICAgICAge3tvcHRpb24/LnRpdGxlfX08L29wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCJleGlzdHMoZXJyb3IpICYmIGVycm9yTWVzc2FnZVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3InKVwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3ItLWljb24nKVwiPlxuICAgICAgPG5hcy1pY29uIHR5cGU9XCJuZWdhdGl2ZVwiPjwvbmFzLWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxwIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3ItLXRleHQnKVwiPnt7ZXJyb3JNZXNzYWdlfX08L3A+XG4gIDwvZGl2PlxuICA8ZGl2ICNzZWxlY3RUaXRsZVdyYXBwZXIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPHNwYW4+e3tzZWxlY3RUaXRsZX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50T3B0aW9ucz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { SelectComponent } from './select.component';
5
- import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
6
- import { OptionComponent } from './option/option.component';
7
- import { OptgroupComponent } from './optgroup/optgroup.component';
8
- import { IconModule } from '../icon/icon.module';
9
- import * as i0 from "@angular/core";
10
- export class SelectModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SelectModule, declarations: [SelectComponent, OptionComponent, OptgroupComponent], imports: [CommonModule, ReactiveFormsModule, NasClassModule, IconModule], exports: [SelectComponent, OptionComponent, OptgroupComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectModule, imports: [CommonModule, ReactiveFormsModule, NasClassModule, IconModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [CommonModule, ReactiveFormsModule, NasClassModule, IconModule],
19
- declarations: [SelectComponent, OptionComponent, OptgroupComponent],
20
- exports: [SelectComponent, OptionComponent, OptgroupComponent],
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU9qRCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBSFIsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsYUFEeEQsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxVQUFVLGFBRTdELGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCO2dIQUVsRCxZQUFZLFlBSmIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxVQUFVOzs0RkFJNUQsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztvQkFDeEUsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztpQkFDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXNDbGFzc01vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9uYXMtY2xhc3MvbmFzLWNsYXNzLm1vZHVsZSc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRncm91cC9vcHRncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOYXNDbGFzc01vZHVsZSwgSWNvbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1NlbGVjdENvbXBvbmVudCwgT3B0aW9uQ29tcG9uZW50LCBPcHRncm91cENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTZWxlY3RDb21wb25lbnQsIE9wdGlvbkNvbXBvbmVudCwgT3B0Z3JvdXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RNb2R1bGUge31cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './simple-list.component';
2
- export * from './simple-list.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2ltcGxlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2ltcGxlLWxpc3QubW9kdWxlJztcbiJdfQ==