ngx-bootstrap 7.1.2 → 8.0.0-RC.4

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 (2347) hide show
  1. package/accordion/accordion-group.component.d.ts +3 -5
  2. package/accordion/accordion.component.d.ts +3 -5
  3. package/accordion/accordion.config.d.ts +3 -4
  4. package/accordion/accordion.module.d.ts +8 -9
  5. package/accordion/esm2020/accordion-group.component.mjs +88 -0
  6. package/accordion/esm2020/accordion.component.mjs +56 -0
  7. package/accordion/esm2020/accordion.config.mjs +22 -0
  8. package/accordion/esm2020/accordion.module.mjs +23 -0
  9. package/accordion/esm2020/index.mjs +2 -0
  10. package/accordion/esm2020/ngx-bootstrap-accordion.mjs +5 -0
  11. package/accordion/esm2020/public_api.mjs +5 -0
  12. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +186 -0
  13. package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +1 -0
  14. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs +184 -0
  15. package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +1 -0
  16. package/accordion/ngx-bootstrap-accordion.d.ts +1 -2
  17. package/accordion/package.json +29 -34
  18. package/alert/alert.component.d.ts +3 -5
  19. package/alert/alert.config.d.ts +3 -4
  20. package/alert/alert.module.d.ts +6 -7
  21. package/alert/esm2020/alert.component.mjs +77 -0
  22. package/alert/esm2020/alert.config.mjs +21 -0
  23. package/alert/esm2020/alert.module.mjs +22 -0
  24. package/alert/esm2020/index.mjs +2 -0
  25. package/alert/esm2020/ngx-bootstrap-alert.mjs +5 -0
  26. package/alert/esm2020/public_api.mjs +4 -0
  27. package/alert/fesm2015/ngx-bootstrap-alert.mjs +120 -0
  28. package/alert/fesm2015/ngx-bootstrap-alert.mjs.map +1 -0
  29. package/alert/fesm2020/ngx-bootstrap-alert.mjs +120 -0
  30. package/alert/fesm2020/ngx-bootstrap-alert.mjs.map +1 -0
  31. package/alert/ngx-bootstrap-alert.d.ts +1 -2
  32. package/alert/package.json +26 -23
  33. package/buttons/button-checkbox.directive.d.ts +3 -5
  34. package/buttons/button-radio-group.directive.d.ts +3 -5
  35. package/buttons/button-radio.directive.d.ts +3 -5
  36. package/buttons/buttons.module.d.ts +7 -8
  37. package/buttons/esm2020/button-checkbox.directive.mjs +87 -0
  38. package/buttons/esm2020/button-radio-group.directive.mjs +157 -0
  39. package/buttons/esm2020/button-radio.directive.mjs +188 -0
  40. package/buttons/esm2020/buttons.module.mjs +21 -0
  41. package/buttons/esm2020/index.mjs +2 -0
  42. package/buttons/esm2020/ngx-bootstrap-buttons.mjs +5 -0
  43. package/buttons/esm2020/public_api.mjs +5 -0
  44. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs +448 -0
  45. package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +1 -0
  46. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs +446 -0
  47. package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +1 -0
  48. package/buttons/ngx-bootstrap-buttons.d.ts +1 -5
  49. package/buttons/package.json +25 -22
  50. package/carousel/carousel.component.d.ts +3 -5
  51. package/carousel/carousel.config.d.ts +3 -4
  52. package/carousel/carousel.module.d.ts +7 -8
  53. package/carousel/esm2020/carousel.component.mjs +711 -0
  54. package/carousel/esm2020/carousel.config.mjs +32 -0
  55. package/carousel/esm2020/carousel.module.mjs +22 -0
  56. package/carousel/esm2020/index.mjs +2 -0
  57. package/carousel/esm2020/models/index.mjs +2 -0
  58. package/carousel/esm2020/ngx-bootstrap-carousel.mjs +5 -0
  59. package/carousel/esm2020/public_api.mjs +5 -0
  60. package/carousel/esm2020/slide.component.mjs +92 -0
  61. package/carousel/esm2020/utils.mjs +32 -0
  62. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +875 -0
  63. package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +1 -0
  64. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs +874 -0
  65. package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +1 -0
  66. package/carousel/ngx-bootstrap-carousel.d.ts +1 -2
  67. package/carousel/package.json +26 -23
  68. package/carousel/slide.component.d.ts +3 -5
  69. package/chronos/esm2020/create/check-overflow.mjs +30 -0
  70. package/chronos/esm2020/create/clone.mjs +6 -0
  71. package/chronos/esm2020/create/date-from-array.mjs +19 -0
  72. package/chronos/esm2020/create/from-anything.mjs +106 -0
  73. package/chronos/esm2020/create/from-array.mjs +135 -0
  74. package/chronos/esm2020/create/from-object.mjs +17 -0
  75. package/chronos/esm2020/create/from-string-and-array.mjs +38 -0
  76. package/chronos/esm2020/create/from-string-and-format.mjs +106 -0
  77. package/chronos/esm2020/create/from-string.mjs +222 -0
  78. package/chronos/esm2020/create/local.mjs +16 -0
  79. package/chronos/esm2020/create/parsing-flags.mjs +26 -0
  80. package/chronos/esm2020/create/parsing.types.mjs +2 -0
  81. package/chronos/esm2020/create/valid.mjs +42 -0
  82. package/chronos/esm2020/duration/bubble.mjs +47 -0
  83. package/chronos/esm2020/duration/constructor.mjs +130 -0
  84. package/chronos/esm2020/duration/create.mjs +112 -0
  85. package/chronos/esm2020/duration/humanize.mjs +79 -0
  86. package/chronos/esm2020/duration/valid.mjs +43 -0
  87. package/chronos/esm2020/format/format.mjs +50 -0
  88. package/chronos/esm2020/format.mjs +46 -0
  89. package/chronos/esm2020/i18n/ar.mjs +132 -0
  90. package/chronos/esm2020/i18n/bg.mjs +90 -0
  91. package/chronos/esm2020/i18n/ca.mjs +87 -0
  92. package/chronos/esm2020/i18n/cs.mjs +175 -0
  93. package/chronos/esm2020/i18n/da.mjs +49 -0
  94. package/chronos/esm2020/i18n/de.mjs +67 -0
  95. package/chronos/esm2020/i18n/en-gb.mjs +57 -0
  96. package/chronos/esm2020/i18n/es-do.mjs +81 -0
  97. package/chronos/esm2020/i18n/es-pr.mjs +74 -0
  98. package/chronos/esm2020/i18n/es-us.mjs +75 -0
  99. package/chronos/esm2020/i18n/es.mjs +80 -0
  100. package/chronos/esm2020/i18n/et.mjs +69 -0
  101. package/chronos/esm2020/i18n/fi.mjs +96 -0
  102. package/chronos/esm2020/i18n/fr.mjs +72 -0
  103. package/chronos/esm2020/i18n/gl.mjs +80 -0
  104. package/chronos/esm2020/i18n/he.mjs +94 -0
  105. package/chronos/esm2020/i18n/hi.mjs +119 -0
  106. package/chronos/esm2020/i18n/hr.mjs +58 -0
  107. package/chronos/esm2020/i18n/hu.mjs +100 -0
  108. package/chronos/esm2020/i18n/id.mjs +78 -0
  109. package/chronos/esm2020/i18n/it.mjs +61 -0
  110. package/chronos/esm2020/i18n/ja.mjs +71 -0
  111. package/chronos/esm2020/i18n/ka.mjs +83 -0
  112. package/chronos/esm2020/i18n/kk.mjs +76 -0
  113. package/chronos/esm2020/i18n/ko.mjs +72 -0
  114. package/chronos/esm2020/i18n/lt.mjs +112 -0
  115. package/chronos/esm2020/i18n/lv.mjs +52 -0
  116. package/chronos/esm2020/i18n/mn.mjs +94 -0
  117. package/chronos/esm2020/i18n/nb.mjs +53 -0
  118. package/chronos/esm2020/i18n/nl-be.mjs +77 -0
  119. package/chronos/esm2020/i18n/nl.mjs +76 -0
  120. package/chronos/esm2020/i18n/pl.mjs +122 -0
  121. package/chronos/esm2020/i18n/pt-br.mjs +52 -0
  122. package/chronos/esm2020/i18n/ro.mjs +66 -0
  123. package/chronos/esm2020/i18n/ru.mjs +177 -0
  124. package/chronos/esm2020/i18n/sk.mjs +153 -0
  125. package/chronos/esm2020/i18n/sl.mjs +179 -0
  126. package/chronos/esm2020/i18n/sq.mjs +50 -0
  127. package/chronos/esm2020/i18n/sv.mjs +59 -0
  128. package/chronos/esm2020/i18n/th-be.mjs +73 -0
  129. package/chronos/esm2020/i18n/th.mjs +58 -0
  130. package/chronos/esm2020/i18n/tr.mjs +78 -0
  131. package/chronos/esm2020/i18n/uk.mjs +143 -0
  132. package/chronos/esm2020/i18n/vi.mjs +70 -0
  133. package/chronos/esm2020/i18n/zh-cn.mjs +109 -0
  134. package/chronos/esm2020/index.mjs +2 -0
  135. package/chronos/esm2020/locale/calendar.mjs +9 -0
  136. package/chronos/esm2020/locale/locale.class.mjs +532 -0
  137. package/chronos/esm2020/locale/locale.defaults.mjs +40 -0
  138. package/chronos/esm2020/locale/locales.mjs +228 -0
  139. package/chronos/esm2020/moment/add-subtract.mjs +35 -0
  140. package/chronos/esm2020/moment/calendar.mjs +41 -0
  141. package/chronos/esm2020/moment/diff.mjs +70 -0
  142. package/chronos/esm2020/moment/min-max.mjs +38 -0
  143. package/chronos/esm2020/ngx-bootstrap-chronos.mjs +5 -0
  144. package/chronos/esm2020/parse/regex.mjs +47 -0
  145. package/chronos/esm2020/parse/token.mjs +31 -0
  146. package/chronos/esm2020/public_api.mjs +57 -0
  147. package/chronos/esm2020/testing/chain.mjs +708 -0
  148. package/chronos/esm2020/types.mjs +2 -0
  149. package/chronos/esm2020/units/aliases.mjs +35 -0
  150. package/chronos/esm2020/units/constants.mjs +11 -0
  151. package/chronos/esm2020/units/day-of-month.mjs +31 -0
  152. package/chronos/esm2020/units/day-of-week.mjs +129 -0
  153. package/chronos/esm2020/units/day-of-year.mjs +37 -0
  154. package/chronos/esm2020/units/hour.mjs +127 -0
  155. package/chronos/esm2020/units/index.mjs +19 -0
  156. package/chronos/esm2020/units/millisecond.mjs +59 -0
  157. package/chronos/esm2020/units/minute.mjs +23 -0
  158. package/chronos/esm2020/units/month.mjs +63 -0
  159. package/chronos/esm2020/units/offset.mjs +209 -0
  160. package/chronos/esm2020/units/priorities.mjs +21 -0
  161. package/chronos/esm2020/units/quarter.mjs +39 -0
  162. package/chronos/esm2020/units/second.mjs +23 -0
  163. package/chronos/esm2020/units/timestamp.mjs +28 -0
  164. package/chronos/esm2020/units/timezone.mjs +19 -0
  165. package/chronos/esm2020/units/week-calendar-utils.mjs +70 -0
  166. package/chronos/esm2020/units/week-year.mjs +101 -0
  167. package/chronos/esm2020/units/week.mjs +58 -0
  168. package/chronos/esm2020/units/year.mjs +60 -0
  169. package/chronos/esm2020/utils/abs-ceil.mjs +4 -0
  170. package/chronos/esm2020/utils/abs-round.mjs +4 -0
  171. package/chronos/esm2020/utils/compare-arrays.mjs +16 -0
  172. package/chronos/esm2020/utils/date-compare.mjs +55 -0
  173. package/chronos/esm2020/utils/date-getters.mjs +67 -0
  174. package/chronos/esm2020/utils/date-setters.mjs +75 -0
  175. package/chronos/esm2020/utils/defaults.mjs +11 -0
  176. package/chronos/esm2020/utils/start-end-of.mjs +57 -0
  177. package/chronos/esm2020/utils/type-checks.mjs +58 -0
  178. package/chronos/esm2020/utils/zero-fill.mjs +10 -0
  179. package/chronos/esm2020/utils.mjs +7 -0
  180. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs +7384 -0
  181. package/chronos/fesm2015/ngx-bootstrap-chronos.mjs.map +1 -0
  182. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs +7384 -0
  183. package/chronos/fesm2020/ngx-bootstrap-chronos.mjs.map +1 -0
  184. package/chronos/i18n/es-pr.d.ts +2 -0
  185. package/chronos/ngx-bootstrap-chronos.d.ts +1 -3
  186. package/chronos/package.json +23 -21
  187. package/chronos/public_api.d.ts +1 -0
  188. package/collapse/collapse.directive.d.ts +3 -5
  189. package/collapse/collapse.module.d.ts +5 -6
  190. package/collapse/esm2020/collapse-animations.mjs +11 -0
  191. package/collapse/esm2020/collapse.directive.mjs +168 -0
  192. package/collapse/esm2020/collapse.module.mjs +19 -0
  193. package/collapse/esm2020/index.mjs +2 -0
  194. package/collapse/esm2020/ngx-bootstrap-collapse.mjs +5 -0
  195. package/collapse/esm2020/public_api.mjs +3 -0
  196. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs +200 -0
  197. package/collapse/fesm2015/ngx-bootstrap-collapse.mjs.map +1 -0
  198. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs +200 -0
  199. package/collapse/fesm2020/ngx-bootstrap-collapse.mjs.map +1 -0
  200. package/collapse/ngx-bootstrap-collapse.d.ts +1 -2
  201. package/collapse/package.json +26 -23
  202. package/component-loader/component-loader.factory.d.ts +3 -4
  203. package/component-loader/esm2020/bs-component-ref.class.mjs +3 -0
  204. package/component-loader/esm2020/component-loader.class.mjs +286 -0
  205. package/component-loader/esm2020/component-loader.factory.mjs +30 -0
  206. package/component-loader/esm2020/content-ref.class.mjs +16 -0
  207. package/component-loader/esm2020/index.mjs +2 -0
  208. package/component-loader/esm2020/listen-options.model.mjs +2 -0
  209. package/component-loader/esm2020/ngx-bootstrap-component-loader.mjs +5 -0
  210. package/component-loader/esm2020/public_api.mjs +5 -0
  211. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs +339 -0
  212. package/component-loader/fesm2015/ngx-bootstrap-component-loader.mjs.map +1 -0
  213. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs +336 -0
  214. package/component-loader/fesm2020/ngx-bootstrap-component-loader.mjs.map +1 -0
  215. package/component-loader/ngx-bootstrap-component-loader.d.ts +1 -2
  216. package/component-loader/package.json +29 -25
  217. package/datepicker/bs-datepicker-inline.component.d.ts +3 -5
  218. package/datepicker/bs-datepicker-inline.config.d.ts +3 -4
  219. package/datepicker/bs-datepicker-input.directive.d.ts +3 -5
  220. package/datepicker/bs-datepicker.component.d.ts +4 -6
  221. package/datepicker/bs-datepicker.config.d.ts +3 -4
  222. package/datepicker/bs-datepicker.module.d.ts +26 -27
  223. package/datepicker/bs-daterangepicker-inline.component.d.ts +3 -5
  224. package/datepicker/bs-daterangepicker-inline.config.d.ts +3 -4
  225. package/datepicker/bs-daterangepicker-input.directive.d.ts +3 -5
  226. package/datepicker/bs-daterangepicker.component.d.ts +3 -5
  227. package/datepicker/bs-daterangepicker.config.d.ts +3 -4
  228. package/datepicker/bs-locale.service.d.ts +3 -5
  229. package/datepicker/esm2020/base/bs-datepicker-container.mjs +76 -0
  230. package/datepicker/esm2020/bs-datepicker-inline.component.mjs +151 -0
  231. package/datepicker/esm2020/bs-datepicker-inline.config.mjs +14 -0
  232. package/datepicker/esm2020/bs-datepicker-input.directive.mjs +163 -0
  233. package/datepicker/esm2020/bs-datepicker.component.mjs +265 -0
  234. package/datepicker/esm2020/bs-datepicker.config.mjs +89 -0
  235. package/datepicker/esm2020/bs-datepicker.module.mjs +123 -0
  236. package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +151 -0
  237. package/datepicker/esm2020/bs-daterangepicker-inline.config.mjs +21 -0
  238. package/datepicker/esm2020/bs-daterangepicker-input.directive.mjs +208 -0
  239. package/datepicker/esm2020/bs-daterangepicker.component.mjs +256 -0
  240. package/datepicker/esm2020/bs-daterangepicker.config.mjs +19 -0
  241. package/datepicker/esm2020/bs-locale.service.mjs +32 -0
  242. package/datepicker/esm2020/datepicker-animations.mjs +16 -0
  243. package/datepicker/esm2020/engine/calc-days-calendar.mjs +21 -0
  244. package/datepicker/esm2020/engine/flag-days-calendar.mjs +93 -0
  245. package/datepicker/esm2020/engine/flag-months-calendar.mjs +45 -0
  246. package/datepicker/esm2020/engine/flag-years-calendar.mjs +42 -0
  247. package/datepicker/esm2020/engine/format-days-calendar.mjs +33 -0
  248. package/datepicker/esm2020/engine/format-months-calendar.mjs +23 -0
  249. package/datepicker/esm2020/engine/format-years-calendar.mjs +39 -0
  250. package/datepicker/esm2020/engine/view-mode.mjs +4 -0
  251. package/datepicker/esm2020/index.mjs +2 -0
  252. package/datepicker/esm2020/models/index.mjs +9 -0
  253. package/datepicker/esm2020/ngx-bootstrap-datepicker.mjs +5 -0
  254. package/datepicker/esm2020/public_api.mjs +17 -0
  255. package/datepicker/esm2020/reducer/_defaults.mjs +6 -0
  256. package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +143 -0
  257. package/datepicker/esm2020/reducer/bs-datepicker.effects.mjs +182 -0
  258. package/datepicker/esm2020/reducer/bs-datepicker.reducer.mjs +378 -0
  259. package/datepicker/esm2020/reducer/bs-datepicker.state.mjs +18 -0
  260. package/datepicker/esm2020/reducer/bs-datepicker.store.mjs +22 -0
  261. package/datepicker/esm2020/themes/bs/bs-calendar-layout.component.mjs +47 -0
  262. package/datepicker/esm2020/themes/bs/bs-current-date-view.component.mjs +16 -0
  263. package/datepicker/esm2020/themes/bs/bs-custom-dates-view.component.mjs +50 -0
  264. package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +160 -0
  265. package/datepicker/esm2020/themes/bs/bs-datepicker-day-decorator.directive.mjs +47 -0
  266. package/datepicker/esm2020/themes/bs/bs-datepicker-inline-container.component.mjs +36 -0
  267. package/datepicker/esm2020/themes/bs/bs-datepicker-navigation-view.component.mjs +105 -0
  268. package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +226 -0
  269. package/datepicker/esm2020/themes/bs/bs-daterangepicker-inline-container.component.mjs +36 -0
  270. package/datepicker/esm2020/themes/bs/bs-days-calendar-view.component.mjs +226 -0
  271. package/datepicker/esm2020/themes/bs/bs-months-calendar-view.component.mjs +93 -0
  272. package/datepicker/esm2020/themes/bs/bs-timepicker-view.component.mjs +55 -0
  273. package/datepicker/esm2020/themes/bs/bs-years-calendar-view.component.mjs +94 -0
  274. package/datepicker/esm2020/utils/bs-calendar-utils.mjs +120 -0
  275. package/datepicker/esm2020/utils/copy-time-utils.mjs +7 -0
  276. package/datepicker/esm2020/utils/matrix-utils.mjs +14 -0
  277. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +3743 -0
  278. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +1 -0
  279. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs +3712 -0
  280. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +1 -0
  281. package/datepicker/ngx-bootstrap-datepicker.d.ts +1 -17
  282. package/datepicker/package.json +37 -32
  283. package/datepicker/public_api.d.ts +0 -8
  284. package/datepicker/reducer/bs-datepicker.actions.d.ts +3 -5
  285. package/datepicker/reducer/bs-datepicker.effects.d.ts +3 -5
  286. package/datepicker/reducer/bs-datepicker.store.d.ts +3 -5
  287. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +3 -5
  288. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -5
  289. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +3 -5
  290. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +3 -5
  291. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +3 -5
  292. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +3 -5
  293. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +3 -5
  294. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +3 -5
  295. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +3 -5
  296. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +3 -5
  297. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +3 -5
  298. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +3 -5
  299. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +3 -5
  300. package/dropdown/bs-dropdown-container.component.d.ts +3 -5
  301. package/dropdown/bs-dropdown-menu.directive.d.ts +3 -5
  302. package/dropdown/bs-dropdown-toggle.directive.d.ts +3 -5
  303. package/dropdown/bs-dropdown.config.d.ts +3 -4
  304. package/dropdown/bs-dropdown.directive.d.ts +3 -5
  305. package/dropdown/bs-dropdown.module.d.ts +9 -10
  306. package/dropdown/bs-dropdown.state.d.ts +3 -5
  307. package/dropdown/esm2020/bs-dropdown-container.component.mjs +80 -0
  308. package/dropdown/esm2020/bs-dropdown-menu.directive.mjs +22 -0
  309. package/dropdown/esm2020/bs-dropdown-toggle.directive.mjs +87 -0
  310. package/dropdown/esm2020/bs-dropdown.config.mjs +24 -0
  311. package/dropdown/esm2020/bs-dropdown.directive.mjs +346 -0
  312. package/dropdown/esm2020/bs-dropdown.module.mjs +49 -0
  313. package/dropdown/esm2020/bs-dropdown.state.mjs +25 -0
  314. package/dropdown/esm2020/dropdown-animations.mjs +7 -0
  315. package/dropdown/esm2020/index.mjs +2 -0
  316. package/dropdown/esm2020/ngx-bootstrap-dropdown.mjs +5 -0
  317. package/dropdown/esm2020/public_api.mjs +8 -0
  318. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +610 -0
  319. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +1 -0
  320. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs +610 -0
  321. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +1 -0
  322. package/dropdown/ngx-bootstrap-dropdown.d.ts +1 -2
  323. package/dropdown/package.json +32 -28
  324. package/esm2020/index.mjs +2 -0
  325. package/esm2020/ngx-bootstrap.mjs +5 -0
  326. package/fesm2015/ngx-bootstrap.mjs +6 -0
  327. package/fesm2015/ngx-bootstrap.mjs.map +1 -0
  328. package/fesm2020/ngx-bootstrap.mjs +6 -0
  329. package/fesm2020/ngx-bootstrap.mjs.map +1 -0
  330. package/focus-trap/esm2020/boolean-property.mjs +12 -0
  331. package/focus-trap/esm2020/focus-trap-manager.mjs +54 -0
  332. package/focus-trap/esm2020/focus-trap.mjs +399 -0
  333. package/focus-trap/esm2020/focus-trap.module.mjs +31 -0
  334. package/focus-trap/esm2020/index.mjs +2 -0
  335. package/focus-trap/esm2020/interactivity-checker.mjs +241 -0
  336. package/focus-trap/esm2020/ngx-bootstrap-focus-trap.mjs +5 -0
  337. package/focus-trap/esm2020/platform.mjs +80 -0
  338. package/focus-trap/esm2020/public_api.mjs +4 -0
  339. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +800 -0
  340. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +1 -0
  341. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs +801 -0
  342. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +1 -0
  343. package/focus-trap/focus-trap-manager.d.ts +3 -11
  344. package/focus-trap/focus-trap.d.ts +5 -6
  345. package/focus-trap/focus-trap.module.d.ts +6 -7
  346. package/focus-trap/interactivity-checker.d.ts +3 -4
  347. package/focus-trap/ngx-bootstrap-focus-trap.d.ts +1 -6
  348. package/focus-trap/package.json +26 -23
  349. package/focus-trap/platform.d.ts +3 -11
  350. package/locale/esm2020/index.mjs +2 -0
  351. package/locale/esm2020/ngx-bootstrap-locale.mjs +5 -0
  352. package/locale/esm2020/public_api.mjs +46 -0
  353. package/locale/fesm2015/ngx-bootstrap-locale.mjs +6 -0
  354. package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +1 -0
  355. package/locale/fesm2020/ngx-bootstrap-locale.mjs +6 -0
  356. package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +1 -0
  357. package/locale/ngx-bootstrap-locale.d.ts +1 -2
  358. package/locale/package.json +24 -21
  359. package/locale/public_api.d.ts +1 -0
  360. package/mini-ngrx/esm2020/index.mjs +2 -0
  361. package/mini-ngrx/esm2020/ngx-bootstrap-mini-ngrx.mjs +5 -0
  362. package/mini-ngrx/esm2020/public_api.mjs +3 -0
  363. package/mini-ngrx/esm2020/state.class.mjs +16 -0
  364. package/mini-ngrx/esm2020/store.class.mjs +42 -0
  365. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +64 -0
  366. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  367. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs +63 -0
  368. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  369. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts +1 -2
  370. package/mini-ngrx/package.json +24 -21
  371. package/modal/bs-modal-ref.service.d.ts +3 -5
  372. package/modal/bs-modal.service.d.ts +3 -5
  373. package/modal/esm2020/bs-modal-ref.service.mjs +22 -0
  374. package/modal/esm2020/bs-modal.service.mjs +219 -0
  375. package/modal/esm2020/index.mjs +2 -0
  376. package/modal/esm2020/modal-backdrop.component.mjs +58 -0
  377. package/modal/esm2020/modal-backdrop.options.mjs +7 -0
  378. package/modal/esm2020/modal-container.component.mjs +146 -0
  379. package/modal/esm2020/modal-options.class.mjs +46 -0
  380. package/modal/esm2020/modal.directive.mjs +368 -0
  381. package/modal/esm2020/modal.module.mjs +43 -0
  382. package/modal/esm2020/models/index.mjs +2 -0
  383. package/modal/esm2020/ngx-bootstrap-modal.mjs +5 -0
  384. package/modal/esm2020/public_api.mjs +9 -0
  385. package/modal/fesm2015/ngx-bootstrap-modal.mjs +891 -0
  386. package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +1 -0
  387. package/modal/fesm2020/ngx-bootstrap-modal.mjs +882 -0
  388. package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +1 -0
  389. package/modal/modal-backdrop.component.d.ts +3 -5
  390. package/modal/modal-container.component.d.ts +3 -5
  391. package/modal/modal-options.class.d.ts +3 -5
  392. package/modal/modal.directive.d.ts +3 -5
  393. package/modal/modal.module.d.ts +8 -9
  394. package/modal/ngx-bootstrap-modal.d.ts +1 -3
  395. package/modal/package.json +31 -27
  396. package/ngx-bootstrap.d.ts +1 -0
  397. package/package.json +217 -12
  398. package/pagination/esm2020/index.mjs +2 -0
  399. package/pagination/esm2020/models/index.mjs +2 -0
  400. package/pagination/esm2020/ngx-bootstrap-pagination.mjs +5 -0
  401. package/pagination/esm2020/pager.component.mjs +256 -0
  402. package/pagination/esm2020/pagination.component.mjs +257 -0
  403. package/pagination/esm2020/pagination.config.mjs +35 -0
  404. package/pagination/esm2020/pagination.module.mjs +22 -0
  405. package/pagination/esm2020/public_api.mjs +5 -0
  406. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +565 -0
  407. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +1 -0
  408. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs +563 -0
  409. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +1 -0
  410. package/pagination/ngx-bootstrap-pagination.d.ts +1 -4
  411. package/pagination/package.json +26 -23
  412. package/pagination/pager.component.d.ts +3 -5
  413. package/pagination/pagination.component.d.ts +3 -5
  414. package/pagination/pagination.config.d.ts +3 -4
  415. package/pagination/pagination.module.d.ts +7 -8
  416. package/popover/esm2020/index.mjs +2 -0
  417. package/popover/esm2020/ngx-bootstrap-popover.mjs +5 -0
  418. package/popover/esm2020/popover-container.component.mjs +67 -0
  419. package/popover/esm2020/popover.config.mjs +35 -0
  420. package/popover/esm2020/popover.directive.mjs +238 -0
  421. package/popover/esm2020/popover.module.mjs +28 -0
  422. package/popover/esm2020/public_api.mjs +5 -0
  423. package/popover/fesm2015/ngx-bootstrap-popover.mjs +358 -0
  424. package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +1 -0
  425. package/popover/fesm2020/ngx-bootstrap-popover.mjs +358 -0
  426. package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +1 -0
  427. package/popover/ngx-bootstrap-popover.d.ts +1 -2
  428. package/popover/package.json +30 -26
  429. package/popover/popover-container.component.d.ts +3 -5
  430. package/popover/popover.config.d.ts +3 -4
  431. package/popover/popover.directive.d.ts +3 -5
  432. package/popover/popover.module.d.ts +7 -8
  433. package/positioning/esm2020/index.mjs +2 -0
  434. package/positioning/esm2020/models/index.mjs +53 -0
  435. package/positioning/esm2020/modifiers/arrow.mjs +56 -0
  436. package/positioning/esm2020/modifiers/flip.mjs +65 -0
  437. package/positioning/esm2020/modifiers/index.mjs +6 -0
  438. package/positioning/esm2020/modifiers/initData.mjs +44 -0
  439. package/positioning/esm2020/modifiers/preventOverflow.mjs +54 -0
  440. package/positioning/esm2020/modifiers/shift.mjs +24 -0
  441. package/positioning/esm2020/ng-positioning.mjs +39 -0
  442. package/positioning/esm2020/ngx-bootstrap-positioning.mjs +5 -0
  443. package/positioning/esm2020/positioning.service.mjs +71 -0
  444. package/positioning/esm2020/public_api.mjs +5 -0
  445. package/positioning/esm2020/utils/checkMargin.mjs +32 -0
  446. package/positioning/esm2020/utils/computeAutoPlacement.mjs +55 -0
  447. package/positioning/esm2020/utils/findCommonOffsetParent.mjs +40 -0
  448. package/positioning/esm2020/utils/getBordersSize.mjs +10 -0
  449. package/positioning/esm2020/utils/getBoundaries.mjs +70 -0
  450. package/positioning/esm2020/utils/getBoundingClientRect.mjs +56 -0
  451. package/positioning/esm2020/utils/getClientRect.mjs +8 -0
  452. package/positioning/esm2020/utils/getFixedPositionOffsetParent.mjs +16 -0
  453. package/positioning/esm2020/utils/getOffsetParent.mjs +33 -0
  454. package/positioning/esm2020/utils/getOffsetRectRelativeToArbitraryNode.mjs +52 -0
  455. package/positioning/esm2020/utils/getOffsets.mjs +11 -0
  456. package/positioning/esm2020/utils/getOppositePlacement.mjs +8 -0
  457. package/positioning/esm2020/utils/getOppositeVariation.mjs +13 -0
  458. package/positioning/esm2020/utils/getOuterSizes.mjs +12 -0
  459. package/positioning/esm2020/utils/getParentNode.mjs +12 -0
  460. package/positioning/esm2020/utils/getReferenceOffsets.mjs +13 -0
  461. package/positioning/esm2020/utils/getRoot.mjs +10 -0
  462. package/positioning/esm2020/utils/getScroll.mjs +14 -0
  463. package/positioning/esm2020/utils/getScrollParent.mjs +28 -0
  464. package/positioning/esm2020/utils/getStyleComputedProperty.mjs +12 -0
  465. package/positioning/esm2020/utils/getTargetOffsets.mjs +30 -0
  466. package/positioning/esm2020/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +19 -0
  467. package/positioning/esm2020/utils/getWindowSizes.mjs +16 -0
  468. package/positioning/esm2020/utils/includeScroll.mjs +24 -0
  469. package/positioning/esm2020/utils/index.mjs +24 -0
  470. package/positioning/esm2020/utils/isFixed.mjs +16 -0
  471. package/positioning/esm2020/utils/isModifierEnabled.mjs +4 -0
  472. package/positioning/esm2020/utils/isNumeric.mjs +11 -0
  473. package/positioning/esm2020/utils/isOffsetContainer.mjs +11 -0
  474. package/positioning/esm2020/utils/setStyles.mjs +21 -0
  475. package/positioning/esm2020/utils/updateContainerClass.mjs +30 -0
  476. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +1018 -0
  477. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +1 -0
  478. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs +1024 -0
  479. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +1 -0
  480. package/positioning/ngx-bootstrap-positioning.d.ts +1 -2
  481. package/positioning/package.json +28 -24
  482. package/positioning/positioning.service.d.ts +3 -4
  483. package/progressbar/bar.component.d.ts +3 -5
  484. package/progressbar/esm2020/bar.component.mjs +77 -0
  485. package/progressbar/esm2020/index.mjs +2 -0
  486. package/progressbar/esm2020/ngx-bootstrap-progressbar.mjs +5 -0
  487. package/progressbar/esm2020/progressbar-type.interface.mjs +2 -0
  488. package/progressbar/esm2020/progressbar.component.mjs +57 -0
  489. package/progressbar/esm2020/progressbar.config.mjs +19 -0
  490. package/progressbar/esm2020/progressbar.module.mjs +22 -0
  491. package/progressbar/esm2020/public_api.mjs +5 -0
  492. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +172 -0
  493. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +1 -0
  494. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs +171 -0
  495. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +1 -0
  496. package/progressbar/ngx-bootstrap-progressbar.d.ts +1 -2
  497. package/progressbar/package.json +26 -23
  498. package/progressbar/progressbar.component.d.ts +3 -5
  499. package/progressbar/progressbar.config.d.ts +3 -4
  500. package/progressbar/progressbar.module.d.ts +7 -8
  501. package/rating/esm2020/index.mjs +2 -0
  502. package/rating/esm2020/models/index.mjs +2 -0
  503. package/rating/esm2020/ngx-bootstrap-rating.mjs +5 -0
  504. package/rating/esm2020/public_api.mjs +4 -0
  505. package/rating/esm2020/rating.component.mjs +121 -0
  506. package/rating/esm2020/rating.config.mjs +18 -0
  507. package/rating/esm2020/rating.module.mjs +24 -0
  508. package/rating/fesm2015/ngx-bootstrap-rating.mjs +163 -0
  509. package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +1 -0
  510. package/rating/fesm2020/ngx-bootstrap-rating.mjs +163 -0
  511. package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +1 -0
  512. package/rating/ngx-bootstrap-rating.d.ts +1 -3
  513. package/rating/package.json +26 -23
  514. package/rating/rating.component.d.ts +3 -5
  515. package/rating/rating.config.d.ts +3 -4
  516. package/rating/rating.module.d.ts +6 -7
  517. package/schematics/ng-add/index.js +10 -10
  518. package/schematics/ng-add/index.js.map +1 -1
  519. package/schematics/package.json +8 -6
  520. package/schematics/utils/addStyles.js +2 -2
  521. package/schematics/utils/addStyles.js.map +1 -1
  522. package/schematics/utils/current_dependency_versions.json +1 -1
  523. package/schematics/utils/getVersions.js +1 -1
  524. package/schematics/utils/getVersions.js.map +1 -1
  525. package/schematics/utils/index.js +3 -3
  526. package/schematics/utils/index.js.map +1 -1
  527. package/schematics/utils/ng-module-imports.js +1 -1
  528. package/schematics/utils/ng-module-imports.js.map +1 -1
  529. package/schematics/utils/project-main-file.js +1 -1
  530. package/schematics/utils/project-main-file.js.map +1 -1
  531. package/schematics/utils/project-targets.d.ts +1 -1
  532. package/schematics/utils/project-targets.js.map +1 -1
  533. package/sortable/draggable-item.service.d.ts +3 -5
  534. package/sortable/esm2020/draggable-item.mjs +2 -0
  535. package/sortable/esm2020/draggable-item.service.mjs +36 -0
  536. package/sortable/esm2020/index.mjs +2 -0
  537. package/sortable/esm2020/ngx-bootstrap-sortable.mjs +5 -0
  538. package/sortable/esm2020/public_api.mjs +4 -0
  539. package/sortable/esm2020/sortable.component.mjs +266 -0
  540. package/sortable/esm2020/sortable.module.mjs +22 -0
  541. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +324 -0
  542. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +1 -0
  543. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs +323 -0
  544. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +1 -0
  545. package/sortable/ngx-bootstrap-sortable.d.ts +1 -2
  546. package/sortable/package.json +28 -25
  547. package/sortable/sortable.component.d.ts +3 -5
  548. package/sortable/sortable.module.d.ts +6 -7
  549. package/tabs/esm2020/index.mjs +2 -0
  550. package/tabs/esm2020/ng-transclude.directive.mjs +28 -0
  551. package/tabs/esm2020/ngx-bootstrap-tabs.mjs +5 -0
  552. package/tabs/esm2020/public_api.mjs +7 -0
  553. package/tabs/esm2020/tab-heading.directive.mjs +18 -0
  554. package/tabs/esm2020/tab.directive.mjs +115 -0
  555. package/tabs/esm2020/tabs.module.mjs +43 -0
  556. package/tabs/esm2020/tabset.component.mjs +216 -0
  557. package/tabs/esm2020/tabset.config.mjs +21 -0
  558. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs +427 -0
  559. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +1 -0
  560. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +427 -0
  561. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +1 -0
  562. package/tabs/ng-transclude.directive.d.ts +3 -5
  563. package/tabs/ngx-bootstrap-tabs.d.ts +1 -2
  564. package/tabs/package.json +25 -22
  565. package/tabs/tab-heading.directive.d.ts +3 -5
  566. package/tabs/tab.directive.d.ts +3 -5
  567. package/tabs/tabs.module.d.ts +9 -10
  568. package/tabs/tabset.component.d.ts +3 -5
  569. package/tabs/tabset.config.d.ts +3 -4
  570. package/timepicker/esm2020/index.mjs +2 -0
  571. package/timepicker/esm2020/models/index.mjs +2 -0
  572. package/timepicker/esm2020/ngx-bootstrap-timepicker.mjs +5 -0
  573. package/timepicker/esm2020/public_api.mjs +6 -0
  574. package/timepicker/esm2020/reducer/timepicker.actions.mjs +53 -0
  575. package/timepicker/esm2020/reducer/timepicker.reducer.mjs +83 -0
  576. package/timepicker/esm2020/reducer/timepicker.store.mjs +21 -0
  577. package/timepicker/esm2020/timepicker-controls.util.mjs +123 -0
  578. package/timepicker/esm2020/timepicker.component.mjs +360 -0
  579. package/timepicker/esm2020/timepicker.config.mjs +54 -0
  580. package/timepicker/esm2020/timepicker.models.mjs +2 -0
  581. package/timepicker/esm2020/timepicker.module.mjs +27 -0
  582. package/timepicker/esm2020/timepicker.utils.mjs +152 -0
  583. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +856 -0
  584. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +1 -0
  585. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs +855 -0
  586. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +1 -0
  587. package/timepicker/ngx-bootstrap-timepicker.d.ts +1 -3
  588. package/timepicker/package.json +29 -26
  589. package/timepicker/reducer/timepicker.actions.d.ts +3 -5
  590. package/timepicker/reducer/timepicker.store.d.ts +3 -5
  591. package/timepicker/timepicker.component.d.ts +4 -6
  592. package/timepicker/timepicker.config.d.ts +3 -4
  593. package/timepicker/timepicker.module.d.ts +6 -7
  594. package/tooltip/esm2020/index.mjs +2 -0
  595. package/tooltip/esm2020/ngx-bootstrap-tooltip.mjs +5 -0
  596. package/tooltip/esm2020/public_api.mjs +5 -0
  597. package/tooltip/esm2020/tooltip-container.component.mjs +76 -0
  598. package/tooltip/esm2020/tooltip.config.mjs +22 -0
  599. package/tooltip/esm2020/tooltip.directive.mjs +342 -0
  600. package/tooltip/esm2020/tooltip.module.mjs +28 -0
  601. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +460 -0
  602. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +1 -0
  603. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs +458 -0
  604. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +1 -0
  605. package/tooltip/ngx-bootstrap-tooltip.d.ts +1 -2
  606. package/tooltip/package.json +31 -27
  607. package/tooltip/tooltip-container.component.d.ts +3 -5
  608. package/tooltip/tooltip.config.d.ts +3 -4
  609. package/tooltip/tooltip.directive.d.ts +3 -5
  610. package/tooltip/tooltip.module.d.ts +7 -8
  611. package/typeahead/esm2020/index.mjs +2 -0
  612. package/typeahead/esm2020/latin-map.mjs +827 -0
  613. package/typeahead/esm2020/models/index.mjs +2 -0
  614. package/typeahead/esm2020/ngx-bootstrap-typeahead.mjs +5 -0
  615. package/typeahead/esm2020/public_api.mjs +9 -0
  616. package/typeahead/esm2020/typeahead-animations.mjs +16 -0
  617. package/typeahead/esm2020/typeahead-container.component.mjs +326 -0
  618. package/typeahead/esm2020/typeahead-match.class.mjs +15 -0
  619. package/typeahead/esm2020/typeahead-options.class.mjs +8 -0
  620. package/typeahead/esm2020/typeahead-order.class.mjs +2 -0
  621. package/typeahead/esm2020/typeahead-utils.mjs +77 -0
  622. package/typeahead/esm2020/typeahead.config.mjs +34 -0
  623. package/typeahead/esm2020/typeahead.directive.mjs +576 -0
  624. package/typeahead/esm2020/typeahead.module.mjs +28 -0
  625. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +1906 -0
  626. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +1 -0
  627. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs +1894 -0
  628. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +1 -0
  629. package/typeahead/ngx-bootstrap-typeahead.d.ts +1 -3
  630. package/typeahead/package.json +33 -29
  631. package/typeahead/typeahead-container.component.d.ts +3 -5
  632. package/typeahead/typeahead.config.d.ts +3 -4
  633. package/typeahead/typeahead.directive.d.ts +3 -5
  634. package/typeahead/typeahead.module.d.ts +7 -8
  635. package/utils/esm2020/decorators.mjs +23 -0
  636. package/utils/esm2020/facade/browser.mjs +26 -0
  637. package/utils/esm2020/index.mjs +2 -0
  638. package/utils/esm2020/linked-list.class.mjs +247 -0
  639. package/utils/esm2020/ngx-bootstrap-utils.mjs +5 -0
  640. package/utils/esm2020/public_api.mjs +10 -0
  641. package/utils/esm2020/theme-provider.mjs +74 -0
  642. package/utils/esm2020/trigger.class.mjs +14 -0
  643. package/utils/esm2020/triggers.mjs +118 -0
  644. package/utils/esm2020/utils.class.mjs +30 -0
  645. package/utils/esm2020/warn-once.mjs +11 -0
  646. package/utils/fesm2015/ngx-bootstrap-utils.mjs +547 -0
  647. package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +1 -0
  648. package/utils/fesm2020/ngx-bootstrap-utils.mjs +545 -0
  649. package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +1 -0
  650. package/utils/ngx-bootstrap-utils.d.ts +1 -3
  651. package/utils/package.json +24 -21
  652. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7318
  653. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  654. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -6224
  655. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  656. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js +0 -7
  657. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  658. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js +0 -258
  659. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  660. package/accordion/accordion-group.component.d.ts.__ivy_ngcc_bak +0 -34
  661. package/accordion/accordion-group.component.d.ts.map +0 -1
  662. package/accordion/accordion.component.d.ts.__ivy_ngcc_bak +0 -14
  663. package/accordion/accordion.component.d.ts.map +0 -1
  664. package/accordion/accordion.config.d.ts.__ivy_ngcc_bak +0 -9
  665. package/accordion/accordion.config.d.ts.map +0 -1
  666. package/accordion/accordion.module.d.ts.__ivy_ngcc_bak +0 -4
  667. package/accordion/accordion.module.d.ts.map +0 -1
  668. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +0 -195
  669. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +0 -1
  670. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +0 -2
  671. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +0 -1
  672. package/accordion/esm2015/accordion-group.component.js +0 -81
  673. package/accordion/esm2015/accordion-group.component.js.map +0 -1
  674. package/accordion/esm2015/accordion-group.component.metadata.json +0 -1
  675. package/accordion/esm2015/accordion.component.js +0 -54
  676. package/accordion/esm2015/accordion.component.js.map +0 -1
  677. package/accordion/esm2015/accordion.component.metadata.json +0 -1
  678. package/accordion/esm2015/accordion.config.js +0 -20
  679. package/accordion/esm2015/accordion.config.js.map +0 -1
  680. package/accordion/esm2015/accordion.config.metadata.json +0 -1
  681. package/accordion/esm2015/accordion.module.js +0 -18
  682. package/accordion/esm2015/accordion.module.js.map +0 -1
  683. package/accordion/esm2015/accordion.module.metadata.json +0 -1
  684. package/accordion/esm2015/index.js +0 -2
  685. package/accordion/esm2015/index.js.map +0 -1
  686. package/accordion/esm2015/index.metadata.json +0 -1
  687. package/accordion/esm2015/ngx-bootstrap-accordion.js +0 -5
  688. package/accordion/esm2015/ngx-bootstrap-accordion.js.map +0 -1
  689. package/accordion/esm2015/ngx-bootstrap-accordion.metadata.json +0 -1
  690. package/accordion/esm2015/public_api.js +0 -5
  691. package/accordion/esm2015/public_api.js.map +0 -1
  692. package/accordion/esm2015/public_api.metadata.json +0 -1
  693. package/accordion/fesm2015/ngx-bootstrap-accordion.js +0 -172
  694. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  695. package/accordion/ngx-bootstrap-accordion.d.ts.__ivy_ngcc_bak +0 -4
  696. package/accordion/ngx-bootstrap-accordion.d.ts.map +0 -1
  697. package/accordion/ngx-bootstrap-accordion.metadata.json +0 -1
  698. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js +0 -168
  699. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  700. package/alert/alert.component.d.ts.__ivy_ngcc_bak +0 -30
  701. package/alert/alert.component.d.ts.map +0 -1
  702. package/alert/alert.config.d.ts.__ivy_ngcc_bak +0 -8
  703. package/alert/alert.config.d.ts.map +0 -1
  704. package/alert/alert.module.d.ts.__ivy_ngcc_bak +0 -4
  705. package/alert/alert.module.d.ts.map +0 -1
  706. package/alert/bundles/ngx-bootstrap-alert.umd.js +0 -436
  707. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +0 -1
  708. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +0 -16
  709. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +0 -1
  710. package/alert/esm2015/alert.component.js +0 -75
  711. package/alert/esm2015/alert.component.js.map +0 -1
  712. package/alert/esm2015/alert.component.metadata.json +0 -1
  713. package/alert/esm2015/alert.config.js +0 -19
  714. package/alert/esm2015/alert.config.js.map +0 -1
  715. package/alert/esm2015/alert.config.metadata.json +0 -1
  716. package/alert/esm2015/alert.module.js +0 -17
  717. package/alert/esm2015/alert.module.js.map +0 -1
  718. package/alert/esm2015/alert.module.metadata.json +0 -1
  719. package/alert/esm2015/index.js +0 -2
  720. package/alert/esm2015/index.js.map +0 -1
  721. package/alert/esm2015/index.metadata.json +0 -1
  722. package/alert/esm2015/ngx-bootstrap-alert.js +0 -5
  723. package/alert/esm2015/ngx-bootstrap-alert.js.map +0 -1
  724. package/alert/esm2015/ngx-bootstrap-alert.metadata.json +0 -1
  725. package/alert/esm2015/public_api.js +0 -4
  726. package/alert/esm2015/public_api.js.map +0 -1
  727. package/alert/esm2015/public_api.metadata.json +0 -1
  728. package/alert/fesm2015/ngx-bootstrap-alert.js +0 -113
  729. package/alert/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  730. package/alert/ngx-bootstrap-alert.d.ts.__ivy_ngcc_bak +0 -4
  731. package/alert/ngx-bootstrap-alert.d.ts.map +0 -1
  732. package/alert/ngx-bootstrap-alert.metadata.json +0 -1
  733. package/bundles/ngx-bootstrap.umd.js +0 -13
  734. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  735. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  736. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  737. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js +0 -507
  738. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  739. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +0 -455
  740. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +0 -1
  741. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +0 -2
  742. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +0 -1
  743. package/buttons/button-checkbox.directive.d.ts.__ivy_ngcc_bak +0 -28
  744. package/buttons/button-checkbox.directive.d.ts.map +0 -1
  745. package/buttons/button-radio-group.directive.d.ts.__ivy_ngcc_bak +0 -32
  746. package/buttons/button-radio-group.directive.d.ts.map +0 -1
  747. package/buttons/button-radio.directive.d.ts.__ivy_ngcc_bak +0 -48
  748. package/buttons/button-radio.directive.d.ts.map +0 -1
  749. package/buttons/buttons.module.d.ts.__ivy_ngcc_bak +0 -4
  750. package/buttons/buttons.module.d.ts.map +0 -1
  751. package/buttons/esm2015/button-checkbox.directive.js +0 -76
  752. package/buttons/esm2015/button-checkbox.directive.js.map +0 -1
  753. package/buttons/esm2015/button-checkbox.directive.metadata.json +0 -1
  754. package/buttons/esm2015/button-radio-group.directive.js +0 -138
  755. package/buttons/esm2015/button-radio-group.directive.js.map +0 -1
  756. package/buttons/esm2015/button-radio-group.directive.metadata.json +0 -1
  757. package/buttons/esm2015/button-radio.directive.js +0 -161
  758. package/buttons/esm2015/button-radio.directive.js.map +0 -1
  759. package/buttons/esm2015/button-radio.directive.metadata.json +0 -1
  760. package/buttons/esm2015/buttons.module.js +0 -16
  761. package/buttons/esm2015/buttons.module.js.map +0 -1
  762. package/buttons/esm2015/buttons.module.metadata.json +0 -1
  763. package/buttons/esm2015/index.js +0 -2
  764. package/buttons/esm2015/index.js.map +0 -1
  765. package/buttons/esm2015/index.metadata.json +0 -1
  766. package/buttons/esm2015/ngx-bootstrap-buttons.js +0 -8
  767. package/buttons/esm2015/ngx-bootstrap-buttons.js.map +0 -1
  768. package/buttons/esm2015/ngx-bootstrap-buttons.metadata.json +0 -1
  769. package/buttons/esm2015/public_api.js +0 -5
  770. package/buttons/esm2015/public_api.js.map +0 -1
  771. package/buttons/esm2015/public_api.metadata.json +0 -1
  772. package/buttons/fesm2015/ngx-bootstrap-buttons.js +0 -388
  773. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  774. package/buttons/ngx-bootstrap-buttons.d.ts.__ivy_ngcc_bak +0 -7
  775. package/buttons/ngx-bootstrap-buttons.d.ts.map +0 -1
  776. package/buttons/ngx-bootstrap-buttons.metadata.json +0 -1
  777. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js +0 -1018
  778. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  779. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +0 -1171
  780. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +0 -1
  781. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +0 -16
  782. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +0 -1
  783. package/carousel/carousel.component.d.ts.__ivy_ngcc_bak +0 -189
  784. package/carousel/carousel.component.d.ts.map +0 -1
  785. package/carousel/carousel.config.d.ts.__ivy_ngcc_bak +0 -10
  786. package/carousel/carousel.config.d.ts.map +0 -1
  787. package/carousel/carousel.module.d.ts.__ivy_ngcc_bak +0 -4
  788. package/carousel/carousel.module.d.ts.map +0 -1
  789. package/carousel/esm2015/carousel.component.js +0 -701
  790. package/carousel/esm2015/carousel.component.js.map +0 -1
  791. package/carousel/esm2015/carousel.component.metadata.json +0 -1
  792. package/carousel/esm2015/carousel.config.js +0 -30
  793. package/carousel/esm2015/carousel.config.js.map +0 -1
  794. package/carousel/esm2015/carousel.config.metadata.json +0 -1
  795. package/carousel/esm2015/carousel.module.js +0 -17
  796. package/carousel/esm2015/carousel.module.js.map +0 -1
  797. package/carousel/esm2015/carousel.module.metadata.json +0 -1
  798. package/carousel/esm2015/index.js +0 -2
  799. package/carousel/esm2015/index.js.map +0 -1
  800. package/carousel/esm2015/index.metadata.json +0 -1
  801. package/carousel/esm2015/models/index.js +0 -2
  802. package/carousel/esm2015/models/index.js.map +0 -1
  803. package/carousel/esm2015/models/index.metadata.json +0 -1
  804. package/carousel/esm2015/ngx-bootstrap-carousel.js +0 -5
  805. package/carousel/esm2015/ngx-bootstrap-carousel.js.map +0 -1
  806. package/carousel/esm2015/ngx-bootstrap-carousel.metadata.json +0 -1
  807. package/carousel/esm2015/public_api.js +0 -5
  808. package/carousel/esm2015/public_api.js.map +0 -1
  809. package/carousel/esm2015/public_api.metadata.json +0 -1
  810. package/carousel/esm2015/slide.component.js +0 -74
  811. package/carousel/esm2015/slide.component.js.map +0 -1
  812. package/carousel/esm2015/slide.component.metadata.json +0 -1
  813. package/carousel/esm2015/utils.js +0 -32
  814. package/carousel/esm2015/utils.js.map +0 -1
  815. package/carousel/esm2015/utils.metadata.json +0 -1
  816. package/carousel/fesm2015/ngx-bootstrap-carousel.js +0 -843
  817. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  818. package/carousel/ngx-bootstrap-carousel.d.ts.__ivy_ngcc_bak +0 -4
  819. package/carousel/ngx-bootstrap-carousel.d.ts.map +0 -1
  820. package/carousel/ngx-bootstrap-carousel.metadata.json +0 -1
  821. package/carousel/slide.component.d.ts.__ivy_ngcc_bak +0 -19
  822. package/carousel/slide.component.d.ts.map +0 -1
  823. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +0 -7449
  824. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +0 -1
  825. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +0 -67
  826. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +0 -1
  827. package/chronos/esm2015/create/check-overflow.js +0 -30
  828. package/chronos/esm2015/create/check-overflow.js.map +0 -1
  829. package/chronos/esm2015/create/check-overflow.metadata.json +0 -1
  830. package/chronos/esm2015/create/clone.js +0 -6
  831. package/chronos/esm2015/create/clone.js.map +0 -1
  832. package/chronos/esm2015/create/clone.metadata.json +0 -1
  833. package/chronos/esm2015/create/date-from-array.js +0 -19
  834. package/chronos/esm2015/create/date-from-array.js.map +0 -1
  835. package/chronos/esm2015/create/date-from-array.metadata.json +0 -1
  836. package/chronos/esm2015/create/from-anything.js +0 -106
  837. package/chronos/esm2015/create/from-anything.js.map +0 -1
  838. package/chronos/esm2015/create/from-anything.metadata.json +0 -1
  839. package/chronos/esm2015/create/from-array.js +0 -135
  840. package/chronos/esm2015/create/from-array.js.map +0 -1
  841. package/chronos/esm2015/create/from-array.metadata.json +0 -1
  842. package/chronos/esm2015/create/from-object.js +0 -17
  843. package/chronos/esm2015/create/from-object.js.map +0 -1
  844. package/chronos/esm2015/create/from-object.metadata.json +0 -1
  845. package/chronos/esm2015/create/from-string-and-array.js +0 -38
  846. package/chronos/esm2015/create/from-string-and-array.js.map +0 -1
  847. package/chronos/esm2015/create/from-string-and-array.metadata.json +0 -1
  848. package/chronos/esm2015/create/from-string-and-format.js +0 -106
  849. package/chronos/esm2015/create/from-string-and-format.js.map +0 -1
  850. package/chronos/esm2015/create/from-string-and-format.metadata.json +0 -1
  851. package/chronos/esm2015/create/from-string.js +0 -222
  852. package/chronos/esm2015/create/from-string.js.map +0 -1
  853. package/chronos/esm2015/create/from-string.metadata.json +0 -1
  854. package/chronos/esm2015/create/local.js +0 -16
  855. package/chronos/esm2015/create/local.js.map +0 -1
  856. package/chronos/esm2015/create/local.metadata.json +0 -1
  857. package/chronos/esm2015/create/parsing-flags.js +0 -26
  858. package/chronos/esm2015/create/parsing-flags.js.map +0 -1
  859. package/chronos/esm2015/create/parsing-flags.metadata.json +0 -1
  860. package/chronos/esm2015/create/parsing.types.js +0 -2
  861. package/chronos/esm2015/create/parsing.types.js.map +0 -1
  862. package/chronos/esm2015/create/parsing.types.metadata.json +0 -1
  863. package/chronos/esm2015/create/valid.js +0 -42
  864. package/chronos/esm2015/create/valid.js.map +0 -1
  865. package/chronos/esm2015/create/valid.metadata.json +0 -1
  866. package/chronos/esm2015/duration/bubble.js +0 -47
  867. package/chronos/esm2015/duration/bubble.js.map +0 -1
  868. package/chronos/esm2015/duration/bubble.metadata.json +0 -1
  869. package/chronos/esm2015/duration/constructor.js +0 -130
  870. package/chronos/esm2015/duration/constructor.js.map +0 -1
  871. package/chronos/esm2015/duration/constructor.metadata.json +0 -1
  872. package/chronos/esm2015/duration/create.js +0 -112
  873. package/chronos/esm2015/duration/create.js.map +0 -1
  874. package/chronos/esm2015/duration/create.metadata.json +0 -1
  875. package/chronos/esm2015/duration/humanize.js +0 -79
  876. package/chronos/esm2015/duration/humanize.js.map +0 -1
  877. package/chronos/esm2015/duration/humanize.metadata.json +0 -1
  878. package/chronos/esm2015/duration/valid.js +0 -45
  879. package/chronos/esm2015/duration/valid.js.map +0 -1
  880. package/chronos/esm2015/duration/valid.metadata.json +0 -1
  881. package/chronos/esm2015/format/format.js +0 -50
  882. package/chronos/esm2015/format/format.js.map +0 -1
  883. package/chronos/esm2015/format/format.metadata.json +0 -1
  884. package/chronos/esm2015/format.js +0 -46
  885. package/chronos/esm2015/format.js.map +0 -1
  886. package/chronos/esm2015/format.metadata.json +0 -1
  887. package/chronos/esm2015/i18n/ar.js +0 -135
  888. package/chronos/esm2015/i18n/ar.js.map +0 -1
  889. package/chronos/esm2015/i18n/ar.metadata.json +0 -1
  890. package/chronos/esm2015/i18n/bg.js +0 -92
  891. package/chronos/esm2015/i18n/bg.js.map +0 -1
  892. package/chronos/esm2015/i18n/bg.metadata.json +0 -1
  893. package/chronos/esm2015/i18n/ca.js +0 -87
  894. package/chronos/esm2015/i18n/ca.js.map +0 -1
  895. package/chronos/esm2015/i18n/ca.metadata.json +0 -1
  896. package/chronos/esm2015/i18n/cs.js +0 -177
  897. package/chronos/esm2015/i18n/cs.js.map +0 -1
  898. package/chronos/esm2015/i18n/cs.metadata.json +0 -1
  899. package/chronos/esm2015/i18n/da.js +0 -49
  900. package/chronos/esm2015/i18n/da.js.map +0 -1
  901. package/chronos/esm2015/i18n/da.metadata.json +0 -1
  902. package/chronos/esm2015/i18n/de.js +0 -67
  903. package/chronos/esm2015/i18n/de.js.map +0 -1
  904. package/chronos/esm2015/i18n/de.metadata.json +0 -1
  905. package/chronos/esm2015/i18n/en-gb.js +0 -57
  906. package/chronos/esm2015/i18n/en-gb.js.map +0 -1
  907. package/chronos/esm2015/i18n/en-gb.metadata.json +0 -1
  908. package/chronos/esm2015/i18n/es-do.js +0 -81
  909. package/chronos/esm2015/i18n/es-do.js.map +0 -1
  910. package/chronos/esm2015/i18n/es-do.metadata.json +0 -1
  911. package/chronos/esm2015/i18n/es-us.js +0 -75
  912. package/chronos/esm2015/i18n/es-us.js.map +0 -1
  913. package/chronos/esm2015/i18n/es-us.metadata.json +0 -1
  914. package/chronos/esm2015/i18n/es.js +0 -80
  915. package/chronos/esm2015/i18n/es.js.map +0 -1
  916. package/chronos/esm2015/i18n/es.metadata.json +0 -1
  917. package/chronos/esm2015/i18n/et.js +0 -71
  918. package/chronos/esm2015/i18n/et.js.map +0 -1
  919. package/chronos/esm2015/i18n/et.metadata.json +0 -1
  920. package/chronos/esm2015/i18n/fi.js +0 -96
  921. package/chronos/esm2015/i18n/fi.js.map +0 -1
  922. package/chronos/esm2015/i18n/fi.metadata.json +0 -1
  923. package/chronos/esm2015/i18n/fr.js +0 -72
  924. package/chronos/esm2015/i18n/fr.js.map +0 -1
  925. package/chronos/esm2015/i18n/fr.metadata.json +0 -1
  926. package/chronos/esm2015/i18n/gl.js +0 -80
  927. package/chronos/esm2015/i18n/gl.js.map +0 -1
  928. package/chronos/esm2015/i18n/gl.metadata.json +0 -1
  929. package/chronos/esm2015/i18n/he.js +0 -94
  930. package/chronos/esm2015/i18n/he.js.map +0 -1
  931. package/chronos/esm2015/i18n/he.metadata.json +0 -1
  932. package/chronos/esm2015/i18n/hi.js +0 -119
  933. package/chronos/esm2015/i18n/hi.js.map +0 -1
  934. package/chronos/esm2015/i18n/hi.metadata.json +0 -1
  935. package/chronos/esm2015/i18n/hr.js +0 -58
  936. package/chronos/esm2015/i18n/hr.js.map +0 -1
  937. package/chronos/esm2015/i18n/hr.metadata.json +0 -1
  938. package/chronos/esm2015/i18n/hu.js +0 -100
  939. package/chronos/esm2015/i18n/hu.js.map +0 -1
  940. package/chronos/esm2015/i18n/hu.metadata.json +0 -1
  941. package/chronos/esm2015/i18n/id.js +0 -78
  942. package/chronos/esm2015/i18n/id.js.map +0 -1
  943. package/chronos/esm2015/i18n/id.metadata.json +0 -1
  944. package/chronos/esm2015/i18n/it.js +0 -61
  945. package/chronos/esm2015/i18n/it.js.map +0 -1
  946. package/chronos/esm2015/i18n/it.metadata.json +0 -1
  947. package/chronos/esm2015/i18n/ja.js +0 -71
  948. package/chronos/esm2015/i18n/ja.js.map +0 -1
  949. package/chronos/esm2015/i18n/ja.metadata.json +0 -1
  950. package/chronos/esm2015/i18n/ka.js +0 -83
  951. package/chronos/esm2015/i18n/ka.js.map +0 -1
  952. package/chronos/esm2015/i18n/ka.metadata.json +0 -1
  953. package/chronos/esm2015/i18n/kk.js +0 -76
  954. package/chronos/esm2015/i18n/kk.js.map +0 -1
  955. package/chronos/esm2015/i18n/kk.metadata.json +0 -1
  956. package/chronos/esm2015/i18n/ko.js +0 -72
  957. package/chronos/esm2015/i18n/ko.js.map +0 -1
  958. package/chronos/esm2015/i18n/ko.metadata.json +0 -1
  959. package/chronos/esm2015/i18n/lt.js +0 -112
  960. package/chronos/esm2015/i18n/lt.js.map +0 -1
  961. package/chronos/esm2015/i18n/lt.metadata.json +0 -1
  962. package/chronos/esm2015/i18n/lv.js +0 -52
  963. package/chronos/esm2015/i18n/lv.js.map +0 -1
  964. package/chronos/esm2015/i18n/lv.metadata.json +0 -1
  965. package/chronos/esm2015/i18n/mn.js +0 -94
  966. package/chronos/esm2015/i18n/mn.js.map +0 -1
  967. package/chronos/esm2015/i18n/mn.metadata.json +0 -1
  968. package/chronos/esm2015/i18n/nb.js +0 -53
  969. package/chronos/esm2015/i18n/nb.js.map +0 -1
  970. package/chronos/esm2015/i18n/nb.metadata.json +0 -1
  971. package/chronos/esm2015/i18n/nl-be.js +0 -77
  972. package/chronos/esm2015/i18n/nl-be.js.map +0 -1
  973. package/chronos/esm2015/i18n/nl-be.metadata.json +0 -1
  974. package/chronos/esm2015/i18n/nl.js +0 -76
  975. package/chronos/esm2015/i18n/nl.js.map +0 -1
  976. package/chronos/esm2015/i18n/nl.metadata.json +0 -1
  977. package/chronos/esm2015/i18n/pl.js +0 -122
  978. package/chronos/esm2015/i18n/pl.js.map +0 -1
  979. package/chronos/esm2015/i18n/pl.metadata.json +0 -1
  980. package/chronos/esm2015/i18n/pt-br.js +0 -52
  981. package/chronos/esm2015/i18n/pt-br.js.map +0 -1
  982. package/chronos/esm2015/i18n/pt-br.metadata.json +0 -1
  983. package/chronos/esm2015/i18n/ro.js +0 -66
  984. package/chronos/esm2015/i18n/ro.js.map +0 -1
  985. package/chronos/esm2015/i18n/ro.metadata.json +0 -1
  986. package/chronos/esm2015/i18n/ru.js +0 -177
  987. package/chronos/esm2015/i18n/ru.js.map +0 -1
  988. package/chronos/esm2015/i18n/ru.metadata.json +0 -1
  989. package/chronos/esm2015/i18n/sk.js +0 -153
  990. package/chronos/esm2015/i18n/sk.js.map +0 -1
  991. package/chronos/esm2015/i18n/sk.metadata.json +0 -1
  992. package/chronos/esm2015/i18n/sl.js +0 -179
  993. package/chronos/esm2015/i18n/sl.js.map +0 -1
  994. package/chronos/esm2015/i18n/sl.metadata.json +0 -1
  995. package/chronos/esm2015/i18n/sq.js +0 -50
  996. package/chronos/esm2015/i18n/sq.js.map +0 -1
  997. package/chronos/esm2015/i18n/sq.metadata.json +0 -1
  998. package/chronos/esm2015/i18n/sv.js +0 -59
  999. package/chronos/esm2015/i18n/sv.js.map +0 -1
  1000. package/chronos/esm2015/i18n/sv.metadata.json +0 -1
  1001. package/chronos/esm2015/i18n/th-be.js +0 -73
  1002. package/chronos/esm2015/i18n/th-be.js.map +0 -1
  1003. package/chronos/esm2015/i18n/th-be.metadata.json +0 -1
  1004. package/chronos/esm2015/i18n/th.js +0 -58
  1005. package/chronos/esm2015/i18n/th.js.map +0 -1
  1006. package/chronos/esm2015/i18n/th.metadata.json +0 -1
  1007. package/chronos/esm2015/i18n/tr.js +0 -78
  1008. package/chronos/esm2015/i18n/tr.js.map +0 -1
  1009. package/chronos/esm2015/i18n/tr.metadata.json +0 -1
  1010. package/chronos/esm2015/i18n/uk.js +0 -143
  1011. package/chronos/esm2015/i18n/uk.js.map +0 -1
  1012. package/chronos/esm2015/i18n/uk.metadata.json +0 -1
  1013. package/chronos/esm2015/i18n/vi.js +0 -70
  1014. package/chronos/esm2015/i18n/vi.js.map +0 -1
  1015. package/chronos/esm2015/i18n/vi.metadata.json +0 -1
  1016. package/chronos/esm2015/i18n/zh-cn.js +0 -109
  1017. package/chronos/esm2015/i18n/zh-cn.js.map +0 -1
  1018. package/chronos/esm2015/i18n/zh-cn.metadata.json +0 -1
  1019. package/chronos/esm2015/index.js +0 -2
  1020. package/chronos/esm2015/index.js.map +0 -1
  1021. package/chronos/esm2015/index.metadata.json +0 -1
  1022. package/chronos/esm2015/locale/calendar.js +0 -9
  1023. package/chronos/esm2015/locale/calendar.js.map +0 -1
  1024. package/chronos/esm2015/locale/calendar.metadata.json +0 -1
  1025. package/chronos/esm2015/locale/locale.class.js +0 -532
  1026. package/chronos/esm2015/locale/locale.class.js.map +0 -1
  1027. package/chronos/esm2015/locale/locale.class.metadata.json +0 -1
  1028. package/chronos/esm2015/locale/locale.defaults.js +0 -40
  1029. package/chronos/esm2015/locale/locale.defaults.js.map +0 -1
  1030. package/chronos/esm2015/locale/locale.defaults.metadata.json +0 -1
  1031. package/chronos/esm2015/locale/locales.js +0 -228
  1032. package/chronos/esm2015/locale/locales.js.map +0 -1
  1033. package/chronos/esm2015/locale/locales.metadata.json +0 -1
  1034. package/chronos/esm2015/moment/add-subtract.js +0 -35
  1035. package/chronos/esm2015/moment/add-subtract.js.map +0 -1
  1036. package/chronos/esm2015/moment/add-subtract.metadata.json +0 -1
  1037. package/chronos/esm2015/moment/calendar.js +0 -41
  1038. package/chronos/esm2015/moment/calendar.js.map +0 -1
  1039. package/chronos/esm2015/moment/calendar.metadata.json +0 -1
  1040. package/chronos/esm2015/moment/diff.js +0 -70
  1041. package/chronos/esm2015/moment/diff.js.map +0 -1
  1042. package/chronos/esm2015/moment/diff.metadata.json +0 -1
  1043. package/chronos/esm2015/moment/min-max.js +0 -38
  1044. package/chronos/esm2015/moment/min-max.js.map +0 -1
  1045. package/chronos/esm2015/moment/min-max.metadata.json +0 -1
  1046. package/chronos/esm2015/ngx-bootstrap-chronos.js +0 -6
  1047. package/chronos/esm2015/ngx-bootstrap-chronos.js.map +0 -1
  1048. package/chronos/esm2015/ngx-bootstrap-chronos.metadata.json +0 -1
  1049. package/chronos/esm2015/parse/regex.js +0 -47
  1050. package/chronos/esm2015/parse/regex.js.map +0 -1
  1051. package/chronos/esm2015/parse/regex.metadata.json +0 -1
  1052. package/chronos/esm2015/parse/token.js +0 -31
  1053. package/chronos/esm2015/parse/token.js.map +0 -1
  1054. package/chronos/esm2015/parse/token.metadata.json +0 -1
  1055. package/chronos/esm2015/public_api.js +0 -56
  1056. package/chronos/esm2015/public_api.js.map +0 -1
  1057. package/chronos/esm2015/public_api.metadata.json +0 -1
  1058. package/chronos/esm2015/testing/chain.js +0 -708
  1059. package/chronos/esm2015/testing/chain.js.map +0 -1
  1060. package/chronos/esm2015/testing/chain.metadata.json +0 -1
  1061. package/chronos/esm2015/types.js +0 -2
  1062. package/chronos/esm2015/types.js.map +0 -1
  1063. package/chronos/esm2015/types.metadata.json +0 -1
  1064. package/chronos/esm2015/units/aliases.js +0 -35
  1065. package/chronos/esm2015/units/aliases.js.map +0 -1
  1066. package/chronos/esm2015/units/aliases.metadata.json +0 -1
  1067. package/chronos/esm2015/units/constants.js +0 -11
  1068. package/chronos/esm2015/units/constants.js.map +0 -1
  1069. package/chronos/esm2015/units/constants.metadata.json +0 -1
  1070. package/chronos/esm2015/units/day-of-month.js +0 -31
  1071. package/chronos/esm2015/units/day-of-month.js.map +0 -1
  1072. package/chronos/esm2015/units/day-of-month.metadata.json +0 -1
  1073. package/chronos/esm2015/units/day-of-week.js +0 -129
  1074. package/chronos/esm2015/units/day-of-week.js.map +0 -1
  1075. package/chronos/esm2015/units/day-of-week.metadata.json +0 -1
  1076. package/chronos/esm2015/units/day-of-year.js +0 -37
  1077. package/chronos/esm2015/units/day-of-year.js.map +0 -1
  1078. package/chronos/esm2015/units/day-of-year.metadata.json +0 -1
  1079. package/chronos/esm2015/units/hour.js +0 -127
  1080. package/chronos/esm2015/units/hour.js.map +0 -1
  1081. package/chronos/esm2015/units/hour.metadata.json +0 -1
  1082. package/chronos/esm2015/units/index.js +0 -19
  1083. package/chronos/esm2015/units/index.js.map +0 -1
  1084. package/chronos/esm2015/units/millisecond.js +0 -59
  1085. package/chronos/esm2015/units/millisecond.js.map +0 -1
  1086. package/chronos/esm2015/units/millisecond.metadata.json +0 -1
  1087. package/chronos/esm2015/units/minute.js +0 -23
  1088. package/chronos/esm2015/units/minute.js.map +0 -1
  1089. package/chronos/esm2015/units/minute.metadata.json +0 -1
  1090. package/chronos/esm2015/units/month.js +0 -63
  1091. package/chronos/esm2015/units/month.js.map +0 -1
  1092. package/chronos/esm2015/units/month.metadata.json +0 -1
  1093. package/chronos/esm2015/units/offset.js +0 -209
  1094. package/chronos/esm2015/units/offset.js.map +0 -1
  1095. package/chronos/esm2015/units/offset.metadata.json +0 -1
  1096. package/chronos/esm2015/units/priorities.js +0 -21
  1097. package/chronos/esm2015/units/priorities.js.map +0 -1
  1098. package/chronos/esm2015/units/priorities.metadata.json +0 -1
  1099. package/chronos/esm2015/units/quarter.js +0 -39
  1100. package/chronos/esm2015/units/quarter.js.map +0 -1
  1101. package/chronos/esm2015/units/quarter.metadata.json +0 -1
  1102. package/chronos/esm2015/units/second.js +0 -23
  1103. package/chronos/esm2015/units/second.js.map +0 -1
  1104. package/chronos/esm2015/units/second.metadata.json +0 -1
  1105. package/chronos/esm2015/units/timestamp.js +0 -28
  1106. package/chronos/esm2015/units/timestamp.js.map +0 -1
  1107. package/chronos/esm2015/units/timestamp.metadata.json +0 -1
  1108. package/chronos/esm2015/units/timezone.js +0 -19
  1109. package/chronos/esm2015/units/timezone.js.map +0 -1
  1110. package/chronos/esm2015/units/timezone.metadata.json +0 -1
  1111. package/chronos/esm2015/units/week-calendar-utils.js +0 -70
  1112. package/chronos/esm2015/units/week-calendar-utils.js.map +0 -1
  1113. package/chronos/esm2015/units/week-calendar-utils.metadata.json +0 -1
  1114. package/chronos/esm2015/units/week-year.js +0 -101
  1115. package/chronos/esm2015/units/week-year.js.map +0 -1
  1116. package/chronos/esm2015/units/week-year.metadata.json +0 -1
  1117. package/chronos/esm2015/units/week.js +0 -58
  1118. package/chronos/esm2015/units/week.js.map +0 -1
  1119. package/chronos/esm2015/units/week.metadata.json +0 -1
  1120. package/chronos/esm2015/units/year.js +0 -60
  1121. package/chronos/esm2015/units/year.js.map +0 -1
  1122. package/chronos/esm2015/units/year.metadata.json +0 -1
  1123. package/chronos/esm2015/utils/abs-ceil.js +0 -4
  1124. package/chronos/esm2015/utils/abs-ceil.js.map +0 -1
  1125. package/chronos/esm2015/utils/abs-ceil.metadata.json +0 -1
  1126. package/chronos/esm2015/utils/abs-round.js +0 -4
  1127. package/chronos/esm2015/utils/abs-round.js.map +0 -1
  1128. package/chronos/esm2015/utils/abs-round.metadata.json +0 -1
  1129. package/chronos/esm2015/utils/compare-arrays.js +0 -16
  1130. package/chronos/esm2015/utils/compare-arrays.js.map +0 -1
  1131. package/chronos/esm2015/utils/compare-arrays.metadata.json +0 -1
  1132. package/chronos/esm2015/utils/date-compare.js +0 -55
  1133. package/chronos/esm2015/utils/date-compare.js.map +0 -1
  1134. package/chronos/esm2015/utils/date-compare.metadata.json +0 -1
  1135. package/chronos/esm2015/utils/date-getters.js +0 -67
  1136. package/chronos/esm2015/utils/date-getters.js.map +0 -1
  1137. package/chronos/esm2015/utils/date-getters.metadata.json +0 -1
  1138. package/chronos/esm2015/utils/date-setters.js +0 -75
  1139. package/chronos/esm2015/utils/date-setters.js.map +0 -1
  1140. package/chronos/esm2015/utils/date-setters.metadata.json +0 -1
  1141. package/chronos/esm2015/utils/defaults.js +0 -11
  1142. package/chronos/esm2015/utils/defaults.js.map +0 -1
  1143. package/chronos/esm2015/utils/defaults.metadata.json +0 -1
  1144. package/chronos/esm2015/utils/start-end-of.js +0 -57
  1145. package/chronos/esm2015/utils/start-end-of.js.map +0 -1
  1146. package/chronos/esm2015/utils/start-end-of.metadata.json +0 -1
  1147. package/chronos/esm2015/utils/type-checks.js +0 -58
  1148. package/chronos/esm2015/utils/type-checks.js.map +0 -1
  1149. package/chronos/esm2015/utils/type-checks.metadata.json +0 -1
  1150. package/chronos/esm2015/utils/zero-fill.js +0 -10
  1151. package/chronos/esm2015/utils/zero-fill.js.map +0 -1
  1152. package/chronos/esm2015/utils/zero-fill.metadata.json +0 -1
  1153. package/chronos/esm2015/utils.js +0 -7
  1154. package/chronos/esm2015/utils.js.map +0 -1
  1155. package/chronos/esm2015/utils.metadata.json +0 -1
  1156. package/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7317
  1157. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  1158. package/chronos/ngx-bootstrap-chronos.d.ts.__ivy_ngcc_bak +0 -5
  1159. package/chronos/ngx-bootstrap-chronos.d.ts.map +0 -1
  1160. package/chronos/ngx-bootstrap-chronos.metadata.json +0 -1
  1161. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js +0 -222
  1162. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1163. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +0 -203
  1164. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +0 -1
  1165. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +0 -2
  1166. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +0 -1
  1167. package/collapse/collapse.directive.d.ts.__ivy_ngcc_bak +0 -42
  1168. package/collapse/collapse.directive.d.ts.map +0 -1
  1169. package/collapse/collapse.module.d.ts.__ivy_ngcc_bak +0 -4
  1170. package/collapse/collapse.module.d.ts.map +0 -1
  1171. package/collapse/esm2015/collapse-animations.js +0 -11
  1172. package/collapse/esm2015/collapse-animations.js.map +0 -1
  1173. package/collapse/esm2015/collapse-animations.metadata.json +0 -1
  1174. package/collapse/esm2015/collapse.directive.js +0 -152
  1175. package/collapse/esm2015/collapse.directive.js.map +0 -1
  1176. package/collapse/esm2015/collapse.directive.metadata.json +0 -1
  1177. package/collapse/esm2015/collapse.module.js +0 -14
  1178. package/collapse/esm2015/collapse.module.js.map +0 -1
  1179. package/collapse/esm2015/collapse.module.metadata.json +0 -1
  1180. package/collapse/esm2015/index.js +0 -2
  1181. package/collapse/esm2015/index.js.map +0 -1
  1182. package/collapse/esm2015/index.metadata.json +0 -1
  1183. package/collapse/esm2015/ngx-bootstrap-collapse.js +0 -5
  1184. package/collapse/esm2015/ngx-bootstrap-collapse.js.map +0 -1
  1185. package/collapse/esm2015/ngx-bootstrap-collapse.metadata.json +0 -1
  1186. package/collapse/esm2015/public_api.js +0 -3
  1187. package/collapse/esm2015/public_api.js.map +0 -1
  1188. package/collapse/esm2015/public_api.metadata.json +0 -1
  1189. package/collapse/fesm2015/ngx-bootstrap-collapse.js +0 -180
  1190. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1191. package/collapse/ngx-bootstrap-collapse.d.ts.__ivy_ngcc_bak +0 -4
  1192. package/collapse/ngx-bootstrap-collapse.d.ts.map +0 -1
  1193. package/collapse/ngx-bootstrap-collapse.metadata.json +0 -1
  1194. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js +0 -348
  1195. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1196. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +0 -366
  1197. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +0 -1
  1198. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +0 -2
  1199. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +0 -1
  1200. package/component-loader/component-loader.factory.d.ts.__ivy_ngcc_bak +0 -18
  1201. package/component-loader/component-loader.factory.d.ts.map +0 -1
  1202. package/component-loader/esm2015/bs-component-ref.class.js +0 -3
  1203. package/component-loader/esm2015/bs-component-ref.class.js.map +0 -1
  1204. package/component-loader/esm2015/bs-component-ref.class.metadata.json +0 -1
  1205. package/component-loader/esm2015/component-loader.class.js +0 -289
  1206. package/component-loader/esm2015/component-loader.class.js.map +0 -1
  1207. package/component-loader/esm2015/component-loader.class.metadata.json +0 -1
  1208. package/component-loader/esm2015/component-loader.factory.js +0 -35
  1209. package/component-loader/esm2015/component-loader.factory.js.map +0 -1
  1210. package/component-loader/esm2015/component-loader.factory.metadata.json +0 -1
  1211. package/component-loader/esm2015/content-ref.class.js +0 -16
  1212. package/component-loader/esm2015/content-ref.class.js.map +0 -1
  1213. package/component-loader/esm2015/content-ref.class.metadata.json +0 -1
  1214. package/component-loader/esm2015/index.js +0 -2
  1215. package/component-loader/esm2015/index.js.map +0 -1
  1216. package/component-loader/esm2015/index.metadata.json +0 -1
  1217. package/component-loader/esm2015/listen-options.model.js +0 -2
  1218. package/component-loader/esm2015/listen-options.model.js.map +0 -1
  1219. package/component-loader/esm2015/listen-options.model.metadata.json +0 -1
  1220. package/component-loader/esm2015/ngx-bootstrap-component-loader.js +0 -5
  1221. package/component-loader/esm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1222. package/component-loader/esm2015/ngx-bootstrap-component-loader.metadata.json +0 -1
  1223. package/component-loader/esm2015/public_api.js +0 -5
  1224. package/component-loader/esm2015/public_api.js.map +0 -1
  1225. package/component-loader/esm2015/public_api.metadata.json +0 -1
  1226. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +0 -343
  1227. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1228. package/component-loader/ngx-bootstrap-component-loader.d.ts.__ivy_ngcc_bak +0 -4
  1229. package/component-loader/ngx-bootstrap-component-loader.d.ts.map +0 -1
  1230. package/component-loader/ngx-bootstrap-component-loader.metadata.json +0 -1
  1231. package/datepicker/bs-datepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1232. package/datepicker/bs-datepicker-inline.component.d.ts.map +0 -1
  1233. package/datepicker/bs-datepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -3
  1234. package/datepicker/bs-datepicker-inline.config.d.ts.map +0 -1
  1235. package/datepicker/bs-datepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1236. package/datepicker/bs-datepicker-input.directive.d.ts.map +0 -1
  1237. package/datepicker/bs-datepicker.component.d.ts.__ivy_ngcc_bak +0 -121
  1238. package/datepicker/bs-datepicker.component.d.ts.map +0 -1
  1239. package/datepicker/bs-datepicker.config.d.ts.__ivy_ngcc_bak +0 -151
  1240. package/datepicker/bs-datepicker.config.d.ts.map +0 -1
  1241. package/datepicker/bs-datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1242. package/datepicker/bs-datepicker.module.d.ts.map +0 -1
  1243. package/datepicker/bs-daterangepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1244. package/datepicker/bs-daterangepicker-inline.component.d.ts.map +0 -1
  1245. package/datepicker/bs-daterangepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -6
  1246. package/datepicker/bs-daterangepicker-inline.config.d.ts.map +0 -1
  1247. package/datepicker/bs-daterangepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1248. package/datepicker/bs-daterangepicker-input.directive.d.ts.map +0 -1
  1249. package/datepicker/bs-daterangepicker.component.d.ts.__ivy_ngcc_bak +0 -113
  1250. package/datepicker/bs-daterangepicker.component.d.ts.map +0 -1
  1251. package/datepicker/bs-daterangepicker.config.d.ts.__ivy_ngcc_bak +0 -4
  1252. package/datepicker/bs-daterangepicker.config.d.ts.map +0 -1
  1253. package/datepicker/bs-locale.service.d.ts.__ivy_ngcc_bak +0 -10
  1254. package/datepicker/bs-locale.service.d.ts.map +0 -1
  1255. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +0 -4590
  1256. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +0 -1
  1257. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +0 -17
  1258. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +0 -1
  1259. package/datepicker/date-formatter.d.ts +0 -3
  1260. package/datepicker/datepicker-inner.component.d.ts +0 -82
  1261. package/datepicker/datepicker-inner.component.d.ts.__ivy_ngcc_bak +0 -77
  1262. package/datepicker/datepicker-inner.component.d.ts.map +0 -1
  1263. package/datepicker/datepicker.component.d.ts +0 -83
  1264. package/datepicker/datepicker.component.d.ts.__ivy_ngcc_bak +0 -78
  1265. package/datepicker/datepicker.component.d.ts.map +0 -1
  1266. package/datepicker/datepicker.config.d.ts +0 -23
  1267. package/datepicker/datepicker.config.d.ts.__ivy_ngcc_bak +0 -19
  1268. package/datepicker/datepicker.config.d.ts.map +0 -1
  1269. package/datepicker/datepicker.module.d.ts +0 -16
  1270. package/datepicker/datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1271. package/datepicker/datepicker.module.d.ts.map +0 -1
  1272. package/datepicker/daypicker.component.d.ts +0 -22
  1273. package/datepicker/daypicker.component.d.ts.__ivy_ngcc_bak +0 -17
  1274. package/datepicker/daypicker.component.d.ts.map +0 -1
  1275. package/datepicker/esm2015/base/bs-datepicker-container.js +0 -84
  1276. package/datepicker/esm2015/base/bs-datepicker-container.js.map +0 -1
  1277. package/datepicker/esm2015/base/bs-datepicker-container.metadata.json +0 -1
  1278. package/datepicker/esm2015/bs-datepicker-inline.component.js +0 -147
  1279. package/datepicker/esm2015/bs-datepicker-inline.component.js.map +0 -1
  1280. package/datepicker/esm2015/bs-datepicker-inline.component.metadata.json +0 -1
  1281. package/datepicker/esm2015/bs-datepicker-inline.component.ngfactory.js.map +0 -1
  1282. package/datepicker/esm2015/bs-datepicker-inline.config.js +0 -12
  1283. package/datepicker/esm2015/bs-datepicker-inline.config.js.map +0 -1
  1284. package/datepicker/esm2015/bs-datepicker-inline.config.metadata.json +0 -1
  1285. package/datepicker/esm2015/bs-datepicker-inline.config.ngfactory.js.map +0 -1
  1286. package/datepicker/esm2015/bs-datepicker-input.directive.js +0 -162
  1287. package/datepicker/esm2015/bs-datepicker-input.directive.js.map +0 -1
  1288. package/datepicker/esm2015/bs-datepicker-input.directive.metadata.json +0 -1
  1289. package/datepicker/esm2015/bs-datepicker-input.directive.ngfactory.js.map +0 -1
  1290. package/datepicker/esm2015/bs-datepicker.component.js +0 -251
  1291. package/datepicker/esm2015/bs-datepicker.component.js.map +0 -1
  1292. package/datepicker/esm2015/bs-datepicker.component.metadata.json +0 -1
  1293. package/datepicker/esm2015/bs-datepicker.component.ngfactory.js.map +0 -1
  1294. package/datepicker/esm2015/bs-datepicker.config.js +0 -87
  1295. package/datepicker/esm2015/bs-datepicker.config.js.map +0 -1
  1296. package/datepicker/esm2015/bs-datepicker.config.metadata.json +0 -1
  1297. package/datepicker/esm2015/bs-datepicker.config.ngfactory.js.map +0 -1
  1298. package/datepicker/esm2015/bs-datepicker.module.js +0 -91
  1299. package/datepicker/esm2015/bs-datepicker.module.js.map +0 -1
  1300. package/datepicker/esm2015/bs-datepicker.module.metadata.json +0 -1
  1301. package/datepicker/esm2015/bs-datepicker.module.ngfactory.js.map +0 -1
  1302. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +0 -146
  1303. package/datepicker/esm2015/bs-daterangepicker-inline.component.js.map +0 -1
  1304. package/datepicker/esm2015/bs-daterangepicker-inline.component.metadata.json +0 -1
  1305. package/datepicker/esm2015/bs-daterangepicker-inline.component.ngfactory.js.map +0 -1
  1306. package/datepicker/esm2015/bs-daterangepicker-inline.config.js +0 -19
  1307. package/datepicker/esm2015/bs-daterangepicker-inline.config.js.map +0 -1
  1308. package/datepicker/esm2015/bs-daterangepicker-inline.config.metadata.json +0 -1
  1309. package/datepicker/esm2015/bs-daterangepicker-inline.config.ngfactory.js.map +0 -1
  1310. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +0 -207
  1311. package/datepicker/esm2015/bs-daterangepicker-input.directive.js.map +0 -1
  1312. package/datepicker/esm2015/bs-daterangepicker-input.directive.metadata.json +0 -1
  1313. package/datepicker/esm2015/bs-daterangepicker-input.directive.ngfactory.js.map +0 -1
  1314. package/datepicker/esm2015/bs-daterangepicker.component.js +0 -244
  1315. package/datepicker/esm2015/bs-daterangepicker.component.js.map +0 -1
  1316. package/datepicker/esm2015/bs-daterangepicker.component.metadata.json +0 -1
  1317. package/datepicker/esm2015/bs-daterangepicker.component.ngfactory.js.map +0 -1
  1318. package/datepicker/esm2015/bs-daterangepicker.config.js +0 -17
  1319. package/datepicker/esm2015/bs-daterangepicker.config.js.map +0 -1
  1320. package/datepicker/esm2015/bs-daterangepicker.config.metadata.json +0 -1
  1321. package/datepicker/esm2015/bs-daterangepicker.config.ngfactory.js.map +0 -1
  1322. package/datepicker/esm2015/bs-locale.service.js +0 -28
  1323. package/datepicker/esm2015/bs-locale.service.js.map +0 -1
  1324. package/datepicker/esm2015/bs-locale.service.metadata.json +0 -1
  1325. package/datepicker/esm2015/bs-locale.service.ngfactory.js.map +0 -1
  1326. package/datepicker/esm2015/date-formatter.js +0 -7
  1327. package/datepicker/esm2015/date-formatter.js.map +0 -1
  1328. package/datepicker/esm2015/date-formatter.metadata.json +0 -1
  1329. package/datepicker/esm2015/datepicker-animations.js +0 -16
  1330. package/datepicker/esm2015/datepicker-animations.js.map +0 -1
  1331. package/datepicker/esm2015/datepicker-animations.metadata.json +0 -1
  1332. package/datepicker/esm2015/datepicker-inner.component.js +0 -290
  1333. package/datepicker/esm2015/datepicker-inner.component.js.map +0 -1
  1334. package/datepicker/esm2015/datepicker-inner.component.metadata.json +0 -1
  1335. package/datepicker/esm2015/datepicker-inner.component.ngfactory.js.map +0 -1
  1336. package/datepicker/esm2015/datepicker.component.js +0 -142
  1337. package/datepicker/esm2015/datepicker.component.js.map +0 -1
  1338. package/datepicker/esm2015/datepicker.component.metadata.json +0 -1
  1339. package/datepicker/esm2015/datepicker.component.ngfactory.js.map +0 -1
  1340. package/datepicker/esm2015/datepicker.config.js +0 -30
  1341. package/datepicker/esm2015/datepicker.config.js.map +0 -1
  1342. package/datepicker/esm2015/datepicker.config.metadata.json +0 -1
  1343. package/datepicker/esm2015/datepicker.config.ngfactory.js.map +0 -1
  1344. package/datepicker/esm2015/datepicker.module.js +0 -35
  1345. package/datepicker/esm2015/datepicker.module.js.map +0 -1
  1346. package/datepicker/esm2015/datepicker.module.metadata.json +0 -1
  1347. package/datepicker/esm2015/datepicker.module.ngfactory.js.map +0 -1
  1348. package/datepicker/esm2015/daypicker.component.js +0 -185
  1349. package/datepicker/esm2015/daypicker.component.js.map +0 -1
  1350. package/datepicker/esm2015/daypicker.component.metadata.json +0 -1
  1351. package/datepicker/esm2015/daypicker.component.ngfactory.js.map +0 -1
  1352. package/datepicker/esm2015/engine/calc-days-calendar.js +0 -21
  1353. package/datepicker/esm2015/engine/calc-days-calendar.js.map +0 -1
  1354. package/datepicker/esm2015/engine/calc-days-calendar.metadata.json +0 -1
  1355. package/datepicker/esm2015/engine/flag-days-calendar.js +0 -93
  1356. package/datepicker/esm2015/engine/flag-days-calendar.js.map +0 -1
  1357. package/datepicker/esm2015/engine/flag-days-calendar.metadata.json +0 -1
  1358. package/datepicker/esm2015/engine/flag-months-calendar.js +0 -45
  1359. package/datepicker/esm2015/engine/flag-months-calendar.js.map +0 -1
  1360. package/datepicker/esm2015/engine/flag-months-calendar.metadata.json +0 -1
  1361. package/datepicker/esm2015/engine/flag-years-calendar.js +0 -42
  1362. package/datepicker/esm2015/engine/flag-years-calendar.js.map +0 -1
  1363. package/datepicker/esm2015/engine/flag-years-calendar.metadata.json +0 -1
  1364. package/datepicker/esm2015/engine/format-days-calendar.js +0 -33
  1365. package/datepicker/esm2015/engine/format-days-calendar.js.map +0 -1
  1366. package/datepicker/esm2015/engine/format-days-calendar.metadata.json +0 -1
  1367. package/datepicker/esm2015/engine/format-months-calendar.js +0 -23
  1368. package/datepicker/esm2015/engine/format-months-calendar.js.map +0 -1
  1369. package/datepicker/esm2015/engine/format-months-calendar.metadata.json +0 -1
  1370. package/datepicker/esm2015/engine/format-years-calendar.js +0 -39
  1371. package/datepicker/esm2015/engine/format-years-calendar.js.map +0 -1
  1372. package/datepicker/esm2015/engine/format-years-calendar.metadata.json +0 -1
  1373. package/datepicker/esm2015/engine/view-mode.js +0 -4
  1374. package/datepicker/esm2015/engine/view-mode.js.map +0 -1
  1375. package/datepicker/esm2015/engine/view-mode.metadata.json +0 -1
  1376. package/datepicker/esm2015/index.js +0 -2
  1377. package/datepicker/esm2015/index.js.map +0 -1
  1378. package/datepicker/esm2015/index.metadata.json +0 -1
  1379. package/datepicker/esm2015/models/index.js +0 -9
  1380. package/datepicker/esm2015/models/index.js.map +0 -1
  1381. package/datepicker/esm2015/models/index.metadata.json +0 -1
  1382. package/datepicker/esm2015/monthpicker.component.js +0 -91
  1383. package/datepicker/esm2015/monthpicker.component.js.map +0 -1
  1384. package/datepicker/esm2015/monthpicker.component.metadata.json +0 -1
  1385. package/datepicker/esm2015/monthpicker.component.ngfactory.js.map +0 -1
  1386. package/datepicker/esm2015/ngx-bootstrap-datepicker.js +0 -20
  1387. package/datepicker/esm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1388. package/datepicker/esm2015/ngx-bootstrap-datepicker.metadata.json +0 -1
  1389. package/datepicker/esm2015/public_api.js +0 -25
  1390. package/datepicker/esm2015/public_api.js.map +0 -1
  1391. package/datepicker/esm2015/public_api.metadata.json +0 -1
  1392. package/datepicker/esm2015/reducer/_defaults.js +0 -6
  1393. package/datepicker/esm2015/reducer/_defaults.js.map +0 -1
  1394. package/datepicker/esm2015/reducer/_defaults.metadata.json +0 -1
  1395. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +0 -139
  1396. package/datepicker/esm2015/reducer/bs-datepicker.actions.js.map +0 -1
  1397. package/datepicker/esm2015/reducer/bs-datepicker.actions.metadata.json +0 -1
  1398. package/datepicker/esm2015/reducer/bs-datepicker.actions.ngfactory.js.map +0 -1
  1399. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +0 -195
  1400. package/datepicker/esm2015/reducer/bs-datepicker.effects.js.map +0 -1
  1401. package/datepicker/esm2015/reducer/bs-datepicker.effects.metadata.json +0 -1
  1402. package/datepicker/esm2015/reducer/bs-datepicker.effects.ngfactory.js.map +0 -1
  1403. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +0 -378
  1404. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js.map +0 -1
  1405. package/datepicker/esm2015/reducer/bs-datepicker.reducer.metadata.json +0 -1
  1406. package/datepicker/esm2015/reducer/bs-datepicker.state.js +0 -18
  1407. package/datepicker/esm2015/reducer/bs-datepicker.state.js.map +0 -1
  1408. package/datepicker/esm2015/reducer/bs-datepicker.state.metadata.json +0 -1
  1409. package/datepicker/esm2015/reducer/bs-datepicker.store.js +0 -19
  1410. package/datepicker/esm2015/reducer/bs-datepicker.store.js.map +0 -1
  1411. package/datepicker/esm2015/reducer/bs-datepicker.store.metadata.json +0 -1
  1412. package/datepicker/esm2015/reducer/bs-datepicker.store.ngfactory.js.map +0 -1
  1413. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js +0 -25
  1414. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js.map +0 -1
  1415. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.metadata.json +0 -1
  1416. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.ngfactory.js.map +0 -1
  1417. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js +0 -13
  1418. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js.map +0 -1
  1419. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.metadata.json +0 -1
  1420. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.ngfactory.js.map +0 -1
  1421. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +0 -33
  1422. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js.map +0 -1
  1423. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.metadata.json +0 -1
  1424. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.ngfactory.js.map +0 -1
  1425. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +0 -161
  1426. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js.map +0 -1
  1427. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.metadata.json +0 -1
  1428. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.ngfactory.js.map +0 -1
  1429. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  1430. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js.map +0 -1
  1431. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +0 -1
  1432. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.ngfactory.js.map +0 -1
  1433. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  1434. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js.map +0 -1
  1435. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.metadata.json +0 -1
  1436. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.ngfactory.js.map +0 -1
  1437. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  1438. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js.map +0 -1
  1439. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.metadata.json +0 -1
  1440. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.ngfactory.js.map +0 -1
  1441. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +0 -221
  1442. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js.map +0 -1
  1443. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.metadata.json +0 -1
  1444. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.ngfactory.js.map +0 -1
  1445. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  1446. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js.map +0 -1
  1447. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.metadata.json +0 -1
  1448. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.ngfactory.js.map +0 -1
  1449. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +0 -161
  1450. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js.map +0 -1
  1451. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.metadata.json +0 -1
  1452. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.ngfactory.js.map +0 -1
  1453. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js +0 -60
  1454. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js.map +0 -1
  1455. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.metadata.json +0 -1
  1456. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.ngfactory.js.map +0 -1
  1457. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js +0 -33
  1458. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js.map +0 -1
  1459. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.metadata.json +0 -1
  1460. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.ngfactory.js.map +0 -1
  1461. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js +0 -61
  1462. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js.map +0 -1
  1463. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.metadata.json +0 -1
  1464. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.ngfactory.js.map +0 -1
  1465. package/datepicker/esm2015/utils/bs-calendar-utils.js +0 -120
  1466. package/datepicker/esm2015/utils/bs-calendar-utils.js.map +0 -1
  1467. package/datepicker/esm2015/utils/bs-calendar-utils.metadata.json +0 -1
  1468. package/datepicker/esm2015/utils/copy-time-utils.js +0 -7
  1469. package/datepicker/esm2015/utils/copy-time-utils.js.map +0 -1
  1470. package/datepicker/esm2015/utils/copy-time-utils.metadata.json +0 -1
  1471. package/datepicker/esm2015/utils/matrix-utils.js +0 -14
  1472. package/datepicker/esm2015/utils/matrix-utils.js.map +0 -1
  1473. package/datepicker/esm2015/utils/matrix-utils.metadata.json +0 -1
  1474. package/datepicker/esm2015/yearpicker.component.js +0 -101
  1475. package/datepicker/esm2015/yearpicker.component.js.map +0 -1
  1476. package/datepicker/esm2015/yearpicker.component.metadata.json +0 -1
  1477. package/datepicker/esm2015/yearpicker.component.ngfactory.js.map +0 -1
  1478. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -4353
  1479. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1480. package/datepicker/monthpicker.component.d.ts +0 -16
  1481. package/datepicker/monthpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1482. package/datepicker/monthpicker.component.d.ts.map +0 -1
  1483. package/datepicker/ngx-bootstrap-datepicker.d.ts.__ivy_ngcc_bak +0 -19
  1484. package/datepicker/ngx-bootstrap-datepicker.d.ts.map +0 -1
  1485. package/datepicker/ngx-bootstrap-datepicker.metadata.json +0 -1
  1486. package/datepicker/reducer/bs-datepicker.actions.d.ts.__ivy_ngcc_bak +0 -45
  1487. package/datepicker/reducer/bs-datepicker.actions.d.ts.map +0 -1
  1488. package/datepicker/reducer/bs-datepicker.effects.d.ts.__ivy_ngcc_bak +0 -38
  1489. package/datepicker/reducer/bs-datepicker.effects.d.ts.map +0 -1
  1490. package/datepicker/reducer/bs-datepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  1491. package/datepicker/reducer/bs-datepicker.store.d.ts.map +0 -1
  1492. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.__ivy_ngcc_bak +0 -2
  1493. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.map +0 -1
  1494. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.__ivy_ngcc_bak +0 -3
  1495. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.map +0 -1
  1496. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.__ivy_ngcc_bak +0 -12
  1497. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.map +0 -1
  1498. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.__ivy_ngcc_bak +0 -35
  1499. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.map +0 -1
  1500. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.__ivy_ngcc_bak +0 -11
  1501. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.map +0 -1
  1502. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1503. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.map +0 -1
  1504. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.__ivy_ngcc_bak +0 -9
  1505. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.map +0 -1
  1506. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.__ivy_ngcc_bak +0 -40
  1507. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.map +0 -1
  1508. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1509. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.map +0 -1
  1510. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -23
  1511. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.map +0 -1
  1512. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1513. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.map +0 -1
  1514. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.__ivy_ngcc_bak +0 -5
  1515. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.map +0 -1
  1516. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1517. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.map +0 -1
  1518. package/datepicker/yearpicker.component.d.ts +0 -16
  1519. package/datepicker/yearpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1520. package/datepicker/yearpicker.component.d.ts.map +0 -1
  1521. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js +0 -667
  1522. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1523. package/dropdown/bs-dropdown-container.component.d.ts.__ivy_ngcc_bak +0 -17
  1524. package/dropdown/bs-dropdown-container.component.d.ts.map +0 -1
  1525. package/dropdown/bs-dropdown-menu.directive.d.ts.__ivy_ngcc_bak +0 -5
  1526. package/dropdown/bs-dropdown-menu.directive.d.ts.map +0 -1
  1527. package/dropdown/bs-dropdown-toggle.directive.d.ts.__ivy_ngcc_bak +0 -18
  1528. package/dropdown/bs-dropdown-toggle.directive.d.ts.map +0 -1
  1529. package/dropdown/bs-dropdown.config.d.ts.__ivy_ngcc_bak +0 -11
  1530. package/dropdown/bs-dropdown.config.d.ts.map +0 -1
  1531. package/dropdown/bs-dropdown.directive.d.ts.__ivy_ngcc_bak +0 -106
  1532. package/dropdown/bs-dropdown.directive.d.ts.map +0 -1
  1533. package/dropdown/bs-dropdown.module.d.ts.__ivy_ngcc_bak +0 -4
  1534. package/dropdown/bs-dropdown.module.d.ts.map +0 -1
  1535. package/dropdown/bs-dropdown.state.d.ts.__ivy_ngcc_bak +0 -20
  1536. package/dropdown/bs-dropdown.state.d.ts.map +0 -1
  1537. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +0 -964
  1538. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +0 -1
  1539. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +0 -16
  1540. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +0 -1
  1541. package/dropdown/esm2015/bs-dropdown-container.component.js +0 -74
  1542. package/dropdown/esm2015/bs-dropdown-container.component.js.map +0 -1
  1543. package/dropdown/esm2015/bs-dropdown-container.component.metadata.json +0 -1
  1544. package/dropdown/esm2015/bs-dropdown-menu.directive.js +0 -22
  1545. package/dropdown/esm2015/bs-dropdown-menu.directive.js.map +0 -1
  1546. package/dropdown/esm2015/bs-dropdown-menu.directive.metadata.json +0 -1
  1547. package/dropdown/esm2015/bs-dropdown-toggle.directive.js +0 -84
  1548. package/dropdown/esm2015/bs-dropdown-toggle.directive.js.map +0 -1
  1549. package/dropdown/esm2015/bs-dropdown-toggle.directive.metadata.json +0 -1
  1550. package/dropdown/esm2015/bs-dropdown.config.js +0 -22
  1551. package/dropdown/esm2015/bs-dropdown.config.js.map +0 -1
  1552. package/dropdown/esm2015/bs-dropdown.config.metadata.json +0 -1
  1553. package/dropdown/esm2015/bs-dropdown.directive.js +0 -332
  1554. package/dropdown/esm2015/bs-dropdown.directive.js.map +0 -1
  1555. package/dropdown/esm2015/bs-dropdown.directive.metadata.json +0 -1
  1556. package/dropdown/esm2015/bs-dropdown.module.js +0 -39
  1557. package/dropdown/esm2015/bs-dropdown.module.js.map +0 -1
  1558. package/dropdown/esm2015/bs-dropdown.module.metadata.json +0 -1
  1559. package/dropdown/esm2015/bs-dropdown.state.js +0 -22
  1560. package/dropdown/esm2015/bs-dropdown.state.js.map +0 -1
  1561. package/dropdown/esm2015/bs-dropdown.state.metadata.json +0 -1
  1562. package/dropdown/esm2015/dropdown-animations.js +0 -7
  1563. package/dropdown/esm2015/dropdown-animations.js.map +0 -1
  1564. package/dropdown/esm2015/dropdown-animations.metadata.json +0 -1
  1565. package/dropdown/esm2015/index.js +0 -2
  1566. package/dropdown/esm2015/index.js.map +0 -1
  1567. package/dropdown/esm2015/index.metadata.json +0 -1
  1568. package/dropdown/esm2015/ngx-bootstrap-dropdown.js +0 -5
  1569. package/dropdown/esm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1570. package/dropdown/esm2015/ngx-bootstrap-dropdown.metadata.json +0 -1
  1571. package/dropdown/esm2015/public_api.js +0 -8
  1572. package/dropdown/esm2015/public_api.js.map +0 -1
  1573. package/dropdown/esm2015/public_api.metadata.json +0 -1
  1574. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +0 -584
  1575. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1576. package/dropdown/ngx-bootstrap-dropdown.d.ts.__ivy_ngcc_bak +0 -4
  1577. package/dropdown/ngx-bootstrap-dropdown.d.ts.map +0 -1
  1578. package/dropdown/ngx-bootstrap-dropdown.metadata.json +0 -1
  1579. package/esm2015/index.js +0 -2
  1580. package/esm2015/index.js.map +0 -1
  1581. package/esm2015/ngx-bootstrap.js +0 -5
  1582. package/esm2015/ngx-bootstrap.js.map +0 -1
  1583. package/esm2015/ngx-bootstrap.metadata.json +0 -1
  1584. package/fesm2015/ngx-bootstrap.js +0 -6
  1585. package/fesm2015/ngx-bootstrap.js.map +0 -1
  1586. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js +0 -822
  1587. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1588. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js +0 -831
  1589. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js.map +0 -1
  1590. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js +0 -32
  1591. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js.map +0 -1
  1592. package/focus-trap/esm2015/boolean-property.js +0 -12
  1593. package/focus-trap/esm2015/boolean-property.js.map +0 -1
  1594. package/focus-trap/esm2015/boolean-property.metadata.json +0 -1
  1595. package/focus-trap/esm2015/focus-trap-manager.js +0 -52
  1596. package/focus-trap/esm2015/focus-trap-manager.js.map +0 -1
  1597. package/focus-trap/esm2015/focus-trap-manager.metadata.json +0 -1
  1598. package/focus-trap/esm2015/focus-trap.js +0 -397
  1599. package/focus-trap/esm2015/focus-trap.js.map +0 -1
  1600. package/focus-trap/esm2015/focus-trap.metadata.json +0 -1
  1601. package/focus-trap/esm2015/focus-trap.module.js +0 -26
  1602. package/focus-trap/esm2015/focus-trap.module.js.map +0 -1
  1603. package/focus-trap/esm2015/focus-trap.module.metadata.json +0 -1
  1604. package/focus-trap/esm2015/index.js +0 -2
  1605. package/focus-trap/esm2015/index.js.map +0 -1
  1606. package/focus-trap/esm2015/index.metadata.json +0 -1
  1607. package/focus-trap/esm2015/interactivity-checker.js +0 -242
  1608. package/focus-trap/esm2015/interactivity-checker.js.map +0 -1
  1609. package/focus-trap/esm2015/interactivity-checker.metadata.json +0 -1
  1610. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js +0 -9
  1611. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1612. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1613. package/focus-trap/esm2015/platform.js +0 -78
  1614. package/focus-trap/esm2015/platform.js.map +0 -1
  1615. package/focus-trap/esm2015/platform.metadata.json +0 -1
  1616. package/focus-trap/esm2015/public_api.js +0 -4
  1617. package/focus-trap/esm2015/public_api.js.map +0 -1
  1618. package/focus-trap/esm2015/public_api.metadata.json +0 -1
  1619. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js +0 -790
  1620. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1621. package/focus-trap/focus-trap-manager.d.ts.__ivy_ngcc_bak +0 -30
  1622. package/focus-trap/focus-trap-manager.d.ts.map +0 -1
  1623. package/focus-trap/focus-trap.d.ts.__ivy_ngcc_bak +0 -157
  1624. package/focus-trap/focus-trap.d.ts.map +0 -1
  1625. package/focus-trap/focus-trap.module.d.ts.__ivy_ngcc_bak +0 -4
  1626. package/focus-trap/focus-trap.module.d.ts.map +0 -1
  1627. package/focus-trap/interactivity-checker.d.ts.__ivy_ngcc_bak +0 -57
  1628. package/focus-trap/interactivity-checker.d.ts.map +0 -1
  1629. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.__ivy_ngcc_bak +0 -8
  1630. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.map +0 -1
  1631. package/focus-trap/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1632. package/focus-trap/platform.d.ts.__ivy_ngcc_bak +0 -33
  1633. package/focus-trap/platform.d.ts.map +0 -1
  1634. package/locale/bundles/ngx-bootstrap-locale.umd.js +0 -279
  1635. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +0 -1
  1636. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +0 -2
  1637. package/locale/bundles/ngx-bootstrap-locale.umd.min.js.map +0 -1
  1638. package/locale/esm2015/index.js +0 -2
  1639. package/locale/esm2015/index.js.map +0 -1
  1640. package/locale/esm2015/index.metadata.json +0 -1
  1641. package/locale/esm2015/ngx-bootstrap-locale.js +0 -5
  1642. package/locale/esm2015/ngx-bootstrap-locale.js.map +0 -1
  1643. package/locale/esm2015/ngx-bootstrap-locale.metadata.json +0 -1
  1644. package/locale/esm2015/public_api.js +0 -45
  1645. package/locale/esm2015/public_api.js.map +0 -1
  1646. package/locale/esm2015/public_api.metadata.json +0 -1
  1647. package/locale/fesm2015/ngx-bootstrap-locale.js +0 -6
  1648. package/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  1649. package/locale/ngx-bootstrap-locale.d.ts.__ivy_ngcc_bak +0 -4
  1650. package/locale/ngx-bootstrap-locale.d.ts.map +0 -1
  1651. package/locale/ngx-bootstrap-locale.metadata.json +0 -1
  1652. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -62
  1653. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1654. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +0 -381
  1655. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +0 -1
  1656. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +0 -16
  1657. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +0 -1
  1658. package/mini-ngrx/esm2015/index.js +0 -2
  1659. package/mini-ngrx/esm2015/index.js.map +0 -1
  1660. package/mini-ngrx/esm2015/index.metadata.json +0 -1
  1661. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js +0 -5
  1662. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1663. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1664. package/mini-ngrx/esm2015/public_api.js +0 -3
  1665. package/mini-ngrx/esm2015/public_api.js.map +0 -1
  1666. package/mini-ngrx/esm2015/public_api.metadata.json +0 -1
  1667. package/mini-ngrx/esm2015/state.class.js +0 -16
  1668. package/mini-ngrx/esm2015/state.class.js.map +0 -1
  1669. package/mini-ngrx/esm2015/state.class.metadata.json +0 -1
  1670. package/mini-ngrx/esm2015/store.class.js +0 -40
  1671. package/mini-ngrx/esm2015/store.class.js.map +0 -1
  1672. package/mini-ngrx/esm2015/store.class.metadata.json +0 -1
  1673. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -61
  1674. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1675. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.__ivy_ngcc_bak +0 -4
  1676. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.map +0 -1
  1677. package/mini-ngrx/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1678. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js +0 -932
  1679. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1680. package/modal/bs-modal-ref.service.d.ts.__ivy_ngcc_bak +0 -27
  1681. package/modal/bs-modal-ref.service.d.ts.map +0 -1
  1682. package/modal/bs-modal.service.d.ts.__ivy_ngcc_bak +0 -45
  1683. package/modal/bs-modal.service.d.ts.map +0 -1
  1684. package/modal/bundles/ngx-bootstrap-modal.umd.js +0 -1213
  1685. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +0 -1
  1686. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +0 -2
  1687. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +0 -1
  1688. package/modal/esm2015/bs-modal-ref.service.js +0 -18
  1689. package/modal/esm2015/bs-modal-ref.service.js.map +0 -1
  1690. package/modal/esm2015/bs-modal-ref.service.metadata.json +0 -1
  1691. package/modal/esm2015/bs-modal.service.js +0 -214
  1692. package/modal/esm2015/bs-modal.service.js.map +0 -1
  1693. package/modal/esm2015/bs-modal.service.metadata.json +0 -1
  1694. package/modal/esm2015/index.js +0 -2
  1695. package/modal/esm2015/index.js.map +0 -1
  1696. package/modal/esm2015/index.metadata.json +0 -1
  1697. package/modal/esm2015/modal-backdrop.component.js +0 -58
  1698. package/modal/esm2015/modal-backdrop.component.js.map +0 -1
  1699. package/modal/esm2015/modal-backdrop.component.metadata.json +0 -1
  1700. package/modal/esm2015/modal-backdrop.options.js +0 -7
  1701. package/modal/esm2015/modal-backdrop.options.js.map +0 -1
  1702. package/modal/esm2015/modal-backdrop.options.metadata.json +0 -1
  1703. package/modal/esm2015/modal-container.component.js +0 -135
  1704. package/modal/esm2015/modal-container.component.js.map +0 -1
  1705. package/modal/esm2015/modal-container.component.metadata.json +0 -1
  1706. package/modal/esm2015/modal-options.class.js +0 -42
  1707. package/modal/esm2015/modal-options.class.js.map +0 -1
  1708. package/modal/esm2015/modal-options.class.metadata.json +0 -1
  1709. package/modal/esm2015/modal.directive.js +0 -354
  1710. package/modal/esm2015/modal.directive.js.map +0 -1
  1711. package/modal/esm2015/modal.directive.metadata.json +0 -1
  1712. package/modal/esm2015/modal.module.js +0 -36
  1713. package/modal/esm2015/modal.module.js.map +0 -1
  1714. package/modal/esm2015/modal.module.metadata.json +0 -1
  1715. package/modal/esm2015/models/index.js +0 -2
  1716. package/modal/esm2015/models/index.js.map +0 -1
  1717. package/modal/esm2015/models/index.metadata.json +0 -1
  1718. package/modal/esm2015/ngx-bootstrap-modal.js +0 -6
  1719. package/modal/esm2015/ngx-bootstrap-modal.js.map +0 -1
  1720. package/modal/esm2015/ngx-bootstrap-modal.metadata.json +0 -1
  1721. package/modal/esm2015/public_api.js +0 -9
  1722. package/modal/esm2015/public_api.js.map +0 -1
  1723. package/modal/esm2015/public_api.metadata.json +0 -1
  1724. package/modal/fesm2015/ngx-bootstrap-modal.js +0 -847
  1725. package/modal/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1726. package/modal/modal-backdrop.component.d.ts.__ivy_ngcc_bak +0 -14
  1727. package/modal/modal-backdrop.component.d.ts.map +0 -1
  1728. package/modal/modal-container.component.d.ts.__ivy_ngcc_bak +0 -23
  1729. package/modal/modal-container.component.d.ts.map +0 -1
  1730. package/modal/modal-options.class.d.ts.__ivy_ngcc_bak +0 -60
  1731. package/modal/modal-options.class.d.ts.map +0 -1
  1732. package/modal/modal.directive.d.ts.__ivy_ngcc_bak +0 -86
  1733. package/modal/modal.directive.d.ts.map +0 -1
  1734. package/modal/modal.module.d.ts.__ivy_ngcc_bak +0 -7
  1735. package/modal/modal.module.d.ts.map +0 -1
  1736. package/modal/ngx-bootstrap-modal.d.ts.__ivy_ngcc_bak +0 -5
  1737. package/modal/ngx-bootstrap-modal.d.ts.map +0 -1
  1738. package/modal/ngx-bootstrap-modal.metadata.json +0 -1
  1739. package/ngx-bootstrap.metadata.json +0 -1
  1740. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js +0 -787
  1741. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1742. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +0 -587
  1743. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +0 -1
  1744. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +0 -2
  1745. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +0 -1
  1746. package/pagination/esm2015/index.js +0 -2
  1747. package/pagination/esm2015/index.js.map +0 -1
  1748. package/pagination/esm2015/index.metadata.json +0 -1
  1749. package/pagination/esm2015/models/index.js +0 -2
  1750. package/pagination/esm2015/models/index.js.map +0 -1
  1751. package/pagination/esm2015/models/index.metadata.json +0 -1
  1752. package/pagination/esm2015/ngx-bootstrap-pagination.js +0 -7
  1753. package/pagination/esm2015/ngx-bootstrap-pagination.js.map +0 -1
  1754. package/pagination/esm2015/ngx-bootstrap-pagination.metadata.json +0 -1
  1755. package/pagination/esm2015/pager.component.js +0 -247
  1756. package/pagination/esm2015/pager.component.js.map +0 -1
  1757. package/pagination/esm2015/pager.component.metadata.json +0 -1
  1758. package/pagination/esm2015/pagination.component.js +0 -243
  1759. package/pagination/esm2015/pagination.component.js.map +0 -1
  1760. package/pagination/esm2015/pagination.component.metadata.json +0 -1
  1761. package/pagination/esm2015/pagination.config.js +0 -33
  1762. package/pagination/esm2015/pagination.config.js.map +0 -1
  1763. package/pagination/esm2015/pagination.config.metadata.json +0 -1
  1764. package/pagination/esm2015/pagination.module.js +0 -17
  1765. package/pagination/esm2015/pagination.module.js.map +0 -1
  1766. package/pagination/esm2015/pagination.module.metadata.json +0 -1
  1767. package/pagination/esm2015/public_api.js +0 -5
  1768. package/pagination/esm2015/public_api.js.map +0 -1
  1769. package/pagination/esm2015/public_api.metadata.json +0 -1
  1770. package/pagination/fesm2015/ngx-bootstrap-pagination.js +0 -538
  1771. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1772. package/pagination/ngx-bootstrap-pagination.d.ts.__ivy_ngcc_bak +0 -6
  1773. package/pagination/ngx-bootstrap-pagination.d.ts.map +0 -1
  1774. package/pagination/ngx-bootstrap-pagination.metadata.json +0 -1
  1775. package/pagination/pager.component.d.ts.__ivy_ngcc_bak +0 -75
  1776. package/pagination/pager.component.d.ts.map +0 -1
  1777. package/pagination/pagination.component.d.ts.__ivy_ngcc_bak +0 -88
  1778. package/pagination/pagination.component.d.ts.map +0 -1
  1779. package/pagination/pagination.config.d.ts.__ivy_ngcc_bak +0 -6
  1780. package/pagination/pagination.config.d.ts.map +0 -1
  1781. package/pagination/pagination.module.d.ts.__ivy_ngcc_bak +0 -4
  1782. package/pagination/pagination.module.d.ts.map +0 -1
  1783. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js +0 -419
  1784. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1785. package/popover/bundles/ngx-bootstrap-popover.umd.js +0 -354
  1786. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +0 -1
  1787. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +0 -2
  1788. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +0 -1
  1789. package/popover/esm2015/index.js +0 -2
  1790. package/popover/esm2015/index.js.map +0 -1
  1791. package/popover/esm2015/index.metadata.json +0 -1
  1792. package/popover/esm2015/ngx-bootstrap-popover.js +0 -5
  1793. package/popover/esm2015/ngx-bootstrap-popover.js.map +0 -1
  1794. package/popover/esm2015/ngx-bootstrap-popover.metadata.json +0 -1
  1795. package/popover/esm2015/popover-container.component.js +0 -69
  1796. package/popover/esm2015/popover-container.component.js.map +0 -1
  1797. package/popover/esm2015/popover-container.component.metadata.json +0 -1
  1798. package/popover/esm2015/popover.config.js +0 -33
  1799. package/popover/esm2015/popover.config.js.map +0 -1
  1800. package/popover/esm2015/popover.config.metadata.json +0 -1
  1801. package/popover/esm2015/popover.directive.js +0 -228
  1802. package/popover/esm2015/popover.directive.js.map +0 -1
  1803. package/popover/esm2015/popover.directive.metadata.json +0 -1
  1804. package/popover/esm2015/popover.module.js +0 -23
  1805. package/popover/esm2015/popover.module.js.map +0 -1
  1806. package/popover/esm2015/popover.module.metadata.json +0 -1
  1807. package/popover/esm2015/public_api.js +0 -5
  1808. package/popover/esm2015/public_api.js.map +0 -1
  1809. package/popover/esm2015/public_api.metadata.json +0 -1
  1810. package/popover/fesm2015/ngx-bootstrap-popover.js +0 -347
  1811. package/popover/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1812. package/popover/ngx-bootstrap-popover.d.ts.__ivy_ngcc_bak +0 -4
  1813. package/popover/ngx-bootstrap-popover.d.ts.map +0 -1
  1814. package/popover/ngx-bootstrap-popover.metadata.json +0 -1
  1815. package/popover/popover-container.component.d.ts.__ivy_ngcc_bak +0 -13
  1816. package/popover/popover-container.component.d.ts.map +0 -1
  1817. package/popover/popover.config.d.ts.__ivy_ngcc_bak +0 -26
  1818. package/popover/popover.config.d.ts.map +0 -1
  1819. package/popover/popover.directive.d.ts.__ivy_ngcc_bak +0 -94
  1820. package/popover/popover.directive.d.ts.map +0 -1
  1821. package/popover/popover.module.d.ts.__ivy_ngcc_bak +0 -4
  1822. package/popover/popover.module.d.ts.map +0 -1
  1823. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js +0 -1080
  1824. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1825. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +0 -1108
  1826. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +0 -1
  1827. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +0 -2
  1828. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +0 -1
  1829. package/positioning/esm2015/index.js +0 -2
  1830. package/positioning/esm2015/index.js.map +0 -1
  1831. package/positioning/esm2015/index.metadata.json +0 -1
  1832. package/positioning/esm2015/models/index.js +0 -53
  1833. package/positioning/esm2015/models/index.js.map +0 -1
  1834. package/positioning/esm2015/models/index.metadata.json +0 -1
  1835. package/positioning/esm2015/modifiers/arrow.js +0 -57
  1836. package/positioning/esm2015/modifiers/arrow.js.map +0 -1
  1837. package/positioning/esm2015/modifiers/arrow.metadata.json +0 -1
  1838. package/positioning/esm2015/modifiers/flip.js +0 -60
  1839. package/positioning/esm2015/modifiers/flip.js.map +0 -1
  1840. package/positioning/esm2015/modifiers/flip.metadata.json +0 -1
  1841. package/positioning/esm2015/modifiers/index.js +0 -6
  1842. package/positioning/esm2015/modifiers/index.js.map +0 -1
  1843. package/positioning/esm2015/modifiers/index.metadata.json +0 -1
  1844. package/positioning/esm2015/modifiers/initData.js +0 -44
  1845. package/positioning/esm2015/modifiers/initData.js.map +0 -1
  1846. package/positioning/esm2015/modifiers/initData.metadata.json +0 -1
  1847. package/positioning/esm2015/modifiers/preventOverflow.js +0 -55
  1848. package/positioning/esm2015/modifiers/preventOverflow.js.map +0 -1
  1849. package/positioning/esm2015/modifiers/preventOverflow.metadata.json +0 -1
  1850. package/positioning/esm2015/modifiers/shift.js +0 -23
  1851. package/positioning/esm2015/modifiers/shift.js.map +0 -1
  1852. package/positioning/esm2015/modifiers/shift.metadata.json +0 -1
  1853. package/positioning/esm2015/ng-positioning.js +0 -39
  1854. package/positioning/esm2015/ng-positioning.js.map +0 -1
  1855. package/positioning/esm2015/ng-positioning.metadata.json +0 -1
  1856. package/positioning/esm2015/ngx-bootstrap-positioning.js +0 -5
  1857. package/positioning/esm2015/ngx-bootstrap-positioning.js.map +0 -1
  1858. package/positioning/esm2015/ngx-bootstrap-positioning.metadata.json +0 -1
  1859. package/positioning/esm2015/positioning.service.js +0 -71
  1860. package/positioning/esm2015/positioning.service.js.map +0 -1
  1861. package/positioning/esm2015/positioning.service.metadata.json +0 -1
  1862. package/positioning/esm2015/positioning.service.ngfactory.js.map +0 -1
  1863. package/positioning/esm2015/public_api.js +0 -5
  1864. package/positioning/esm2015/public_api.js.map +0 -1
  1865. package/positioning/esm2015/public_api.metadata.json +0 -1
  1866. package/positioning/esm2015/utils/checkMargin.js +0 -32
  1867. package/positioning/esm2015/utils/checkMargin.js.map +0 -1
  1868. package/positioning/esm2015/utils/checkMargin.metadata.json +0 -1
  1869. package/positioning/esm2015/utils/computeAutoPlacement.js +0 -56
  1870. package/positioning/esm2015/utils/computeAutoPlacement.js.map +0 -1
  1871. package/positioning/esm2015/utils/computeAutoPlacement.metadata.json +0 -1
  1872. package/positioning/esm2015/utils/findCommonOffsetParent.js +0 -40
  1873. package/positioning/esm2015/utils/findCommonOffsetParent.js.map +0 -1
  1874. package/positioning/esm2015/utils/findCommonOffsetParent.metadata.json +0 -1
  1875. package/positioning/esm2015/utils/getBordersSize.js +0 -10
  1876. package/positioning/esm2015/utils/getBordersSize.js.map +0 -1
  1877. package/positioning/esm2015/utils/getBordersSize.metadata.json +0 -1
  1878. package/positioning/esm2015/utils/getBoundaries.js +0 -70
  1879. package/positioning/esm2015/utils/getBoundaries.js.map +0 -1
  1880. package/positioning/esm2015/utils/getBoundaries.metadata.json +0 -1
  1881. package/positioning/esm2015/utils/getBoundingClientRect.js +0 -59
  1882. package/positioning/esm2015/utils/getBoundingClientRect.js.map +0 -1
  1883. package/positioning/esm2015/utils/getBoundingClientRect.metadata.json +0 -1
  1884. package/positioning/esm2015/utils/getClientRect.js +0 -4
  1885. package/positioning/esm2015/utils/getClientRect.js.map +0 -1
  1886. package/positioning/esm2015/utils/getClientRect.metadata.json +0 -1
  1887. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +0 -17
  1888. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js.map +0 -1
  1889. package/positioning/esm2015/utils/getFixedPositionOffsetParent.metadata.json +0 -1
  1890. package/positioning/esm2015/utils/getOffsetParent.js +0 -34
  1891. package/positioning/esm2015/utils/getOffsetParent.js.map +0 -1
  1892. package/positioning/esm2015/utils/getOffsetParent.metadata.json +0 -1
  1893. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +0 -61
  1894. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js.map +0 -1
  1895. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.metadata.json +0 -1
  1896. package/positioning/esm2015/utils/getOffsets.js +0 -12
  1897. package/positioning/esm2015/utils/getOffsets.js.map +0 -1
  1898. package/positioning/esm2015/utils/getOffsets.metadata.json +0 -1
  1899. package/positioning/esm2015/utils/getOppositePlacement.js +0 -8
  1900. package/positioning/esm2015/utils/getOppositePlacement.js.map +0 -1
  1901. package/positioning/esm2015/utils/getOppositePlacement.metadata.json +0 -1
  1902. package/positioning/esm2015/utils/getOppositeVariation.js +0 -13
  1903. package/positioning/esm2015/utils/getOppositeVariation.js.map +0 -1
  1904. package/positioning/esm2015/utils/getOppositeVariation.metadata.json +0 -1
  1905. package/positioning/esm2015/utils/getOuterSizes.js +0 -14
  1906. package/positioning/esm2015/utils/getOuterSizes.js.map +0 -1
  1907. package/positioning/esm2015/utils/getOuterSizes.metadata.json +0 -1
  1908. package/positioning/esm2015/utils/getParentNode.js +0 -12
  1909. package/positioning/esm2015/utils/getParentNode.js.map +0 -1
  1910. package/positioning/esm2015/utils/getParentNode.metadata.json +0 -1
  1911. package/positioning/esm2015/utils/getReferenceOffsets.js +0 -13
  1912. package/positioning/esm2015/utils/getReferenceOffsets.js.map +0 -1
  1913. package/positioning/esm2015/utils/getReferenceOffsets.metadata.json +0 -1
  1914. package/positioning/esm2015/utils/getRoot.js +0 -10
  1915. package/positioning/esm2015/utils/getRoot.js.map +0 -1
  1916. package/positioning/esm2015/utils/getRoot.metadata.json +0 -1
  1917. package/positioning/esm2015/utils/getScroll.js +0 -14
  1918. package/positioning/esm2015/utils/getScroll.js.map +0 -1
  1919. package/positioning/esm2015/utils/getScroll.metadata.json +0 -1
  1920. package/positioning/esm2015/utils/getScrollParent.js +0 -28
  1921. package/positioning/esm2015/utils/getScrollParent.js.map +0 -1
  1922. package/positioning/esm2015/utils/getScrollParent.metadata.json +0 -1
  1923. package/positioning/esm2015/utils/getStyleComputedProperty.js +0 -12
  1924. package/positioning/esm2015/utils/getStyleComputedProperty.js.map +0 -1
  1925. package/positioning/esm2015/utils/getStyleComputedProperty.metadata.json +0 -1
  1926. package/positioning/esm2015/utils/getTargetOffsets.js +0 -31
  1927. package/positioning/esm2015/utils/getTargetOffsets.js.map +0 -1
  1928. package/positioning/esm2015/utils/getTargetOffsets.metadata.json +0 -1
  1929. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  1930. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js.map +0 -1
  1931. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.metadata.json +0 -1
  1932. package/positioning/esm2015/utils/getWindowSizes.js +0 -21
  1933. package/positioning/esm2015/utils/getWindowSizes.js.map +0 -1
  1934. package/positioning/esm2015/utils/getWindowSizes.metadata.json +0 -1
  1935. package/positioning/esm2015/utils/includeScroll.js +0 -24
  1936. package/positioning/esm2015/utils/includeScroll.js.map +0 -1
  1937. package/positioning/esm2015/utils/includeScroll.metadata.json +0 -1
  1938. package/positioning/esm2015/utils/index.js +0 -24
  1939. package/positioning/esm2015/utils/index.js.map +0 -1
  1940. package/positioning/esm2015/utils/index.metadata.json +0 -1
  1941. package/positioning/esm2015/utils/isBrowser.js +0 -2
  1942. package/positioning/esm2015/utils/isBrowser.js.map +0 -1
  1943. package/positioning/esm2015/utils/isBrowser.metadata.json +0 -1
  1944. package/positioning/esm2015/utils/isFixed.js +0 -16
  1945. package/positioning/esm2015/utils/isFixed.js.map +0 -1
  1946. package/positioning/esm2015/utils/isFixed.metadata.json +0 -1
  1947. package/positioning/esm2015/utils/isIE.js +0 -18
  1948. package/positioning/esm2015/utils/isIE.js.map +0 -1
  1949. package/positioning/esm2015/utils/isIE.metadata.json +0 -1
  1950. package/positioning/esm2015/utils/isModifierEnabled.js +0 -5
  1951. package/positioning/esm2015/utils/isModifierEnabled.js.map +0 -1
  1952. package/positioning/esm2015/utils/isModifierEnabled.metadata.json +0 -1
  1953. package/positioning/esm2015/utils/isNumeric.js +0 -11
  1954. package/positioning/esm2015/utils/isNumeric.js.map +0 -1
  1955. package/positioning/esm2015/utils/isNumeric.metadata.json +0 -1
  1956. package/positioning/esm2015/utils/isOffsetContainer.js +0 -11
  1957. package/positioning/esm2015/utils/isOffsetContainer.js.map +0 -1
  1958. package/positioning/esm2015/utils/isOffsetContainer.metadata.json +0 -1
  1959. package/positioning/esm2015/utils/setStyles.js +0 -21
  1960. package/positioning/esm2015/utils/setStyles.js.map +0 -1
  1961. package/positioning/esm2015/utils/setStyles.metadata.json +0 -1
  1962. package/positioning/esm2015/utils/updateContainerClass.js +0 -30
  1963. package/positioning/esm2015/utils/updateContainerClass.js.map +0 -1
  1964. package/positioning/esm2015/utils/updateContainerClass.metadata.json +0 -1
  1965. package/positioning/fesm2015/ngx-bootstrap-positioning.js +0 -1073
  1966. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1967. package/positioning/ngx-bootstrap-positioning.d.ts.__ivy_ngcc_bak +0 -4
  1968. package/positioning/ngx-bootstrap-positioning.d.ts.map +0 -1
  1969. package/positioning/ngx-bootstrap-positioning.metadata.json +0 -1
  1970. package/positioning/positioning.service.d.ts.__ivy_ngcc_bak +0 -45
  1971. package/positioning/positioning.service.d.ts.map +0 -1
  1972. package/positioning/utils/isBrowser.d.ts +0 -1
  1973. package/positioning/utils/isIE.d.ts +0 -1
  1974. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js +0 -256
  1975. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1976. package/progressbar/bar.component.d.ts.__ivy_ngcc_bak +0 -22
  1977. package/progressbar/bar.component.d.ts.map +0 -1
  1978. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +0 -191
  1979. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +0 -1
  1980. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +0 -2
  1981. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +0 -1
  1982. package/progressbar/esm2015/bar.component.js +0 -81
  1983. package/progressbar/esm2015/bar.component.js.map +0 -1
  1984. package/progressbar/esm2015/bar.component.metadata.json +0 -1
  1985. package/progressbar/esm2015/index.js +0 -2
  1986. package/progressbar/esm2015/index.js.map +0 -1
  1987. package/progressbar/esm2015/index.metadata.json +0 -1
  1988. package/progressbar/esm2015/ngx-bootstrap-progressbar.js +0 -5
  1989. package/progressbar/esm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1990. package/progressbar/esm2015/ngx-bootstrap-progressbar.metadata.json +0 -1
  1991. package/progressbar/esm2015/progressbar-type.interface.js +0 -2
  1992. package/progressbar/esm2015/progressbar-type.interface.js.map +0 -1
  1993. package/progressbar/esm2015/progressbar-type.interface.metadata.json +0 -1
  1994. package/progressbar/esm2015/progressbar.component.js +0 -57
  1995. package/progressbar/esm2015/progressbar.component.js.map +0 -1
  1996. package/progressbar/esm2015/progressbar.component.metadata.json +0 -1
  1997. package/progressbar/esm2015/progressbar.config.js +0 -17
  1998. package/progressbar/esm2015/progressbar.config.js.map +0 -1
  1999. package/progressbar/esm2015/progressbar.config.metadata.json +0 -1
  2000. package/progressbar/esm2015/progressbar.module.js +0 -17
  2001. package/progressbar/esm2015/progressbar.module.js.map +0 -1
  2002. package/progressbar/esm2015/progressbar.module.metadata.json +0 -1
  2003. package/progressbar/esm2015/public_api.js +0 -5
  2004. package/progressbar/esm2015/public_api.js.map +0 -1
  2005. package/progressbar/esm2015/public_api.metadata.json +0 -1
  2006. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +0 -172
  2007. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  2008. package/progressbar/ngx-bootstrap-progressbar.d.ts.__ivy_ngcc_bak +0 -4
  2009. package/progressbar/ngx-bootstrap-progressbar.d.ts.map +0 -1
  2010. package/progressbar/ngx-bootstrap-progressbar.metadata.json +0 -1
  2011. package/progressbar/progressbar.component.d.ts.__ivy_ngcc_bak +0 -20
  2012. package/progressbar/progressbar.component.d.ts.map +0 -1
  2013. package/progressbar/progressbar.config.d.ts.__ivy_ngcc_bak +0 -6
  2014. package/progressbar/progressbar.config.d.ts.map +0 -1
  2015. package/progressbar/progressbar.module.d.ts.__ivy_ngcc_bak +0 -4
  2016. package/progressbar/progressbar.module.d.ts.map +0 -1
  2017. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js +0 -227
  2018. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2019. package/rating/bundles/ngx-bootstrap-rating.umd.js +0 -169
  2020. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +0 -1
  2021. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +0 -2
  2022. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +0 -1
  2023. package/rating/esm2015/index.js +0 -2
  2024. package/rating/esm2015/index.js.map +0 -1
  2025. package/rating/esm2015/index.metadata.json +0 -1
  2026. package/rating/esm2015/models/index.js +0 -2
  2027. package/rating/esm2015/models/index.js.map +0 -1
  2028. package/rating/esm2015/models/index.metadata.json +0 -1
  2029. package/rating/esm2015/ngx-bootstrap-rating.js +0 -6
  2030. package/rating/esm2015/ngx-bootstrap-rating.js.map +0 -1
  2031. package/rating/esm2015/ngx-bootstrap-rating.metadata.json +0 -1
  2032. package/rating/esm2015/public_api.js +0 -4
  2033. package/rating/esm2015/public_api.js.map +0 -1
  2034. package/rating/esm2015/public_api.metadata.json +0 -1
  2035. package/rating/esm2015/rating.component.js +0 -118
  2036. package/rating/esm2015/rating.component.js.map +0 -1
  2037. package/rating/esm2015/rating.component.metadata.json +0 -1
  2038. package/rating/esm2015/rating.config.js +0 -16
  2039. package/rating/esm2015/rating.config.js.map +0 -1
  2040. package/rating/esm2015/rating.config.metadata.json +0 -1
  2041. package/rating/esm2015/rating.module.js +0 -19
  2042. package/rating/esm2015/rating.module.js.map +0 -1
  2043. package/rating/esm2015/rating.module.metadata.json +0 -1
  2044. package/rating/fesm2015/ngx-bootstrap-rating.js +0 -155
  2045. package/rating/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2046. package/rating/ngx-bootstrap-rating.d.ts.__ivy_ngcc_bak +0 -5
  2047. package/rating/ngx-bootstrap-rating.d.ts.map +0 -1
  2048. package/rating/ngx-bootstrap-rating.metadata.json +0 -1
  2049. package/rating/rating.component.d.ts.__ivy_ngcc_bak +0 -37
  2050. package/rating/rating.component.d.ts.map +0 -1
  2051. package/rating/rating.config.d.ts.__ivy_ngcc_bak +0 -5
  2052. package/rating/rating.config.d.ts.map +0 -1
  2053. package/rating/rating.module.d.ts.__ivy_ngcc_bak +0 -4
  2054. package/rating/rating.module.d.ts.map +0 -1
  2055. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js +0 -361
  2056. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2057. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +0 -558
  2058. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +0 -1
  2059. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +0 -16
  2060. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +0 -1
  2061. package/sortable/draggable-item.service.d.ts.__ivy_ngcc_bak +0 -10
  2062. package/sortable/draggable-item.service.d.ts.map +0 -1
  2063. package/sortable/esm2015/draggable-item.js +0 -2
  2064. package/sortable/esm2015/draggable-item.js.map +0 -1
  2065. package/sortable/esm2015/draggable-item.metadata.json +0 -1
  2066. package/sortable/esm2015/draggable-item.service.js +0 -32
  2067. package/sortable/esm2015/draggable-item.service.js.map +0 -1
  2068. package/sortable/esm2015/draggable-item.service.metadata.json +0 -1
  2069. package/sortable/esm2015/index.js +0 -2
  2070. package/sortable/esm2015/index.js.map +0 -1
  2071. package/sortable/esm2015/index.metadata.json +0 -1
  2072. package/sortable/esm2015/ngx-bootstrap-sortable.js +0 -5
  2073. package/sortable/esm2015/ngx-bootstrap-sortable.js.map +0 -1
  2074. package/sortable/esm2015/ngx-bootstrap-sortable.metadata.json +0 -1
  2075. package/sortable/esm2015/public_api.js +0 -4
  2076. package/sortable/esm2015/public_api.js.map +0 -1
  2077. package/sortable/esm2015/public_api.metadata.json +0 -1
  2078. package/sortable/esm2015/sortable.component.js +0 -217
  2079. package/sortable/esm2015/sortable.component.js.map +0 -1
  2080. package/sortable/esm2015/sortable.component.metadata.json +0 -1
  2081. package/sortable/esm2015/sortable.module.js +0 -17
  2082. package/sortable/esm2015/sortable.module.js.map +0 -1
  2083. package/sortable/esm2015/sortable.module.metadata.json +0 -1
  2084. package/sortable/fesm2015/ngx-bootstrap-sortable.js +0 -268
  2085. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2086. package/sortable/ngx-bootstrap-sortable.d.ts.__ivy_ngcc_bak +0 -4
  2087. package/sortable/ngx-bootstrap-sortable.d.ts.map +0 -1
  2088. package/sortable/ngx-bootstrap-sortable.metadata.json +0 -1
  2089. package/sortable/sortable.component.d.ts.__ivy_ngcc_bak +0 -59
  2090. package/sortable/sortable.component.d.ts.map +0 -1
  2091. package/sortable/sortable.module.d.ts.__ivy_ngcc_bak +0 -4
  2092. package/sortable/sortable.module.d.ts.map +0 -1
  2093. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js +0 -521
  2094. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2095. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +0 -458
  2096. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +0 -1
  2097. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +0 -2
  2098. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +0 -1
  2099. package/tabs/esm2015/index.js +0 -2
  2100. package/tabs/esm2015/index.js.map +0 -1
  2101. package/tabs/esm2015/index.metadata.json +0 -1
  2102. package/tabs/esm2015/ng-transclude.directive.js +0 -28
  2103. package/tabs/esm2015/ng-transclude.directive.js.map +0 -1
  2104. package/tabs/esm2015/ng-transclude.directive.metadata.json +0 -1
  2105. package/tabs/esm2015/ngx-bootstrap-tabs.js +0 -5
  2106. package/tabs/esm2015/ngx-bootstrap-tabs.js.map +0 -1
  2107. package/tabs/esm2015/ngx-bootstrap-tabs.metadata.json +0 -1
  2108. package/tabs/esm2015/public_api.js +0 -7
  2109. package/tabs/esm2015/public_api.js.map +0 -1
  2110. package/tabs/esm2015/public_api.metadata.json +0 -1
  2111. package/tabs/esm2015/tab-heading.directive.js +0 -17
  2112. package/tabs/esm2015/tab-heading.directive.js.map +0 -1
  2113. package/tabs/esm2015/tab-heading.directive.metadata.json +0 -1
  2114. package/tabs/esm2015/tab.directive.js +0 -96
  2115. package/tabs/esm2015/tab.directive.js.map +0 -1
  2116. package/tabs/esm2015/tab.directive.metadata.json +0 -1
  2117. package/tabs/esm2015/tabs.module.js +0 -32
  2118. package/tabs/esm2015/tabs.module.js.map +0 -1
  2119. package/tabs/esm2015/tabs.module.metadata.json +0 -1
  2120. package/tabs/esm2015/tabset.component.js +0 -215
  2121. package/tabs/esm2015/tabset.component.js.map +0 -1
  2122. package/tabs/esm2015/tabset.component.metadata.json +0 -1
  2123. package/tabs/esm2015/tabset.config.js +0 -19
  2124. package/tabs/esm2015/tabset.config.js.map +0 -1
  2125. package/tabs/esm2015/tabset.config.metadata.json +0 -1
  2126. package/tabs/fesm2015/ngx-bootstrap-tabs.js +0 -401
  2127. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2128. package/tabs/ng-transclude.directive.d.ts.__ivy_ngcc_bak +0 -8
  2129. package/tabs/ng-transclude.directive.d.ts.map +0 -1
  2130. package/tabs/ngx-bootstrap-tabs.d.ts.__ivy_ngcc_bak +0 -4
  2131. package/tabs/ngx-bootstrap-tabs.d.ts.map +0 -1
  2132. package/tabs/ngx-bootstrap-tabs.metadata.json +0 -1
  2133. package/tabs/tab-heading.directive.d.ts.__ivy_ngcc_bak +0 -7
  2134. package/tabs/tab-heading.directive.d.ts.map +0 -1
  2135. package/tabs/tab.directive.d.ts.__ivy_ngcc_bak +0 -36
  2136. package/tabs/tab.directive.d.ts.map +0 -1
  2137. package/tabs/tabs.module.d.ts.__ivy_ngcc_bak +0 -4
  2138. package/tabs/tabs.module.d.ts.map +0 -1
  2139. package/tabs/tabset.component.d.ts.__ivy_ngcc_bak +0 -41
  2140. package/tabs/tabset.component.d.ts.map +0 -1
  2141. package/tabs/tabset.config.d.ts.__ivy_ngcc_bak +0 -8
  2142. package/tabs/tabset.config.d.ts.map +0 -1
  2143. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js +0 -1137
  2144. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2145. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +0 -1156
  2146. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +0 -1
  2147. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +0 -17
  2148. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +0 -1
  2149. package/timepicker/esm2015/index.js +0 -2
  2150. package/timepicker/esm2015/index.js.map +0 -1
  2151. package/timepicker/esm2015/index.metadata.json +0 -1
  2152. package/timepicker/esm2015/models/index.js +0 -2
  2153. package/timepicker/esm2015/models/index.js.map +0 -1
  2154. package/timepicker/esm2015/models/index.metadata.json +0 -1
  2155. package/timepicker/esm2015/ngx-bootstrap-timepicker.js +0 -6
  2156. package/timepicker/esm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2157. package/timepicker/esm2015/ngx-bootstrap-timepicker.metadata.json +0 -1
  2158. package/timepicker/esm2015/public_api.js +0 -6
  2159. package/timepicker/esm2015/public_api.js.map +0 -1
  2160. package/timepicker/esm2015/public_api.metadata.json +0 -1
  2161. package/timepicker/esm2015/reducer/timepicker.actions.js +0 -49
  2162. package/timepicker/esm2015/reducer/timepicker.actions.js.map +0 -1
  2163. package/timepicker/esm2015/reducer/timepicker.actions.metadata.json +0 -1
  2164. package/timepicker/esm2015/reducer/timepicker.reducer.js +0 -83
  2165. package/timepicker/esm2015/reducer/timepicker.reducer.js.map +0 -1
  2166. package/timepicker/esm2015/reducer/timepicker.reducer.metadata.json +0 -1
  2167. package/timepicker/esm2015/reducer/timepicker.store.js +0 -18
  2168. package/timepicker/esm2015/reducer/timepicker.store.js.map +0 -1
  2169. package/timepicker/esm2015/reducer/timepicker.store.metadata.json +0 -1
  2170. package/timepicker/esm2015/timepicker-controls.util.js +0 -123
  2171. package/timepicker/esm2015/timepicker-controls.util.js.map +0 -1
  2172. package/timepicker/esm2015/timepicker-controls.util.metadata.json +0 -1
  2173. package/timepicker/esm2015/timepicker.component.js +0 -350
  2174. package/timepicker/esm2015/timepicker.component.js.map +0 -1
  2175. package/timepicker/esm2015/timepicker.component.metadata.json +0 -1
  2176. package/timepicker/esm2015/timepicker.config.js +0 -52
  2177. package/timepicker/esm2015/timepicker.config.js.map +0 -1
  2178. package/timepicker/esm2015/timepicker.config.metadata.json +0 -1
  2179. package/timepicker/esm2015/timepicker.models.js +0 -2
  2180. package/timepicker/esm2015/timepicker.models.js.map +0 -1
  2181. package/timepicker/esm2015/timepicker.models.metadata.json +0 -1
  2182. package/timepicker/esm2015/timepicker.module.js +0 -21
  2183. package/timepicker/esm2015/timepicker.module.js.map +0 -1
  2184. package/timepicker/esm2015/timepicker.module.metadata.json +0 -1
  2185. package/timepicker/esm2015/timepicker.utils.js +0 -152
  2186. package/timepicker/esm2015/timepicker.utils.js.map +0 -1
  2187. package/timepicker/esm2015/timepicker.utils.metadata.json +0 -1
  2188. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +0 -836
  2189. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2190. package/timepicker/ngx-bootstrap-timepicker.d.ts.__ivy_ngcc_bak +0 -5
  2191. package/timepicker/ngx-bootstrap-timepicker.d.ts.map +0 -1
  2192. package/timepicker/ngx-bootstrap-timepicker.metadata.json +0 -1
  2193. package/timepicker/reducer/timepicker.actions.d.ts.__ivy_ngcc_bak +0 -25
  2194. package/timepicker/reducer/timepicker.actions.d.ts.map +0 -1
  2195. package/timepicker/reducer/timepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  2196. package/timepicker/reducer/timepicker.store.d.ts.map +0 -1
  2197. package/timepicker/timepicker.component.d.ts.__ivy_ngcc_bak +0 -113
  2198. package/timepicker/timepicker.component.d.ts.map +0 -1
  2199. package/timepicker/timepicker.config.d.ts.__ivy_ngcc_bak +0 -45
  2200. package/timepicker/timepicker.config.d.ts.map +0 -1
  2201. package/timepicker/timepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  2202. package/timepicker/timepicker.module.d.ts.map +0 -1
  2203. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js +0 -506
  2204. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2205. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +0 -766
  2206. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +0 -1
  2207. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +0 -2
  2208. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +0 -1
  2209. package/tooltip/esm2015/index.js +0 -2
  2210. package/tooltip/esm2015/index.js.map +0 -1
  2211. package/tooltip/esm2015/index.metadata.json +0 -1
  2212. package/tooltip/esm2015/ngx-bootstrap-tooltip.js +0 -5
  2213. package/tooltip/esm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2214. package/tooltip/esm2015/ngx-bootstrap-tooltip.metadata.json +0 -1
  2215. package/tooltip/esm2015/public_api.js +0 -5
  2216. package/tooltip/esm2015/public_api.js.map +0 -1
  2217. package/tooltip/esm2015/public_api.metadata.json +0 -1
  2218. package/tooltip/esm2015/tooltip-container.component.js +0 -69
  2219. package/tooltip/esm2015/tooltip-container.component.js.map +0 -1
  2220. package/tooltip/esm2015/tooltip-container.component.metadata.json +0 -1
  2221. package/tooltip/esm2015/tooltip.config.js +0 -20
  2222. package/tooltip/esm2015/tooltip.config.js.map +0 -1
  2223. package/tooltip/esm2015/tooltip.config.metadata.json +0 -1
  2224. package/tooltip/esm2015/tooltip.directive.js +0 -313
  2225. package/tooltip/esm2015/tooltip.directive.js.map +0 -1
  2226. package/tooltip/esm2015/tooltip.directive.metadata.json +0 -1
  2227. package/tooltip/esm2015/tooltip.module.js +0 -23
  2228. package/tooltip/esm2015/tooltip.module.js.map +0 -1
  2229. package/tooltip/esm2015/tooltip.module.metadata.json +0 -1
  2230. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +0 -419
  2231. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2232. package/tooltip/ngx-bootstrap-tooltip.d.ts.__ivy_ngcc_bak +0 -4
  2233. package/tooltip/ngx-bootstrap-tooltip.d.ts.map +0 -1
  2234. package/tooltip/ngx-bootstrap-tooltip.metadata.json +0 -1
  2235. package/tooltip/tooltip-container.component.d.ts.__ivy_ngcc_bak +0 -15
  2236. package/tooltip/tooltip-container.component.d.ts.map +0 -1
  2237. package/tooltip/tooltip.config.d.ts.__ivy_ngcc_bak +0 -13
  2238. package/tooltip/tooltip.config.d.ts.map +0 -1
  2239. package/tooltip/tooltip.directive.d.ts.__ivy_ngcc_bak +0 -110
  2240. package/tooltip/tooltip.directive.d.ts.map +0 -1
  2241. package/tooltip/tooltip.module.d.ts.__ivy_ngcc_bak +0 -4
  2242. package/tooltip/tooltip.module.d.ts.map +0 -1
  2243. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js +0 -2103
  2244. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2245. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +0 -2264
  2246. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +0 -1
  2247. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +0 -2
  2248. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +0 -1
  2249. package/typeahead/esm2015/index.js +0 -2
  2250. package/typeahead/esm2015/index.js.map +0 -1
  2251. package/typeahead/esm2015/index.metadata.json +0 -1
  2252. package/typeahead/esm2015/latin-map.js +0 -827
  2253. package/typeahead/esm2015/latin-map.js.map +0 -1
  2254. package/typeahead/esm2015/latin-map.metadata.json +0 -1
  2255. package/typeahead/esm2015/models/index.js +0 -2
  2256. package/typeahead/esm2015/models/index.js.map +0 -1
  2257. package/typeahead/esm2015/models/index.metadata.json +0 -1
  2258. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +0 -6
  2259. package/typeahead/esm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2260. package/typeahead/esm2015/ngx-bootstrap-typeahead.metadata.json +0 -1
  2261. package/typeahead/esm2015/public_api.js +0 -9
  2262. package/typeahead/esm2015/public_api.js.map +0 -1
  2263. package/typeahead/esm2015/public_api.metadata.json +0 -1
  2264. package/typeahead/esm2015/typeahead-animations.js +0 -16
  2265. package/typeahead/esm2015/typeahead-animations.js.map +0 -1
  2266. package/typeahead/esm2015/typeahead-animations.metadata.json +0 -1
  2267. package/typeahead/esm2015/typeahead-container.component.js +0 -332
  2268. package/typeahead/esm2015/typeahead-container.component.js.map +0 -1
  2269. package/typeahead/esm2015/typeahead-container.component.metadata.json +0 -1
  2270. package/typeahead/esm2015/typeahead-match.class.js +0 -15
  2271. package/typeahead/esm2015/typeahead-match.class.js.map +0 -1
  2272. package/typeahead/esm2015/typeahead-match.class.metadata.json +0 -1
  2273. package/typeahead/esm2015/typeahead-options.class.js +0 -8
  2274. package/typeahead/esm2015/typeahead-options.class.js.map +0 -1
  2275. package/typeahead/esm2015/typeahead-options.class.metadata.json +0 -1
  2276. package/typeahead/esm2015/typeahead-order.class.js +0 -2
  2277. package/typeahead/esm2015/typeahead-order.class.js.map +0 -1
  2278. package/typeahead/esm2015/typeahead-order.class.metadata.json +0 -1
  2279. package/typeahead/esm2015/typeahead-utils.js +0 -77
  2280. package/typeahead/esm2015/typeahead-utils.js.map +0 -1
  2281. package/typeahead/esm2015/typeahead-utils.metadata.json +0 -1
  2282. package/typeahead/esm2015/typeahead.config.js +0 -32
  2283. package/typeahead/esm2015/typeahead.config.js.map +0 -1
  2284. package/typeahead/esm2015/typeahead.config.metadata.json +0 -1
  2285. package/typeahead/esm2015/typeahead.directive.js +0 -537
  2286. package/typeahead/esm2015/typeahead.directive.js.map +0 -1
  2287. package/typeahead/esm2015/typeahead.directive.metadata.json +0 -1
  2288. package/typeahead/esm2015/typeahead.module.js +0 -23
  2289. package/typeahead/esm2015/typeahead.module.js.map +0 -1
  2290. package/typeahead/esm2015/typeahead.module.metadata.json +0 -1
  2291. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +0 -1858
  2292. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2293. package/typeahead/ngx-bootstrap-typeahead.d.ts.__ivy_ngcc_bak +0 -5
  2294. package/typeahead/ngx-bootstrap-typeahead.d.ts.map +0 -1
  2295. package/typeahead/ngx-bootstrap-typeahead.metadata.json +0 -1
  2296. package/typeahead/typeahead-container.component.d.ts.__ivy_ngcc_bak +0 -64
  2297. package/typeahead/typeahead-container.component.d.ts.map +0 -1
  2298. package/typeahead/typeahead.config.d.ts.__ivy_ngcc_bak +0 -23
  2299. package/typeahead/typeahead.config.d.ts.map +0 -1
  2300. package/typeahead/typeahead.directive.d.ts.__ivy_ngcc_bak +0 -173
  2301. package/typeahead/typeahead.directive.d.ts.map +0 -1
  2302. package/typeahead/typeahead.module.d.ts.__ivy_ngcc_bak +0 -4
  2303. package/typeahead/typeahead.module.d.ts.map +0 -1
  2304. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js +0 -548
  2305. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2306. package/utils/bundles/ngx-bootstrap-utils.umd.js +0 -589
  2307. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +0 -1
  2308. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +0 -10
  2309. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +0 -1
  2310. package/utils/esm2015/decorators.js +0 -23
  2311. package/utils/esm2015/decorators.js.map +0 -1
  2312. package/utils/esm2015/decorators.metadata.json +0 -1
  2313. package/utils/esm2015/facade/browser.js +0 -26
  2314. package/utils/esm2015/facade/browser.js.map +0 -1
  2315. package/utils/esm2015/facade/browser.metadata.json +0 -1
  2316. package/utils/esm2015/index.js +0 -2
  2317. package/utils/esm2015/index.js.map +0 -1
  2318. package/utils/esm2015/index.metadata.json +0 -1
  2319. package/utils/esm2015/linked-list.class.js +0 -249
  2320. package/utils/esm2015/linked-list.class.js.map +0 -1
  2321. package/utils/esm2015/linked-list.class.metadata.json +0 -1
  2322. package/utils/esm2015/ngx-bootstrap-utils.js +0 -6
  2323. package/utils/esm2015/ngx-bootstrap-utils.js.map +0 -1
  2324. package/utils/esm2015/ngx-bootstrap-utils.metadata.json +0 -1
  2325. package/utils/esm2015/public_api.js +0 -10
  2326. package/utils/esm2015/public_api.js.map +0 -1
  2327. package/utils/esm2015/public_api.metadata.json +0 -1
  2328. package/utils/esm2015/theme-provider.js +0 -74
  2329. package/utils/esm2015/theme-provider.js.map +0 -1
  2330. package/utils/esm2015/theme-provider.metadata.json +0 -1
  2331. package/utils/esm2015/trigger.class.js +0 -14
  2332. package/utils/esm2015/trigger.class.js.map +0 -1
  2333. package/utils/esm2015/trigger.class.metadata.json +0 -1
  2334. package/utils/esm2015/triggers.js +0 -118
  2335. package/utils/esm2015/triggers.js.map +0 -1
  2336. package/utils/esm2015/triggers.metadata.json +0 -1
  2337. package/utils/esm2015/utils.class.js +0 -30
  2338. package/utils/esm2015/utils.class.js.map +0 -1
  2339. package/utils/esm2015/utils.class.metadata.json +0 -1
  2340. package/utils/esm2015/warn-once.js +0 -11
  2341. package/utils/esm2015/warn-once.js.map +0 -1
  2342. package/utils/esm2015/warn-once.metadata.json +0 -1
  2343. package/utils/fesm2015/ngx-bootstrap-utils.js +0 -547
  2344. package/utils/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2345. package/utils/ngx-bootstrap-utils.d.ts.__ivy_ngcc_bak +0 -5
  2346. package/utils/ngx-bootstrap-utils.d.ts.map +0 -1
  2347. package/utils/ngx-bootstrap-utils.metadata.json +0 -1
@@ -0,0 +1,576 @@
1
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
4
+ import { EMPTY, from, isObservable } from 'rxjs';
5
+ import { debounceTime, filter, mergeMap, switchMap, tap, toArray } from 'rxjs/operators';
6
+ import { TypeaheadContainerComponent } from './typeahead-container.component';
7
+ import { TypeaheadMatch } from './typeahead-match.class';
8
+ import { getValueFromObject, latinize, tokenize } from './typeahead-utils';
9
+ import { TypeaheadConfig } from './typeahead.config';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "ngx-bootstrap/component-loader";
12
+ import * as i2 from "./typeahead.config";
13
+ import * as i3 from "@angular/forms";
14
+ export class TypeaheadDirective {
15
+ constructor(cis, config, changeDetection, element, ngControl, renderer, viewContainerRef) {
16
+ this.changeDetection = changeDetection;
17
+ this.element = element;
18
+ this.ngControl = ngControl;
19
+ this.renderer = renderer;
20
+ /** minimal no of characters that needs to be entered before
21
+ * typeahead kicks-in. When set to 0, typeahead shows on focus with full
22
+ * list of options (limited as normal by typeaheadOptionsLimit)
23
+ */
24
+ this.typeaheadMinLength = 1;
25
+ /** sets use adaptive position */
26
+ this.adaptivePosition = false;
27
+ /** turn on/off animation */
28
+ this.isAnimated = false;
29
+ /** minimal wait time after last character typed before typeahead kicks-in */
30
+ this.typeaheadWaitMs = 0;
31
+ /** match latin symbols.
32
+ * If true the word súper would match super and vice versa.
33
+ */
34
+ this.typeaheadLatinize = true;
35
+ /** Can be use to search words by inserting a single white space between each characters
36
+ * for example 'C a l i f o r n i a' will match 'California'.
37
+ */
38
+ this.typeaheadSingleWords = true;
39
+ /** should be used only in case typeaheadSingleWords attribute is true.
40
+ * Sets the word delimiter to break words. Defaults to space.
41
+ */
42
+ this.typeaheadWordDelimiters = ' ';
43
+ /** should be used only in case typeaheadMultipleSearch attribute is true.
44
+ * Sets the multiple search delimiter to know when to start a new search. Defaults to comma.
45
+ * If space needs to be used, then explicitly set typeaheadWordDelimiters to something else than space
46
+ * because space is used by default OR set typeaheadSingleWords attribute to false if you don't need
47
+ * to use it together with multiple search.
48
+ */
49
+ this.typeaheadMultipleSearchDelimiters = ',';
50
+ /** should be used only in case typeaheadSingleWords attribute is true.
51
+ * Sets the word delimiter to match exact phrase.
52
+ * Defaults to simple and double quotes.
53
+ */
54
+ this.typeaheadPhraseDelimiters = '\'"';
55
+ /** specifies if typeahead is scrollable */
56
+ this.typeaheadScrollable = false;
57
+ /** specifies number of options to show in scroll view */
58
+ this.typeaheadOptionsInScrollableView = 5;
59
+ /** fired when an options list was opened and the user clicked Tab
60
+ * If a value equal true, it will be chosen first or active item in the list
61
+ * If value equal false, it will be chosen an active item in the list or nothing
62
+ */
63
+ this.typeaheadSelectFirstItem = true;
64
+ /** makes active first item in a list */
65
+ this.typeaheadIsFirstItemActive = true;
66
+ /** fired when 'busy' state of this component was changed,
67
+ * fired on async mode only, returns boolean
68
+ */
69
+ this.typeaheadLoading = new EventEmitter();
70
+ /** fired on every key event and returns true
71
+ * in case of matches are not detected
72
+ */
73
+ this.typeaheadNoResults = new EventEmitter();
74
+ /** fired when option was selected, return object with data of this option. */
75
+ this.typeaheadOnSelect = new EventEmitter();
76
+ /** fired when option was previewed, return object with data of this option. */
77
+ this.typeaheadOnPreview = new EventEmitter();
78
+ /** fired when blur event occurs. returns the active item */
79
+ this.typeaheadOnBlur = new EventEmitter();
80
+ /** This attribute indicates that the dropdown should be opened upwards */
81
+ this.dropup = false;
82
+ this.isOpen = false;
83
+ this.list = 'list';
84
+ this.isActiveItemChanged = false;
85
+ this.isFocused = false;
86
+ this.cancelRequestOnFocusLost = false;
87
+ this.selectItemOnBlur = false;
88
+ this.keyUpEventEmitter = new EventEmitter();
89
+ this.placement = 'bottom left';
90
+ this._matches = [];
91
+ this._subscriptions = [];
92
+ this._outsideClickListener = () => void 0;
93
+ this._typeahead = cis.createLoader(element, viewContainerRef, renderer)
94
+ .provide({ provide: TypeaheadConfig, useValue: config });
95
+ Object.assign(this, {
96
+ typeaheadHideResultsOnBlur: config.hideResultsOnBlur,
97
+ cancelRequestOnFocusLost: config.cancelRequestOnFocusLost,
98
+ typeaheadSelectFirstItem: config.selectFirstItem,
99
+ typeaheadIsFirstItemActive: config.isFirstItemActive,
100
+ typeaheadMinLength: config.minLength,
101
+ adaptivePosition: config.adaptivePosition,
102
+ isAnimated: config.isAnimated,
103
+ selectItemOnBlur: config.selectItemOnBlur
104
+ });
105
+ }
106
+ get matches() {
107
+ return this._matches;
108
+ }
109
+ ngOnInit() {
110
+ this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;
111
+ this.typeaheadMinLength =
112
+ this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;
113
+ // async should be false in case of array
114
+ if (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {
115
+ this.typeaheadAsync = false;
116
+ }
117
+ if (isObservable(this.typeahead)) {
118
+ this.typeaheadAsync = true;
119
+ }
120
+ if (this.typeaheadAsync) {
121
+ this.asyncActions();
122
+ }
123
+ else {
124
+ this.syncActions();
125
+ }
126
+ this.checkDelimitersConflict();
127
+ }
128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
+ onInput(e) {
130
+ // For `<input>`s, use the `value` property. For others that don't have a
131
+ // `value` (such as `<span contenteditable="true">`), use either
132
+ // `textContent` or `innerText` (depending on which one is supported, i.e.
133
+ // Firefox or IE).
134
+ const value = e.target.value !== undefined
135
+ ? e.target.value
136
+ : e.target.textContent !== undefined
137
+ ? e.target.textContent
138
+ : e.target.innerText;
139
+ if (value != null && value.trim().length >= this.typeaheadMinLength) {
140
+ this.typeaheadLoading.emit(true);
141
+ this.keyUpEventEmitter.emit(e.target.value);
142
+ }
143
+ else {
144
+ this.typeaheadLoading.emit(false);
145
+ this.typeaheadNoResults.emit(false);
146
+ this.hide();
147
+ }
148
+ }
149
+ onChange(event) {
150
+ if (this._container) {
151
+ // esc
152
+ if (event.keyCode === 27 || event.key === 'Escape') {
153
+ this.hide();
154
+ return;
155
+ }
156
+ // up
157
+ if (event.keyCode === 38 || event.key === 'ArrowUp') {
158
+ this.isActiveItemChanged = true;
159
+ this._container.prevActiveMatch();
160
+ return;
161
+ }
162
+ // down
163
+ if (event.keyCode === 40 || event.key === 'ArrowDown') {
164
+ this.isActiveItemChanged = true;
165
+ this._container.nextActiveMatch();
166
+ return;
167
+ }
168
+ // enter
169
+ if (event.keyCode === 13 || event.key === 'Enter') {
170
+ this._container.selectActiveMatch();
171
+ return;
172
+ }
173
+ }
174
+ }
175
+ onFocus() {
176
+ this.isFocused = true;
177
+ // add setTimeout to fix issue #5251
178
+ // to get and emit updated value if it's changed on focus
179
+ setTimeout(() => {
180
+ if (this.typeaheadMinLength === 0) {
181
+ this.typeaheadLoading.emit(true);
182
+ this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');
183
+ }
184
+ }, 0);
185
+ }
186
+ onBlur() {
187
+ this.isFocused = false;
188
+ if (this._container && !this._container.isFocused) {
189
+ this.typeaheadOnBlur.emit(this._container.active);
190
+ }
191
+ if (!this.container && this._matches?.length === 0) {
192
+ this.typeaheadOnBlur.emit(new TypeaheadMatch(this.element.nativeElement.value, this.element.nativeElement.value, false));
193
+ }
194
+ }
195
+ onKeydown(event) {
196
+ // no container - no problems
197
+ if (!this._container) {
198
+ return;
199
+ }
200
+ if (event.keyCode === 9 || event.key === 'Tab') {
201
+ this.onBlur();
202
+ }
203
+ if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {
204
+ event.preventDefault();
205
+ if (this.typeaheadSelectFirstItem) {
206
+ this._container.selectActiveMatch();
207
+ return;
208
+ }
209
+ if (!this.typeaheadSelectFirstItem) {
210
+ this._container.selectActiveMatch(this.isActiveItemChanged);
211
+ this.isActiveItemChanged = false;
212
+ this.hide();
213
+ }
214
+ }
215
+ }
216
+ changeModel(match) {
217
+ if (!match) {
218
+ return;
219
+ }
220
+ let valueStr;
221
+ if (this.typeaheadMultipleSearch && this._allEnteredValue) {
222
+ const tokens = this._allEnteredValue.split(new RegExp(`([${this.typeaheadMultipleSearchDelimiters}]+)`));
223
+ this._allEnteredValue = tokens.slice(0, tokens.length - 1).concat(match.value).join('');
224
+ valueStr = this._allEnteredValue;
225
+ }
226
+ else {
227
+ valueStr = match.value;
228
+ }
229
+ this.ngControl.viewToModelUpdate(valueStr);
230
+ this.ngControl.control?.setValue(valueStr);
231
+ this.changeDetection.markForCheck();
232
+ this.hide();
233
+ }
234
+ show() {
235
+ this._typeahead
236
+ .attach(TypeaheadContainerComponent)
237
+ .to(this.container)
238
+ .position({ attachment: `${this.dropup ? 'top' : 'bottom'} left` })
239
+ .show({
240
+ typeaheadRef: this,
241
+ placement: this.placement,
242
+ animation: false,
243
+ dropup: this.dropup
244
+ });
245
+ this._outsideClickListener = this.renderer
246
+ .listen('document', 'click', (event) => {
247
+ if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(event.target)) {
248
+ return;
249
+ }
250
+ if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(event.target)) {
251
+ return;
252
+ }
253
+ this.onOutsideClick();
254
+ });
255
+ if (!this._typeahead.instance || !this.ngControl.control) {
256
+ return;
257
+ }
258
+ this._container = this._typeahead.instance;
259
+ this._container.parent = this;
260
+ // This improves the speed as it won't have to be done for each list item
261
+ const normalizedQuery = (this.typeaheadLatinize
262
+ ? latinize(this.ngControl.control.value)
263
+ : this.ngControl.control.value)
264
+ .toString()
265
+ .toLowerCase();
266
+ this._container.query = this.tokenizeQuery(normalizedQuery);
267
+ this._container.matches = this._matches;
268
+ this.element.nativeElement.focus();
269
+ this._container.activeChangeEvent.subscribe((activeId) => {
270
+ this.activeDescendant = activeId;
271
+ this.changeDetection.markForCheck();
272
+ });
273
+ this.isOpen = true;
274
+ }
275
+ hide() {
276
+ if (this._typeahead.isShown) {
277
+ this._typeahead.hide();
278
+ this._outsideClickListener();
279
+ this._container = void 0;
280
+ this.isOpen = false;
281
+ this.changeDetection.markForCheck();
282
+ }
283
+ this.typeaheadOnPreview.emit();
284
+ }
285
+ onOutsideClick() {
286
+ if (this._container && !this._container.isFocused) {
287
+ this.hide();
288
+ }
289
+ }
290
+ ngOnDestroy() {
291
+ // clean up subscriptions
292
+ for (const sub of this._subscriptions) {
293
+ sub.unsubscribe();
294
+ }
295
+ this._typeahead.dispose();
296
+ }
297
+ asyncActions() {
298
+ this._subscriptions.push(this.keyUpEventEmitter
299
+ .pipe(debounceTime(this.typeaheadWaitMs), tap(value => this._allEnteredValue = value), switchMap(() => {
300
+ if (!this.typeahead) {
301
+ return EMPTY;
302
+ }
303
+ return this.typeahead;
304
+ }))
305
+ .subscribe((matches) => {
306
+ this.finalizeAsyncCall(matches);
307
+ }));
308
+ }
309
+ syncActions() {
310
+ this._subscriptions.push(this.keyUpEventEmitter
311
+ .pipe(debounceTime(this.typeaheadWaitMs), mergeMap((value) => {
312
+ this._allEnteredValue = value;
313
+ const normalizedQuery = this.normalizeQuery(value);
314
+ if (!this.typeahead) {
315
+ return EMPTY;
316
+ }
317
+ const typeahead = isObservable(this.typeahead) ? this.typeahead : from(this.typeahead);
318
+ return typeahead
319
+ .pipe(filter((option) => {
320
+ return !!option && this.testMatch(this.normalizeOption(option), normalizedQuery);
321
+ }), toArray());
322
+ }))
323
+ .subscribe((matches) => {
324
+ this.finalizeAsyncCall(matches);
325
+ }));
326
+ }
327
+ normalizeOption(option) {
328
+ const optionValue = getValueFromObject(option, this.typeaheadOptionField);
329
+ const normalizedOption = this.typeaheadLatinize
330
+ ? latinize(optionValue)
331
+ : optionValue;
332
+ return normalizedOption.toLowerCase();
333
+ }
334
+ tokenizeQuery(currentQuery) {
335
+ let query = currentQuery;
336
+ if (this.typeaheadMultipleSearch && this.typeaheadSingleWords) {
337
+ if (!this.haveCommonCharacters(`${this.typeaheadPhraseDelimiters}${this.typeaheadWordDelimiters}`, this.typeaheadMultipleSearchDelimiters)) {
338
+ // single words and multiple search delimiters are different, can be used together
339
+ query = tokenize(query, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters, this.typeaheadMultipleSearchDelimiters);
340
+ }
341
+ }
342
+ else if (this.typeaheadSingleWords) {
343
+ query = tokenize(query, this.typeaheadWordDelimiters, this.typeaheadPhraseDelimiters);
344
+ }
345
+ else {
346
+ // multiple searches
347
+ query = tokenize(query, void 0, void 0, this.typeaheadMultipleSearchDelimiters);
348
+ }
349
+ return query;
350
+ }
351
+ normalizeQuery(value) {
352
+ // If singleWords, break model here to not be doing extra work on each iteration
353
+ let normalizedQuery = (this.typeaheadLatinize
354
+ ? latinize(value)
355
+ : value)
356
+ .toString()
357
+ .toLowerCase();
358
+ normalizedQuery = this.tokenizeQuery(normalizedQuery);
359
+ return normalizedQuery;
360
+ }
361
+ testMatch(match, test) {
362
+ let spaceLength;
363
+ if (typeof test === 'object') {
364
+ spaceLength = test.length;
365
+ for (let i = 0; i < spaceLength; i += 1) {
366
+ if (test[i].length > 0 && match.indexOf(test[i]) < 0) {
367
+ return false;
368
+ }
369
+ }
370
+ return true;
371
+ }
372
+ return match.indexOf(test) >= 0;
373
+ }
374
+ finalizeAsyncCall(matches) {
375
+ this.prepareMatches(matches || []);
376
+ this.typeaheadLoading.emit(false);
377
+ this.typeaheadNoResults.emit(!this.hasMatches());
378
+ if (!this.hasMatches()) {
379
+ this.hide();
380
+ return;
381
+ }
382
+ if (!this.isFocused && this.cancelRequestOnFocusLost) {
383
+ return;
384
+ }
385
+ if (this._container && this.ngControl.control) {
386
+ // fix: remove usage of ngControl internals
387
+ const _controlValue = (this.typeaheadLatinize
388
+ ? latinize(this.ngControl.control.value)
389
+ : this.ngControl.control.value) || '';
390
+ // This improves the speed as it won't have to be done for each list item
391
+ const normalizedQuery = _controlValue.toString().toLowerCase();
392
+ this._container.query = this.tokenizeQuery(normalizedQuery);
393
+ this._container.matches = this._matches;
394
+ }
395
+ else {
396
+ this.show();
397
+ }
398
+ }
399
+ prepareMatches(options) {
400
+ const limited = options.slice(0, this.typeaheadOptionsLimit);
401
+ const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);
402
+ if (this.typeaheadGroupField) {
403
+ let matches = [];
404
+ // extract all group names
405
+ const groups = sorted
406
+ .map((option) => getValueFromObject(option, this.typeaheadGroupField))
407
+ .filter((v, i, a) => a.indexOf(v) === i);
408
+ groups.forEach((group) => {
409
+ // add group header to array of matches
410
+ matches.push(new TypeaheadMatch(group, group, true));
411
+ // add each item of group to array of matches
412
+ matches = matches.concat(sorted
413
+ .filter((option) => getValueFromObject(option, this.typeaheadGroupField) === group)
414
+ .map((option) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField))));
415
+ });
416
+ this._matches = matches;
417
+ }
418
+ else {
419
+ this._matches = sorted.map(
420
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
421
+ (option) => new TypeaheadMatch(option, getValueFromObject(option, this.typeaheadOptionField)));
422
+ }
423
+ }
424
+ orderMatches(options) {
425
+ if (!options.length) {
426
+ return options;
427
+ }
428
+ if (this.typeaheadOrderBy !== null
429
+ && this.typeaheadOrderBy !== undefined
430
+ && typeof this.typeaheadOrderBy === 'object'
431
+ && Object.keys(this.typeaheadOrderBy).length === 0) {
432
+ console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');
433
+ return options;
434
+ }
435
+ const { field, direction } = (this.typeaheadOrderBy || {});
436
+ if (!direction || !(direction === 'asc' || direction === 'desc')) {
437
+ console.error('typeaheadOrderBy direction has to equal "asc" or "desc". Please follow the documentation.');
438
+ return options;
439
+ }
440
+ if (typeof options[0] === 'string') {
441
+ return direction === 'asc' ? options.sort() : options.sort().reverse();
442
+ }
443
+ if (!field || typeof field !== 'string') {
444
+ console.error('typeaheadOrderBy field has to set according to the documentation.');
445
+ return options;
446
+ }
447
+ return options.sort((a, b) => {
448
+ const stringA = getValueFromObject(a, field);
449
+ const stringB = getValueFromObject(b, field);
450
+ if (stringA < stringB) {
451
+ return direction === 'asc' ? -1 : 1;
452
+ }
453
+ if (stringA > stringB) {
454
+ return direction === 'asc' ? 1 : -1;
455
+ }
456
+ return 0;
457
+ });
458
+ }
459
+ hasMatches() {
460
+ return this._matches.length > 0;
461
+ }
462
+ checkDelimitersConflict() {
463
+ if (this.typeaheadMultipleSearch && this.typeaheadSingleWords
464
+ && (this.haveCommonCharacters(`${this.typeaheadPhraseDelimiters}${this.typeaheadWordDelimiters}`, this.typeaheadMultipleSearchDelimiters))) {
465
+ throw new Error(`Delimiters used in typeaheadMultipleSearchDelimiters must be different
466
+ from delimiters used in typeaheadWordDelimiters (current value: ${this.typeaheadWordDelimiters}) and
467
+ typeaheadPhraseDelimiters (current value: ${this.typeaheadPhraseDelimiters}).
468
+ Please refer to the documentation`);
469
+ }
470
+ }
471
+ haveCommonCharacters(str1, str2) {
472
+ for (let i = 0; i < str1.length; i++) {
473
+ if (str1.charAt(i).indexOf(str2) > -1) {
474
+ return true;
475
+ }
476
+ }
477
+ return false;
478
+ }
479
+ }
480
+ TypeaheadDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TypeaheadDirective, deps: [{ token: i1.ComponentLoaderFactory }, { token: i2.TypeaheadConfig }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i3.NgControl }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
481
+ TypeaheadDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TypeaheadDirective, selector: "[typeahead]", inputs: { typeahead: "typeahead", typeaheadMinLength: "typeaheadMinLength", adaptivePosition: "adaptivePosition", isAnimated: "isAnimated", typeaheadWaitMs: "typeaheadWaitMs", typeaheadOptionsLimit: "typeaheadOptionsLimit", typeaheadOptionField: "typeaheadOptionField", typeaheadGroupField: "typeaheadGroupField", typeaheadOrderBy: "typeaheadOrderBy", typeaheadAsync: "typeaheadAsync", typeaheadLatinize: "typeaheadLatinize", typeaheadSingleWords: "typeaheadSingleWords", typeaheadWordDelimiters: "typeaheadWordDelimiters", typeaheadMultipleSearch: "typeaheadMultipleSearch", typeaheadMultipleSearchDelimiters: "typeaheadMultipleSearchDelimiters", typeaheadPhraseDelimiters: "typeaheadPhraseDelimiters", typeaheadItemTemplate: "typeaheadItemTemplate", optionsListTemplate: "optionsListTemplate", typeaheadScrollable: "typeaheadScrollable", typeaheadOptionsInScrollableView: "typeaheadOptionsInScrollableView", typeaheadHideResultsOnBlur: "typeaheadHideResultsOnBlur", typeaheadSelectFirstItem: "typeaheadSelectFirstItem", typeaheadIsFirstItemActive: "typeaheadIsFirstItemActive", container: "container", dropup: "dropup" }, outputs: { typeaheadLoading: "typeaheadLoading", typeaheadNoResults: "typeaheadNoResults", typeaheadOnSelect: "typeaheadOnSelect", typeaheadOnPreview: "typeaheadOnPreview", typeaheadOnBlur: "typeaheadOnBlur" }, host: { listeners: { "input": "onInput($event)", "keyup": "onChange($event)", "click": "onFocus()", "focus": "onFocus()", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "attr.aria-activedescendant": "activeDescendant", "attr.aria-owns": "isOpen ? this._container.popupId : null", "attr.aria-expanded": "isOpen", "attr.aria-autocomplete": "list" } }, exportAs: ["bs-typeahead"], ngImport: i0 });
482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TypeaheadDirective, decorators: [{
483
+ type: Directive,
484
+ args: [{
485
+ selector: '[typeahead]',
486
+ exportAs: 'bs-typeahead',
487
+ // eslint-disable-next-line @angular-eslint/no-host-metadata-property
488
+ host: {
489
+ '[attr.aria-activedescendant]': 'activeDescendant',
490
+ '[attr.aria-owns]': 'isOpen ? this._container.popupId : null',
491
+ '[attr.aria-expanded]': 'isOpen',
492
+ '[attr.aria-autocomplete]': 'list'
493
+ }
494
+ }]
495
+ }], ctorParameters: function () { return [{ type: i1.ComponentLoaderFactory }, { type: i2.TypeaheadConfig }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i3.NgControl }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }]; }, propDecorators: { typeahead: [{
496
+ type: Input
497
+ }], typeaheadMinLength: [{
498
+ type: Input
499
+ }], adaptivePosition: [{
500
+ type: Input
501
+ }], isAnimated: [{
502
+ type: Input
503
+ }], typeaheadWaitMs: [{
504
+ type: Input
505
+ }], typeaheadOptionsLimit: [{
506
+ type: Input
507
+ }], typeaheadOptionField: [{
508
+ type: Input
509
+ }], typeaheadGroupField: [{
510
+ type: Input
511
+ }], typeaheadOrderBy: [{
512
+ type: Input
513
+ }], typeaheadAsync: [{
514
+ type: Input
515
+ }], typeaheadLatinize: [{
516
+ type: Input
517
+ }], typeaheadSingleWords: [{
518
+ type: Input
519
+ }], typeaheadWordDelimiters: [{
520
+ type: Input
521
+ }], typeaheadMultipleSearch: [{
522
+ type: Input
523
+ }], typeaheadMultipleSearchDelimiters: [{
524
+ type: Input
525
+ }], typeaheadPhraseDelimiters: [{
526
+ type: Input
527
+ }], typeaheadItemTemplate: [{
528
+ type: Input
529
+ }], optionsListTemplate: [{
530
+ type: Input
531
+ }], typeaheadScrollable: [{
532
+ type: Input
533
+ }], typeaheadOptionsInScrollableView: [{
534
+ type: Input
535
+ }], typeaheadHideResultsOnBlur: [{
536
+ type: Input
537
+ }], typeaheadSelectFirstItem: [{
538
+ type: Input
539
+ }], typeaheadIsFirstItemActive: [{
540
+ type: Input
541
+ }], typeaheadLoading: [{
542
+ type: Output
543
+ }], typeaheadNoResults: [{
544
+ type: Output
545
+ }], typeaheadOnSelect: [{
546
+ type: Output
547
+ }], typeaheadOnPreview: [{
548
+ type: Output
549
+ }], typeaheadOnBlur: [{
550
+ type: Output
551
+ }], container: [{
552
+ type: Input
553
+ }], dropup: [{
554
+ type: Input
555
+ }],
556
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
557
+ onInput: [{
558
+ type: HostListener,
559
+ args: ['input', ['$event']]
560
+ }], onChange: [{
561
+ type: HostListener,
562
+ args: ['keyup', ['$event']]
563
+ }], onFocus: [{
564
+ type: HostListener,
565
+ args: ['click']
566
+ }, {
567
+ type: HostListener,
568
+ args: ['focus']
569
+ }], onBlur: [{
570
+ type: HostListener,
571
+ args: ['blur']
572
+ }], onKeydown: [{
573
+ type: HostListener,
574
+ args: ['keydown', ['$event']]
575
+ }] } });
576
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90eXBlYWhlYWQvdHlwZWFoZWFkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQW1CLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBaUJyRCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0o3QixZQUNFLEdBQTJCLEVBQzNCLE1BQXVCLEVBQ2YsZUFBa0MsRUFDbEMsT0FBbUIsRUFDbkIsU0FBb0IsRUFDcEIsUUFBbUIsRUFDM0IsZ0JBQWtDO1FBSjFCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25C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QUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFJRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBSUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxnQ0FBZ0M7c0JBQXhDLEtBQUs7Z0JBRUcsMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUtHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBSUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0UsU0FBUztzQkFBakIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7O1FBNkZOLDhEQUE4RDtRQUM5RCxPQUFPO3NCQUZOLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXlCakMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFxQ2pDLE9BQU87c0JBRk4sWUFBWTt1QkFBQyxPQUFPOztzQkFDcEIsWUFBWTt1QkFBQyxPQUFPO2dCQWNyQixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTTtnQkFnQnBCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXIsIENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2NvbXBvbmVudC1sb2FkZXInO1xuXG5pbXBvcnQgeyBFTVBUWSwgZnJvbSwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtZXJnZU1hcCwgc3dpdGNoTWFwLCB0YXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUeXBlYWhlYWRPcHRpb25JdGVtQ29udGV4dCwgVHlwZWFoZWFkT3B0aW9uTGlzdENvbnRleHQgfSBmcm9tICcuL21vZGVscyc7XG5cbmltcG9ydCB7IFR5cGVhaGVhZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdHlwZWFoZWFkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHlwZWFoZWFkTWF0Y2ggfSBmcm9tICcuL3R5cGVhaGVhZC1tYXRjaC5jbGFzcyc7XG5pbXBvcnQgeyBUeXBlYWhlYWRPcmRlciB9IGZyb20gJy4vdHlwZWFoZWFkLW9yZGVyLmNsYXNzJztcbmltcG9ydCB7IGdldFZhbHVlRnJvbU9iamVjdCwgbGF0aW5pemUsIHRva2VuaXplIH0gZnJvbSAnLi90eXBlYWhlYWQtdXRpbHMnO1xuaW1wb3J0IHsgVHlwZWFoZWFkQ29uZmlnIH0gZnJvbSAnLi90eXBlYWhlYWQuY29uZmlnJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG50eXBlIFR5cGVhaGVhZE9wdGlvbiA9IHN0cmluZyB8IFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIGFueT47XG50eXBlIFR5cGVhaGVhZE9wdGlvbkFyciA9IFR5cGVhaGVhZE9wdGlvbltdIHwgT2JzZXJ2YWJsZTxUeXBlYWhlYWRPcHRpb25bXT47XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0eXBlYWhlYWRdJyxcbiAgZXhwb3J0QXM6ICdicy10eXBlYWhlYWQnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdJzogJ2FjdGl2ZURlc2NlbmRhbnQnLFxuICAgICdbYXR0ci5hcmlhLW93bnNdJzogJ2lzT3BlbiA/IHRoaXMuX2NvbnRhaW5lci5wb3B1cElkIDogbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2lzT3BlbicsXG4gICAgJ1thdHRyLmFyaWEtYXV0b2NvbXBsZXRlXSc6ICdsaXN0J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFR5cGVhaGVhZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqIG9wdGlvbnMgc291cmNlLCBjYW4gYmUgQXJyYXkgb2Ygc3RyaW5ncywgb2JqZWN0cyBvclxuICAgKiBhbiBPYnNlcnZhYmxlIGZvciBleHRlcm5hbCBtYXRjaGluZyBwcm9jZXNzXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWQ/OiBUeXBlYWhlYWRPcHRpb25BcnI7XG4gIC8qKiBtaW5pbWFsIG5vIG9mIGNoYXJhY3RlcnMgdGhhdCBuZWVkcyB0byBiZSBlbnRlcmVkIGJlZm9yZVxuICAgKiB0eXBlYWhlYWQga2lja3MtaW4uIFdoZW4gc2V0IHRvIDAsIHR5cGVhaGVhZCBzaG93cyBvbiBmb2N1cyB3aXRoIGZ1bGxcbiAgICogbGlzdCBvZiBvcHRpb25zIChsaW1pdGVkIGFzIG5vcm1hbCBieSB0eXBlYWhlYWRPcHRpb25zTGltaXQpXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRNaW5MZW5ndGggPSAxO1xuICAvKiogc2V0cyB1c2UgYWRhcHRpdmUgcG9zaXRpb24gKi9cbiAgQElucHV0KCkgYWRhcHRpdmVQb3NpdGlvbiA9IGZhbHNlO1xuICAvKiogdHVybiBvbi9vZmYgYW5pbWF0aW9uICovXG4gIEBJbnB1dCgpIGlzQW5pbWF0ZWQgPSBmYWxzZTtcbiAgLyoqIG1pbmltYWwgd2FpdCB0aW1lIGFmdGVyIGxhc3QgY2hhcmFjdGVyIHR5cGVkIGJlZm9yZSB0eXBlYWhlYWQga2lja3MtaW4gKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkV2FpdE1zID0gMDtcbiAgLyoqIG1heGltdW0gbGVuZ3RoIG9mIG9wdGlvbnMgaXRlbXMgbGlzdC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMjAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkT3B0aW9uc0xpbWl0PzogbnVtYmVyO1xuICAvKiogd2hlbiBvcHRpb25zIHNvdXJjZSBpcyBhbiBhcnJheSBvZiBvYmplY3RzLCB0aGUgbmFtZSBvZiBmaWVsZFxuICAgKiB0aGF0IGNvbnRhaW5zIHRoZSBvcHRpb25zIHZhbHVlLCB3ZSB1c2UgYXJyYXkgaXRlbSBhcyBvcHRpb24gaW4gY2FzZVxuICAgKiBvZiB0aGlzIGZpZWxkIGlzIG1pc3NpbmcuIFN1cHBvcnRzIG5lc3RlZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxuICAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkT3B0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIC8qKiB3aGVuIG9wdGlvbnMgc291cmNlIGlzIGFuIGFycmF5IG9mIG9iamVjdHMsIHRoZSBuYW1lIG9mIGZpZWxkIHRoYXRcbiAgICogY29udGFpbnMgdGhlIGdyb3VwIHZhbHVlLCBtYXRjaGVzIGFyZSBncm91cGVkIGJ5IHRoaXMgZmllbGQgd2hlbiBzZXQuXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRHcm91cEZpZWxkPzogc3RyaW5nO1xuICAvKiogVXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG9yZGVyIG9mIG1hdGNoZXMuIFdoZW4gb3B0aW9ucyBzb3VyY2UgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0c1xuICAgKiBhIGZpZWxkIGZvciBzb3J0aW5nIGhhcyB0byBiZSBzZXQgdXAuIEluIGNhc2Ugb2Ygb3B0aW9ucyBzb3VyY2UgaXMgYW4gYXJyYXkgb2Ygc3RyaW5nLFxuICAgKiBhIGZpZWxkIGZvciBzb3J0aW5nIGlzIGFic2VudC4gVGhlIG9yZGVyaW5nIGRpcmVjdGlvbiBjb3VsZCBiZSBjaGFuZ2VkIHRvIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nLlxuICAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkT3JkZXJCeT86IFR5cGVhaGVhZE9yZGVyO1xuICAvKiogc2hvdWxkIGJlIHVzZWQgb25seSBpbiBjYXNlIG9mIHR5cGVhaGVhZCBhdHRyaWJ1dGUgaXMgT2JzZXJ2YWJsZSBvZiBhcnJheS5cbiAgICogSWYgdHJ1ZSAtIGxvYWRpbmcgb2Ygb3B0aW9ucyB3aWxsIGJlIGFzeW5jLCBvdGhlcndpc2UgLSBzeW5jLlxuICAgKiB0cnVlIG1ha2Ugc2Vuc2UgaWYgb3B0aW9ucyBhcnJheSBpcyBsYXJnZS5cbiAgICovXG4gIEBJbnB1dCgpIHR5cGVhaGVhZEFzeW5jPzogYm9vbGVhbjtcbiAgLyoqIG1hdGNoIGxhdGluIHN5bWJvbHMuXG4gICAqIElmIHRydWUgdGhlIHdvcmQgc8O6cGVyIHdvdWxkIG1hdGNoIHN1cGVyIGFuZCB2aWNlIHZlcnNhLlxuICAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkTGF0aW5pemUgPSB0cnVlO1xuICAvKiogQ2FuIGJlIHVzZSB0byBzZWFyY2ggd29yZHMgYnkgaW5zZXJ0aW5nIGEgc2luZ2xlIHdoaXRlIHNwYWNlIGJldHdlZW4gZWFjaCBjaGFyYWN0ZXJzXG4gICAqICBmb3IgZXhhbXBsZSAnQyBhIGwgaSBmIG8gciBuIGkgYScgd2lsbCBtYXRjaCAnQ2FsaWZvcm5pYScuXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRTaW5nbGVXb3JkcyA9IHRydWU7XG4gIC8qKiBzaG91bGQgYmUgdXNlZCBvbmx5IGluIGNhc2UgdHlwZWFoZWFkU2luZ2xlV29yZHMgYXR0cmlidXRlIGlzIHRydWUuXG4gICAqIFNldHMgdGhlIHdvcmQgZGVsaW1pdGVyIHRvIGJyZWFrIHdvcmRzLiBEZWZhdWx0cyB0byBzcGFjZS5cbiAgICovXG4gIEBJbnB1dCgpIHR5cGVhaGVhZFdvcmREZWxpbWl0ZXJzID0gJyAnO1xuICAvKiogQ2FuIGJlIHVzZWQgdG8gY29uZHVjdCBhIHNlYXJjaCBvZiBtdWx0aXBsZSBpdGVtcyBhbmQgaGF2ZSBzdWdnZXN0aW9uIG5vdCBmb3IgdGhlXG4gICAqIHdob2xlIHZhbHVlIG9mIHRoZSBpbnB1dCBidXQgZm9yIHRoZSB2YWx1ZSB0aGF0IGNvbWVzIGFmdGVyIGEgZGVsaW1pdGVyIHByb3ZpZGVkIHZpYVxuICAgKiB0eXBlYWhlYWRNdWx0aXBsZVNlYXJjaERlbGltaXRlcnMgYXR0cmlidXRlLiBUaGlzIG9wdGlvbiBjYW4gb25seSBiZSB1c2VkIHRvZ2V0aGVyIHdpdGhcbiAgICogdHlwZWFoZWFkU2luZ2xlV29yZHMgb3B0aW9uIGlmIHR5cGVhaGVhZFdvcmREZWxpbWl0ZXJzIGFuZCB0eXBlYWhlYWRQaHJhc2VEZWxpbWl0ZXJzXG4gICAqIGFyZSBkaWZmZXJlbnQgZnJvbSB0eXBlYWhlYWRNdWx0aXBsZVNlYXJjaERlbGltaXRlcnMgdG8gYXZvaWQgY29uZmxpY3QgaW4gZGV0ZXJtaW5pbmdcbiAgICogd2hlbiB0byBkZWxpbWl0IG11bHRpcGxlIHNlYXJjaGVzIGFuZCB3aGVuIGEgc2luZ2xlIHdvcmQuXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRNdWx0aXBsZVNlYXJjaD86IGJvb2xlYW47XG4gIC8qKiBzaG91bGQgYmUgdXNlZCBvbmx5IGluIGNhc2UgdHlwZWFoZWFkTXVsdGlwbGVTZWFyY2ggYXR0cmlidXRlIGlzIHRydWUuXG4gICAqIFNldHMgdGhlIG11bHRpcGxlIHNlYXJjaCBkZWxpbWl0ZXIgdG8ga25vdyB3aGVuIHRvIHN0YXJ0IGEgbmV3IHNlYXJjaC4gRGVmYXVsdHMgdG8gY29tbWEuXG4gICAqIElmIHNwYWNlIG5lZWRzIHRvIGJlIHVzZWQsIHRoZW4gZXhwbGljaXRseSBzZXQgdHlwZWFoZWFkV29yZERlbGltaXRlcnMgdG8gc29tZXRoaW5nIGVsc2UgdGhhbiBzcGFjZVxuICAgKiBiZWNhdXNlIHNwYWNlIGlzIHVzZWQgYnkgZGVmYXVsdCBPUiBzZXQgdHlwZWFoZWFkU2luZ2xlV29yZHMgYXR0cmlidXRlIHRvIGZhbHNlIGlmIHlvdSBkb24ndCBuZWVkXG4gICAqIHRvIHVzZSBpdCB0b2dldGhlciB3aXRoIG11bHRpcGxlIHNlYXJjaC5cbiAgICovXG4gIEBJbnB1dCgpIHR5cGVhaGVhZE11bHRpcGxlU2VhcmNoRGVsaW1pdGVycyA9ICcsJztcbiAgLyoqIHNob3VsZCBiZSB1c2VkIG9ubHkgaW4gY2FzZSB0eXBlYWhlYWRTaW5nbGVXb3JkcyBhdHRyaWJ1dGUgaXMgdHJ1ZS5cbiAgICogU2V0cyB0aGUgd29yZCBkZWxpbWl0ZXIgdG8gbWF0Y2ggZXhhY3QgcGhyYXNlLlxuICAgKiBEZWZhdWx0cyB0byBzaW1wbGUgYW5kIGRvdWJsZSBxdW90ZXMuXG4gICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRQaHJhc2VEZWxpbWl0ZXJzID0gJ1xcJ1wiJztcbiAgLyoqIHVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBpdGVtIHRlbXBsYXRlLlxuICAgKiBUZW1wbGF0ZSB2YXJpYWJsZXMgZXhwb3NlZCBhcmUgY2FsbGVkIGl0ZW0gYW5kIGluZGV4O1xuICAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkSXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8VHlwZWFoZWFkT3B0aW9uSXRlbUNvbnRleHQ+O1xuICAvKiogdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG9wdGlvbnMgbGlzdCB0ZW1wbGF0ZS5cbiAgICogVGVtcGxhdGUgdmFyaWFibGVzOiBtYXRjaGVzLCBpdGVtVGVtcGxhdGUsIHF1ZXJ5XG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25zTGlzdFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8VHlwZWFoZWFkT3B0aW9uTGlzdENvbnRleHQ+O1xuICAvKiogc3BlY2lmaWVzIGlmIHR5cGVhaGVhZCBpcyBzY3JvbGxhYmxlICAqL1xuICBASW5wdXQoKSB0eXBlYWhlYWRTY3JvbGxhYmxlID0gZmFsc2U7XG4gIC8qKiBzcGVjaWZpZXMgbnVtYmVyIG9mIG9wdGlvbnMgdG8gc2hvdyBpbiBzY3JvbGwgdmlldyAgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkT3B0aW9uc0luU2Nyb2xsYWJsZVZpZXcgPSA1O1xuICAvKiogdXNlZCB0byBoaWRlIHJlc3VsdCBvbiBibHVyICovXG4gIEBJbnB1dCgpIHR5cGVhaGVhZEhpZGVSZXN1bHRzT25CbHVyPzogYm9vbGVhbjtcbiAgLyoqIGZpcmVkIHdoZW4gYW4gb3B0aW9ucyBsaXN0IHdhcyBvcGVuZWQgYW5kIHRoZSB1c2VyIGNsaWNrZWQgVGFiXG4gICAqIElmIGEgdmFsdWUgZXF1YWwgdHJ1ZSwgaXQgd2lsbCBiZSBjaG9zZW4gZmlyc3Qgb3IgYWN0aXZlIGl0ZW0gaW4gdGhlIGxpc3RcbiAgICogSWYgdmFsdWUgZXF1YWwgZmFsc2UsIGl0IHdpbGwgYmUgY2hvc2VuIGFuIGFjdGl2ZSBpdGVtIGluIHRoZSBsaXN0IG9yIG5vdGhpbmdcbiAgICovXG4gIEBJbnB1dCgpIHR5cGVhaGVhZFNlbGVjdEZpcnN0SXRlbSA9IHRydWU7XG4gIC8qKiBtYWtlcyBhY3RpdmUgZmlyc3QgaXRlbSBpbiBhIGxpc3QgKi9cbiAgQElucHV0KCkgdHlwZWFoZWFkSXNGaXJzdEl0ZW1BY3RpdmUgPSB0cnVlO1xuICAvKiogZmlyZWQgd2hlbiAnYnVzeScgc3RhdGUgb2YgdGhpcyBjb21wb25lbnQgd2FzIGNoYW5nZWQsXG4gICAqIGZpcmVkIG9uIGFzeW5jIG1vZGUgb25seSwgcmV0dXJucyBib29sZWFuXG4gICAqL1xuICBAT3V0cHV0KCkgdHlwZWFoZWFkTG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgLyoqIGZpcmVkIG9uIGV2ZXJ5IGtleSBldmVudCBhbmQgcmV0dXJucyB0cnVlXG4gICAqIGluIGNhc2Ugb2YgbWF0Y2hlcyBhcmUgbm90IGRldGVjdGVkXG4gICAqL1xuICBAT3V0cHV0KCkgdHlwZWFoZWFkTm9SZXN1bHRzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAvKiogZmlyZWQgd2hlbiBvcHRpb24gd2FzIHNlbGVjdGVkLCByZXR1cm4gb2JqZWN0IHdpdGggZGF0YSBvZiB0aGlzIG9wdGlvbi4gKi9cbiAgQE91dHB1dCgpIHR5cGVhaGVhZE9uU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxUeXBlYWhlYWRNYXRjaD4oKTtcbiAgLyoqIGZpcmVkIHdoZW4gb3B0aW9uIHdhcyBwcmV2aWV3ZWQsIHJldHVybiBvYmplY3Qgd2l0aCBkYXRhIG9mIHRoaXMgb3B0aW9uLiAqL1xuICBAT3V0cHV0KCkgdHlwZWFoZWFkT25QcmV2aWV3ID0gbmV3IEV2ZW50RW1pdHRlcjxUeXBlYWhlYWRNYXRjaD4oKTtcbiAgLyoqIGZpcmVkIHdoZW4gYmx1ciBldmVudCBvY2N1cnMuIHJldHVybnMgdGhlIGFjdGl2ZSBpdGVtICovXG4gIEBPdXRwdXQoKSB0eXBlYWhlYWRPbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPFR5cGVhaGVhZE1hdGNoPigpO1xuXG4gIC8qKlxuICAgKiBBIHNlbGVjdG9yIHNwZWNpZnlpbmcgdGhlIGVsZW1lbnQgdGhlIHR5cGVhaGVhZCBzaG91bGQgYmUgYXBwZW5kZWQgdG8uXG4gICAqL1xuICBASW5wdXQoKSBjb250YWluZXI/OiBzdHJpbmc7XG5cbiAgLyoqIFRoaXMgYXR0cmlidXRlIGluZGljYXRlcyB0aGF0IHRoZSBkcm9wZG93biBzaG91bGQgYmUgb3BlbmVkIHVwd2FyZHMgKi9cbiAgQElucHV0KCkgZHJvcHVwID0gZmFsc2U7XG5cbiAgLy8gbm90IHlldCBpbXBsZW1lbnRlZFxuICAvKiogaWYgZmFsc2UgcmVzdHJpY3QgbW9kZWwgdmFsdWVzIHRvIHRoZSBvbmVzIHNlbGVjdGVkIGZyb20gdGhlIHBvcHVwIG9ubHkgd2lsbCBiZSBwcm92aWRlZCAqL1xuICAvLyBASW5wdXQoKSBwcm90ZWN0ZWQgdHlwZWFoZWFkRWRpdGFibGU6Ym9vbGVhbjtcbiAgLyoqIGlmIGZhbHNlIHRoZSBmaXJzdCBtYXRjaCBhdXRvbWF0aWNhbGx5IHdpbGwgbm90IGJlIGZvY3VzZWQgYXMgeW91IHR5cGUgKi9cbiAgLy8gQElucHV0KCkgcHJvdGVjdGVkIHR5cGVhaGVhZEZvY3VzRmlyc3Q6Ym9vbGVhbjtcbiAgLyoqIGZvcm1hdCB0aGUgbmctbW9kZWwgcmVzdWx0IGFmdGVyIHNlbGVjdGlvbiAqL1xuICAvLyBASW5wdXQoKSBwcm90ZWN0ZWQgdHlwZWFoZWFkSW5wdXRGb3JtYXR0ZXI6YW55O1xuICAvKiogaWYgdHJ1ZSBhdXRvbWF0aWNhbGx5IHNlbGVjdCBhbiBpdGVtIHdoZW4gdGhlcmUgaXMgb25lIG9wdGlvbiB0aGF0IGV4YWN0bHkgbWF0Y2hlcyB0aGUgdXNlciBpbnB1dCAqL1xuICAvLyBASW5wdXQoKSBwcm90ZWN0ZWQgdHlwZWFoZWFkU2VsZWN0T25FeGFjdDpib29sZWFuO1xuICAvKiogIGlmIHRydWUgc2VsZWN0IHRoZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgbWF0Y2ggb24gYmx1ciAqL1xuICAvLyBASW5wdXQoKSBwcm90ZWN0ZWQgdHlwZWFoZWFkU2VsZWN0T25CbHVyOmJvb2xlYW47XG4gIC8qKiAgaWYgZmFsc2UgZG9uJ3QgZm9jdXMgdGhlIGlucHV0IGVsZW1lbnQgdGhlIHR5cGVhaGVhZCBkaXJlY3RpdmUgaXMgYXNzb2NpYXRlZCB3aXRoIG9uIHNlbGVjdGlvbiAqL1xuICAgIC8vIEBJbnB1dCgpIHByb3RlY3RlZCB0eXBlYWhlYWRGb2N1c09uU2VsZWN0OmJvb2xlYW47XG5cbiAgYWN0aXZlRGVzY2VuZGFudD86IHN0cmluZztcbiAgaXNPcGVuID0gZmFsc2U7XG4gIGxpc3QgPSAnbGlzdCc7XG4gIF9jb250YWluZXI/OiBUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQ7XG4gIGlzQWN0aXZlSXRlbUNoYW5nZWQgPSBmYWxzZTtcbiAgaXNGb2N1c2VkID0gZmFsc2U7XG4gIGNhbmNlbFJlcXVlc3RPbkZvY3VzTG9zdCA9IGZhbHNlO1xuICBzZWxlY3RJdGVtT25CbHVyID0gZmFsc2U7XG4gIHByb3RlY3RlZCBrZXlVcEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBwcm90ZWN0ZWQgcGxhY2VtZW50ID0gJ2JvdHRvbSBsZWZ0JztcbiAgcHJvdGVjdGVkIF9tYXRjaGVzOiBUeXBlYWhlYWRNYXRjaFtdID0gW107XG5cbiAgcHJpdmF0ZSBfdHlwZWFoZWFkOiBDb21wb25lbnRMb2FkZXI8VHlwZWFoZWFkQ29udGFpbmVyQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfYWxsRW50ZXJlZFZhbHVlPzogc3RyaW5nO1xuICBwcml2YXRlIF9vdXRzaWRlQ2xpY2tMaXN0ZW5lcjogKCkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaXM6IENvbXBvbmVudExvYWRlckZhY3RvcnksXG4gICAgY29uZmlnOiBUeXBlYWhlYWRDb25maWcsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuXG4gICAgdGhpcy5fdHlwZWFoZWFkID0gY2lzLmNyZWF0ZUxvYWRlcjxUeXBlYWhlYWRDb250YWluZXJDb21wb25lbnQ+KFxuICAgICAgZWxlbWVudCxcbiAgICAgIHZpZXdDb250YWluZXJSZWYsXG4gICAgICByZW5kZXJlclxuICAgIClcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogVHlwZWFoZWFkQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH0pO1xuXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLFxuICAgICAge1xuICAgICAgICB0eXBlYWhlYWRIaWRlUmVzdWx0c09uQmx1cjogY29uZmlnLmhpZGVSZXN1bHRzT25CbHVyLFxuICAgICAgICBjYW5jZWxSZXF1ZXN0T25Gb2N1c0xvc3Q6IGNvbmZpZy5jYW5jZWxSZXF1ZXN0T25Gb2N1c0xvc3QsXG4gICAgICAgIHR5cGVhaGVhZFNlbGVjdEZpcnN0SXRlbTogY29uZmlnLnNlbGVjdEZpcnN0SXRlbSxcbiAgICAgICAgdHlwZWFoZWFkSXNGaXJzdEl0ZW1BY3RpdmU6IGNvbmZpZy5pc0ZpcnN0SXRlbUFjdGl2ZSxcbiAgICAgICAgdHlwZWFoZWFkTWluTGVuZ3RoOiBjb25maWcubWluTGVuZ3RoLFxuICAgICAgICBhZGFwdGl2ZVBvc2l0aW9uOiBjb25maWcuYWRhcHRpdmVQb3NpdGlvbixcbiAgICAgICAgaXNBbmltYXRlZDogY29uZmlnLmlzQW5pbWF0ZWQsXG4gICAgICAgIHNlbGVjdEl0ZW1PbkJsdXI6IGNvbmZpZy5zZWxlY3RJdGVtT25CbHVyXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGdldCBtYXRjaGVzKCk6IFR5cGVhaGVhZE1hdGNoW10ge1xuICAgIHJldHVybiB0aGlzLl9tYXRjaGVzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50eXBlYWhlYWRPcHRpb25zTGltaXQgPSB0aGlzLnR5cGVhaGVhZE9wdGlvbnNMaW1pdCB8fCAyMDtcblxuICAgIHRoaXMudHlwZWFoZWFkTWluTGVuZ3RoID1cbiAgICAgIHRoaXMudHlwZWFoZWFkTWluTGVuZ3RoID09PSB2b2lkIDAgPyAxIDogdGhpcy50eXBlYWhlYWRNaW5MZW5ndGg7XG5cbiAgICAvLyBhc3luYyBzaG91bGQgYmUgZmFsc2UgaW4gY2FzZSBvZiBhcnJheVxuICAgIGlmICh0aGlzLnR5cGVhaGVhZEFzeW5jID09PSB1bmRlZmluZWQgJiYgIShpc09ic2VydmFibGUodGhpcy50eXBlYWhlYWQpKSkge1xuICAgICAgdGhpcy50eXBlYWhlYWRBc3luYyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy50eXBlYWhlYWQpKSB7XG4gICAgICB0aGlzLnR5cGVhaGVhZEFzeW5jID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eXBlYWhlYWRBc3luYykge1xuICAgICAgdGhpcy5hc3luY0FjdGlvbnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zeW5jQWN0aW9ucygpO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tEZWxpbWl0ZXJzQ29uZmxpY3QoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgb25JbnB1dChlOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBGb3IgYDxpbnB1dD5gcywgdXNlIHRoZSBgdmFsdWVgIHByb3BlcnR5LiBGb3Igb3RoZXJzIHRoYXQgZG9uJ3QgaGF2ZSBhXG4gICAgLy8gYHZhbHVlYCAoc3VjaCBhcyBgPHNwYW4gY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiPmApLCB1c2UgZWl0aGVyXG4gICAgLy8gYHRleHRDb250ZW50YCBvciBgaW5uZXJUZXh0YCAoZGVwZW5kaW5nIG9uIHdoaWNoIG9uZSBpcyBzdXBwb3J0ZWQsIGkuZS5cbiAgICAvLyBGaXJlZm94IG9yIElFKS5cbiAgICBjb25zdCB2YWx1ZSA9XG4gICAgICBlLnRhcmdldC52YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gZS50YXJnZXQudmFsdWVcbiAgICAgICAgOiBlLnRhcmdldC50ZXh0Q29udGVudCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gZS50YXJnZXQudGV4dENvbnRlbnRcbiAgICAgICAgOiBlLnRhcmdldC5pbm5lclRleHQ7XG5cbiAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS50cmltKCkubGVuZ3RoID49IHRoaXMudHlwZWFoZWFkTWluTGVuZ3RoKSB7XG4gICAgICB0aGlzLnR5cGVhaGVhZExvYWRpbmcuZW1pdCh0cnVlKTtcbiAgICAgIHRoaXMua2V5VXBFdmVudEVtaXR0ZXIuZW1pdChlLnRhcmdldC52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZWFoZWFkTG9hZGluZy5lbWl0KGZhbHNlKTtcbiAgICAgIHRoaXMudHlwZWFoZWFkTm9SZXN1bHRzLmVtaXQoZmFsc2UpO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICBvbkNoYW5nZShldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250YWluZXIpIHtcbiAgICAgIC8vIGVzY1xuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDI3IHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyB1cFxuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDM4IHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmVJdGVtQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5wcmV2QWN0aXZlTWF0Y2goKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGRvd25cbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA0MCB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmVJdGVtQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5uZXh0QWN0aXZlTWF0Y2goKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGVudGVyXG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTMgfHwgZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5zZWxlY3RBY3RpdmVNYXRjaCgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgLy8gYWRkIHNldFRpbWVvdXQgdG8gZml4IGlzc3VlICM1MjUxXG4gICAgLy8gdG8gZ2V0IGFuZCBlbWl0IHVwZGF0ZWQgdmFsdWUgaWYgaXQncyBjaGFuZ2VkIG9uIGZvY3VzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy50eXBlYWhlYWRNaW5MZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy50eXBlYWhlYWRMb2FkaW5nLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMua2V5VXBFdmVudEVtaXR0ZXIuZW1pdCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSB8fCAnJyk7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX2NvbnRhaW5lciAmJiAhdGhpcy5fY29udGFpbmVyLmlzRm9jdXNlZCkge1xuICAgICAgdGhpcy50eXBlYWhlYWRPbkJsdXIuZW1pdCh0aGlzLl9jb250YWluZXIuYWN0aXZlKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29udGFpbmVyICYmIHRoaXMuX21hdGNoZXM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50eXBlYWhlYWRPbkJsdXIuZW1pdChuZXcgVHlwZWFoZWFkTWF0Y2goXG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLFxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSxcbiAgICAgICAgZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLy8gbm8gY29udGFpbmVyIC0gbm8gcHJvYmxlbXNcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSA5IHx8IGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMub25CbHVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDkgfHwgZXZlbnQua2V5ID09PSAnVGFiJyB8fCBldmVudC5rZXlDb2RlID09PSAxMyB8fCBldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBpZiAodGhpcy50eXBlYWhlYWRTZWxlY3RGaXJzdEl0ZW0pIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLnNlbGVjdEFjdGl2ZU1hdGNoKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMudHlwZWFoZWFkU2VsZWN0Rmlyc3RJdGVtKSB7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5zZWxlY3RBY3RpdmVNYXRjaCh0aGlzLmlzQWN0aXZlSXRlbUNoYW5nZWQpO1xuICAgICAgICB0aGlzLmlzQWN0aXZlSXRlbUNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlTW9kZWwobWF0Y2g/OiBUeXBlYWhlYWRNYXRjaCk6IHZvaWQge1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHZhbHVlU3RyOiBzdHJpbmc7XG4gICAgaWYgKHRoaXMudHlwZWFoZWFkTXVsdGlwbGVTZWFyY2ggJiYgdGhpcy5fYWxsRW50ZXJlZFZhbHVlKSB7XG4gICAgICBjb25zdCB0b2tlbnMgPSB0aGlzLl9hbGxFbnRlcmVkVmFsdWUuc3BsaXQobmV3IFJlZ0V4cChgKFske3RoaXMudHlwZWFoZWFkTXVsdGlwbGVTZWFyY2hEZWxpbWl0ZXJzfV0rKWApKTtcbiAgICAgIHRoaXMuX2FsbEVudGVyZWRWYWx1ZSA9IHRva2Vucy5zbGljZSgwLCB0b2tlbnMubGVuZ3RoIC0gMSkuY29uY2F0KG1hdGNoLnZhbHVlKS5qb2luKCcnKTtcbiAgICAgIHZhbHVlU3RyID0gdGhpcy5fYWxsRW50ZXJlZFZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZVN0ciA9IG1hdGNoLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWx1ZVN0cik7XG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uc2V0VmFsdWUodmFsdWVTdHIpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLl90eXBlYWhlYWRcbiAgICAgIC5hdHRhY2goVHlwZWFoZWFkQ29udGFpbmVyQ29tcG9uZW50KVxuICAgICAgLnRvKHRoaXMuY29udGFpbmVyKVxuICAgICAgLnBvc2l0aW9uKHsgYXR0YWNobWVudDogYCR7dGhpcy5kcm9wdXAgPyAndG9wJyA6ICdib3R0b20nfSBsZWZ0YCB9KVxuICAgICAgLnNob3coe1xuICAgICAgICB0eXBlYWhlYWRSZWY6IHRoaXMsXG4gICAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgICAgIGFuaW1hdGlvbjogZmFsc2UsXG4gICAgICAgIGRyb3B1cDogdGhpcy5kcm9wdXBcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fb3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyXG4gICAgICAubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50eXBlYWhlYWRNaW5MZW5ndGggPT09IDAgJiYgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudHlwZWFoZWFkSGlkZVJlc3VsdHNPbkJsdXIgfHwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uT3V0c2lkZUNsaWNrKCk7XG4gICAgICB9KTtcblxuICAgIGlmICghdGhpcy5fdHlwZWFoZWFkLmluc3RhbmNlIHx8ICF0aGlzLm5nQ29udHJvbC5jb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY29udGFpbmVyID0gdGhpcy5fdHlwZWFoZWFkLmluc3RhbmNlO1xuICAgIHRoaXMuX2NvbnRhaW5lci5wYXJlbnQgPSB0aGlzO1xuICAgIC8vIFRoaXMgaW1wcm92ZXMgdGhlIHNwZWVkIGFzIGl0IHdvbid0IGhhdmUgdG8gYmUgZG9uZSBmb3IgZWFjaCBsaXN0IGl0ZW1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWRRdWVyeSA9ICh0aGlzLnR5cGVhaGVhZExhdGluaXplXG4gICAgICA/IGxhdGluaXplKHRoaXMubmdDb250cm9sLmNvbnRyb2wudmFsdWUpXG4gICAgICA6IHRoaXMubmdDb250cm9sLmNvbnRyb2wudmFsdWUpXG4gICAgICAudG9TdHJpbmcoKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG5cbiAgICB0aGlzLl9jb250YWluZXIucXVlcnkgPSB0aGlzLnRva2VuaXplUXVlcnkobm9ybWFsaXplZFF1ZXJ5KTtcblxuICAgIHRoaXMuX2NvbnRhaW5lci5tYXRjaGVzID0gdGhpcy5fbWF0Y2hlcztcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgdGhpcy5fY29udGFpbmVyLmFjdGl2ZUNoYW5nZUV2ZW50LnN1YnNjcmliZSgoYWN0aXZlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50ID0gYWN0aXZlSWQ7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gIH1cblxuICBoaWRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl90eXBlYWhlYWQuaXNTaG93bikge1xuICAgICAgdGhpcy5fdHlwZWFoZWFkLmhpZGUoKTtcbiAgICAgIHRoaXMuX291dHNpZGVDbGlja0xpc3RlbmVyKCk7XG4gICAgICB0aGlzLl9jb250YWluZXIgPSB2b2lkIDA7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24ubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIHRoaXMudHlwZWFoZWFkT25QcmV2aWV3LmVtaXQoKTtcbiAgfVxuXG4gIG9uT3V0c2lkZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250YWluZXIgJiYgIXRoaXMuX2NvbnRhaW5lci5pc0ZvY3VzZWQpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIGNsZWFuIHVwIHN1YnNjcmlwdGlvbnNcbiAgICBmb3IgKGNvbnN0IHN1YiBvZiB0aGlzLl9zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fdHlwZWFoZWFkLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luY0FjdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5rZXlVcEV2ZW50RW1pdHRlclxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWU8c3RyaW5nPih0aGlzLnR5cGVhaGVhZFdhaXRNcyksXG4gICAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMuX2FsbEVudGVyZWRWYWx1ZSA9IHZhbHVlKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnR5cGVhaGVhZCkge1xuICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50eXBlYWhlYWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtYXRjaGVzKSA9PiB7XG4gICAgICAgICAgdGhpcy5maW5hbGl6ZUFzeW5jQ2FsbChtYXRjaGVzKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNBY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMua2V5VXBFdmVudEVtaXR0ZXJcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lPHN0cmluZz4odGhpcy50eXBlYWhlYWRXYWl0TXMpLFxuICAgICAgICAgIG1lcmdlTWFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9hbGxFbnRlcmVkVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRRdWVyeSA9IHRoaXMubm9ybWFsaXplUXVlcnkodmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMudHlwZWFoZWFkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdHlwZWFoZWFkID0gaXNPYnNlcnZhYmxlKHRoaXMudHlwZWFoZWFkKSA/IHRoaXMudHlwZWFoZWFkIDogZnJvbSh0aGlzLnR5cGVhaGVhZCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0eXBlYWhlYWRcbiAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChvcHRpb246IFR5cGVhaGVhZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICEhb3B0aW9uICYmIHRoaXMudGVzdE1hdGNoKHRoaXMubm9ybWFsaXplT3B0aW9uKG9wdGlvbiksIG5vcm1hbGl6ZWRRdWVyeSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdG9BcnJheSgpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtYXRjaGVzOiBUeXBlYWhlYWRPcHRpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuZmluYWxpemVBc3luY0NhbGwobWF0Y2hlcyk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBub3JtYWxpemVPcHRpb24ob3B0aW9uOiBUeXBlYWhlYWRPcHRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvblZhbHVlOiBzdHJpbmcgPSBnZXRWYWx1ZUZyb21PYmplY3QoXG4gICAgICBvcHRpb24sXG4gICAgICB0aGlzLnR5cGVhaGVhZE9wdGlvbkZpZWxkXG4gICAgKTtcbiAgICBjb25zdCBub3JtYWxpemVkT3B0aW9uID0gdGhpcy50eXBlYWhlYWRMYXRpbml6ZVxuICAgICAgPyBsYXRpbml6ZShvcHRpb25WYWx1ZSlcbiAgICAgIDogb3B0aW9uVmFsdWU7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZE9wdGlvbi50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRva2VuaXplUXVlcnkoY3VycmVudFF1ZXJ5OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZyB8IHN0cmluZ1tdIHtcblxuICAgIGxldCBxdWVyeSA9IGN1cnJlbnRRdWVyeTtcbiAgICBpZiAodGhpcy50eXBlYWhlYWRNdWx0aXBsZVNlYXJjaCAmJiB0aGlzLnR5cGVhaGVhZFNpbmdsZVdvcmRzKSB7XG4gICAgICBpZiAoIXRoaXMuaGF2ZUNvbW1vbkNoYXJhY3RlcnMoYCR7dGhpcy50eXBlYWhlYWRQaHJhc2VEZWxpbWl0ZXJzfSR7dGhpcy50eXBlYWhlYWRXb3JkRGVsaW1pdGVyc31gLFxuICAgICAgICB0aGlzLnR5cGVhaGVhZE11bHRpcGxlU2VhcmNoRGVsaW1pdGVycykpIHtcbiAgICAgICAgLy8gc2luZ2xlIHdvcmRzIGFuZCBtdWx0aXBsZSBzZWFyY2ggZGVsaW1pdGVycyBhcmUgZGlmZmVyZW50LCBjYW4gYmUgdXNlZCB0b2dldGhlclxuICAgICAgICBxdWVyeSA9IHRva2VuaXplKFxuICAgICAgICAgIHF1ZXJ5IGFzIHN0cmluZyxcbiAgICAgICAgICB0aGlzLnR5cGVhaGVhZFdvcmREZWxpbWl0ZXJzLFxuICAgICAgICAgIHRoaXMudHlwZWFoZWFkUGhyYXNlRGVsaW1pdGVycyxcbiAgICAgICAgICB0aGlzLnR5cGVhaGVhZE11bHRpcGxlU2VhcmNoRGVsaW1pdGVyc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlYWhlYWRTaW5nbGVXb3Jkcykge1xuICAgICAgcXVlcnkgPSB0b2tlbml6ZShcbiAgICAgICAgcXVlcnkgYXMgc3RyaW5nLFxuICAgICAgICB0aGlzLnR5cGVhaGVhZFdvcmREZWxpbWl0ZXJzLFxuICAgICAgICB0aGlzLnR5cGVhaGVhZFBocmFzZURlbGltaXRlcnNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG11bHRpcGxlIHNlYXJjaGVzXG4gICAgICBxdWVyeSA9IHRva2VuaXplKFxuICAgICAgICBxdWVyeSBhcyBzdHJpbmcsXG4gICAgICAgIHZvaWQgMCxcbiAgICAgICAgdm9pZCAwLFxuICAgICAgICB0aGlzLnR5cGVhaGVhZE11bHRpcGxlU2VhcmNoRGVsaW1pdGVyc1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm9ybWFsaXplUXVlcnkodmFsdWU6IHN0cmluZyk6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgICAvLyBJZiBzaW5nbGVXb3JkcywgYnJlYWsgbW9kZWwgaGVyZSB0byBub3QgYmUgZG9pbmcgZXh0cmEgd29yayBvbiBlYWNoIGl0ZXJhdGlvblxuICAgIGxldCBub3JtYWxpemVkUXVlcnk6IHN0cmluZyB8IHN0cmluZ1tdID0gKHRoaXMudHlwZWFoZWFkTGF0aW5pemVcbiAgICAgID8gbGF0aW5pemUodmFsdWUpXG4gICAgICA6IHZhbHVlKVxuICAgICAgLnRvU3RyaW5nKClcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgbm9ybWFsaXplZFF1ZXJ5ID0gdGhpcy50b2tlbml6ZVF1ZXJ5KG5vcm1hbGl6ZWRRdWVyeSk7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZFF1ZXJ5O1xuICB9XG5cbiAgcHJvdGVjdGVkIHRlc3RNYXRjaChtYXRjaDogc3RyaW5nLCB0ZXN0OiBzdHJpbmdbXSB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBzcGFjZUxlbmd0aDogbnVtYmVyO1xuXG4gICAgaWYgKHR5cGVvZiB0ZXN0ID09PSAnb2JqZWN0Jykge1xuICAgICAgc3BhY2VMZW5ndGggPSB0ZXN0Lmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BhY2VMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICBpZiAodGVzdFtpXS5sZW5ndGggPiAwICYmIG1hdGNoLmluZGV4T2YodGVzdFtpXSkgPCAwKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaC5pbmRleE9mKHRlc3QpID49IDA7XG4gIH1cblxuICBwcm90ZWN0ZWQgZmluYWxpemVBc3luY0NhbGwobWF0Y2hlcz86IFR5cGVhaGVhZE9wdGlvbiB8IFR5cGVhaGVhZE9wdGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5wcmVwYXJlTWF0Y2hlcyhtYXRjaGVzIHx8IFtdKTtcblxuICAgIHRoaXMudHlwZWFoZWFkTG9hZGluZy5lbWl0KGZhbHNlKTtcbiAgICB0aGlzLnR5cGVhaGVhZE5vUmVzdWx0cy5lbWl0KCF0aGlzLmhhc01hdGNoZXMoKSk7XG5cbiAgICBpZiAoIXRoaXMuaGFzTWF0Y2hlcygpKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQgJiYgdGhpcy5jYW5jZWxSZXF1ZXN0T25Gb2N1c0xvc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29udGFpbmVyICYmIHRoaXMubmdDb250cm9sLmNvbnRyb2wpIHtcbiAgICAgIC8vIGZpeDogcmVtb3ZlIHVzYWdlIG9mIG5nQ29udHJvbCBpbnRlcm5hbHNcbiAgICAgIGNvbnN0IF9jb250cm9sVmFsdWUgPSAodGhpcy50eXBlYWhlYWRMYXRpbml6ZVxuICAgICAgICA/IGxhdGluaXplKHRoaXMubmdDb250cm9sLmNvbnRyb2wudmFsdWUpXG4gICAgICAgIDogdGhpcy5uZ0NvbnRyb2wuY29udHJvbC52YWx1ZSkgfHwgJyc7XG5cbiAgICAgIC8vIFRoaXMgaW1wcm92ZXMgdGhlIHNwZWVkIGFzIGl0IHdvbid0IGhhdmUgdG8gYmUgZG9uZSBmb3IgZWFjaCBsaXN0IGl0ZW1cbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRRdWVyeSA9IF9jb250cm9sVmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICB0aGlzLl9jb250YWluZXIucXVlcnkgPSB0aGlzLnRva2VuaXplUXVlcnkobm9ybWFsaXplZFF1ZXJ5KTtcbiAgICAgIHRoaXMuX2NvbnRhaW5lci5tYXRjaGVzID0gdGhpcy5fbWF0Y2hlcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVNYXRjaGVzKG9wdGlvbnM6IFR5cGVhaGVhZE9wdGlvbiB8IFR5cGVhaGVhZE9wdGlvbltdKTogdm9pZCB7XG4gICAgY29uc3QgbGltaXRlZCA9IG9wdGlvbnMuc2xpY2UoMCwgdGhpcy50eXBlYWhlYWRPcHRpb25zTGltaXQpO1xuICAgIGNvbnN0IHNvcnRlZCA9ICF0aGlzLnR5cGVhaGVhZE9yZGVyQnkgPyBsaW1pdGVkIDogdGhpcy5vcmRlck1hdGNoZXMobGltaXRlZCk7XG5cbiAgICBpZiAodGhpcy50eXBlYWhlYWRHcm91cEZpZWxkKSB7XG4gICAgICBsZXQgbWF0Y2hlczogVHlwZWFoZWFkTWF0Y2hbXSA9IFtdO1xuXG4gICAgICAvLyBleHRyYWN0IGFsbCBncm91cCBuYW1lc1xuICAgICAgY29uc3QgZ3JvdXBzID0gc29ydGVkXG4gICAgICAgIC5tYXAoKG9wdGlvbjogVHlwZWFoZWFkT3B0aW9uKSA9PlxuICAgICAgICAgIGdldFZhbHVlRnJvbU9iamVjdChvcHRpb24sIHRoaXMudHlwZWFoZWFkR3JvdXBGaWVsZClcbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKCh2OiBzdHJpbmcsIGk6IG51bWJlciwgYTogc3RyaW5nW10pID0+IGEuaW5kZXhPZih2KSA9PT0gaSk7XG5cbiAgICAgIGdyb3Vwcy5mb3JFYWNoKChncm91cDogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIGFkZCBncm91cCBoZWFkZXIgdG8gYXJyYXkgb2YgbWF0Y2hlc1xuICAgICAgICBtYXRjaGVzLnB1c2gobmV3IFR5cGVhaGVhZE1hdGNoKGdyb3VwLCBncm91cCwgdHJ1ZSkpO1xuXG4gICAgICAgIC8vIGFkZCBlYWNoIGl0ZW0gb2YgZ3JvdXAgdG8gYXJyYXkgb2YgbWF0Y2hlc1xuICAgICAgICBtYXRjaGVzID0gbWF0Y2hlcy5jb25jYXQoXG4gICAgICAgICAgc29ydGVkXG4gICAgICAgICAgICAuZmlsdGVyKChvcHRpb246IFR5cGVhaGVhZE9wdGlvbikgPT5cbiAgICAgICAgICAgICAgZ2V0VmFsdWVGcm9tT2JqZWN0KG9wdGlvbiwgdGhpcy50eXBlYWhlYWRHcm91cEZpZWxkKSA9PT0gZ3JvdXBcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKG9wdGlvbjogVHlwZWFoZWFkT3B0aW9uKSA9PlxuICAgICAgICAgICAgICBuZXcgVHlwZWFoZWFkTWF0Y2goXG4gICAgICAgICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgICAgICAgIGdldFZhbHVlRnJvbU9iamVjdChvcHRpb24sIHRoaXMudHlwZWFoZWFkT3B0aW9uRmllbGQpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9tYXRjaGVzID0gbWF0Y2hlcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWF0Y2hlcyA9IHNvcnRlZC5tYXAoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIChvcHRpb246IGFueSkgPT5cbiAgICAgICAgICBuZXcgVHlwZWFoZWFkTWF0Y2goXG4gICAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgICBnZXRWYWx1ZUZyb21PYmplY3Qob3B0aW9uLCB0aGlzLnR5cGVhaGVhZE9wdGlvbkZpZWxkKVxuICAgICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9yZGVyTWF0Y2hlcyhvcHRpb25zOiBUeXBlYWhlYWRPcHRpb25bXSk6IFR5cGVhaGVhZE9wdGlvbltdIHtcbiAgICBpZiAoIW9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eXBlYWhlYWRPcmRlckJ5ICE9PSBudWxsXG4gICAgICAmJiB0aGlzLnR5cGVhaGVhZE9yZGVyQnkgIT09IHVuZGVmaW5lZFxuICAgICAgJiYgdHlwZW9mIHRoaXMudHlwZWFoZWFkT3JkZXJCeSA9PT0gJ29iamVjdCdcbiAgICAgICYmIE9iamVjdC5rZXlzKHRoaXMudHlwZWFoZWFkT3JkZXJCeSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGaWVsZCBhbmQgZGlyZWN0aW9uIHByb3BlcnRpZXMgZm9yIHR5cGVhaGVhZE9yZGVyQnkgaGF2ZSB0byBiZSBzZXQgYWNjb3JkaW5nIHRvIGRvY3VtZW50YXRpb24hJyk7XG5cbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmllbGQsIGRpcmVjdGlvbiB9ID0gKHRoaXMudHlwZWFoZWFkT3JkZXJCeSB8fCB7fSk7XG5cbiAgICBpZiAoIWRpcmVjdGlvbiB8fCAhKGRpcmVjdGlvbiA9PT0gJ2FzYycgfHwgZGlyZWN0aW9uID09PSAnZGVzYycpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCd0eXBlYWhlYWRPcmRlckJ5IGRpcmVjdGlvbiBoYXMgdG8gZXF1YWwgXCJhc2NcIiBvciBcImRlc2NcIi4gUGxlYXNlIGZvbGxvdyB0aGUgZG9jdW1lbnRhdGlvbi4nKTtcblxuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gJ2FzYycgPyBvcHRpb25zLnNvcnQoKSA6IG9wdGlvbnMuc29ydCgpLnJldmVyc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoIWZpZWxkIHx8IHR5cGVvZiBmaWVsZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ3R5cGVhaGVhZE9yZGVyQnkgZmllbGQgaGFzIHRvIHNldCBhY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24uJyk7XG5cbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25zLnNvcnQoKGE6IFR5cGVhaGVhZE9wdGlvbiwgYjogVHlwZWFoZWFkT3B0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdHJpbmdBID0gZ2V0VmFsdWVGcm9tT2JqZWN0KGEsIGZpZWxkKTtcbiAgICAgIGNvbnN0IHN0cmluZ0IgPSBnZXRWYWx1ZUZyb21PYmplY3QoYiwgZmllbGQpO1xuXG4gICAgICBpZiAoc3RyaW5nQSA8IHN0cmluZ0IpIHtcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gJ2FzYycgPyAtMSA6IDE7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdHJpbmdBID4gc3RyaW5nQikge1xuICAgICAgICByZXR1cm4gZGlyZWN0aW9uID09PSAnYXNjJyA/IDEgOiAtMTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFzTWF0Y2hlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWF0Y2hlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrRGVsaW1pdGVyc0NvbmZsaWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnR5cGVhaGVhZE11bHRpcGxlU2VhcmNoICYmIHRoaXMudHlwZWFoZWFkU2luZ2xlV29yZHNcbiAgICAgICYmICh0aGlzLmhhdmVDb21tb25DaGFyYWN0ZXJzKGAke3RoaXMudHlwZWFoZWFkUGhyYXNlRGVsaW1pdGVyc30ke3RoaXMudHlwZWFoZWFkV29yZERlbGltaXRlcnN9YCxcbiAgICAgICAgdGhpcy50eXBlYWhlYWRNdWx0aXBsZVNlYXJjaERlbGltaXRlcnMpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWxpbWl0ZXJzIHVzZWQgaW4gdHlwZWFoZWFkTXVsdGlwbGVTZWFyY2hEZWxpbWl0ZXJzIG11c3QgYmUgZGlmZmVyZW50XG4gICAgICAgICAgZnJvbSBkZWxpbWl0ZXJzIHVzZWQgaW4gdHlwZWFoZWFkV29yZERlbGltaXRlcnMgKGN1cnJlbnQgdmFsdWU6ICR7dGhpcy50eXBlYWhlYWRXb3JkRGVsaW1pdGVyc30pIGFuZFxuICAgICAgICAgIHR5cGVhaGVhZFBocmFzZURlbGltaXRlcnMgKGN1cnJlbnQgdmFsdWU6ICR7dGhpcy50eXBlYWhlYWRQaHJhc2VEZWxpbWl0ZXJzfSkuXG4gICAgICAgICAgUGxlYXNlIHJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uYCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhdmVDb21tb25DaGFyYWN0ZXJzKHN0cjE6IHN0cmluZywgc3RyMjogc3RyaW5nKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIxLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc3RyMS5jaGFyQXQoaSkuaW5kZXhPZihzdHIyKSA+IC0xKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19