ngx-bootstrap 7.1.1 → 8.0.0-RC.3

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 (2354) 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/base/bs-datepicker-container.d.ts +5 -0
  218. package/datepicker/bs-datepicker-inline.component.d.ts +4 -6
  219. package/datepicker/bs-datepicker-inline.config.d.ts +3 -4
  220. package/datepicker/bs-datepicker-input.directive.d.ts +3 -5
  221. package/datepicker/bs-datepicker.component.d.ts +5 -9
  222. package/datepicker/bs-datepicker.config.d.ts +11 -4
  223. package/datepicker/bs-datepicker.css +4 -0
  224. package/datepicker/bs-datepicker.css.map +1 -1
  225. package/datepicker/bs-datepicker.module.d.ts +26 -26
  226. package/datepicker/bs-datepicker.scss +5 -0
  227. package/datepicker/bs-daterangepicker-inline.component.d.ts +6 -8
  228. package/datepicker/bs-daterangepicker-inline.config.d.ts +3 -4
  229. package/datepicker/bs-daterangepicker-input.directive.d.ts +3 -5
  230. package/datepicker/bs-daterangepicker.component.d.ts +4 -8
  231. package/datepicker/bs-daterangepicker.config.d.ts +3 -4
  232. package/datepicker/bs-locale.service.d.ts +3 -5
  233. package/datepicker/engine/flag-months-calendar.d.ts +2 -0
  234. package/datepicker/engine/flag-years-calendar.d.ts +2 -0
  235. package/datepicker/esm2020/base/bs-datepicker-container.mjs +76 -0
  236. package/datepicker/esm2020/bs-datepicker-inline.component.mjs +151 -0
  237. package/datepicker/esm2020/bs-datepicker-inline.config.mjs +14 -0
  238. package/datepicker/esm2020/bs-datepicker-input.directive.mjs +163 -0
  239. package/datepicker/esm2020/bs-datepicker.component.mjs +265 -0
  240. package/datepicker/esm2020/bs-datepicker.config.mjs +89 -0
  241. package/datepicker/esm2020/bs-datepicker.module.mjs +123 -0
  242. package/datepicker/esm2020/bs-daterangepicker-inline.component.mjs +151 -0
  243. package/datepicker/esm2020/bs-daterangepicker-inline.config.mjs +21 -0
  244. package/datepicker/esm2020/bs-daterangepicker-input.directive.mjs +208 -0
  245. package/datepicker/esm2020/bs-daterangepicker.component.mjs +256 -0
  246. package/datepicker/esm2020/bs-daterangepicker.config.mjs +19 -0
  247. package/datepicker/esm2020/bs-locale.service.mjs +32 -0
  248. package/datepicker/esm2020/datepicker-animations.mjs +16 -0
  249. package/datepicker/esm2020/engine/calc-days-calendar.mjs +21 -0
  250. package/datepicker/esm2020/engine/flag-days-calendar.mjs +93 -0
  251. package/datepicker/esm2020/engine/flag-months-calendar.mjs +45 -0
  252. package/datepicker/esm2020/engine/flag-years-calendar.mjs +42 -0
  253. package/datepicker/esm2020/engine/format-days-calendar.mjs +33 -0
  254. package/datepicker/esm2020/engine/format-months-calendar.mjs +23 -0
  255. package/datepicker/esm2020/engine/format-years-calendar.mjs +39 -0
  256. package/datepicker/esm2020/engine/view-mode.mjs +4 -0
  257. package/datepicker/esm2020/index.mjs +2 -0
  258. package/datepicker/esm2020/models/index.mjs +9 -0
  259. package/datepicker/esm2020/ngx-bootstrap-datepicker.mjs +5 -0
  260. package/datepicker/esm2020/public_api.mjs +17 -0
  261. package/datepicker/esm2020/reducer/_defaults.mjs +6 -0
  262. package/datepicker/esm2020/reducer/bs-datepicker.actions.mjs +143 -0
  263. package/datepicker/esm2020/reducer/bs-datepicker.effects.mjs +182 -0
  264. package/datepicker/esm2020/reducer/bs-datepicker.reducer.mjs +378 -0
  265. package/datepicker/esm2020/reducer/bs-datepicker.state.mjs +18 -0
  266. package/datepicker/esm2020/reducer/bs-datepicker.store.mjs +22 -0
  267. package/datepicker/esm2020/themes/bs/bs-calendar-layout.component.mjs +47 -0
  268. package/datepicker/esm2020/themes/bs/bs-current-date-view.component.mjs +16 -0
  269. package/datepicker/esm2020/themes/bs/bs-custom-dates-view.component.mjs +50 -0
  270. package/datepicker/esm2020/themes/bs/bs-datepicker-container.component.mjs +160 -0
  271. package/datepicker/esm2020/themes/bs/bs-datepicker-day-decorator.directive.mjs +47 -0
  272. package/datepicker/esm2020/themes/bs/bs-datepicker-inline-container.component.mjs +36 -0
  273. package/datepicker/esm2020/themes/bs/bs-datepicker-navigation-view.component.mjs +105 -0
  274. package/datepicker/esm2020/themes/bs/bs-daterangepicker-container.component.mjs +226 -0
  275. package/datepicker/esm2020/themes/bs/bs-daterangepicker-inline-container.component.mjs +36 -0
  276. package/datepicker/esm2020/themes/bs/bs-days-calendar-view.component.mjs +226 -0
  277. package/datepicker/esm2020/themes/bs/bs-months-calendar-view.component.mjs +93 -0
  278. package/datepicker/esm2020/themes/bs/bs-timepicker-view.component.mjs +55 -0
  279. package/datepicker/esm2020/themes/bs/bs-years-calendar-view.component.mjs +94 -0
  280. package/datepicker/esm2020/utils/bs-calendar-utils.mjs +120 -0
  281. package/datepicker/esm2020/utils/copy-time-utils.mjs +7 -0
  282. package/datepicker/esm2020/utils/matrix-utils.mjs +14 -0
  283. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs +3743 -0
  284. package/datepicker/fesm2015/ngx-bootstrap-datepicker.mjs.map +1 -0
  285. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs +3712 -0
  286. package/datepicker/fesm2020/ngx-bootstrap-datepicker.mjs.map +1 -0
  287. package/datepicker/ngx-bootstrap-datepicker.d.ts +1 -17
  288. package/datepicker/package.json +37 -32
  289. package/datepicker/public_api.d.ts +0 -8
  290. package/datepicker/reducer/bs-datepicker.actions.d.ts +6 -6
  291. package/datepicker/reducer/bs-datepicker.effects.d.ts +4 -6
  292. package/datepicker/reducer/bs-datepicker.state.d.ts +1 -0
  293. package/datepicker/reducer/bs-datepicker.store.d.ts +3 -5
  294. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +3 -5
  295. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +3 -5
  296. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +3 -5
  297. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +10 -7
  298. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +3 -5
  299. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +3 -5
  300. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +3 -5
  301. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +12 -8
  302. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +3 -5
  303. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +3 -5
  304. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +3 -5
  305. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +3 -5
  306. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +3 -5
  307. package/datepicker/utils/bs-calendar-utils.d.ts +4 -2
  308. package/datepicker/utils/copy-time-utils.d.ts +1 -0
  309. package/dropdown/bs-dropdown-container.component.d.ts +3 -5
  310. package/dropdown/bs-dropdown-menu.directive.d.ts +3 -5
  311. package/dropdown/bs-dropdown-toggle.directive.d.ts +3 -5
  312. package/dropdown/bs-dropdown.config.d.ts +5 -6
  313. package/dropdown/bs-dropdown.directive.d.ts +4 -5
  314. package/dropdown/bs-dropdown.module.d.ts +9 -10
  315. package/dropdown/bs-dropdown.state.d.ts +5 -6
  316. package/dropdown/esm2020/bs-dropdown-container.component.mjs +80 -0
  317. package/dropdown/esm2020/bs-dropdown-menu.directive.mjs +22 -0
  318. package/dropdown/esm2020/bs-dropdown-toggle.directive.mjs +87 -0
  319. package/dropdown/esm2020/bs-dropdown.config.mjs +24 -0
  320. package/dropdown/esm2020/bs-dropdown.directive.mjs +346 -0
  321. package/dropdown/esm2020/bs-dropdown.module.mjs +49 -0
  322. package/dropdown/esm2020/bs-dropdown.state.mjs +25 -0
  323. package/dropdown/esm2020/dropdown-animations.mjs +7 -0
  324. package/dropdown/esm2020/index.mjs +2 -0
  325. package/dropdown/esm2020/ngx-bootstrap-dropdown.mjs +5 -0
  326. package/dropdown/esm2020/public_api.mjs +8 -0
  327. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +610 -0
  328. package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +1 -0
  329. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs +610 -0
  330. package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +1 -0
  331. package/dropdown/ngx-bootstrap-dropdown.d.ts +1 -2
  332. package/dropdown/package.json +32 -28
  333. package/esm2020/index.mjs +2 -0
  334. package/esm2020/ngx-bootstrap.mjs +5 -0
  335. package/fesm2015/ngx-bootstrap.mjs +6 -0
  336. package/fesm2015/ngx-bootstrap.mjs.map +1 -0
  337. package/fesm2020/ngx-bootstrap.mjs +6 -0
  338. package/fesm2020/ngx-bootstrap.mjs.map +1 -0
  339. package/focus-trap/esm2020/boolean-property.mjs +12 -0
  340. package/focus-trap/esm2020/focus-trap-manager.mjs +54 -0
  341. package/focus-trap/esm2020/focus-trap.mjs +399 -0
  342. package/focus-trap/esm2020/focus-trap.module.mjs +31 -0
  343. package/focus-trap/esm2020/index.mjs +2 -0
  344. package/focus-trap/esm2020/interactivity-checker.mjs +241 -0
  345. package/focus-trap/esm2020/ngx-bootstrap-focus-trap.mjs +5 -0
  346. package/focus-trap/esm2020/platform.mjs +80 -0
  347. package/focus-trap/esm2020/public_api.mjs +4 -0
  348. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs +800 -0
  349. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.mjs.map +1 -0
  350. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs +801 -0
  351. package/focus-trap/fesm2020/ngx-bootstrap-focus-trap.mjs.map +1 -0
  352. package/focus-trap/focus-trap-manager.d.ts +3 -11
  353. package/focus-trap/focus-trap.d.ts +5 -6
  354. package/focus-trap/focus-trap.module.d.ts +6 -7
  355. package/focus-trap/interactivity-checker.d.ts +3 -4
  356. package/focus-trap/ngx-bootstrap-focus-trap.d.ts +1 -6
  357. package/focus-trap/package.json +26 -23
  358. package/focus-trap/platform.d.ts +3 -11
  359. package/locale/esm2020/index.mjs +2 -0
  360. package/locale/esm2020/ngx-bootstrap-locale.mjs +5 -0
  361. package/locale/esm2020/public_api.mjs +46 -0
  362. package/locale/fesm2015/ngx-bootstrap-locale.mjs +6 -0
  363. package/locale/fesm2015/ngx-bootstrap-locale.mjs.map +1 -0
  364. package/locale/fesm2020/ngx-bootstrap-locale.mjs +6 -0
  365. package/locale/fesm2020/ngx-bootstrap-locale.mjs.map +1 -0
  366. package/locale/ngx-bootstrap-locale.d.ts +1 -2
  367. package/locale/package.json +24 -21
  368. package/locale/public_api.d.ts +1 -0
  369. package/mini-ngrx/esm2020/index.mjs +2 -0
  370. package/mini-ngrx/esm2020/ngx-bootstrap-mini-ngrx.mjs +5 -0
  371. package/mini-ngrx/esm2020/public_api.mjs +3 -0
  372. package/mini-ngrx/esm2020/state.class.mjs +16 -0
  373. package/mini-ngrx/esm2020/store.class.mjs +42 -0
  374. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs +64 -0
  375. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  376. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs +63 -0
  377. package/mini-ngrx/fesm2020/ngx-bootstrap-mini-ngrx.mjs.map +1 -0
  378. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts +1 -2
  379. package/mini-ngrx/package.json +24 -21
  380. package/modal/bs-modal-ref.service.d.ts +3 -5
  381. package/modal/bs-modal.service.d.ts +3 -5
  382. package/modal/esm2020/bs-modal-ref.service.mjs +22 -0
  383. package/modal/esm2020/bs-modal.service.mjs +219 -0
  384. package/modal/esm2020/index.mjs +2 -0
  385. package/modal/esm2020/modal-backdrop.component.mjs +58 -0
  386. package/modal/esm2020/modal-backdrop.options.mjs +7 -0
  387. package/modal/esm2020/modal-container.component.mjs +146 -0
  388. package/modal/esm2020/modal-options.class.mjs +46 -0
  389. package/modal/esm2020/modal.directive.mjs +368 -0
  390. package/modal/esm2020/modal.module.mjs +43 -0
  391. package/modal/esm2020/models/index.mjs +2 -0
  392. package/modal/esm2020/ngx-bootstrap-modal.mjs +5 -0
  393. package/modal/esm2020/public_api.mjs +9 -0
  394. package/modal/fesm2015/ngx-bootstrap-modal.mjs +891 -0
  395. package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +1 -0
  396. package/modal/fesm2020/ngx-bootstrap-modal.mjs +882 -0
  397. package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +1 -0
  398. package/modal/modal-backdrop.component.d.ts +3 -5
  399. package/modal/modal-container.component.d.ts +3 -5
  400. package/modal/modal-options.class.d.ts +3 -5
  401. package/modal/modal.directive.d.ts +3 -5
  402. package/modal/modal.module.d.ts +8 -9
  403. package/modal/ngx-bootstrap-modal.d.ts +1 -3
  404. package/modal/package.json +31 -27
  405. package/ngx-bootstrap.d.ts +1 -0
  406. package/package.json +23 -11
  407. package/pagination/esm2020/index.mjs +2 -0
  408. package/pagination/esm2020/models/index.mjs +2 -0
  409. package/pagination/esm2020/ngx-bootstrap-pagination.mjs +5 -0
  410. package/pagination/esm2020/pager.component.mjs +256 -0
  411. package/pagination/esm2020/pagination.component.mjs +257 -0
  412. package/pagination/esm2020/pagination.config.mjs +35 -0
  413. package/pagination/esm2020/pagination.module.mjs +22 -0
  414. package/pagination/esm2020/public_api.mjs +5 -0
  415. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs +565 -0
  416. package/pagination/fesm2015/ngx-bootstrap-pagination.mjs.map +1 -0
  417. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs +563 -0
  418. package/pagination/fesm2020/ngx-bootstrap-pagination.mjs.map +1 -0
  419. package/pagination/ngx-bootstrap-pagination.d.ts +1 -4
  420. package/pagination/package.json +26 -23
  421. package/pagination/pager.component.d.ts +3 -5
  422. package/pagination/pagination.component.d.ts +3 -5
  423. package/pagination/pagination.config.d.ts +3 -4
  424. package/pagination/pagination.module.d.ts +7 -8
  425. package/popover/esm2020/index.mjs +2 -0
  426. package/popover/esm2020/ngx-bootstrap-popover.mjs +5 -0
  427. package/popover/esm2020/popover-container.component.mjs +67 -0
  428. package/popover/esm2020/popover.config.mjs +35 -0
  429. package/popover/esm2020/popover.directive.mjs +238 -0
  430. package/popover/esm2020/popover.module.mjs +28 -0
  431. package/popover/esm2020/public_api.mjs +5 -0
  432. package/popover/fesm2015/ngx-bootstrap-popover.mjs +358 -0
  433. package/popover/fesm2015/ngx-bootstrap-popover.mjs.map +1 -0
  434. package/popover/fesm2020/ngx-bootstrap-popover.mjs +358 -0
  435. package/popover/fesm2020/ngx-bootstrap-popover.mjs.map +1 -0
  436. package/popover/ngx-bootstrap-popover.d.ts +1 -2
  437. package/popover/package.json +30 -26
  438. package/popover/popover-container.component.d.ts +3 -5
  439. package/popover/popover.config.d.ts +3 -4
  440. package/popover/popover.directive.d.ts +3 -5
  441. package/popover/popover.module.d.ts +7 -8
  442. package/positioning/esm2020/index.mjs +2 -0
  443. package/positioning/esm2020/models/index.mjs +53 -0
  444. package/positioning/esm2020/modifiers/arrow.mjs +56 -0
  445. package/positioning/esm2020/modifiers/flip.mjs +65 -0
  446. package/positioning/esm2020/modifiers/index.mjs +6 -0
  447. package/positioning/esm2020/modifiers/initData.mjs +44 -0
  448. package/positioning/esm2020/modifiers/preventOverflow.mjs +54 -0
  449. package/positioning/esm2020/modifiers/shift.mjs +24 -0
  450. package/positioning/esm2020/ng-positioning.mjs +39 -0
  451. package/positioning/esm2020/ngx-bootstrap-positioning.mjs +5 -0
  452. package/positioning/esm2020/positioning.service.mjs +71 -0
  453. package/positioning/esm2020/public_api.mjs +5 -0
  454. package/positioning/esm2020/utils/checkMargin.mjs +32 -0
  455. package/positioning/esm2020/utils/computeAutoPlacement.mjs +55 -0
  456. package/positioning/esm2020/utils/findCommonOffsetParent.mjs +40 -0
  457. package/positioning/esm2020/utils/getBordersSize.mjs +10 -0
  458. package/positioning/esm2020/utils/getBoundaries.mjs +70 -0
  459. package/positioning/esm2020/utils/getBoundingClientRect.mjs +56 -0
  460. package/positioning/esm2020/utils/getClientRect.mjs +8 -0
  461. package/positioning/esm2020/utils/getFixedPositionOffsetParent.mjs +16 -0
  462. package/positioning/esm2020/utils/getOffsetParent.mjs +33 -0
  463. package/positioning/esm2020/utils/getOffsetRectRelativeToArbitraryNode.mjs +52 -0
  464. package/positioning/esm2020/utils/getOffsets.mjs +11 -0
  465. package/positioning/esm2020/utils/getOppositePlacement.mjs +8 -0
  466. package/positioning/esm2020/utils/getOppositeVariation.mjs +13 -0
  467. package/positioning/esm2020/utils/getOuterSizes.mjs +12 -0
  468. package/positioning/esm2020/utils/getParentNode.mjs +12 -0
  469. package/positioning/esm2020/utils/getReferenceOffsets.mjs +13 -0
  470. package/positioning/esm2020/utils/getRoot.mjs +10 -0
  471. package/positioning/esm2020/utils/getScroll.mjs +14 -0
  472. package/positioning/esm2020/utils/getScrollParent.mjs +28 -0
  473. package/positioning/esm2020/utils/getStyleComputedProperty.mjs +12 -0
  474. package/positioning/esm2020/utils/getTargetOffsets.mjs +30 -0
  475. package/positioning/esm2020/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +19 -0
  476. package/positioning/esm2020/utils/getWindowSizes.mjs +16 -0
  477. package/positioning/esm2020/utils/includeScroll.mjs +24 -0
  478. package/positioning/esm2020/utils/index.mjs +24 -0
  479. package/positioning/esm2020/utils/isFixed.mjs +16 -0
  480. package/positioning/esm2020/utils/isModifierEnabled.mjs +4 -0
  481. package/positioning/esm2020/utils/isNumeric.mjs +11 -0
  482. package/positioning/esm2020/utils/isOffsetContainer.mjs +11 -0
  483. package/positioning/esm2020/utils/setStyles.mjs +21 -0
  484. package/positioning/esm2020/utils/updateContainerClass.mjs +30 -0
  485. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs +1018 -0
  486. package/positioning/fesm2015/ngx-bootstrap-positioning.mjs.map +1 -0
  487. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs +1024 -0
  488. package/positioning/fesm2020/ngx-bootstrap-positioning.mjs.map +1 -0
  489. package/positioning/ngx-bootstrap-positioning.d.ts +1 -2
  490. package/positioning/package.json +28 -24
  491. package/positioning/positioning.service.d.ts +3 -4
  492. package/progressbar/bar.component.d.ts +3 -5
  493. package/progressbar/esm2020/bar.component.mjs +77 -0
  494. package/progressbar/esm2020/index.mjs +2 -0
  495. package/progressbar/esm2020/ngx-bootstrap-progressbar.mjs +5 -0
  496. package/progressbar/esm2020/progressbar-type.interface.mjs +2 -0
  497. package/progressbar/esm2020/progressbar.component.mjs +57 -0
  498. package/progressbar/esm2020/progressbar.config.mjs +19 -0
  499. package/progressbar/esm2020/progressbar.module.mjs +22 -0
  500. package/progressbar/esm2020/public_api.mjs +5 -0
  501. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +172 -0
  502. package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +1 -0
  503. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs +171 -0
  504. package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +1 -0
  505. package/progressbar/ngx-bootstrap-progressbar.d.ts +1 -2
  506. package/progressbar/package.json +26 -23
  507. package/progressbar/progressbar.component.d.ts +3 -5
  508. package/progressbar/progressbar.config.d.ts +3 -4
  509. package/progressbar/progressbar.module.d.ts +7 -8
  510. package/rating/esm2020/index.mjs +2 -0
  511. package/rating/esm2020/models/index.mjs +2 -0
  512. package/rating/esm2020/ngx-bootstrap-rating.mjs +5 -0
  513. package/rating/esm2020/public_api.mjs +4 -0
  514. package/rating/esm2020/rating.component.mjs +121 -0
  515. package/rating/esm2020/rating.config.mjs +18 -0
  516. package/rating/esm2020/rating.module.mjs +24 -0
  517. package/rating/fesm2015/ngx-bootstrap-rating.mjs +163 -0
  518. package/rating/fesm2015/ngx-bootstrap-rating.mjs.map +1 -0
  519. package/rating/fesm2020/ngx-bootstrap-rating.mjs +163 -0
  520. package/rating/fesm2020/ngx-bootstrap-rating.mjs.map +1 -0
  521. package/rating/ngx-bootstrap-rating.d.ts +1 -3
  522. package/rating/package.json +26 -23
  523. package/rating/rating.component.d.ts +3 -5
  524. package/rating/rating.config.d.ts +3 -4
  525. package/rating/rating.module.d.ts +6 -7
  526. package/schematics/ng-add/index.js +10 -10
  527. package/schematics/ng-add/index.js.map +1 -1
  528. package/schematics/package.json +8 -6
  529. package/schematics/utils/addStyles.js +2 -2
  530. package/schematics/utils/addStyles.js.map +1 -1
  531. package/schematics/utils/current_dependency_versions.json +1 -1
  532. package/schematics/utils/getVersions.js +1 -1
  533. package/schematics/utils/getVersions.js.map +1 -1
  534. package/schematics/utils/index.js +3 -3
  535. package/schematics/utils/index.js.map +1 -1
  536. package/schematics/utils/ng-module-imports.js +1 -1
  537. package/schematics/utils/ng-module-imports.js.map +1 -1
  538. package/schematics/utils/project-main-file.js +1 -1
  539. package/schematics/utils/project-main-file.js.map +1 -1
  540. package/schematics/utils/project-targets.d.ts +1 -1
  541. package/schematics/utils/project-targets.js.map +1 -1
  542. package/sortable/draggable-item.service.d.ts +3 -5
  543. package/sortable/esm2020/draggable-item.mjs +2 -0
  544. package/sortable/esm2020/draggable-item.service.mjs +36 -0
  545. package/sortable/esm2020/index.mjs +2 -0
  546. package/sortable/esm2020/ngx-bootstrap-sortable.mjs +5 -0
  547. package/sortable/esm2020/public_api.mjs +4 -0
  548. package/sortable/esm2020/sortable.component.mjs +266 -0
  549. package/sortable/esm2020/sortable.module.mjs +22 -0
  550. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs +324 -0
  551. package/sortable/fesm2015/ngx-bootstrap-sortable.mjs.map +1 -0
  552. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs +323 -0
  553. package/sortable/fesm2020/ngx-bootstrap-sortable.mjs.map +1 -0
  554. package/sortable/ngx-bootstrap-sortable.d.ts +1 -2
  555. package/sortable/package.json +28 -25
  556. package/sortable/sortable.component.d.ts +3 -5
  557. package/sortable/sortable.module.d.ts +6 -7
  558. package/tabs/esm2020/index.mjs +2 -0
  559. package/tabs/esm2020/ng-transclude.directive.mjs +28 -0
  560. package/tabs/esm2020/ngx-bootstrap-tabs.mjs +5 -0
  561. package/tabs/esm2020/public_api.mjs +7 -0
  562. package/tabs/esm2020/tab-heading.directive.mjs +18 -0
  563. package/tabs/esm2020/tab.directive.mjs +115 -0
  564. package/tabs/esm2020/tabs.module.mjs +43 -0
  565. package/tabs/esm2020/tabset.component.mjs +216 -0
  566. package/tabs/esm2020/tabset.config.mjs +21 -0
  567. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs +427 -0
  568. package/tabs/fesm2015/ngx-bootstrap-tabs.mjs.map +1 -0
  569. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs +427 -0
  570. package/tabs/fesm2020/ngx-bootstrap-tabs.mjs.map +1 -0
  571. package/tabs/ng-transclude.directive.d.ts +3 -5
  572. package/tabs/ngx-bootstrap-tabs.d.ts +1 -2
  573. package/tabs/package.json +25 -22
  574. package/tabs/tab-heading.directive.d.ts +3 -5
  575. package/tabs/tab.directive.d.ts +3 -5
  576. package/tabs/tabs.module.d.ts +9 -10
  577. package/tabs/tabset.component.d.ts +3 -5
  578. package/tabs/tabset.config.d.ts +3 -4
  579. package/timepicker/esm2020/index.mjs +2 -0
  580. package/timepicker/esm2020/models/index.mjs +2 -0
  581. package/timepicker/esm2020/ngx-bootstrap-timepicker.mjs +5 -0
  582. package/timepicker/esm2020/public_api.mjs +6 -0
  583. package/timepicker/esm2020/reducer/timepicker.actions.mjs +53 -0
  584. package/timepicker/esm2020/reducer/timepicker.reducer.mjs +83 -0
  585. package/timepicker/esm2020/reducer/timepicker.store.mjs +21 -0
  586. package/timepicker/esm2020/timepicker-controls.util.mjs +123 -0
  587. package/timepicker/esm2020/timepicker.component.mjs +360 -0
  588. package/timepicker/esm2020/timepicker.config.mjs +54 -0
  589. package/timepicker/esm2020/timepicker.models.mjs +2 -0
  590. package/timepicker/esm2020/timepicker.module.mjs +27 -0
  591. package/timepicker/esm2020/timepicker.utils.mjs +152 -0
  592. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +856 -0
  593. package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +1 -0
  594. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs +855 -0
  595. package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +1 -0
  596. package/timepicker/ngx-bootstrap-timepicker.d.ts +1 -3
  597. package/timepicker/package.json +29 -26
  598. package/timepicker/reducer/timepicker.actions.d.ts +3 -5
  599. package/timepicker/reducer/timepicker.store.d.ts +3 -5
  600. package/timepicker/timepicker.component.d.ts +6 -6
  601. package/timepicker/timepicker.config.d.ts +5 -4
  602. package/timepicker/timepicker.module.d.ts +6 -7
  603. package/timepicker/timepicker.utils.d.ts +1 -0
  604. package/tooltip/esm2020/index.mjs +2 -0
  605. package/tooltip/esm2020/ngx-bootstrap-tooltip.mjs +5 -0
  606. package/tooltip/esm2020/public_api.mjs +5 -0
  607. package/tooltip/esm2020/tooltip-container.component.mjs +76 -0
  608. package/tooltip/esm2020/tooltip.config.mjs +22 -0
  609. package/tooltip/esm2020/tooltip.directive.mjs +342 -0
  610. package/tooltip/esm2020/tooltip.module.mjs +28 -0
  611. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +460 -0
  612. package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +1 -0
  613. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs +458 -0
  614. package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +1 -0
  615. package/tooltip/ngx-bootstrap-tooltip.d.ts +1 -2
  616. package/tooltip/package.json +31 -27
  617. package/tooltip/tooltip-container.component.d.ts +3 -5
  618. package/tooltip/tooltip.config.d.ts +3 -4
  619. package/tooltip/tooltip.directive.d.ts +3 -5
  620. package/tooltip/tooltip.module.d.ts +7 -8
  621. package/typeahead/esm2020/index.mjs +2 -0
  622. package/typeahead/esm2020/latin-map.mjs +827 -0
  623. package/typeahead/esm2020/models/index.mjs +2 -0
  624. package/typeahead/esm2020/ngx-bootstrap-typeahead.mjs +5 -0
  625. package/typeahead/esm2020/public_api.mjs +9 -0
  626. package/typeahead/esm2020/typeahead-animations.mjs +16 -0
  627. package/typeahead/esm2020/typeahead-container.component.mjs +326 -0
  628. package/typeahead/esm2020/typeahead-match.class.mjs +15 -0
  629. package/typeahead/esm2020/typeahead-options.class.mjs +8 -0
  630. package/typeahead/esm2020/typeahead-order.class.mjs +2 -0
  631. package/typeahead/esm2020/typeahead-utils.mjs +77 -0
  632. package/typeahead/esm2020/typeahead.config.mjs +34 -0
  633. package/typeahead/esm2020/typeahead.directive.mjs +576 -0
  634. package/typeahead/esm2020/typeahead.module.mjs +28 -0
  635. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +1906 -0
  636. package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +1 -0
  637. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs +1894 -0
  638. package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +1 -0
  639. package/typeahead/ngx-bootstrap-typeahead.d.ts +1 -3
  640. package/typeahead/package.json +33 -29
  641. package/typeahead/typeahead-container.component.d.ts +4 -5
  642. package/typeahead/typeahead.config.d.ts +7 -4
  643. package/typeahead/typeahead.directive.d.ts +4 -5
  644. package/typeahead/typeahead.module.d.ts +7 -8
  645. package/utils/esm2020/decorators.mjs +23 -0
  646. package/utils/esm2020/facade/browser.mjs +26 -0
  647. package/utils/esm2020/index.mjs +2 -0
  648. package/utils/esm2020/linked-list.class.mjs +247 -0
  649. package/utils/esm2020/ngx-bootstrap-utils.mjs +5 -0
  650. package/utils/esm2020/public_api.mjs +10 -0
  651. package/utils/esm2020/theme-provider.mjs +74 -0
  652. package/utils/esm2020/trigger.class.mjs +14 -0
  653. package/utils/esm2020/triggers.mjs +118 -0
  654. package/utils/esm2020/utils.class.mjs +30 -0
  655. package/utils/esm2020/warn-once.mjs +11 -0
  656. package/utils/fesm2015/ngx-bootstrap-utils.mjs +547 -0
  657. package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +1 -0
  658. package/utils/fesm2020/ngx-bootstrap-utils.mjs +545 -0
  659. package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +1 -0
  660. package/utils/ngx-bootstrap-utils.d.ts +1 -3
  661. package/utils/package.json +24 -21
  662. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7318
  663. package/__ivy_ngcc__/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  664. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -5974
  665. package/__ivy_ngcc__/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  666. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js +0 -7
  667. package/__ivy_ngcc__/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  668. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js +0 -258
  669. package/accordion/__ivy_ngcc__/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  670. package/accordion/accordion-group.component.d.ts.__ivy_ngcc_bak +0 -34
  671. package/accordion/accordion-group.component.d.ts.map +0 -1
  672. package/accordion/accordion.component.d.ts.__ivy_ngcc_bak +0 -14
  673. package/accordion/accordion.component.d.ts.map +0 -1
  674. package/accordion/accordion.config.d.ts.__ivy_ngcc_bak +0 -9
  675. package/accordion/accordion.config.d.ts.map +0 -1
  676. package/accordion/accordion.module.d.ts.__ivy_ngcc_bak +0 -4
  677. package/accordion/accordion.module.d.ts.map +0 -1
  678. package/accordion/bundles/ngx-bootstrap-accordion.umd.js +0 -195
  679. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +0 -1
  680. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js +0 -2
  681. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +0 -1
  682. package/accordion/esm2015/accordion-group.component.js +0 -81
  683. package/accordion/esm2015/accordion-group.component.js.map +0 -1
  684. package/accordion/esm2015/accordion-group.component.metadata.json +0 -1
  685. package/accordion/esm2015/accordion.component.js +0 -54
  686. package/accordion/esm2015/accordion.component.js.map +0 -1
  687. package/accordion/esm2015/accordion.component.metadata.json +0 -1
  688. package/accordion/esm2015/accordion.config.js +0 -20
  689. package/accordion/esm2015/accordion.config.js.map +0 -1
  690. package/accordion/esm2015/accordion.config.metadata.json +0 -1
  691. package/accordion/esm2015/accordion.module.js +0 -18
  692. package/accordion/esm2015/accordion.module.js.map +0 -1
  693. package/accordion/esm2015/accordion.module.metadata.json +0 -1
  694. package/accordion/esm2015/index.js +0 -2
  695. package/accordion/esm2015/index.js.map +0 -1
  696. package/accordion/esm2015/index.metadata.json +0 -1
  697. package/accordion/esm2015/ngx-bootstrap-accordion.js +0 -5
  698. package/accordion/esm2015/ngx-bootstrap-accordion.js.map +0 -1
  699. package/accordion/esm2015/ngx-bootstrap-accordion.metadata.json +0 -1
  700. package/accordion/esm2015/public_api.js +0 -5
  701. package/accordion/esm2015/public_api.js.map +0 -1
  702. package/accordion/esm2015/public_api.metadata.json +0 -1
  703. package/accordion/fesm2015/ngx-bootstrap-accordion.js +0 -172
  704. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +0 -1
  705. package/accordion/ngx-bootstrap-accordion.d.ts.__ivy_ngcc_bak +0 -4
  706. package/accordion/ngx-bootstrap-accordion.d.ts.map +0 -1
  707. package/accordion/ngx-bootstrap-accordion.metadata.json +0 -1
  708. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js +0 -168
  709. package/alert/__ivy_ngcc__/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  710. package/alert/alert.component.d.ts.__ivy_ngcc_bak +0 -30
  711. package/alert/alert.component.d.ts.map +0 -1
  712. package/alert/alert.config.d.ts.__ivy_ngcc_bak +0 -8
  713. package/alert/alert.config.d.ts.map +0 -1
  714. package/alert/alert.module.d.ts.__ivy_ngcc_bak +0 -4
  715. package/alert/alert.module.d.ts.map +0 -1
  716. package/alert/bundles/ngx-bootstrap-alert.umd.js +0 -436
  717. package/alert/bundles/ngx-bootstrap-alert.umd.js.map +0 -1
  718. package/alert/bundles/ngx-bootstrap-alert.umd.min.js +0 -16
  719. package/alert/bundles/ngx-bootstrap-alert.umd.min.js.map +0 -1
  720. package/alert/esm2015/alert.component.js +0 -75
  721. package/alert/esm2015/alert.component.js.map +0 -1
  722. package/alert/esm2015/alert.component.metadata.json +0 -1
  723. package/alert/esm2015/alert.config.js +0 -19
  724. package/alert/esm2015/alert.config.js.map +0 -1
  725. package/alert/esm2015/alert.config.metadata.json +0 -1
  726. package/alert/esm2015/alert.module.js +0 -17
  727. package/alert/esm2015/alert.module.js.map +0 -1
  728. package/alert/esm2015/alert.module.metadata.json +0 -1
  729. package/alert/esm2015/index.js +0 -2
  730. package/alert/esm2015/index.js.map +0 -1
  731. package/alert/esm2015/index.metadata.json +0 -1
  732. package/alert/esm2015/ngx-bootstrap-alert.js +0 -5
  733. package/alert/esm2015/ngx-bootstrap-alert.js.map +0 -1
  734. package/alert/esm2015/ngx-bootstrap-alert.metadata.json +0 -1
  735. package/alert/esm2015/public_api.js +0 -4
  736. package/alert/esm2015/public_api.js.map +0 -1
  737. package/alert/esm2015/public_api.metadata.json +0 -1
  738. package/alert/fesm2015/ngx-bootstrap-alert.js +0 -113
  739. package/alert/fesm2015/ngx-bootstrap-alert.js.map +0 -1
  740. package/alert/ngx-bootstrap-alert.d.ts.__ivy_ngcc_bak +0 -4
  741. package/alert/ngx-bootstrap-alert.d.ts.map +0 -1
  742. package/alert/ngx-bootstrap-alert.metadata.json +0 -1
  743. package/bundles/ngx-bootstrap.umd.js +0 -13
  744. package/bundles/ngx-bootstrap.umd.js.map +0 -1
  745. package/bundles/ngx-bootstrap.umd.min.js +0 -2
  746. package/bundles/ngx-bootstrap.umd.min.js.map +0 -1
  747. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js +0 -507
  748. package/buttons/__ivy_ngcc__/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  749. package/buttons/bundles/ngx-bootstrap-buttons.umd.js +0 -455
  750. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +0 -1
  751. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js +0 -2
  752. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +0 -1
  753. package/buttons/button-checkbox.directive.d.ts.__ivy_ngcc_bak +0 -28
  754. package/buttons/button-checkbox.directive.d.ts.map +0 -1
  755. package/buttons/button-radio-group.directive.d.ts.__ivy_ngcc_bak +0 -32
  756. package/buttons/button-radio-group.directive.d.ts.map +0 -1
  757. package/buttons/button-radio.directive.d.ts.__ivy_ngcc_bak +0 -48
  758. package/buttons/button-radio.directive.d.ts.map +0 -1
  759. package/buttons/buttons.module.d.ts.__ivy_ngcc_bak +0 -4
  760. package/buttons/buttons.module.d.ts.map +0 -1
  761. package/buttons/esm2015/button-checkbox.directive.js +0 -76
  762. package/buttons/esm2015/button-checkbox.directive.js.map +0 -1
  763. package/buttons/esm2015/button-checkbox.directive.metadata.json +0 -1
  764. package/buttons/esm2015/button-radio-group.directive.js +0 -138
  765. package/buttons/esm2015/button-radio-group.directive.js.map +0 -1
  766. package/buttons/esm2015/button-radio-group.directive.metadata.json +0 -1
  767. package/buttons/esm2015/button-radio.directive.js +0 -161
  768. package/buttons/esm2015/button-radio.directive.js.map +0 -1
  769. package/buttons/esm2015/button-radio.directive.metadata.json +0 -1
  770. package/buttons/esm2015/buttons.module.js +0 -16
  771. package/buttons/esm2015/buttons.module.js.map +0 -1
  772. package/buttons/esm2015/buttons.module.metadata.json +0 -1
  773. package/buttons/esm2015/index.js +0 -2
  774. package/buttons/esm2015/index.js.map +0 -1
  775. package/buttons/esm2015/index.metadata.json +0 -1
  776. package/buttons/esm2015/ngx-bootstrap-buttons.js +0 -8
  777. package/buttons/esm2015/ngx-bootstrap-buttons.js.map +0 -1
  778. package/buttons/esm2015/ngx-bootstrap-buttons.metadata.json +0 -1
  779. package/buttons/esm2015/public_api.js +0 -5
  780. package/buttons/esm2015/public_api.js.map +0 -1
  781. package/buttons/esm2015/public_api.metadata.json +0 -1
  782. package/buttons/fesm2015/ngx-bootstrap-buttons.js +0 -388
  783. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +0 -1
  784. package/buttons/ngx-bootstrap-buttons.d.ts.__ivy_ngcc_bak +0 -7
  785. package/buttons/ngx-bootstrap-buttons.d.ts.map +0 -1
  786. package/buttons/ngx-bootstrap-buttons.metadata.json +0 -1
  787. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js +0 -1018
  788. package/carousel/__ivy_ngcc__/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  789. package/carousel/bundles/ngx-bootstrap-carousel.umd.js +0 -1171
  790. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +0 -1
  791. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js +0 -16
  792. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +0 -1
  793. package/carousel/carousel.component.d.ts.__ivy_ngcc_bak +0 -189
  794. package/carousel/carousel.component.d.ts.map +0 -1
  795. package/carousel/carousel.config.d.ts.__ivy_ngcc_bak +0 -10
  796. package/carousel/carousel.config.d.ts.map +0 -1
  797. package/carousel/carousel.module.d.ts.__ivy_ngcc_bak +0 -4
  798. package/carousel/carousel.module.d.ts.map +0 -1
  799. package/carousel/esm2015/carousel.component.js +0 -701
  800. package/carousel/esm2015/carousel.component.js.map +0 -1
  801. package/carousel/esm2015/carousel.component.metadata.json +0 -1
  802. package/carousel/esm2015/carousel.config.js +0 -30
  803. package/carousel/esm2015/carousel.config.js.map +0 -1
  804. package/carousel/esm2015/carousel.config.metadata.json +0 -1
  805. package/carousel/esm2015/carousel.module.js +0 -17
  806. package/carousel/esm2015/carousel.module.js.map +0 -1
  807. package/carousel/esm2015/carousel.module.metadata.json +0 -1
  808. package/carousel/esm2015/index.js +0 -2
  809. package/carousel/esm2015/index.js.map +0 -1
  810. package/carousel/esm2015/index.metadata.json +0 -1
  811. package/carousel/esm2015/models/index.js +0 -2
  812. package/carousel/esm2015/models/index.js.map +0 -1
  813. package/carousel/esm2015/models/index.metadata.json +0 -1
  814. package/carousel/esm2015/ngx-bootstrap-carousel.js +0 -5
  815. package/carousel/esm2015/ngx-bootstrap-carousel.js.map +0 -1
  816. package/carousel/esm2015/ngx-bootstrap-carousel.metadata.json +0 -1
  817. package/carousel/esm2015/public_api.js +0 -5
  818. package/carousel/esm2015/public_api.js.map +0 -1
  819. package/carousel/esm2015/public_api.metadata.json +0 -1
  820. package/carousel/esm2015/slide.component.js +0 -74
  821. package/carousel/esm2015/slide.component.js.map +0 -1
  822. package/carousel/esm2015/slide.component.metadata.json +0 -1
  823. package/carousel/esm2015/utils.js +0 -32
  824. package/carousel/esm2015/utils.js.map +0 -1
  825. package/carousel/esm2015/utils.metadata.json +0 -1
  826. package/carousel/fesm2015/ngx-bootstrap-carousel.js +0 -843
  827. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +0 -1
  828. package/carousel/ngx-bootstrap-carousel.d.ts.__ivy_ngcc_bak +0 -4
  829. package/carousel/ngx-bootstrap-carousel.d.ts.map +0 -1
  830. package/carousel/ngx-bootstrap-carousel.metadata.json +0 -1
  831. package/carousel/slide.component.d.ts.__ivy_ngcc_bak +0 -19
  832. package/carousel/slide.component.d.ts.map +0 -1
  833. package/chronos/bundles/ngx-bootstrap-chronos.umd.js +0 -7449
  834. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +0 -1
  835. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +0 -67
  836. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +0 -1
  837. package/chronos/esm2015/create/check-overflow.js +0 -30
  838. package/chronos/esm2015/create/check-overflow.js.map +0 -1
  839. package/chronos/esm2015/create/check-overflow.metadata.json +0 -1
  840. package/chronos/esm2015/create/clone.js +0 -6
  841. package/chronos/esm2015/create/clone.js.map +0 -1
  842. package/chronos/esm2015/create/clone.metadata.json +0 -1
  843. package/chronos/esm2015/create/date-from-array.js +0 -19
  844. package/chronos/esm2015/create/date-from-array.js.map +0 -1
  845. package/chronos/esm2015/create/date-from-array.metadata.json +0 -1
  846. package/chronos/esm2015/create/from-anything.js +0 -106
  847. package/chronos/esm2015/create/from-anything.js.map +0 -1
  848. package/chronos/esm2015/create/from-anything.metadata.json +0 -1
  849. package/chronos/esm2015/create/from-array.js +0 -135
  850. package/chronos/esm2015/create/from-array.js.map +0 -1
  851. package/chronos/esm2015/create/from-array.metadata.json +0 -1
  852. package/chronos/esm2015/create/from-object.js +0 -17
  853. package/chronos/esm2015/create/from-object.js.map +0 -1
  854. package/chronos/esm2015/create/from-object.metadata.json +0 -1
  855. package/chronos/esm2015/create/from-string-and-array.js +0 -38
  856. package/chronos/esm2015/create/from-string-and-array.js.map +0 -1
  857. package/chronos/esm2015/create/from-string-and-array.metadata.json +0 -1
  858. package/chronos/esm2015/create/from-string-and-format.js +0 -106
  859. package/chronos/esm2015/create/from-string-and-format.js.map +0 -1
  860. package/chronos/esm2015/create/from-string-and-format.metadata.json +0 -1
  861. package/chronos/esm2015/create/from-string.js +0 -222
  862. package/chronos/esm2015/create/from-string.js.map +0 -1
  863. package/chronos/esm2015/create/from-string.metadata.json +0 -1
  864. package/chronos/esm2015/create/local.js +0 -16
  865. package/chronos/esm2015/create/local.js.map +0 -1
  866. package/chronos/esm2015/create/local.metadata.json +0 -1
  867. package/chronos/esm2015/create/parsing-flags.js +0 -26
  868. package/chronos/esm2015/create/parsing-flags.js.map +0 -1
  869. package/chronos/esm2015/create/parsing-flags.metadata.json +0 -1
  870. package/chronos/esm2015/create/parsing.types.js +0 -2
  871. package/chronos/esm2015/create/parsing.types.js.map +0 -1
  872. package/chronos/esm2015/create/parsing.types.metadata.json +0 -1
  873. package/chronos/esm2015/create/valid.js +0 -42
  874. package/chronos/esm2015/create/valid.js.map +0 -1
  875. package/chronos/esm2015/create/valid.metadata.json +0 -1
  876. package/chronos/esm2015/duration/bubble.js +0 -47
  877. package/chronos/esm2015/duration/bubble.js.map +0 -1
  878. package/chronos/esm2015/duration/bubble.metadata.json +0 -1
  879. package/chronos/esm2015/duration/constructor.js +0 -130
  880. package/chronos/esm2015/duration/constructor.js.map +0 -1
  881. package/chronos/esm2015/duration/constructor.metadata.json +0 -1
  882. package/chronos/esm2015/duration/create.js +0 -112
  883. package/chronos/esm2015/duration/create.js.map +0 -1
  884. package/chronos/esm2015/duration/create.metadata.json +0 -1
  885. package/chronos/esm2015/duration/humanize.js +0 -79
  886. package/chronos/esm2015/duration/humanize.js.map +0 -1
  887. package/chronos/esm2015/duration/humanize.metadata.json +0 -1
  888. package/chronos/esm2015/duration/valid.js +0 -45
  889. package/chronos/esm2015/duration/valid.js.map +0 -1
  890. package/chronos/esm2015/duration/valid.metadata.json +0 -1
  891. package/chronos/esm2015/format/format.js +0 -50
  892. package/chronos/esm2015/format/format.js.map +0 -1
  893. package/chronos/esm2015/format/format.metadata.json +0 -1
  894. package/chronos/esm2015/format.js +0 -46
  895. package/chronos/esm2015/format.js.map +0 -1
  896. package/chronos/esm2015/format.metadata.json +0 -1
  897. package/chronos/esm2015/i18n/ar.js +0 -135
  898. package/chronos/esm2015/i18n/ar.js.map +0 -1
  899. package/chronos/esm2015/i18n/ar.metadata.json +0 -1
  900. package/chronos/esm2015/i18n/bg.js +0 -92
  901. package/chronos/esm2015/i18n/bg.js.map +0 -1
  902. package/chronos/esm2015/i18n/bg.metadata.json +0 -1
  903. package/chronos/esm2015/i18n/ca.js +0 -87
  904. package/chronos/esm2015/i18n/ca.js.map +0 -1
  905. package/chronos/esm2015/i18n/ca.metadata.json +0 -1
  906. package/chronos/esm2015/i18n/cs.js +0 -177
  907. package/chronos/esm2015/i18n/cs.js.map +0 -1
  908. package/chronos/esm2015/i18n/cs.metadata.json +0 -1
  909. package/chronos/esm2015/i18n/da.js +0 -49
  910. package/chronos/esm2015/i18n/da.js.map +0 -1
  911. package/chronos/esm2015/i18n/da.metadata.json +0 -1
  912. package/chronos/esm2015/i18n/de.js +0 -67
  913. package/chronos/esm2015/i18n/de.js.map +0 -1
  914. package/chronos/esm2015/i18n/de.metadata.json +0 -1
  915. package/chronos/esm2015/i18n/en-gb.js +0 -57
  916. package/chronos/esm2015/i18n/en-gb.js.map +0 -1
  917. package/chronos/esm2015/i18n/en-gb.metadata.json +0 -1
  918. package/chronos/esm2015/i18n/es-do.js +0 -81
  919. package/chronos/esm2015/i18n/es-do.js.map +0 -1
  920. package/chronos/esm2015/i18n/es-do.metadata.json +0 -1
  921. package/chronos/esm2015/i18n/es-us.js +0 -75
  922. package/chronos/esm2015/i18n/es-us.js.map +0 -1
  923. package/chronos/esm2015/i18n/es-us.metadata.json +0 -1
  924. package/chronos/esm2015/i18n/es.js +0 -80
  925. package/chronos/esm2015/i18n/es.js.map +0 -1
  926. package/chronos/esm2015/i18n/es.metadata.json +0 -1
  927. package/chronos/esm2015/i18n/et.js +0 -71
  928. package/chronos/esm2015/i18n/et.js.map +0 -1
  929. package/chronos/esm2015/i18n/et.metadata.json +0 -1
  930. package/chronos/esm2015/i18n/fi.js +0 -96
  931. package/chronos/esm2015/i18n/fi.js.map +0 -1
  932. package/chronos/esm2015/i18n/fi.metadata.json +0 -1
  933. package/chronos/esm2015/i18n/fr.js +0 -72
  934. package/chronos/esm2015/i18n/fr.js.map +0 -1
  935. package/chronos/esm2015/i18n/fr.metadata.json +0 -1
  936. package/chronos/esm2015/i18n/gl.js +0 -80
  937. package/chronos/esm2015/i18n/gl.js.map +0 -1
  938. package/chronos/esm2015/i18n/gl.metadata.json +0 -1
  939. package/chronos/esm2015/i18n/he.js +0 -94
  940. package/chronos/esm2015/i18n/he.js.map +0 -1
  941. package/chronos/esm2015/i18n/he.metadata.json +0 -1
  942. package/chronos/esm2015/i18n/hi.js +0 -119
  943. package/chronos/esm2015/i18n/hi.js.map +0 -1
  944. package/chronos/esm2015/i18n/hi.metadata.json +0 -1
  945. package/chronos/esm2015/i18n/hr.js +0 -58
  946. package/chronos/esm2015/i18n/hr.js.map +0 -1
  947. package/chronos/esm2015/i18n/hr.metadata.json +0 -1
  948. package/chronos/esm2015/i18n/hu.js +0 -100
  949. package/chronos/esm2015/i18n/hu.js.map +0 -1
  950. package/chronos/esm2015/i18n/hu.metadata.json +0 -1
  951. package/chronos/esm2015/i18n/id.js +0 -78
  952. package/chronos/esm2015/i18n/id.js.map +0 -1
  953. package/chronos/esm2015/i18n/id.metadata.json +0 -1
  954. package/chronos/esm2015/i18n/it.js +0 -61
  955. package/chronos/esm2015/i18n/it.js.map +0 -1
  956. package/chronos/esm2015/i18n/it.metadata.json +0 -1
  957. package/chronos/esm2015/i18n/ja.js +0 -71
  958. package/chronos/esm2015/i18n/ja.js.map +0 -1
  959. package/chronos/esm2015/i18n/ja.metadata.json +0 -1
  960. package/chronos/esm2015/i18n/ka.js +0 -83
  961. package/chronos/esm2015/i18n/ka.js.map +0 -1
  962. package/chronos/esm2015/i18n/ka.metadata.json +0 -1
  963. package/chronos/esm2015/i18n/kk.js +0 -76
  964. package/chronos/esm2015/i18n/kk.js.map +0 -1
  965. package/chronos/esm2015/i18n/kk.metadata.json +0 -1
  966. package/chronos/esm2015/i18n/ko.js +0 -72
  967. package/chronos/esm2015/i18n/ko.js.map +0 -1
  968. package/chronos/esm2015/i18n/ko.metadata.json +0 -1
  969. package/chronos/esm2015/i18n/lt.js +0 -112
  970. package/chronos/esm2015/i18n/lt.js.map +0 -1
  971. package/chronos/esm2015/i18n/lt.metadata.json +0 -1
  972. package/chronos/esm2015/i18n/lv.js +0 -52
  973. package/chronos/esm2015/i18n/lv.js.map +0 -1
  974. package/chronos/esm2015/i18n/lv.metadata.json +0 -1
  975. package/chronos/esm2015/i18n/mn.js +0 -94
  976. package/chronos/esm2015/i18n/mn.js.map +0 -1
  977. package/chronos/esm2015/i18n/mn.metadata.json +0 -1
  978. package/chronos/esm2015/i18n/nb.js +0 -53
  979. package/chronos/esm2015/i18n/nb.js.map +0 -1
  980. package/chronos/esm2015/i18n/nb.metadata.json +0 -1
  981. package/chronos/esm2015/i18n/nl-be.js +0 -77
  982. package/chronos/esm2015/i18n/nl-be.js.map +0 -1
  983. package/chronos/esm2015/i18n/nl-be.metadata.json +0 -1
  984. package/chronos/esm2015/i18n/nl.js +0 -76
  985. package/chronos/esm2015/i18n/nl.js.map +0 -1
  986. package/chronos/esm2015/i18n/nl.metadata.json +0 -1
  987. package/chronos/esm2015/i18n/pl.js +0 -122
  988. package/chronos/esm2015/i18n/pl.js.map +0 -1
  989. package/chronos/esm2015/i18n/pl.metadata.json +0 -1
  990. package/chronos/esm2015/i18n/pt-br.js +0 -52
  991. package/chronos/esm2015/i18n/pt-br.js.map +0 -1
  992. package/chronos/esm2015/i18n/pt-br.metadata.json +0 -1
  993. package/chronos/esm2015/i18n/ro.js +0 -66
  994. package/chronos/esm2015/i18n/ro.js.map +0 -1
  995. package/chronos/esm2015/i18n/ro.metadata.json +0 -1
  996. package/chronos/esm2015/i18n/ru.js +0 -177
  997. package/chronos/esm2015/i18n/ru.js.map +0 -1
  998. package/chronos/esm2015/i18n/ru.metadata.json +0 -1
  999. package/chronos/esm2015/i18n/sk.js +0 -153
  1000. package/chronos/esm2015/i18n/sk.js.map +0 -1
  1001. package/chronos/esm2015/i18n/sk.metadata.json +0 -1
  1002. package/chronos/esm2015/i18n/sl.js +0 -179
  1003. package/chronos/esm2015/i18n/sl.js.map +0 -1
  1004. package/chronos/esm2015/i18n/sl.metadata.json +0 -1
  1005. package/chronos/esm2015/i18n/sq.js +0 -50
  1006. package/chronos/esm2015/i18n/sq.js.map +0 -1
  1007. package/chronos/esm2015/i18n/sq.metadata.json +0 -1
  1008. package/chronos/esm2015/i18n/sv.js +0 -59
  1009. package/chronos/esm2015/i18n/sv.js.map +0 -1
  1010. package/chronos/esm2015/i18n/sv.metadata.json +0 -1
  1011. package/chronos/esm2015/i18n/th-be.js +0 -73
  1012. package/chronos/esm2015/i18n/th-be.js.map +0 -1
  1013. package/chronos/esm2015/i18n/th-be.metadata.json +0 -1
  1014. package/chronos/esm2015/i18n/th.js +0 -58
  1015. package/chronos/esm2015/i18n/th.js.map +0 -1
  1016. package/chronos/esm2015/i18n/th.metadata.json +0 -1
  1017. package/chronos/esm2015/i18n/tr.js +0 -78
  1018. package/chronos/esm2015/i18n/tr.js.map +0 -1
  1019. package/chronos/esm2015/i18n/tr.metadata.json +0 -1
  1020. package/chronos/esm2015/i18n/uk.js +0 -143
  1021. package/chronos/esm2015/i18n/uk.js.map +0 -1
  1022. package/chronos/esm2015/i18n/uk.metadata.json +0 -1
  1023. package/chronos/esm2015/i18n/vi.js +0 -70
  1024. package/chronos/esm2015/i18n/vi.js.map +0 -1
  1025. package/chronos/esm2015/i18n/vi.metadata.json +0 -1
  1026. package/chronos/esm2015/i18n/zh-cn.js +0 -109
  1027. package/chronos/esm2015/i18n/zh-cn.js.map +0 -1
  1028. package/chronos/esm2015/i18n/zh-cn.metadata.json +0 -1
  1029. package/chronos/esm2015/index.js +0 -2
  1030. package/chronos/esm2015/index.js.map +0 -1
  1031. package/chronos/esm2015/index.metadata.json +0 -1
  1032. package/chronos/esm2015/locale/calendar.js +0 -9
  1033. package/chronos/esm2015/locale/calendar.js.map +0 -1
  1034. package/chronos/esm2015/locale/calendar.metadata.json +0 -1
  1035. package/chronos/esm2015/locale/locale.class.js +0 -532
  1036. package/chronos/esm2015/locale/locale.class.js.map +0 -1
  1037. package/chronos/esm2015/locale/locale.class.metadata.json +0 -1
  1038. package/chronos/esm2015/locale/locale.defaults.js +0 -40
  1039. package/chronos/esm2015/locale/locale.defaults.js.map +0 -1
  1040. package/chronos/esm2015/locale/locale.defaults.metadata.json +0 -1
  1041. package/chronos/esm2015/locale/locales.js +0 -228
  1042. package/chronos/esm2015/locale/locales.js.map +0 -1
  1043. package/chronos/esm2015/locale/locales.metadata.json +0 -1
  1044. package/chronos/esm2015/moment/add-subtract.js +0 -35
  1045. package/chronos/esm2015/moment/add-subtract.js.map +0 -1
  1046. package/chronos/esm2015/moment/add-subtract.metadata.json +0 -1
  1047. package/chronos/esm2015/moment/calendar.js +0 -41
  1048. package/chronos/esm2015/moment/calendar.js.map +0 -1
  1049. package/chronos/esm2015/moment/calendar.metadata.json +0 -1
  1050. package/chronos/esm2015/moment/diff.js +0 -70
  1051. package/chronos/esm2015/moment/diff.js.map +0 -1
  1052. package/chronos/esm2015/moment/diff.metadata.json +0 -1
  1053. package/chronos/esm2015/moment/min-max.js +0 -38
  1054. package/chronos/esm2015/moment/min-max.js.map +0 -1
  1055. package/chronos/esm2015/moment/min-max.metadata.json +0 -1
  1056. package/chronos/esm2015/ngx-bootstrap-chronos.js +0 -6
  1057. package/chronos/esm2015/ngx-bootstrap-chronos.js.map +0 -1
  1058. package/chronos/esm2015/ngx-bootstrap-chronos.metadata.json +0 -1
  1059. package/chronos/esm2015/parse/regex.js +0 -47
  1060. package/chronos/esm2015/parse/regex.js.map +0 -1
  1061. package/chronos/esm2015/parse/regex.metadata.json +0 -1
  1062. package/chronos/esm2015/parse/token.js +0 -31
  1063. package/chronos/esm2015/parse/token.js.map +0 -1
  1064. package/chronos/esm2015/parse/token.metadata.json +0 -1
  1065. package/chronos/esm2015/public_api.js +0 -56
  1066. package/chronos/esm2015/public_api.js.map +0 -1
  1067. package/chronos/esm2015/public_api.metadata.json +0 -1
  1068. package/chronos/esm2015/testing/chain.js +0 -708
  1069. package/chronos/esm2015/testing/chain.js.map +0 -1
  1070. package/chronos/esm2015/testing/chain.metadata.json +0 -1
  1071. package/chronos/esm2015/types.js +0 -2
  1072. package/chronos/esm2015/types.js.map +0 -1
  1073. package/chronos/esm2015/types.metadata.json +0 -1
  1074. package/chronos/esm2015/units/aliases.js +0 -35
  1075. package/chronos/esm2015/units/aliases.js.map +0 -1
  1076. package/chronos/esm2015/units/aliases.metadata.json +0 -1
  1077. package/chronos/esm2015/units/constants.js +0 -11
  1078. package/chronos/esm2015/units/constants.js.map +0 -1
  1079. package/chronos/esm2015/units/constants.metadata.json +0 -1
  1080. package/chronos/esm2015/units/day-of-month.js +0 -31
  1081. package/chronos/esm2015/units/day-of-month.js.map +0 -1
  1082. package/chronos/esm2015/units/day-of-month.metadata.json +0 -1
  1083. package/chronos/esm2015/units/day-of-week.js +0 -129
  1084. package/chronos/esm2015/units/day-of-week.js.map +0 -1
  1085. package/chronos/esm2015/units/day-of-week.metadata.json +0 -1
  1086. package/chronos/esm2015/units/day-of-year.js +0 -37
  1087. package/chronos/esm2015/units/day-of-year.js.map +0 -1
  1088. package/chronos/esm2015/units/day-of-year.metadata.json +0 -1
  1089. package/chronos/esm2015/units/hour.js +0 -127
  1090. package/chronos/esm2015/units/hour.js.map +0 -1
  1091. package/chronos/esm2015/units/hour.metadata.json +0 -1
  1092. package/chronos/esm2015/units/index.js +0 -19
  1093. package/chronos/esm2015/units/index.js.map +0 -1
  1094. package/chronos/esm2015/units/millisecond.js +0 -59
  1095. package/chronos/esm2015/units/millisecond.js.map +0 -1
  1096. package/chronos/esm2015/units/millisecond.metadata.json +0 -1
  1097. package/chronos/esm2015/units/minute.js +0 -23
  1098. package/chronos/esm2015/units/minute.js.map +0 -1
  1099. package/chronos/esm2015/units/minute.metadata.json +0 -1
  1100. package/chronos/esm2015/units/month.js +0 -63
  1101. package/chronos/esm2015/units/month.js.map +0 -1
  1102. package/chronos/esm2015/units/month.metadata.json +0 -1
  1103. package/chronos/esm2015/units/offset.js +0 -209
  1104. package/chronos/esm2015/units/offset.js.map +0 -1
  1105. package/chronos/esm2015/units/offset.metadata.json +0 -1
  1106. package/chronos/esm2015/units/priorities.js +0 -21
  1107. package/chronos/esm2015/units/priorities.js.map +0 -1
  1108. package/chronos/esm2015/units/priorities.metadata.json +0 -1
  1109. package/chronos/esm2015/units/quarter.js +0 -39
  1110. package/chronos/esm2015/units/quarter.js.map +0 -1
  1111. package/chronos/esm2015/units/quarter.metadata.json +0 -1
  1112. package/chronos/esm2015/units/second.js +0 -23
  1113. package/chronos/esm2015/units/second.js.map +0 -1
  1114. package/chronos/esm2015/units/second.metadata.json +0 -1
  1115. package/chronos/esm2015/units/timestamp.js +0 -28
  1116. package/chronos/esm2015/units/timestamp.js.map +0 -1
  1117. package/chronos/esm2015/units/timestamp.metadata.json +0 -1
  1118. package/chronos/esm2015/units/timezone.js +0 -19
  1119. package/chronos/esm2015/units/timezone.js.map +0 -1
  1120. package/chronos/esm2015/units/timezone.metadata.json +0 -1
  1121. package/chronos/esm2015/units/week-calendar-utils.js +0 -70
  1122. package/chronos/esm2015/units/week-calendar-utils.js.map +0 -1
  1123. package/chronos/esm2015/units/week-calendar-utils.metadata.json +0 -1
  1124. package/chronos/esm2015/units/week-year.js +0 -101
  1125. package/chronos/esm2015/units/week-year.js.map +0 -1
  1126. package/chronos/esm2015/units/week-year.metadata.json +0 -1
  1127. package/chronos/esm2015/units/week.js +0 -58
  1128. package/chronos/esm2015/units/week.js.map +0 -1
  1129. package/chronos/esm2015/units/week.metadata.json +0 -1
  1130. package/chronos/esm2015/units/year.js +0 -60
  1131. package/chronos/esm2015/units/year.js.map +0 -1
  1132. package/chronos/esm2015/units/year.metadata.json +0 -1
  1133. package/chronos/esm2015/utils/abs-ceil.js +0 -4
  1134. package/chronos/esm2015/utils/abs-ceil.js.map +0 -1
  1135. package/chronos/esm2015/utils/abs-ceil.metadata.json +0 -1
  1136. package/chronos/esm2015/utils/abs-round.js +0 -4
  1137. package/chronos/esm2015/utils/abs-round.js.map +0 -1
  1138. package/chronos/esm2015/utils/abs-round.metadata.json +0 -1
  1139. package/chronos/esm2015/utils/compare-arrays.js +0 -16
  1140. package/chronos/esm2015/utils/compare-arrays.js.map +0 -1
  1141. package/chronos/esm2015/utils/compare-arrays.metadata.json +0 -1
  1142. package/chronos/esm2015/utils/date-compare.js +0 -55
  1143. package/chronos/esm2015/utils/date-compare.js.map +0 -1
  1144. package/chronos/esm2015/utils/date-compare.metadata.json +0 -1
  1145. package/chronos/esm2015/utils/date-getters.js +0 -67
  1146. package/chronos/esm2015/utils/date-getters.js.map +0 -1
  1147. package/chronos/esm2015/utils/date-getters.metadata.json +0 -1
  1148. package/chronos/esm2015/utils/date-setters.js +0 -75
  1149. package/chronos/esm2015/utils/date-setters.js.map +0 -1
  1150. package/chronos/esm2015/utils/date-setters.metadata.json +0 -1
  1151. package/chronos/esm2015/utils/defaults.js +0 -11
  1152. package/chronos/esm2015/utils/defaults.js.map +0 -1
  1153. package/chronos/esm2015/utils/defaults.metadata.json +0 -1
  1154. package/chronos/esm2015/utils/start-end-of.js +0 -57
  1155. package/chronos/esm2015/utils/start-end-of.js.map +0 -1
  1156. package/chronos/esm2015/utils/start-end-of.metadata.json +0 -1
  1157. package/chronos/esm2015/utils/type-checks.js +0 -58
  1158. package/chronos/esm2015/utils/type-checks.js.map +0 -1
  1159. package/chronos/esm2015/utils/type-checks.metadata.json +0 -1
  1160. package/chronos/esm2015/utils/zero-fill.js +0 -10
  1161. package/chronos/esm2015/utils/zero-fill.js.map +0 -1
  1162. package/chronos/esm2015/utils/zero-fill.metadata.json +0 -1
  1163. package/chronos/esm2015/utils.js +0 -7
  1164. package/chronos/esm2015/utils.js.map +0 -1
  1165. package/chronos/esm2015/utils.metadata.json +0 -1
  1166. package/chronos/fesm2015/ngx-bootstrap-chronos.js +0 -7317
  1167. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +0 -1
  1168. package/chronos/ngx-bootstrap-chronos.d.ts.__ivy_ngcc_bak +0 -5
  1169. package/chronos/ngx-bootstrap-chronos.d.ts.map +0 -1
  1170. package/chronos/ngx-bootstrap-chronos.metadata.json +0 -1
  1171. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js +0 -225
  1172. package/collapse/__ivy_ngcc__/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1173. package/collapse/bundles/ngx-bootstrap-collapse.umd.js +0 -203
  1174. package/collapse/bundles/ngx-bootstrap-collapse.umd.js.map +0 -1
  1175. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js +0 -2
  1176. package/collapse/bundles/ngx-bootstrap-collapse.umd.min.js.map +0 -1
  1177. package/collapse/collapse.directive.d.ts.__ivy_ngcc_bak +0 -42
  1178. package/collapse/collapse.directive.d.ts.map +0 -1
  1179. package/collapse/collapse.module.d.ts.__ivy_ngcc_bak +0 -4
  1180. package/collapse/collapse.module.d.ts.map +0 -1
  1181. package/collapse/esm2015/collapse-animations.js +0 -11
  1182. package/collapse/esm2015/collapse-animations.js.map +0 -1
  1183. package/collapse/esm2015/collapse-animations.metadata.json +0 -1
  1184. package/collapse/esm2015/collapse.directive.js +0 -152
  1185. package/collapse/esm2015/collapse.directive.js.map +0 -1
  1186. package/collapse/esm2015/collapse.directive.metadata.json +0 -1
  1187. package/collapse/esm2015/collapse.module.js +0 -14
  1188. package/collapse/esm2015/collapse.module.js.map +0 -1
  1189. package/collapse/esm2015/collapse.module.metadata.json +0 -1
  1190. package/collapse/esm2015/index.js +0 -2
  1191. package/collapse/esm2015/index.js.map +0 -1
  1192. package/collapse/esm2015/index.metadata.json +0 -1
  1193. package/collapse/esm2015/ngx-bootstrap-collapse.js +0 -5
  1194. package/collapse/esm2015/ngx-bootstrap-collapse.js.map +0 -1
  1195. package/collapse/esm2015/ngx-bootstrap-collapse.metadata.json +0 -1
  1196. package/collapse/esm2015/public_api.js +0 -3
  1197. package/collapse/esm2015/public_api.js.map +0 -1
  1198. package/collapse/esm2015/public_api.metadata.json +0 -1
  1199. package/collapse/fesm2015/ngx-bootstrap-collapse.js +0 -180
  1200. package/collapse/fesm2015/ngx-bootstrap-collapse.js.map +0 -1
  1201. package/collapse/ngx-bootstrap-collapse.d.ts.__ivy_ngcc_bak +0 -4
  1202. package/collapse/ngx-bootstrap-collapse.d.ts.map +0 -1
  1203. package/collapse/ngx-bootstrap-collapse.metadata.json +0 -1
  1204. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js +0 -348
  1205. package/component-loader/__ivy_ngcc__/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1206. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +0 -366
  1207. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +0 -1
  1208. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +0 -2
  1209. package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +0 -1
  1210. package/component-loader/component-loader.factory.d.ts.__ivy_ngcc_bak +0 -18
  1211. package/component-loader/component-loader.factory.d.ts.map +0 -1
  1212. package/component-loader/esm2015/bs-component-ref.class.js +0 -3
  1213. package/component-loader/esm2015/bs-component-ref.class.js.map +0 -1
  1214. package/component-loader/esm2015/bs-component-ref.class.metadata.json +0 -1
  1215. package/component-loader/esm2015/component-loader.class.js +0 -289
  1216. package/component-loader/esm2015/component-loader.class.js.map +0 -1
  1217. package/component-loader/esm2015/component-loader.class.metadata.json +0 -1
  1218. package/component-loader/esm2015/component-loader.factory.js +0 -35
  1219. package/component-loader/esm2015/component-loader.factory.js.map +0 -1
  1220. package/component-loader/esm2015/component-loader.factory.metadata.json +0 -1
  1221. package/component-loader/esm2015/content-ref.class.js +0 -16
  1222. package/component-loader/esm2015/content-ref.class.js.map +0 -1
  1223. package/component-loader/esm2015/content-ref.class.metadata.json +0 -1
  1224. package/component-loader/esm2015/index.js +0 -2
  1225. package/component-loader/esm2015/index.js.map +0 -1
  1226. package/component-loader/esm2015/index.metadata.json +0 -1
  1227. package/component-loader/esm2015/listen-options.model.js +0 -2
  1228. package/component-loader/esm2015/listen-options.model.js.map +0 -1
  1229. package/component-loader/esm2015/listen-options.model.metadata.json +0 -1
  1230. package/component-loader/esm2015/ngx-bootstrap-component-loader.js +0 -5
  1231. package/component-loader/esm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1232. package/component-loader/esm2015/ngx-bootstrap-component-loader.metadata.json +0 -1
  1233. package/component-loader/esm2015/public_api.js +0 -5
  1234. package/component-loader/esm2015/public_api.js.map +0 -1
  1235. package/component-loader/esm2015/public_api.metadata.json +0 -1
  1236. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +0 -343
  1237. package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +0 -1
  1238. package/component-loader/ngx-bootstrap-component-loader.d.ts.__ivy_ngcc_bak +0 -4
  1239. package/component-loader/ngx-bootstrap-component-loader.d.ts.map +0 -1
  1240. package/component-loader/ngx-bootstrap-component-loader.metadata.json +0 -1
  1241. package/datepicker/bs-datepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1242. package/datepicker/bs-datepicker-inline.component.d.ts.map +0 -1
  1243. package/datepicker/bs-datepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -3
  1244. package/datepicker/bs-datepicker-inline.config.d.ts.map +0 -1
  1245. package/datepicker/bs-datepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1246. package/datepicker/bs-datepicker-input.directive.d.ts.map +0 -1
  1247. package/datepicker/bs-datepicker.component.d.ts.__ivy_ngcc_bak +0 -123
  1248. package/datepicker/bs-datepicker.component.d.ts.map +0 -1
  1249. package/datepicker/bs-datepicker.config.d.ts.__ivy_ngcc_bak +0 -143
  1250. package/datepicker/bs-datepicker.config.d.ts.map +0 -1
  1251. package/datepicker/bs-datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1252. package/datepicker/bs-datepicker.module.d.ts.map +0 -1
  1253. package/datepicker/bs-daterangepicker-inline.component.d.ts.__ivy_ngcc_bak +0 -61
  1254. package/datepicker/bs-daterangepicker-inline.component.d.ts.map +0 -1
  1255. package/datepicker/bs-daterangepicker-inline.config.d.ts.__ivy_ngcc_bak +0 -6
  1256. package/datepicker/bs-daterangepicker-inline.config.d.ts.map +0 -1
  1257. package/datepicker/bs-daterangepicker-input.directive.d.ts.__ivy_ngcc_bak +0 -30
  1258. package/datepicker/bs-daterangepicker-input.directive.d.ts.map +0 -1
  1259. package/datepicker/bs-daterangepicker.component.d.ts.__ivy_ngcc_bak +0 -115
  1260. package/datepicker/bs-daterangepicker.component.d.ts.map +0 -1
  1261. package/datepicker/bs-daterangepicker.config.d.ts.__ivy_ngcc_bak +0 -4
  1262. package/datepicker/bs-daterangepicker.config.d.ts.map +0 -1
  1263. package/datepicker/bs-locale.service.d.ts.__ivy_ngcc_bak +0 -10
  1264. package/datepicker/bs-locale.service.d.ts.map +0 -1
  1265. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +0 -4443
  1266. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +0 -1
  1267. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +0 -17
  1268. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +0 -1
  1269. package/datepicker/date-formatter.d.ts +0 -3
  1270. package/datepicker/datepicker-inner.component.d.ts +0 -82
  1271. package/datepicker/datepicker-inner.component.d.ts.__ivy_ngcc_bak +0 -77
  1272. package/datepicker/datepicker-inner.component.d.ts.map +0 -1
  1273. package/datepicker/datepicker.component.d.ts +0 -83
  1274. package/datepicker/datepicker.component.d.ts.__ivy_ngcc_bak +0 -78
  1275. package/datepicker/datepicker.component.d.ts.map +0 -1
  1276. package/datepicker/datepicker.config.d.ts +0 -23
  1277. package/datepicker/datepicker.config.d.ts.__ivy_ngcc_bak +0 -19
  1278. package/datepicker/datepicker.config.d.ts.map +0 -1
  1279. package/datepicker/datepicker.module.d.ts +0 -16
  1280. package/datepicker/datepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  1281. package/datepicker/datepicker.module.d.ts.map +0 -1
  1282. package/datepicker/daypicker.component.d.ts +0 -22
  1283. package/datepicker/daypicker.component.d.ts.__ivy_ngcc_bak +0 -17
  1284. package/datepicker/daypicker.component.d.ts.map +0 -1
  1285. package/datepicker/esm2015/base/bs-datepicker-container.js +0 -81
  1286. package/datepicker/esm2015/base/bs-datepicker-container.js.map +0 -1
  1287. package/datepicker/esm2015/base/bs-datepicker-container.metadata.json +0 -1
  1288. package/datepicker/esm2015/bs-datepicker-inline.component.js +0 -141
  1289. package/datepicker/esm2015/bs-datepicker-inline.component.js.map +0 -1
  1290. package/datepicker/esm2015/bs-datepicker-inline.component.metadata.json +0 -1
  1291. package/datepicker/esm2015/bs-datepicker-inline.component.ngfactory.js.map +0 -1
  1292. package/datepicker/esm2015/bs-datepicker-inline.config.js +0 -12
  1293. package/datepicker/esm2015/bs-datepicker-inline.config.js.map +0 -1
  1294. package/datepicker/esm2015/bs-datepicker-inline.config.metadata.json +0 -1
  1295. package/datepicker/esm2015/bs-datepicker-inline.config.ngfactory.js.map +0 -1
  1296. package/datepicker/esm2015/bs-datepicker-input.directive.js +0 -162
  1297. package/datepicker/esm2015/bs-datepicker-input.directive.js.map +0 -1
  1298. package/datepicker/esm2015/bs-datepicker-input.directive.metadata.json +0 -1
  1299. package/datepicker/esm2015/bs-datepicker-input.directive.ngfactory.js.map +0 -1
  1300. package/datepicker/esm2015/bs-datepicker.component.js +0 -250
  1301. package/datepicker/esm2015/bs-datepicker.component.js.map +0 -1
  1302. package/datepicker/esm2015/bs-datepicker.component.metadata.json +0 -1
  1303. package/datepicker/esm2015/bs-datepicker.component.ngfactory.js.map +0 -1
  1304. package/datepicker/esm2015/bs-datepicker.config.js +0 -83
  1305. package/datepicker/esm2015/bs-datepicker.config.js.map +0 -1
  1306. package/datepicker/esm2015/bs-datepicker.config.metadata.json +0 -1
  1307. package/datepicker/esm2015/bs-datepicker.config.ngfactory.js.map +0 -1
  1308. package/datepicker/esm2015/bs-datepicker.module.js +0 -88
  1309. package/datepicker/esm2015/bs-datepicker.module.js.map +0 -1
  1310. package/datepicker/esm2015/bs-datepicker.module.metadata.json +0 -1
  1311. package/datepicker/esm2015/bs-datepicker.module.ngfactory.js.map +0 -1
  1312. package/datepicker/esm2015/bs-daterangepicker-inline.component.js +0 -138
  1313. package/datepicker/esm2015/bs-daterangepicker-inline.component.js.map +0 -1
  1314. package/datepicker/esm2015/bs-daterangepicker-inline.component.metadata.json +0 -1
  1315. package/datepicker/esm2015/bs-daterangepicker-inline.component.ngfactory.js.map +0 -1
  1316. package/datepicker/esm2015/bs-daterangepicker-inline.config.js +0 -19
  1317. package/datepicker/esm2015/bs-daterangepicker-inline.config.js.map +0 -1
  1318. package/datepicker/esm2015/bs-daterangepicker-inline.config.metadata.json +0 -1
  1319. package/datepicker/esm2015/bs-daterangepicker-inline.config.ngfactory.js.map +0 -1
  1320. package/datepicker/esm2015/bs-daterangepicker-input.directive.js +0 -202
  1321. package/datepicker/esm2015/bs-daterangepicker-input.directive.js.map +0 -1
  1322. package/datepicker/esm2015/bs-daterangepicker-input.directive.metadata.json +0 -1
  1323. package/datepicker/esm2015/bs-daterangepicker-input.directive.ngfactory.js.map +0 -1
  1324. package/datepicker/esm2015/bs-daterangepicker.component.js +0 -241
  1325. package/datepicker/esm2015/bs-daterangepicker.component.js.map +0 -1
  1326. package/datepicker/esm2015/bs-daterangepicker.component.metadata.json +0 -1
  1327. package/datepicker/esm2015/bs-daterangepicker.component.ngfactory.js.map +0 -1
  1328. package/datepicker/esm2015/bs-daterangepicker.config.js +0 -17
  1329. package/datepicker/esm2015/bs-daterangepicker.config.js.map +0 -1
  1330. package/datepicker/esm2015/bs-daterangepicker.config.metadata.json +0 -1
  1331. package/datepicker/esm2015/bs-daterangepicker.config.ngfactory.js.map +0 -1
  1332. package/datepicker/esm2015/bs-locale.service.js +0 -28
  1333. package/datepicker/esm2015/bs-locale.service.js.map +0 -1
  1334. package/datepicker/esm2015/bs-locale.service.metadata.json +0 -1
  1335. package/datepicker/esm2015/bs-locale.service.ngfactory.js.map +0 -1
  1336. package/datepicker/esm2015/date-formatter.js +0 -7
  1337. package/datepicker/esm2015/date-formatter.js.map +0 -1
  1338. package/datepicker/esm2015/date-formatter.metadata.json +0 -1
  1339. package/datepicker/esm2015/datepicker-animations.js +0 -16
  1340. package/datepicker/esm2015/datepicker-animations.js.map +0 -1
  1341. package/datepicker/esm2015/datepicker-animations.metadata.json +0 -1
  1342. package/datepicker/esm2015/datepicker-inner.component.js +0 -290
  1343. package/datepicker/esm2015/datepicker-inner.component.js.map +0 -1
  1344. package/datepicker/esm2015/datepicker-inner.component.metadata.json +0 -1
  1345. package/datepicker/esm2015/datepicker-inner.component.ngfactory.js.map +0 -1
  1346. package/datepicker/esm2015/datepicker.component.js +0 -142
  1347. package/datepicker/esm2015/datepicker.component.js.map +0 -1
  1348. package/datepicker/esm2015/datepicker.component.metadata.json +0 -1
  1349. package/datepicker/esm2015/datepicker.component.ngfactory.js.map +0 -1
  1350. package/datepicker/esm2015/datepicker.config.js +0 -30
  1351. package/datepicker/esm2015/datepicker.config.js.map +0 -1
  1352. package/datepicker/esm2015/datepicker.config.metadata.json +0 -1
  1353. package/datepicker/esm2015/datepicker.config.ngfactory.js.map +0 -1
  1354. package/datepicker/esm2015/datepicker.module.js +0 -35
  1355. package/datepicker/esm2015/datepicker.module.js.map +0 -1
  1356. package/datepicker/esm2015/datepicker.module.metadata.json +0 -1
  1357. package/datepicker/esm2015/datepicker.module.ngfactory.js.map +0 -1
  1358. package/datepicker/esm2015/daypicker.component.js +0 -185
  1359. package/datepicker/esm2015/daypicker.component.js.map +0 -1
  1360. package/datepicker/esm2015/daypicker.component.metadata.json +0 -1
  1361. package/datepicker/esm2015/daypicker.component.ngfactory.js.map +0 -1
  1362. package/datepicker/esm2015/engine/calc-days-calendar.js +0 -21
  1363. package/datepicker/esm2015/engine/calc-days-calendar.js.map +0 -1
  1364. package/datepicker/esm2015/engine/calc-days-calendar.metadata.json +0 -1
  1365. package/datepicker/esm2015/engine/flag-days-calendar.js +0 -93
  1366. package/datepicker/esm2015/engine/flag-days-calendar.js.map +0 -1
  1367. package/datepicker/esm2015/engine/flag-days-calendar.metadata.json +0 -1
  1368. package/datepicker/esm2015/engine/flag-months-calendar.js +0 -43
  1369. package/datepicker/esm2015/engine/flag-months-calendar.js.map +0 -1
  1370. package/datepicker/esm2015/engine/flag-months-calendar.metadata.json +0 -1
  1371. package/datepicker/esm2015/engine/flag-years-calendar.js +0 -40
  1372. package/datepicker/esm2015/engine/flag-years-calendar.js.map +0 -1
  1373. package/datepicker/esm2015/engine/flag-years-calendar.metadata.json +0 -1
  1374. package/datepicker/esm2015/engine/format-days-calendar.js +0 -33
  1375. package/datepicker/esm2015/engine/format-days-calendar.js.map +0 -1
  1376. package/datepicker/esm2015/engine/format-days-calendar.metadata.json +0 -1
  1377. package/datepicker/esm2015/engine/format-months-calendar.js +0 -23
  1378. package/datepicker/esm2015/engine/format-months-calendar.js.map +0 -1
  1379. package/datepicker/esm2015/engine/format-months-calendar.metadata.json +0 -1
  1380. package/datepicker/esm2015/engine/format-years-calendar.js +0 -39
  1381. package/datepicker/esm2015/engine/format-years-calendar.js.map +0 -1
  1382. package/datepicker/esm2015/engine/format-years-calendar.metadata.json +0 -1
  1383. package/datepicker/esm2015/engine/view-mode.js +0 -4
  1384. package/datepicker/esm2015/engine/view-mode.js.map +0 -1
  1385. package/datepicker/esm2015/engine/view-mode.metadata.json +0 -1
  1386. package/datepicker/esm2015/index.js +0 -2
  1387. package/datepicker/esm2015/index.js.map +0 -1
  1388. package/datepicker/esm2015/index.metadata.json +0 -1
  1389. package/datepicker/esm2015/models/index.js +0 -9
  1390. package/datepicker/esm2015/models/index.js.map +0 -1
  1391. package/datepicker/esm2015/models/index.metadata.json +0 -1
  1392. package/datepicker/esm2015/monthpicker.component.js +0 -91
  1393. package/datepicker/esm2015/monthpicker.component.js.map +0 -1
  1394. package/datepicker/esm2015/monthpicker.component.metadata.json +0 -1
  1395. package/datepicker/esm2015/monthpicker.component.ngfactory.js.map +0 -1
  1396. package/datepicker/esm2015/ngx-bootstrap-datepicker.js +0 -20
  1397. package/datepicker/esm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1398. package/datepicker/esm2015/ngx-bootstrap-datepicker.metadata.json +0 -1
  1399. package/datepicker/esm2015/public_api.js +0 -25
  1400. package/datepicker/esm2015/public_api.js.map +0 -1
  1401. package/datepicker/esm2015/public_api.metadata.json +0 -1
  1402. package/datepicker/esm2015/reducer/_defaults.js +0 -6
  1403. package/datepicker/esm2015/reducer/_defaults.js.map +0 -1
  1404. package/datepicker/esm2015/reducer/_defaults.metadata.json +0 -1
  1405. package/datepicker/esm2015/reducer/bs-datepicker.actions.js +0 -132
  1406. package/datepicker/esm2015/reducer/bs-datepicker.actions.js.map +0 -1
  1407. package/datepicker/esm2015/reducer/bs-datepicker.actions.metadata.json +0 -1
  1408. package/datepicker/esm2015/reducer/bs-datepicker.actions.ngfactory.js.map +0 -1
  1409. package/datepicker/esm2015/reducer/bs-datepicker.effects.js +0 -193
  1410. package/datepicker/esm2015/reducer/bs-datepicker.effects.js.map +0 -1
  1411. package/datepicker/esm2015/reducer/bs-datepicker.effects.metadata.json +0 -1
  1412. package/datepicker/esm2015/reducer/bs-datepicker.effects.ngfactory.js.map +0 -1
  1413. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +0 -351
  1414. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js.map +0 -1
  1415. package/datepicker/esm2015/reducer/bs-datepicker.reducer.metadata.json +0 -1
  1416. package/datepicker/esm2015/reducer/bs-datepicker.state.js +0 -17
  1417. package/datepicker/esm2015/reducer/bs-datepicker.state.js.map +0 -1
  1418. package/datepicker/esm2015/reducer/bs-datepicker.state.metadata.json +0 -1
  1419. package/datepicker/esm2015/reducer/bs-datepicker.store.js +0 -19
  1420. package/datepicker/esm2015/reducer/bs-datepicker.store.js.map +0 -1
  1421. package/datepicker/esm2015/reducer/bs-datepicker.store.metadata.json +0 -1
  1422. package/datepicker/esm2015/reducer/bs-datepicker.store.ngfactory.js.map +0 -1
  1423. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js +0 -25
  1424. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.js.map +0 -1
  1425. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.metadata.json +0 -1
  1426. package/datepicker/esm2015/themes/bs/bs-calendar-layout.component.ngfactory.js.map +0 -1
  1427. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js +0 -13
  1428. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.js.map +0 -1
  1429. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.metadata.json +0 -1
  1430. package/datepicker/esm2015/themes/bs/bs-current-date-view.component.ngfactory.js.map +0 -1
  1431. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +0 -33
  1432. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js.map +0 -1
  1433. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.metadata.json +0 -1
  1434. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.ngfactory.js.map +0 -1
  1435. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +0 -139
  1436. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js.map +0 -1
  1437. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.metadata.json +0 -1
  1438. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.ngfactory.js.map +0 -1
  1439. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js +0 -47
  1440. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.js.map +0 -1
  1441. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.metadata.json +0 -1
  1442. package/datepicker/esm2015/themes/bs/bs-datepicker-day-decorator.directive.ngfactory.js.map +0 -1
  1443. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +0 -36
  1444. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js.map +0 -1
  1445. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.metadata.json +0 -1
  1446. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.ngfactory.js.map +0 -1
  1447. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js +0 -63
  1448. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.js.map +0 -1
  1449. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.metadata.json +0 -1
  1450. package/datepicker/esm2015/themes/bs/bs-datepicker-navigation-view.component.ngfactory.js.map +0 -1
  1451. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +0 -194
  1452. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js.map +0 -1
  1453. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.metadata.json +0 -1
  1454. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.ngfactory.js.map +0 -1
  1455. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +0 -36
  1456. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js.map +0 -1
  1457. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.metadata.json +0 -1
  1458. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.ngfactory.js.map +0 -1
  1459. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js +0 -161
  1460. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.js.map +0 -1
  1461. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.metadata.json +0 -1
  1462. package/datepicker/esm2015/themes/bs/bs-days-calendar-view.component.ngfactory.js.map +0 -1
  1463. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js +0 -60
  1464. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.js.map +0 -1
  1465. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.metadata.json +0 -1
  1466. package/datepicker/esm2015/themes/bs/bs-months-calendar-view.component.ngfactory.js.map +0 -1
  1467. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js +0 -33
  1468. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.js.map +0 -1
  1469. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.metadata.json +0 -1
  1470. package/datepicker/esm2015/themes/bs/bs-timepicker-view.component.ngfactory.js.map +0 -1
  1471. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js +0 -61
  1472. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.js.map +0 -1
  1473. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.metadata.json +0 -1
  1474. package/datepicker/esm2015/themes/bs/bs-years-calendar-view.component.ngfactory.js.map +0 -1
  1475. package/datepicker/esm2015/utils/bs-calendar-utils.js +0 -90
  1476. package/datepicker/esm2015/utils/bs-calendar-utils.js.map +0 -1
  1477. package/datepicker/esm2015/utils/bs-calendar-utils.metadata.json +0 -1
  1478. package/datepicker/esm2015/utils/matrix-utils.js +0 -14
  1479. package/datepicker/esm2015/utils/matrix-utils.js.map +0 -1
  1480. package/datepicker/esm2015/utils/matrix-utils.metadata.json +0 -1
  1481. package/datepicker/esm2015/yearpicker.component.js +0 -101
  1482. package/datepicker/esm2015/yearpicker.component.js.map +0 -1
  1483. package/datepicker/esm2015/yearpicker.component.metadata.json +0 -1
  1484. package/datepicker/esm2015/yearpicker.component.ngfactory.js.map +0 -1
  1485. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +0 -4199
  1486. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +0 -1
  1487. package/datepicker/monthpicker.component.d.ts +0 -16
  1488. package/datepicker/monthpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1489. package/datepicker/monthpicker.component.d.ts.map +0 -1
  1490. package/datepicker/ngx-bootstrap-datepicker.d.ts.__ivy_ngcc_bak +0 -19
  1491. package/datepicker/ngx-bootstrap-datepicker.d.ts.map +0 -1
  1492. package/datepicker/ngx-bootstrap-datepicker.metadata.json +0 -1
  1493. package/datepicker/reducer/bs-datepicker.actions.d.ts.__ivy_ngcc_bak +0 -43
  1494. package/datepicker/reducer/bs-datepicker.actions.d.ts.map +0 -1
  1495. package/datepicker/reducer/bs-datepicker.effects.d.ts.__ivy_ngcc_bak +0 -38
  1496. package/datepicker/reducer/bs-datepicker.effects.d.ts.map +0 -1
  1497. package/datepicker/reducer/bs-datepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  1498. package/datepicker/reducer/bs-datepicker.store.d.ts.map +0 -1
  1499. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.__ivy_ngcc_bak +0 -2
  1500. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts.map +0 -1
  1501. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.__ivy_ngcc_bak +0 -3
  1502. package/datepicker/themes/bs/bs-current-date-view.component.d.ts.map +0 -1
  1503. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.__ivy_ngcc_bak +0 -12
  1504. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts.map +0 -1
  1505. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.__ivy_ngcc_bak +0 -30
  1506. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts.map +0 -1
  1507. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.__ivy_ngcc_bak +0 -11
  1508. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts.map +0 -1
  1509. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1510. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts.map +0 -1
  1511. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.__ivy_ngcc_bak +0 -9
  1512. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts.map +0 -1
  1513. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.__ivy_ngcc_bak +0 -34
  1514. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts.map +0 -1
  1515. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.__ivy_ngcc_bak +0 -10
  1516. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts.map +0 -1
  1517. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -23
  1518. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts.map +0 -1
  1519. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1520. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts.map +0 -1
  1521. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.__ivy_ngcc_bak +0 -5
  1522. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts.map +0 -1
  1523. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.__ivy_ngcc_bak +0 -13
  1524. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts.map +0 -1
  1525. package/datepicker/yearpicker.component.d.ts +0 -16
  1526. package/datepicker/yearpicker.component.d.ts.__ivy_ngcc_bak +0 -11
  1527. package/datepicker/yearpicker.component.d.ts.map +0 -1
  1528. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js +0 -630
  1529. package/dropdown/__ivy_ngcc__/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1530. package/dropdown/bs-dropdown-container.component.d.ts.__ivy_ngcc_bak +0 -17
  1531. package/dropdown/bs-dropdown-container.component.d.ts.map +0 -1
  1532. package/dropdown/bs-dropdown-menu.directive.d.ts.__ivy_ngcc_bak +0 -5
  1533. package/dropdown/bs-dropdown-menu.directive.d.ts.map +0 -1
  1534. package/dropdown/bs-dropdown-toggle.directive.d.ts.__ivy_ngcc_bak +0 -18
  1535. package/dropdown/bs-dropdown-toggle.directive.d.ts.map +0 -1
  1536. package/dropdown/bs-dropdown.config.d.ts.__ivy_ngcc_bak +0 -11
  1537. package/dropdown/bs-dropdown.config.d.ts.map +0 -1
  1538. package/dropdown/bs-dropdown.directive.d.ts.__ivy_ngcc_bak +0 -105
  1539. package/dropdown/bs-dropdown.directive.d.ts.map +0 -1
  1540. package/dropdown/bs-dropdown.module.d.ts.__ivy_ngcc_bak +0 -4
  1541. package/dropdown/bs-dropdown.module.d.ts.map +0 -1
  1542. package/dropdown/bs-dropdown.state.d.ts.__ivy_ngcc_bak +0 -19
  1543. package/dropdown/bs-dropdown.state.d.ts.map +0 -1
  1544. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js +0 -935
  1545. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +0 -1
  1546. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js +0 -16
  1547. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +0 -1
  1548. package/dropdown/esm2015/bs-dropdown-container.component.js +0 -74
  1549. package/dropdown/esm2015/bs-dropdown-container.component.js.map +0 -1
  1550. package/dropdown/esm2015/bs-dropdown-container.component.metadata.json +0 -1
  1551. package/dropdown/esm2015/bs-dropdown-menu.directive.js +0 -22
  1552. package/dropdown/esm2015/bs-dropdown-menu.directive.js.map +0 -1
  1553. package/dropdown/esm2015/bs-dropdown-menu.directive.metadata.json +0 -1
  1554. package/dropdown/esm2015/bs-dropdown-toggle.directive.js +0 -84
  1555. package/dropdown/esm2015/bs-dropdown-toggle.directive.js.map +0 -1
  1556. package/dropdown/esm2015/bs-dropdown-toggle.directive.metadata.json +0 -1
  1557. package/dropdown/esm2015/bs-dropdown.config.js +0 -22
  1558. package/dropdown/esm2015/bs-dropdown.config.js.map +0 -1
  1559. package/dropdown/esm2015/bs-dropdown.config.metadata.json +0 -1
  1560. package/dropdown/esm2015/bs-dropdown.directive.js +0 -304
  1561. package/dropdown/esm2015/bs-dropdown.directive.js.map +0 -1
  1562. package/dropdown/esm2015/bs-dropdown.directive.metadata.json +0 -1
  1563. package/dropdown/esm2015/bs-dropdown.module.js +0 -39
  1564. package/dropdown/esm2015/bs-dropdown.module.js.map +0 -1
  1565. package/dropdown/esm2015/bs-dropdown.module.metadata.json +0 -1
  1566. package/dropdown/esm2015/bs-dropdown.state.js +0 -21
  1567. package/dropdown/esm2015/bs-dropdown.state.js.map +0 -1
  1568. package/dropdown/esm2015/bs-dropdown.state.metadata.json +0 -1
  1569. package/dropdown/esm2015/dropdown-animations.js +0 -7
  1570. package/dropdown/esm2015/dropdown-animations.js.map +0 -1
  1571. package/dropdown/esm2015/dropdown-animations.metadata.json +0 -1
  1572. package/dropdown/esm2015/index.js +0 -2
  1573. package/dropdown/esm2015/index.js.map +0 -1
  1574. package/dropdown/esm2015/index.metadata.json +0 -1
  1575. package/dropdown/esm2015/ngx-bootstrap-dropdown.js +0 -5
  1576. package/dropdown/esm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1577. package/dropdown/esm2015/ngx-bootstrap-dropdown.metadata.json +0 -1
  1578. package/dropdown/esm2015/public_api.js +0 -8
  1579. package/dropdown/esm2015/public_api.js.map +0 -1
  1580. package/dropdown/esm2015/public_api.metadata.json +0 -1
  1581. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js +0 -555
  1582. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +0 -1
  1583. package/dropdown/ngx-bootstrap-dropdown.d.ts.__ivy_ngcc_bak +0 -4
  1584. package/dropdown/ngx-bootstrap-dropdown.d.ts.map +0 -1
  1585. package/dropdown/ngx-bootstrap-dropdown.metadata.json +0 -1
  1586. package/esm2015/index.js +0 -2
  1587. package/esm2015/index.js.map +0 -1
  1588. package/esm2015/ngx-bootstrap.js +0 -5
  1589. package/esm2015/ngx-bootstrap.js.map +0 -1
  1590. package/esm2015/ngx-bootstrap.metadata.json +0 -1
  1591. package/fesm2015/ngx-bootstrap.js +0 -6
  1592. package/fesm2015/ngx-bootstrap.js.map +0 -1
  1593. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js +0 -822
  1594. package/focus-trap/__ivy_ngcc__/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1595. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js +0 -831
  1596. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.js.map +0 -1
  1597. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js +0 -32
  1598. package/focus-trap/bundles/ngx-bootstrap-focus-trap.umd.min.js.map +0 -1
  1599. package/focus-trap/esm2015/boolean-property.js +0 -12
  1600. package/focus-trap/esm2015/boolean-property.js.map +0 -1
  1601. package/focus-trap/esm2015/boolean-property.metadata.json +0 -1
  1602. package/focus-trap/esm2015/focus-trap-manager.js +0 -52
  1603. package/focus-trap/esm2015/focus-trap-manager.js.map +0 -1
  1604. package/focus-trap/esm2015/focus-trap-manager.metadata.json +0 -1
  1605. package/focus-trap/esm2015/focus-trap.js +0 -397
  1606. package/focus-trap/esm2015/focus-trap.js.map +0 -1
  1607. package/focus-trap/esm2015/focus-trap.metadata.json +0 -1
  1608. package/focus-trap/esm2015/focus-trap.module.js +0 -26
  1609. package/focus-trap/esm2015/focus-trap.module.js.map +0 -1
  1610. package/focus-trap/esm2015/focus-trap.module.metadata.json +0 -1
  1611. package/focus-trap/esm2015/index.js +0 -2
  1612. package/focus-trap/esm2015/index.js.map +0 -1
  1613. package/focus-trap/esm2015/index.metadata.json +0 -1
  1614. package/focus-trap/esm2015/interactivity-checker.js +0 -242
  1615. package/focus-trap/esm2015/interactivity-checker.js.map +0 -1
  1616. package/focus-trap/esm2015/interactivity-checker.metadata.json +0 -1
  1617. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js +0 -9
  1618. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1619. package/focus-trap/esm2015/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1620. package/focus-trap/esm2015/platform.js +0 -78
  1621. package/focus-trap/esm2015/platform.js.map +0 -1
  1622. package/focus-trap/esm2015/platform.metadata.json +0 -1
  1623. package/focus-trap/esm2015/public_api.js +0 -4
  1624. package/focus-trap/esm2015/public_api.js.map +0 -1
  1625. package/focus-trap/esm2015/public_api.metadata.json +0 -1
  1626. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js +0 -790
  1627. package/focus-trap/fesm2015/ngx-bootstrap-focus-trap.js.map +0 -1
  1628. package/focus-trap/focus-trap-manager.d.ts.__ivy_ngcc_bak +0 -30
  1629. package/focus-trap/focus-trap-manager.d.ts.map +0 -1
  1630. package/focus-trap/focus-trap.d.ts.__ivy_ngcc_bak +0 -157
  1631. package/focus-trap/focus-trap.d.ts.map +0 -1
  1632. package/focus-trap/focus-trap.module.d.ts.__ivy_ngcc_bak +0 -4
  1633. package/focus-trap/focus-trap.module.d.ts.map +0 -1
  1634. package/focus-trap/interactivity-checker.d.ts.__ivy_ngcc_bak +0 -57
  1635. package/focus-trap/interactivity-checker.d.ts.map +0 -1
  1636. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.__ivy_ngcc_bak +0 -8
  1637. package/focus-trap/ngx-bootstrap-focus-trap.d.ts.map +0 -1
  1638. package/focus-trap/ngx-bootstrap-focus-trap.metadata.json +0 -1
  1639. package/focus-trap/platform.d.ts.__ivy_ngcc_bak +0 -33
  1640. package/focus-trap/platform.d.ts.map +0 -1
  1641. package/locale/bundles/ngx-bootstrap-locale.umd.js +0 -279
  1642. package/locale/bundles/ngx-bootstrap-locale.umd.js.map +0 -1
  1643. package/locale/bundles/ngx-bootstrap-locale.umd.min.js +0 -2
  1644. package/locale/bundles/ngx-bootstrap-locale.umd.min.js.map +0 -1
  1645. package/locale/esm2015/index.js +0 -2
  1646. package/locale/esm2015/index.js.map +0 -1
  1647. package/locale/esm2015/index.metadata.json +0 -1
  1648. package/locale/esm2015/ngx-bootstrap-locale.js +0 -5
  1649. package/locale/esm2015/ngx-bootstrap-locale.js.map +0 -1
  1650. package/locale/esm2015/ngx-bootstrap-locale.metadata.json +0 -1
  1651. package/locale/esm2015/public_api.js +0 -45
  1652. package/locale/esm2015/public_api.js.map +0 -1
  1653. package/locale/esm2015/public_api.metadata.json +0 -1
  1654. package/locale/fesm2015/ngx-bootstrap-locale.js +0 -6
  1655. package/locale/fesm2015/ngx-bootstrap-locale.js.map +0 -1
  1656. package/locale/ngx-bootstrap-locale.d.ts.__ivy_ngcc_bak +0 -4
  1657. package/locale/ngx-bootstrap-locale.d.ts.map +0 -1
  1658. package/locale/ngx-bootstrap-locale.metadata.json +0 -1
  1659. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -62
  1660. package/mini-ngrx/__ivy_ngcc__/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1661. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js +0 -381
  1662. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.js.map +0 -1
  1663. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js +0 -16
  1664. package/mini-ngrx/bundles/ngx-bootstrap-mini-ngrx.umd.min.js.map +0 -1
  1665. package/mini-ngrx/esm2015/index.js +0 -2
  1666. package/mini-ngrx/esm2015/index.js.map +0 -1
  1667. package/mini-ngrx/esm2015/index.metadata.json +0 -1
  1668. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js +0 -5
  1669. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1670. package/mini-ngrx/esm2015/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1671. package/mini-ngrx/esm2015/public_api.js +0 -3
  1672. package/mini-ngrx/esm2015/public_api.js.map +0 -1
  1673. package/mini-ngrx/esm2015/public_api.metadata.json +0 -1
  1674. package/mini-ngrx/esm2015/state.class.js +0 -16
  1675. package/mini-ngrx/esm2015/state.class.js.map +0 -1
  1676. package/mini-ngrx/esm2015/state.class.metadata.json +0 -1
  1677. package/mini-ngrx/esm2015/store.class.js +0 -40
  1678. package/mini-ngrx/esm2015/store.class.js.map +0 -1
  1679. package/mini-ngrx/esm2015/store.class.metadata.json +0 -1
  1680. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js +0 -61
  1681. package/mini-ngrx/fesm2015/ngx-bootstrap-mini-ngrx.js.map +0 -1
  1682. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.__ivy_ngcc_bak +0 -4
  1683. package/mini-ngrx/ngx-bootstrap-mini-ngrx.d.ts.map +0 -1
  1684. package/mini-ngrx/ngx-bootstrap-mini-ngrx.metadata.json +0 -1
  1685. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js +0 -931
  1686. package/modal/__ivy_ngcc__/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1687. package/modal/bs-modal-ref.service.d.ts.__ivy_ngcc_bak +0 -27
  1688. package/modal/bs-modal-ref.service.d.ts.map +0 -1
  1689. package/modal/bs-modal.service.d.ts.__ivy_ngcc_bak +0 -45
  1690. package/modal/bs-modal.service.d.ts.map +0 -1
  1691. package/modal/bundles/ngx-bootstrap-modal.umd.js +0 -1212
  1692. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +0 -1
  1693. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +0 -2
  1694. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +0 -1
  1695. package/modal/esm2015/bs-modal-ref.service.js +0 -18
  1696. package/modal/esm2015/bs-modal-ref.service.js.map +0 -1
  1697. package/modal/esm2015/bs-modal-ref.service.metadata.json +0 -1
  1698. package/modal/esm2015/bs-modal.service.js +0 -213
  1699. package/modal/esm2015/bs-modal.service.js.map +0 -1
  1700. package/modal/esm2015/bs-modal.service.metadata.json +0 -1
  1701. package/modal/esm2015/index.js +0 -2
  1702. package/modal/esm2015/index.js.map +0 -1
  1703. package/modal/esm2015/index.metadata.json +0 -1
  1704. package/modal/esm2015/modal-backdrop.component.js +0 -58
  1705. package/modal/esm2015/modal-backdrop.component.js.map +0 -1
  1706. package/modal/esm2015/modal-backdrop.component.metadata.json +0 -1
  1707. package/modal/esm2015/modal-backdrop.options.js +0 -7
  1708. package/modal/esm2015/modal-backdrop.options.js.map +0 -1
  1709. package/modal/esm2015/modal-backdrop.options.metadata.json +0 -1
  1710. package/modal/esm2015/modal-container.component.js +0 -135
  1711. package/modal/esm2015/modal-container.component.js.map +0 -1
  1712. package/modal/esm2015/modal-container.component.metadata.json +0 -1
  1713. package/modal/esm2015/modal-options.class.js +0 -42
  1714. package/modal/esm2015/modal-options.class.js.map +0 -1
  1715. package/modal/esm2015/modal-options.class.metadata.json +0 -1
  1716. package/modal/esm2015/modal.directive.js +0 -354
  1717. package/modal/esm2015/modal.directive.js.map +0 -1
  1718. package/modal/esm2015/modal.directive.metadata.json +0 -1
  1719. package/modal/esm2015/modal.module.js +0 -36
  1720. package/modal/esm2015/modal.module.js.map +0 -1
  1721. package/modal/esm2015/modal.module.metadata.json +0 -1
  1722. package/modal/esm2015/models/index.js +0 -2
  1723. package/modal/esm2015/models/index.js.map +0 -1
  1724. package/modal/esm2015/models/index.metadata.json +0 -1
  1725. package/modal/esm2015/ngx-bootstrap-modal.js +0 -6
  1726. package/modal/esm2015/ngx-bootstrap-modal.js.map +0 -1
  1727. package/modal/esm2015/ngx-bootstrap-modal.metadata.json +0 -1
  1728. package/modal/esm2015/public_api.js +0 -9
  1729. package/modal/esm2015/public_api.js.map +0 -1
  1730. package/modal/esm2015/public_api.metadata.json +0 -1
  1731. package/modal/fesm2015/ngx-bootstrap-modal.js +0 -846
  1732. package/modal/fesm2015/ngx-bootstrap-modal.js.map +0 -1
  1733. package/modal/modal-backdrop.component.d.ts.__ivy_ngcc_bak +0 -14
  1734. package/modal/modal-backdrop.component.d.ts.map +0 -1
  1735. package/modal/modal-container.component.d.ts.__ivy_ngcc_bak +0 -23
  1736. package/modal/modal-container.component.d.ts.map +0 -1
  1737. package/modal/modal-options.class.d.ts.__ivy_ngcc_bak +0 -60
  1738. package/modal/modal-options.class.d.ts.map +0 -1
  1739. package/modal/modal.directive.d.ts.__ivy_ngcc_bak +0 -86
  1740. package/modal/modal.directive.d.ts.map +0 -1
  1741. package/modal/modal.module.d.ts.__ivy_ngcc_bak +0 -7
  1742. package/modal/modal.module.d.ts.map +0 -1
  1743. package/modal/ngx-bootstrap-modal.d.ts.__ivy_ngcc_bak +0 -5
  1744. package/modal/ngx-bootstrap-modal.d.ts.map +0 -1
  1745. package/modal/ngx-bootstrap-modal.metadata.json +0 -1
  1746. package/ngx-bootstrap.metadata.json +0 -1
  1747. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js +0 -787
  1748. package/pagination/__ivy_ngcc__/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1749. package/pagination/bundles/ngx-bootstrap-pagination.umd.js +0 -587
  1750. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +0 -1
  1751. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js +0 -2
  1752. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +0 -1
  1753. package/pagination/esm2015/index.js +0 -2
  1754. package/pagination/esm2015/index.js.map +0 -1
  1755. package/pagination/esm2015/index.metadata.json +0 -1
  1756. package/pagination/esm2015/models/index.js +0 -2
  1757. package/pagination/esm2015/models/index.js.map +0 -1
  1758. package/pagination/esm2015/models/index.metadata.json +0 -1
  1759. package/pagination/esm2015/ngx-bootstrap-pagination.js +0 -7
  1760. package/pagination/esm2015/ngx-bootstrap-pagination.js.map +0 -1
  1761. package/pagination/esm2015/ngx-bootstrap-pagination.metadata.json +0 -1
  1762. package/pagination/esm2015/pager.component.js +0 -247
  1763. package/pagination/esm2015/pager.component.js.map +0 -1
  1764. package/pagination/esm2015/pager.component.metadata.json +0 -1
  1765. package/pagination/esm2015/pagination.component.js +0 -243
  1766. package/pagination/esm2015/pagination.component.js.map +0 -1
  1767. package/pagination/esm2015/pagination.component.metadata.json +0 -1
  1768. package/pagination/esm2015/pagination.config.js +0 -33
  1769. package/pagination/esm2015/pagination.config.js.map +0 -1
  1770. package/pagination/esm2015/pagination.config.metadata.json +0 -1
  1771. package/pagination/esm2015/pagination.module.js +0 -17
  1772. package/pagination/esm2015/pagination.module.js.map +0 -1
  1773. package/pagination/esm2015/pagination.module.metadata.json +0 -1
  1774. package/pagination/esm2015/public_api.js +0 -5
  1775. package/pagination/esm2015/public_api.js.map +0 -1
  1776. package/pagination/esm2015/public_api.metadata.json +0 -1
  1777. package/pagination/fesm2015/ngx-bootstrap-pagination.js +0 -538
  1778. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +0 -1
  1779. package/pagination/ngx-bootstrap-pagination.d.ts.__ivy_ngcc_bak +0 -6
  1780. package/pagination/ngx-bootstrap-pagination.d.ts.map +0 -1
  1781. package/pagination/ngx-bootstrap-pagination.metadata.json +0 -1
  1782. package/pagination/pager.component.d.ts.__ivy_ngcc_bak +0 -75
  1783. package/pagination/pager.component.d.ts.map +0 -1
  1784. package/pagination/pagination.component.d.ts.__ivy_ngcc_bak +0 -88
  1785. package/pagination/pagination.component.d.ts.map +0 -1
  1786. package/pagination/pagination.config.d.ts.__ivy_ngcc_bak +0 -6
  1787. package/pagination/pagination.config.d.ts.map +0 -1
  1788. package/pagination/pagination.module.d.ts.__ivy_ngcc_bak +0 -4
  1789. package/pagination/pagination.module.d.ts.map +0 -1
  1790. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js +0 -419
  1791. package/popover/__ivy_ngcc__/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1792. package/popover/bundles/ngx-bootstrap-popover.umd.js +0 -354
  1793. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +0 -1
  1794. package/popover/bundles/ngx-bootstrap-popover.umd.min.js +0 -2
  1795. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +0 -1
  1796. package/popover/esm2015/index.js +0 -2
  1797. package/popover/esm2015/index.js.map +0 -1
  1798. package/popover/esm2015/index.metadata.json +0 -1
  1799. package/popover/esm2015/ngx-bootstrap-popover.js +0 -5
  1800. package/popover/esm2015/ngx-bootstrap-popover.js.map +0 -1
  1801. package/popover/esm2015/ngx-bootstrap-popover.metadata.json +0 -1
  1802. package/popover/esm2015/popover-container.component.js +0 -69
  1803. package/popover/esm2015/popover-container.component.js.map +0 -1
  1804. package/popover/esm2015/popover-container.component.metadata.json +0 -1
  1805. package/popover/esm2015/popover.config.js +0 -33
  1806. package/popover/esm2015/popover.config.js.map +0 -1
  1807. package/popover/esm2015/popover.config.metadata.json +0 -1
  1808. package/popover/esm2015/popover.directive.js +0 -228
  1809. package/popover/esm2015/popover.directive.js.map +0 -1
  1810. package/popover/esm2015/popover.directive.metadata.json +0 -1
  1811. package/popover/esm2015/popover.module.js +0 -23
  1812. package/popover/esm2015/popover.module.js.map +0 -1
  1813. package/popover/esm2015/popover.module.metadata.json +0 -1
  1814. package/popover/esm2015/public_api.js +0 -5
  1815. package/popover/esm2015/public_api.js.map +0 -1
  1816. package/popover/esm2015/public_api.metadata.json +0 -1
  1817. package/popover/fesm2015/ngx-bootstrap-popover.js +0 -347
  1818. package/popover/fesm2015/ngx-bootstrap-popover.js.map +0 -1
  1819. package/popover/ngx-bootstrap-popover.d.ts.__ivy_ngcc_bak +0 -4
  1820. package/popover/ngx-bootstrap-popover.d.ts.map +0 -1
  1821. package/popover/ngx-bootstrap-popover.metadata.json +0 -1
  1822. package/popover/popover-container.component.d.ts.__ivy_ngcc_bak +0 -13
  1823. package/popover/popover-container.component.d.ts.map +0 -1
  1824. package/popover/popover.config.d.ts.__ivy_ngcc_bak +0 -26
  1825. package/popover/popover.config.d.ts.map +0 -1
  1826. package/popover/popover.directive.d.ts.__ivy_ngcc_bak +0 -94
  1827. package/popover/popover.directive.d.ts.map +0 -1
  1828. package/popover/popover.module.d.ts.__ivy_ngcc_bak +0 -4
  1829. package/popover/popover.module.d.ts.map +0 -1
  1830. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js +0 -1080
  1831. package/positioning/__ivy_ngcc__/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1832. package/positioning/bundles/ngx-bootstrap-positioning.umd.js +0 -1108
  1833. package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +0 -1
  1834. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +0 -2
  1835. package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +0 -1
  1836. package/positioning/esm2015/index.js +0 -2
  1837. package/positioning/esm2015/index.js.map +0 -1
  1838. package/positioning/esm2015/index.metadata.json +0 -1
  1839. package/positioning/esm2015/models/index.js +0 -53
  1840. package/positioning/esm2015/models/index.js.map +0 -1
  1841. package/positioning/esm2015/models/index.metadata.json +0 -1
  1842. package/positioning/esm2015/modifiers/arrow.js +0 -57
  1843. package/positioning/esm2015/modifiers/arrow.js.map +0 -1
  1844. package/positioning/esm2015/modifiers/arrow.metadata.json +0 -1
  1845. package/positioning/esm2015/modifiers/flip.js +0 -60
  1846. package/positioning/esm2015/modifiers/flip.js.map +0 -1
  1847. package/positioning/esm2015/modifiers/flip.metadata.json +0 -1
  1848. package/positioning/esm2015/modifiers/index.js +0 -6
  1849. package/positioning/esm2015/modifiers/index.js.map +0 -1
  1850. package/positioning/esm2015/modifiers/index.metadata.json +0 -1
  1851. package/positioning/esm2015/modifiers/initData.js +0 -44
  1852. package/positioning/esm2015/modifiers/initData.js.map +0 -1
  1853. package/positioning/esm2015/modifiers/initData.metadata.json +0 -1
  1854. package/positioning/esm2015/modifiers/preventOverflow.js +0 -55
  1855. package/positioning/esm2015/modifiers/preventOverflow.js.map +0 -1
  1856. package/positioning/esm2015/modifiers/preventOverflow.metadata.json +0 -1
  1857. package/positioning/esm2015/modifiers/shift.js +0 -23
  1858. package/positioning/esm2015/modifiers/shift.js.map +0 -1
  1859. package/positioning/esm2015/modifiers/shift.metadata.json +0 -1
  1860. package/positioning/esm2015/ng-positioning.js +0 -39
  1861. package/positioning/esm2015/ng-positioning.js.map +0 -1
  1862. package/positioning/esm2015/ng-positioning.metadata.json +0 -1
  1863. package/positioning/esm2015/ngx-bootstrap-positioning.js +0 -5
  1864. package/positioning/esm2015/ngx-bootstrap-positioning.js.map +0 -1
  1865. package/positioning/esm2015/ngx-bootstrap-positioning.metadata.json +0 -1
  1866. package/positioning/esm2015/positioning.service.js +0 -71
  1867. package/positioning/esm2015/positioning.service.js.map +0 -1
  1868. package/positioning/esm2015/positioning.service.metadata.json +0 -1
  1869. package/positioning/esm2015/positioning.service.ngfactory.js.map +0 -1
  1870. package/positioning/esm2015/public_api.js +0 -5
  1871. package/positioning/esm2015/public_api.js.map +0 -1
  1872. package/positioning/esm2015/public_api.metadata.json +0 -1
  1873. package/positioning/esm2015/utils/checkMargin.js +0 -32
  1874. package/positioning/esm2015/utils/checkMargin.js.map +0 -1
  1875. package/positioning/esm2015/utils/checkMargin.metadata.json +0 -1
  1876. package/positioning/esm2015/utils/computeAutoPlacement.js +0 -56
  1877. package/positioning/esm2015/utils/computeAutoPlacement.js.map +0 -1
  1878. package/positioning/esm2015/utils/computeAutoPlacement.metadata.json +0 -1
  1879. package/positioning/esm2015/utils/findCommonOffsetParent.js +0 -40
  1880. package/positioning/esm2015/utils/findCommonOffsetParent.js.map +0 -1
  1881. package/positioning/esm2015/utils/findCommonOffsetParent.metadata.json +0 -1
  1882. package/positioning/esm2015/utils/getBordersSize.js +0 -10
  1883. package/positioning/esm2015/utils/getBordersSize.js.map +0 -1
  1884. package/positioning/esm2015/utils/getBordersSize.metadata.json +0 -1
  1885. package/positioning/esm2015/utils/getBoundaries.js +0 -70
  1886. package/positioning/esm2015/utils/getBoundaries.js.map +0 -1
  1887. package/positioning/esm2015/utils/getBoundaries.metadata.json +0 -1
  1888. package/positioning/esm2015/utils/getBoundingClientRect.js +0 -59
  1889. package/positioning/esm2015/utils/getBoundingClientRect.js.map +0 -1
  1890. package/positioning/esm2015/utils/getBoundingClientRect.metadata.json +0 -1
  1891. package/positioning/esm2015/utils/getClientRect.js +0 -4
  1892. package/positioning/esm2015/utils/getClientRect.js.map +0 -1
  1893. package/positioning/esm2015/utils/getClientRect.metadata.json +0 -1
  1894. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +0 -17
  1895. package/positioning/esm2015/utils/getFixedPositionOffsetParent.js.map +0 -1
  1896. package/positioning/esm2015/utils/getFixedPositionOffsetParent.metadata.json +0 -1
  1897. package/positioning/esm2015/utils/getOffsetParent.js +0 -34
  1898. package/positioning/esm2015/utils/getOffsetParent.js.map +0 -1
  1899. package/positioning/esm2015/utils/getOffsetParent.metadata.json +0 -1
  1900. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +0 -61
  1901. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js.map +0 -1
  1902. package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.metadata.json +0 -1
  1903. package/positioning/esm2015/utils/getOffsets.js +0 -12
  1904. package/positioning/esm2015/utils/getOffsets.js.map +0 -1
  1905. package/positioning/esm2015/utils/getOffsets.metadata.json +0 -1
  1906. package/positioning/esm2015/utils/getOppositePlacement.js +0 -8
  1907. package/positioning/esm2015/utils/getOppositePlacement.js.map +0 -1
  1908. package/positioning/esm2015/utils/getOppositePlacement.metadata.json +0 -1
  1909. package/positioning/esm2015/utils/getOppositeVariation.js +0 -13
  1910. package/positioning/esm2015/utils/getOppositeVariation.js.map +0 -1
  1911. package/positioning/esm2015/utils/getOppositeVariation.metadata.json +0 -1
  1912. package/positioning/esm2015/utils/getOuterSizes.js +0 -14
  1913. package/positioning/esm2015/utils/getOuterSizes.js.map +0 -1
  1914. package/positioning/esm2015/utils/getOuterSizes.metadata.json +0 -1
  1915. package/positioning/esm2015/utils/getParentNode.js +0 -12
  1916. package/positioning/esm2015/utils/getParentNode.js.map +0 -1
  1917. package/positioning/esm2015/utils/getParentNode.metadata.json +0 -1
  1918. package/positioning/esm2015/utils/getReferenceOffsets.js +0 -13
  1919. package/positioning/esm2015/utils/getReferenceOffsets.js.map +0 -1
  1920. package/positioning/esm2015/utils/getReferenceOffsets.metadata.json +0 -1
  1921. package/positioning/esm2015/utils/getRoot.js +0 -10
  1922. package/positioning/esm2015/utils/getRoot.js.map +0 -1
  1923. package/positioning/esm2015/utils/getRoot.metadata.json +0 -1
  1924. package/positioning/esm2015/utils/getScroll.js +0 -14
  1925. package/positioning/esm2015/utils/getScroll.js.map +0 -1
  1926. package/positioning/esm2015/utils/getScroll.metadata.json +0 -1
  1927. package/positioning/esm2015/utils/getScrollParent.js +0 -28
  1928. package/positioning/esm2015/utils/getScrollParent.js.map +0 -1
  1929. package/positioning/esm2015/utils/getScrollParent.metadata.json +0 -1
  1930. package/positioning/esm2015/utils/getStyleComputedProperty.js +0 -12
  1931. package/positioning/esm2015/utils/getStyleComputedProperty.js.map +0 -1
  1932. package/positioning/esm2015/utils/getStyleComputedProperty.metadata.json +0 -1
  1933. package/positioning/esm2015/utils/getTargetOffsets.js +0 -31
  1934. package/positioning/esm2015/utils/getTargetOffsets.js.map +0 -1
  1935. package/positioning/esm2015/utils/getTargetOffsets.metadata.json +0 -1
  1936. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +0 -19
  1937. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js.map +0 -1
  1938. package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.metadata.json +0 -1
  1939. package/positioning/esm2015/utils/getWindowSizes.js +0 -21
  1940. package/positioning/esm2015/utils/getWindowSizes.js.map +0 -1
  1941. package/positioning/esm2015/utils/getWindowSizes.metadata.json +0 -1
  1942. package/positioning/esm2015/utils/includeScroll.js +0 -24
  1943. package/positioning/esm2015/utils/includeScroll.js.map +0 -1
  1944. package/positioning/esm2015/utils/includeScroll.metadata.json +0 -1
  1945. package/positioning/esm2015/utils/index.js +0 -24
  1946. package/positioning/esm2015/utils/index.js.map +0 -1
  1947. package/positioning/esm2015/utils/index.metadata.json +0 -1
  1948. package/positioning/esm2015/utils/isBrowser.js +0 -2
  1949. package/positioning/esm2015/utils/isBrowser.js.map +0 -1
  1950. package/positioning/esm2015/utils/isBrowser.metadata.json +0 -1
  1951. package/positioning/esm2015/utils/isFixed.js +0 -16
  1952. package/positioning/esm2015/utils/isFixed.js.map +0 -1
  1953. package/positioning/esm2015/utils/isFixed.metadata.json +0 -1
  1954. package/positioning/esm2015/utils/isIE.js +0 -18
  1955. package/positioning/esm2015/utils/isIE.js.map +0 -1
  1956. package/positioning/esm2015/utils/isIE.metadata.json +0 -1
  1957. package/positioning/esm2015/utils/isModifierEnabled.js +0 -5
  1958. package/positioning/esm2015/utils/isModifierEnabled.js.map +0 -1
  1959. package/positioning/esm2015/utils/isModifierEnabled.metadata.json +0 -1
  1960. package/positioning/esm2015/utils/isNumeric.js +0 -11
  1961. package/positioning/esm2015/utils/isNumeric.js.map +0 -1
  1962. package/positioning/esm2015/utils/isNumeric.metadata.json +0 -1
  1963. package/positioning/esm2015/utils/isOffsetContainer.js +0 -11
  1964. package/positioning/esm2015/utils/isOffsetContainer.js.map +0 -1
  1965. package/positioning/esm2015/utils/isOffsetContainer.metadata.json +0 -1
  1966. package/positioning/esm2015/utils/setStyles.js +0 -21
  1967. package/positioning/esm2015/utils/setStyles.js.map +0 -1
  1968. package/positioning/esm2015/utils/setStyles.metadata.json +0 -1
  1969. package/positioning/esm2015/utils/updateContainerClass.js +0 -30
  1970. package/positioning/esm2015/utils/updateContainerClass.js.map +0 -1
  1971. package/positioning/esm2015/utils/updateContainerClass.metadata.json +0 -1
  1972. package/positioning/fesm2015/ngx-bootstrap-positioning.js +0 -1073
  1973. package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +0 -1
  1974. package/positioning/ngx-bootstrap-positioning.d.ts.__ivy_ngcc_bak +0 -4
  1975. package/positioning/ngx-bootstrap-positioning.d.ts.map +0 -1
  1976. package/positioning/ngx-bootstrap-positioning.metadata.json +0 -1
  1977. package/positioning/positioning.service.d.ts.__ivy_ngcc_bak +0 -45
  1978. package/positioning/positioning.service.d.ts.map +0 -1
  1979. package/positioning/utils/isBrowser.d.ts +0 -1
  1980. package/positioning/utils/isIE.d.ts +0 -1
  1981. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js +0 -256
  1982. package/progressbar/__ivy_ngcc__/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1983. package/progressbar/bar.component.d.ts.__ivy_ngcc_bak +0 -22
  1984. package/progressbar/bar.component.d.ts.map +0 -1
  1985. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +0 -191
  1986. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +0 -1
  1987. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +0 -2
  1988. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +0 -1
  1989. package/progressbar/esm2015/bar.component.js +0 -81
  1990. package/progressbar/esm2015/bar.component.js.map +0 -1
  1991. package/progressbar/esm2015/bar.component.metadata.json +0 -1
  1992. package/progressbar/esm2015/index.js +0 -2
  1993. package/progressbar/esm2015/index.js.map +0 -1
  1994. package/progressbar/esm2015/index.metadata.json +0 -1
  1995. package/progressbar/esm2015/ngx-bootstrap-progressbar.js +0 -5
  1996. package/progressbar/esm2015/ngx-bootstrap-progressbar.js.map +0 -1
  1997. package/progressbar/esm2015/ngx-bootstrap-progressbar.metadata.json +0 -1
  1998. package/progressbar/esm2015/progressbar-type.interface.js +0 -2
  1999. package/progressbar/esm2015/progressbar-type.interface.js.map +0 -1
  2000. package/progressbar/esm2015/progressbar-type.interface.metadata.json +0 -1
  2001. package/progressbar/esm2015/progressbar.component.js +0 -57
  2002. package/progressbar/esm2015/progressbar.component.js.map +0 -1
  2003. package/progressbar/esm2015/progressbar.component.metadata.json +0 -1
  2004. package/progressbar/esm2015/progressbar.config.js +0 -17
  2005. package/progressbar/esm2015/progressbar.config.js.map +0 -1
  2006. package/progressbar/esm2015/progressbar.config.metadata.json +0 -1
  2007. package/progressbar/esm2015/progressbar.module.js +0 -17
  2008. package/progressbar/esm2015/progressbar.module.js.map +0 -1
  2009. package/progressbar/esm2015/progressbar.module.metadata.json +0 -1
  2010. package/progressbar/esm2015/public_api.js +0 -5
  2011. package/progressbar/esm2015/public_api.js.map +0 -1
  2012. package/progressbar/esm2015/public_api.metadata.json +0 -1
  2013. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +0 -172
  2014. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +0 -1
  2015. package/progressbar/ngx-bootstrap-progressbar.d.ts.__ivy_ngcc_bak +0 -4
  2016. package/progressbar/ngx-bootstrap-progressbar.d.ts.map +0 -1
  2017. package/progressbar/ngx-bootstrap-progressbar.metadata.json +0 -1
  2018. package/progressbar/progressbar.component.d.ts.__ivy_ngcc_bak +0 -20
  2019. package/progressbar/progressbar.component.d.ts.map +0 -1
  2020. package/progressbar/progressbar.config.d.ts.__ivy_ngcc_bak +0 -6
  2021. package/progressbar/progressbar.config.d.ts.map +0 -1
  2022. package/progressbar/progressbar.module.d.ts.__ivy_ngcc_bak +0 -4
  2023. package/progressbar/progressbar.module.d.ts.map +0 -1
  2024. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js +0 -227
  2025. package/rating/__ivy_ngcc__/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2026. package/rating/bundles/ngx-bootstrap-rating.umd.js +0 -169
  2027. package/rating/bundles/ngx-bootstrap-rating.umd.js.map +0 -1
  2028. package/rating/bundles/ngx-bootstrap-rating.umd.min.js +0 -2
  2029. package/rating/bundles/ngx-bootstrap-rating.umd.min.js.map +0 -1
  2030. package/rating/esm2015/index.js +0 -2
  2031. package/rating/esm2015/index.js.map +0 -1
  2032. package/rating/esm2015/index.metadata.json +0 -1
  2033. package/rating/esm2015/models/index.js +0 -2
  2034. package/rating/esm2015/models/index.js.map +0 -1
  2035. package/rating/esm2015/models/index.metadata.json +0 -1
  2036. package/rating/esm2015/ngx-bootstrap-rating.js +0 -6
  2037. package/rating/esm2015/ngx-bootstrap-rating.js.map +0 -1
  2038. package/rating/esm2015/ngx-bootstrap-rating.metadata.json +0 -1
  2039. package/rating/esm2015/public_api.js +0 -4
  2040. package/rating/esm2015/public_api.js.map +0 -1
  2041. package/rating/esm2015/public_api.metadata.json +0 -1
  2042. package/rating/esm2015/rating.component.js +0 -118
  2043. package/rating/esm2015/rating.component.js.map +0 -1
  2044. package/rating/esm2015/rating.component.metadata.json +0 -1
  2045. package/rating/esm2015/rating.config.js +0 -16
  2046. package/rating/esm2015/rating.config.js.map +0 -1
  2047. package/rating/esm2015/rating.config.metadata.json +0 -1
  2048. package/rating/esm2015/rating.module.js +0 -19
  2049. package/rating/esm2015/rating.module.js.map +0 -1
  2050. package/rating/esm2015/rating.module.metadata.json +0 -1
  2051. package/rating/fesm2015/ngx-bootstrap-rating.js +0 -155
  2052. package/rating/fesm2015/ngx-bootstrap-rating.js.map +0 -1
  2053. package/rating/ngx-bootstrap-rating.d.ts.__ivy_ngcc_bak +0 -5
  2054. package/rating/ngx-bootstrap-rating.d.ts.map +0 -1
  2055. package/rating/ngx-bootstrap-rating.metadata.json +0 -1
  2056. package/rating/rating.component.d.ts.__ivy_ngcc_bak +0 -37
  2057. package/rating/rating.component.d.ts.map +0 -1
  2058. package/rating/rating.config.d.ts.__ivy_ngcc_bak +0 -5
  2059. package/rating/rating.config.d.ts.map +0 -1
  2060. package/rating/rating.module.d.ts.__ivy_ngcc_bak +0 -4
  2061. package/rating/rating.module.d.ts.map +0 -1
  2062. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js +0 -361
  2063. package/sortable/__ivy_ngcc__/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2064. package/sortable/bundles/ngx-bootstrap-sortable.umd.js +0 -558
  2065. package/sortable/bundles/ngx-bootstrap-sortable.umd.js.map +0 -1
  2066. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js +0 -16
  2067. package/sortable/bundles/ngx-bootstrap-sortable.umd.min.js.map +0 -1
  2068. package/sortable/draggable-item.service.d.ts.__ivy_ngcc_bak +0 -10
  2069. package/sortable/draggable-item.service.d.ts.map +0 -1
  2070. package/sortable/esm2015/draggable-item.js +0 -2
  2071. package/sortable/esm2015/draggable-item.js.map +0 -1
  2072. package/sortable/esm2015/draggable-item.metadata.json +0 -1
  2073. package/sortable/esm2015/draggable-item.service.js +0 -32
  2074. package/sortable/esm2015/draggable-item.service.js.map +0 -1
  2075. package/sortable/esm2015/draggable-item.service.metadata.json +0 -1
  2076. package/sortable/esm2015/index.js +0 -2
  2077. package/sortable/esm2015/index.js.map +0 -1
  2078. package/sortable/esm2015/index.metadata.json +0 -1
  2079. package/sortable/esm2015/ngx-bootstrap-sortable.js +0 -5
  2080. package/sortable/esm2015/ngx-bootstrap-sortable.js.map +0 -1
  2081. package/sortable/esm2015/ngx-bootstrap-sortable.metadata.json +0 -1
  2082. package/sortable/esm2015/public_api.js +0 -4
  2083. package/sortable/esm2015/public_api.js.map +0 -1
  2084. package/sortable/esm2015/public_api.metadata.json +0 -1
  2085. package/sortable/esm2015/sortable.component.js +0 -217
  2086. package/sortable/esm2015/sortable.component.js.map +0 -1
  2087. package/sortable/esm2015/sortable.component.metadata.json +0 -1
  2088. package/sortable/esm2015/sortable.module.js +0 -17
  2089. package/sortable/esm2015/sortable.module.js.map +0 -1
  2090. package/sortable/esm2015/sortable.module.metadata.json +0 -1
  2091. package/sortable/fesm2015/ngx-bootstrap-sortable.js +0 -268
  2092. package/sortable/fesm2015/ngx-bootstrap-sortable.js.map +0 -1
  2093. package/sortable/ngx-bootstrap-sortable.d.ts.__ivy_ngcc_bak +0 -4
  2094. package/sortable/ngx-bootstrap-sortable.d.ts.map +0 -1
  2095. package/sortable/ngx-bootstrap-sortable.metadata.json +0 -1
  2096. package/sortable/sortable.component.d.ts.__ivy_ngcc_bak +0 -59
  2097. package/sortable/sortable.component.d.ts.map +0 -1
  2098. package/sortable/sortable.module.d.ts.__ivy_ngcc_bak +0 -4
  2099. package/sortable/sortable.module.d.ts.map +0 -1
  2100. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js +0 -521
  2101. package/tabs/__ivy_ngcc__/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2102. package/tabs/bundles/ngx-bootstrap-tabs.umd.js +0 -458
  2103. package/tabs/bundles/ngx-bootstrap-tabs.umd.js.map +0 -1
  2104. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js +0 -2
  2105. package/tabs/bundles/ngx-bootstrap-tabs.umd.min.js.map +0 -1
  2106. package/tabs/esm2015/index.js +0 -2
  2107. package/tabs/esm2015/index.js.map +0 -1
  2108. package/tabs/esm2015/index.metadata.json +0 -1
  2109. package/tabs/esm2015/ng-transclude.directive.js +0 -28
  2110. package/tabs/esm2015/ng-transclude.directive.js.map +0 -1
  2111. package/tabs/esm2015/ng-transclude.directive.metadata.json +0 -1
  2112. package/tabs/esm2015/ngx-bootstrap-tabs.js +0 -5
  2113. package/tabs/esm2015/ngx-bootstrap-tabs.js.map +0 -1
  2114. package/tabs/esm2015/ngx-bootstrap-tabs.metadata.json +0 -1
  2115. package/tabs/esm2015/public_api.js +0 -7
  2116. package/tabs/esm2015/public_api.js.map +0 -1
  2117. package/tabs/esm2015/public_api.metadata.json +0 -1
  2118. package/tabs/esm2015/tab-heading.directive.js +0 -17
  2119. package/tabs/esm2015/tab-heading.directive.js.map +0 -1
  2120. package/tabs/esm2015/tab-heading.directive.metadata.json +0 -1
  2121. package/tabs/esm2015/tab.directive.js +0 -96
  2122. package/tabs/esm2015/tab.directive.js.map +0 -1
  2123. package/tabs/esm2015/tab.directive.metadata.json +0 -1
  2124. package/tabs/esm2015/tabs.module.js +0 -32
  2125. package/tabs/esm2015/tabs.module.js.map +0 -1
  2126. package/tabs/esm2015/tabs.module.metadata.json +0 -1
  2127. package/tabs/esm2015/tabset.component.js +0 -215
  2128. package/tabs/esm2015/tabset.component.js.map +0 -1
  2129. package/tabs/esm2015/tabset.component.metadata.json +0 -1
  2130. package/tabs/esm2015/tabset.config.js +0 -19
  2131. package/tabs/esm2015/tabset.config.js.map +0 -1
  2132. package/tabs/esm2015/tabset.config.metadata.json +0 -1
  2133. package/tabs/fesm2015/ngx-bootstrap-tabs.js +0 -401
  2134. package/tabs/fesm2015/ngx-bootstrap-tabs.js.map +0 -1
  2135. package/tabs/ng-transclude.directive.d.ts.__ivy_ngcc_bak +0 -8
  2136. package/tabs/ng-transclude.directive.d.ts.map +0 -1
  2137. package/tabs/ngx-bootstrap-tabs.d.ts.__ivy_ngcc_bak +0 -4
  2138. package/tabs/ngx-bootstrap-tabs.d.ts.map +0 -1
  2139. package/tabs/ngx-bootstrap-tabs.metadata.json +0 -1
  2140. package/tabs/tab-heading.directive.d.ts.__ivy_ngcc_bak +0 -7
  2141. package/tabs/tab-heading.directive.d.ts.map +0 -1
  2142. package/tabs/tab.directive.d.ts.__ivy_ngcc_bak +0 -36
  2143. package/tabs/tab.directive.d.ts.map +0 -1
  2144. package/tabs/tabs.module.d.ts.__ivy_ngcc_bak +0 -4
  2145. package/tabs/tabs.module.d.ts.map +0 -1
  2146. package/tabs/tabset.component.d.ts.__ivy_ngcc_bak +0 -41
  2147. package/tabs/tabset.component.d.ts.map +0 -1
  2148. package/tabs/tabset.config.d.ts.__ivy_ngcc_bak +0 -8
  2149. package/tabs/tabset.config.d.ts.map +0 -1
  2150. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js +0 -1110
  2151. package/timepicker/__ivy_ngcc__/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2152. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +0 -1129
  2153. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +0 -1
  2154. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js +0 -17
  2155. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +0 -1
  2156. package/timepicker/esm2015/index.js +0 -2
  2157. package/timepicker/esm2015/index.js.map +0 -1
  2158. package/timepicker/esm2015/index.metadata.json +0 -1
  2159. package/timepicker/esm2015/models/index.js +0 -2
  2160. package/timepicker/esm2015/models/index.js.map +0 -1
  2161. package/timepicker/esm2015/models/index.metadata.json +0 -1
  2162. package/timepicker/esm2015/ngx-bootstrap-timepicker.js +0 -6
  2163. package/timepicker/esm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2164. package/timepicker/esm2015/ngx-bootstrap-timepicker.metadata.json +0 -1
  2165. package/timepicker/esm2015/public_api.js +0 -6
  2166. package/timepicker/esm2015/public_api.js.map +0 -1
  2167. package/timepicker/esm2015/public_api.metadata.json +0 -1
  2168. package/timepicker/esm2015/reducer/timepicker.actions.js +0 -49
  2169. package/timepicker/esm2015/reducer/timepicker.actions.js.map +0 -1
  2170. package/timepicker/esm2015/reducer/timepicker.actions.metadata.json +0 -1
  2171. package/timepicker/esm2015/reducer/timepicker.reducer.js +0 -83
  2172. package/timepicker/esm2015/reducer/timepicker.reducer.js.map +0 -1
  2173. package/timepicker/esm2015/reducer/timepicker.reducer.metadata.json +0 -1
  2174. package/timepicker/esm2015/reducer/timepicker.store.js +0 -18
  2175. package/timepicker/esm2015/reducer/timepicker.store.js.map +0 -1
  2176. package/timepicker/esm2015/reducer/timepicker.store.metadata.json +0 -1
  2177. package/timepicker/esm2015/timepicker-controls.util.js +0 -123
  2178. package/timepicker/esm2015/timepicker-controls.util.js.map +0 -1
  2179. package/timepicker/esm2015/timepicker-controls.util.metadata.json +0 -1
  2180. package/timepicker/esm2015/timepicker.component.js +0 -328
  2181. package/timepicker/esm2015/timepicker.component.js.map +0 -1
  2182. package/timepicker/esm2015/timepicker.component.metadata.json +0 -1
  2183. package/timepicker/esm2015/timepicker.config.js +0 -50
  2184. package/timepicker/esm2015/timepicker.config.js.map +0 -1
  2185. package/timepicker/esm2015/timepicker.config.metadata.json +0 -1
  2186. package/timepicker/esm2015/timepicker.models.js +0 -2
  2187. package/timepicker/esm2015/timepicker.models.js.map +0 -1
  2188. package/timepicker/esm2015/timepicker.models.metadata.json +0 -1
  2189. package/timepicker/esm2015/timepicker.module.js +0 -21
  2190. package/timepicker/esm2015/timepicker.module.js.map +0 -1
  2191. package/timepicker/esm2015/timepicker.module.metadata.json +0 -1
  2192. package/timepicker/esm2015/timepicker.utils.js +0 -149
  2193. package/timepicker/esm2015/timepicker.utils.js.map +0 -1
  2194. package/timepicker/esm2015/timepicker.utils.metadata.json +0 -1
  2195. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +0 -809
  2196. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +0 -1
  2197. package/timepicker/ngx-bootstrap-timepicker.d.ts.__ivy_ngcc_bak +0 -5
  2198. package/timepicker/ngx-bootstrap-timepicker.d.ts.map +0 -1
  2199. package/timepicker/ngx-bootstrap-timepicker.metadata.json +0 -1
  2200. package/timepicker/reducer/timepicker.actions.d.ts.__ivy_ngcc_bak +0 -25
  2201. package/timepicker/reducer/timepicker.actions.d.ts.map +0 -1
  2202. package/timepicker/reducer/timepicker.store.d.ts.__ivy_ngcc_bak +0 -5
  2203. package/timepicker/reducer/timepicker.store.d.ts.map +0 -1
  2204. package/timepicker/timepicker.component.d.ts.__ivy_ngcc_bak +0 -111
  2205. package/timepicker/timepicker.component.d.ts.map +0 -1
  2206. package/timepicker/timepicker.config.d.ts.__ivy_ngcc_bak +0 -43
  2207. package/timepicker/timepicker.config.d.ts.map +0 -1
  2208. package/timepicker/timepicker.module.d.ts.__ivy_ngcc_bak +0 -4
  2209. package/timepicker/timepicker.module.d.ts.map +0 -1
  2210. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js +0 -506
  2211. package/tooltip/__ivy_ngcc__/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2212. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +0 -766
  2213. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +0 -1
  2214. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +0 -2
  2215. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +0 -1
  2216. package/tooltip/esm2015/index.js +0 -2
  2217. package/tooltip/esm2015/index.js.map +0 -1
  2218. package/tooltip/esm2015/index.metadata.json +0 -1
  2219. package/tooltip/esm2015/ngx-bootstrap-tooltip.js +0 -5
  2220. package/tooltip/esm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2221. package/tooltip/esm2015/ngx-bootstrap-tooltip.metadata.json +0 -1
  2222. package/tooltip/esm2015/public_api.js +0 -5
  2223. package/tooltip/esm2015/public_api.js.map +0 -1
  2224. package/tooltip/esm2015/public_api.metadata.json +0 -1
  2225. package/tooltip/esm2015/tooltip-container.component.js +0 -69
  2226. package/tooltip/esm2015/tooltip-container.component.js.map +0 -1
  2227. package/tooltip/esm2015/tooltip-container.component.metadata.json +0 -1
  2228. package/tooltip/esm2015/tooltip.config.js +0 -20
  2229. package/tooltip/esm2015/tooltip.config.js.map +0 -1
  2230. package/tooltip/esm2015/tooltip.config.metadata.json +0 -1
  2231. package/tooltip/esm2015/tooltip.directive.js +0 -313
  2232. package/tooltip/esm2015/tooltip.directive.js.map +0 -1
  2233. package/tooltip/esm2015/tooltip.directive.metadata.json +0 -1
  2234. package/tooltip/esm2015/tooltip.module.js +0 -23
  2235. package/tooltip/esm2015/tooltip.module.js.map +0 -1
  2236. package/tooltip/esm2015/tooltip.module.metadata.json +0 -1
  2237. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +0 -419
  2238. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +0 -1
  2239. package/tooltip/ngx-bootstrap-tooltip.d.ts.__ivy_ngcc_bak +0 -4
  2240. package/tooltip/ngx-bootstrap-tooltip.d.ts.map +0 -1
  2241. package/tooltip/ngx-bootstrap-tooltip.metadata.json +0 -1
  2242. package/tooltip/tooltip-container.component.d.ts.__ivy_ngcc_bak +0 -15
  2243. package/tooltip/tooltip-container.component.d.ts.map +0 -1
  2244. package/tooltip/tooltip.config.d.ts.__ivy_ngcc_bak +0 -13
  2245. package/tooltip/tooltip.config.d.ts.map +0 -1
  2246. package/tooltip/tooltip.directive.d.ts.__ivy_ngcc_bak +0 -110
  2247. package/tooltip/tooltip.directive.d.ts.map +0 -1
  2248. package/tooltip/tooltip.module.d.ts.__ivy_ngcc_bak +0 -4
  2249. package/tooltip/tooltip.module.d.ts.map +0 -1
  2250. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js +0 -2091
  2251. package/typeahead/__ivy_ngcc__/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2252. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +0 -2248
  2253. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +0 -1
  2254. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +0 -2
  2255. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +0 -1
  2256. package/typeahead/esm2015/index.js +0 -2
  2257. package/typeahead/esm2015/index.js.map +0 -1
  2258. package/typeahead/esm2015/index.metadata.json +0 -1
  2259. package/typeahead/esm2015/latin-map.js +0 -827
  2260. package/typeahead/esm2015/latin-map.js.map +0 -1
  2261. package/typeahead/esm2015/latin-map.metadata.json +0 -1
  2262. package/typeahead/esm2015/models/index.js +0 -2
  2263. package/typeahead/esm2015/models/index.js.map +0 -1
  2264. package/typeahead/esm2015/models/index.metadata.json +0 -1
  2265. package/typeahead/esm2015/ngx-bootstrap-typeahead.js +0 -6
  2266. package/typeahead/esm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2267. package/typeahead/esm2015/ngx-bootstrap-typeahead.metadata.json +0 -1
  2268. package/typeahead/esm2015/public_api.js +0 -9
  2269. package/typeahead/esm2015/public_api.js.map +0 -1
  2270. package/typeahead/esm2015/public_api.metadata.json +0 -1
  2271. package/typeahead/esm2015/typeahead-animations.js +0 -16
  2272. package/typeahead/esm2015/typeahead-animations.js.map +0 -1
  2273. package/typeahead/esm2015/typeahead-animations.metadata.json +0 -1
  2274. package/typeahead/esm2015/typeahead-container.component.js +0 -326
  2275. package/typeahead/esm2015/typeahead-container.component.js.map +0 -1
  2276. package/typeahead/esm2015/typeahead-container.component.metadata.json +0 -1
  2277. package/typeahead/esm2015/typeahead-match.class.js +0 -15
  2278. package/typeahead/esm2015/typeahead-match.class.js.map +0 -1
  2279. package/typeahead/esm2015/typeahead-match.class.metadata.json +0 -1
  2280. package/typeahead/esm2015/typeahead-options.class.js +0 -8
  2281. package/typeahead/esm2015/typeahead-options.class.js.map +0 -1
  2282. package/typeahead/esm2015/typeahead-options.class.metadata.json +0 -1
  2283. package/typeahead/esm2015/typeahead-order.class.js +0 -2
  2284. package/typeahead/esm2015/typeahead-order.class.js.map +0 -1
  2285. package/typeahead/esm2015/typeahead-order.class.metadata.json +0 -1
  2286. package/typeahead/esm2015/typeahead-utils.js +0 -77
  2287. package/typeahead/esm2015/typeahead-utils.js.map +0 -1
  2288. package/typeahead/esm2015/typeahead-utils.metadata.json +0 -1
  2289. package/typeahead/esm2015/typeahead.config.js +0 -28
  2290. package/typeahead/esm2015/typeahead.config.js.map +0 -1
  2291. package/typeahead/esm2015/typeahead.config.metadata.json +0 -1
  2292. package/typeahead/esm2015/typeahead.directive.js +0 -535
  2293. package/typeahead/esm2015/typeahead.directive.js.map +0 -1
  2294. package/typeahead/esm2015/typeahead.directive.metadata.json +0 -1
  2295. package/typeahead/esm2015/typeahead.module.js +0 -23
  2296. package/typeahead/esm2015/typeahead.module.js.map +0 -1
  2297. package/typeahead/esm2015/typeahead.module.metadata.json +0 -1
  2298. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +0 -1846
  2299. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +0 -1
  2300. package/typeahead/ngx-bootstrap-typeahead.d.ts.__ivy_ngcc_bak +0 -5
  2301. package/typeahead/ngx-bootstrap-typeahead.d.ts.map +0 -1
  2302. package/typeahead/ngx-bootstrap-typeahead.metadata.json +0 -1
  2303. package/typeahead/typeahead-container.component.d.ts.__ivy_ngcc_bak +0 -63
  2304. package/typeahead/typeahead-container.component.d.ts.map +0 -1
  2305. package/typeahead/typeahead.config.d.ts.__ivy_ngcc_bak +0 -19
  2306. package/typeahead/typeahead.config.d.ts.map +0 -1
  2307. package/typeahead/typeahead.directive.d.ts.__ivy_ngcc_bak +0 -172
  2308. package/typeahead/typeahead.directive.d.ts.map +0 -1
  2309. package/typeahead/typeahead.module.d.ts.__ivy_ngcc_bak +0 -4
  2310. package/typeahead/typeahead.module.d.ts.map +0 -1
  2311. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js +0 -548
  2312. package/utils/__ivy_ngcc__/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2313. package/utils/bundles/ngx-bootstrap-utils.umd.js +0 -589
  2314. package/utils/bundles/ngx-bootstrap-utils.umd.js.map +0 -1
  2315. package/utils/bundles/ngx-bootstrap-utils.umd.min.js +0 -10
  2316. package/utils/bundles/ngx-bootstrap-utils.umd.min.js.map +0 -1
  2317. package/utils/esm2015/decorators.js +0 -23
  2318. package/utils/esm2015/decorators.js.map +0 -1
  2319. package/utils/esm2015/decorators.metadata.json +0 -1
  2320. package/utils/esm2015/facade/browser.js +0 -26
  2321. package/utils/esm2015/facade/browser.js.map +0 -1
  2322. package/utils/esm2015/facade/browser.metadata.json +0 -1
  2323. package/utils/esm2015/index.js +0 -2
  2324. package/utils/esm2015/index.js.map +0 -1
  2325. package/utils/esm2015/index.metadata.json +0 -1
  2326. package/utils/esm2015/linked-list.class.js +0 -249
  2327. package/utils/esm2015/linked-list.class.js.map +0 -1
  2328. package/utils/esm2015/linked-list.class.metadata.json +0 -1
  2329. package/utils/esm2015/ngx-bootstrap-utils.js +0 -6
  2330. package/utils/esm2015/ngx-bootstrap-utils.js.map +0 -1
  2331. package/utils/esm2015/ngx-bootstrap-utils.metadata.json +0 -1
  2332. package/utils/esm2015/public_api.js +0 -10
  2333. package/utils/esm2015/public_api.js.map +0 -1
  2334. package/utils/esm2015/public_api.metadata.json +0 -1
  2335. package/utils/esm2015/theme-provider.js +0 -74
  2336. package/utils/esm2015/theme-provider.js.map +0 -1
  2337. package/utils/esm2015/theme-provider.metadata.json +0 -1
  2338. package/utils/esm2015/trigger.class.js +0 -14
  2339. package/utils/esm2015/trigger.class.js.map +0 -1
  2340. package/utils/esm2015/trigger.class.metadata.json +0 -1
  2341. package/utils/esm2015/triggers.js +0 -118
  2342. package/utils/esm2015/triggers.js.map +0 -1
  2343. package/utils/esm2015/triggers.metadata.json +0 -1
  2344. package/utils/esm2015/utils.class.js +0 -30
  2345. package/utils/esm2015/utils.class.js.map +0 -1
  2346. package/utils/esm2015/utils.class.metadata.json +0 -1
  2347. package/utils/esm2015/warn-once.js +0 -11
  2348. package/utils/esm2015/warn-once.js.map +0 -1
  2349. package/utils/esm2015/warn-once.metadata.json +0 -1
  2350. package/utils/fesm2015/ngx-bootstrap-utils.js +0 -547
  2351. package/utils/fesm2015/ngx-bootstrap-utils.js.map +0 -1
  2352. package/utils/ngx-bootstrap-utils.d.ts.__ivy_ngcc_bak +0 -5
  2353. package/utils/ngx-bootstrap-utils.d.ts.map +0 -1
  2354. package/utils/ngx-bootstrap-utils.metadata.json +0 -1
@@ -0,0 +1,708 @@
1
+ import { add, subtract } from '../index';
2
+ import { getDate, getFullYear, getHours, getMilliseconds, getMinutes, getMonth, getSeconds } from '../utils/date-getters';
3
+ import { setDate, setFullYear, setHours, setMilliseconds, setMinutes, setMonth, setSeconds } from '../utils/date-setters';
4
+ import { cloneDate } from '../create/clone';
5
+ import { isArray, isBoolean, isDate, isDateValid, isFunction, isNumber, isObject, isString, isUndefined } from '../utils/type-checks';
6
+ import { formatDate } from '../format';
7
+ import { ISO_8601, RFC_2822 } from '../create/from-string-and-format';
8
+ import { getDateOffset, getUTCOffset, hasAlignedHourOffset, isDaylightSavingTime, setOffsetToParsedOffset, setUTCOffset } from '../units/offset';
9
+ import { isLeapYear, parseTwoDigitYear } from '../units/year';
10
+ import { isAfter, isBefore, isBetween, isSame, isSameOrAfter, isSameOrBefore } from '../utils/date-compare';
11
+ import { daysInMonth } from '../units/month';
12
+ import { getDayOfWeek, getISODayOfWeek, getLocaleDayOfWeek, parseWeekday, setDayOfWeek, setISODayOfWeek, setLocaleDayOfWeek } from '../units/day-of-week';
13
+ import { getISOWeek, getWeek, setISOWeek, setWeek } from '../units/week';
14
+ import { getISOWeeksInYear, getISOWeekYear, getSetISOWeekYear, getSetWeekYear, getWeeksInYear, getWeekYear } from '../units/week-year';
15
+ import { endOf, startOf } from '../utils/start-end-of';
16
+ import { getQuarter, setQuarter } from '../units/quarter';
17
+ import { getDayOfYear, setDayOfYear } from '../units/day-of-year';
18
+ import { getZoneAbbr, getZoneName } from '../units/timezone';
19
+ import { diff } from '../moment/diff';
20
+ import { calendar } from '../moment/calendar';
21
+ import { defineLocale, getLocale, getSetGlobalLocale, listLocales } from '../locale/locales';
22
+ import { max, min } from '../moment/min-max';
23
+ import { isDuration } from '../duration/constructor';
24
+ import { createLocalOrUTC } from '../create/from-anything';
25
+ import { createDuration } from '../duration/create';
26
+ export const moment = _moment;
27
+ function _moment(input, format, localeKey, strict, isUTC) {
28
+ if (input instanceof Khronos) {
29
+ const _date = input.clone();
30
+ return isUTC ? _date.utc() : _date;
31
+ }
32
+ if (isBoolean(localeKey)) {
33
+ return new Khronos(input, format, null, localeKey, isUTC);
34
+ }
35
+ return new Khronos(input, format, localeKey, strict, isUTC);
36
+ }
37
+ moment.utc = (input, format, localeKey, strict) => {
38
+ return _moment(input, format, localeKey, strict, true);
39
+ };
40
+ moment.parseZone = (input, format, localeKey, strict) => {
41
+ return _moment(input, format, localeKey, strict, true).parseZone();
42
+ };
43
+ moment.locale = getSetGlobalLocale;
44
+ moment.localeData = (key) => {
45
+ if (key instanceof Khronos) {
46
+ return key.localeData();
47
+ }
48
+ return getLocale(key);
49
+ };
50
+ // moment.utc = createUTC;
51
+ moment.unix = (inp) => new Khronos(inp * 1000);
52
+ moment.ISO_8601 = ISO_8601;
53
+ moment.RFC_2822 = RFC_2822;
54
+ moment.defineLocale = defineLocale;
55
+ moment.parseTwoDigitYear = parseTwoDigitYear;
56
+ moment.isDate = isDate;
57
+ moment.invalid = function _invalid() {
58
+ return new Khronos(new Date(NaN));
59
+ };
60
+ // duration(inp?: Duration | DateInput | Khronos, unit?: MomentUnitOfTime): Duration;
61
+ moment.duration = (input, unit) => {
62
+ const _unit = mapUnitOfTime(unit);
63
+ if (isDate(input)) {
64
+ throw new Error('todo implement');
65
+ }
66
+ if (input == null) {
67
+ return createDuration();
68
+ }
69
+ if (isDuration(input)) {
70
+ return createDuration(input, _unit, { _locale: input._locale });
71
+ }
72
+ if (isString(input) || isNumber(input) || isDuration(input) || isObject(input)) {
73
+ return createDuration(input, _unit);
74
+ }
75
+ throw new Error('todo implement');
76
+ };
77
+ moment.min = function _min(...dates) {
78
+ const _firstArg = dates[0];
79
+ const _dates = (isArray(_firstArg) ? _firstArg : dates)
80
+ .map((date) => _moment(date))
81
+ .map(date => date.toDate());
82
+ const _date = min(..._dates);
83
+ return new Khronos(_date);
84
+ };
85
+ moment.max = function _max(...dates) {
86
+ const _firstArg = dates[0];
87
+ const _dates = (isArray(_firstArg) ? _firstArg : dates)
88
+ .map((date) => _moment(date))
89
+ .map(date => date.toDate());
90
+ const _date = max(..._dates);
91
+ return new Khronos(_date);
92
+ };
93
+ moment.locales = () => {
94
+ return listLocales();
95
+ };
96
+ const _unitsPriority = {
97
+ year: 1,
98
+ month: 8,
99
+ week: 5,
100
+ isoWeek: 5,
101
+ day: 11,
102
+ weekday: 11,
103
+ isoWeekday: 11,
104
+ hours: 13,
105
+ weekYear: 1,
106
+ isoWeekYear: 1,
107
+ quarter: 7,
108
+ date: 9,
109
+ dayOfYear: 4,
110
+ minutes: 14,
111
+ seconds: 15,
112
+ milliseconds: 16
113
+ };
114
+ // todo: do I need 2 mappers?
115
+ const _timeHashMap = {
116
+ y: 'year',
117
+ years: 'year',
118
+ year: 'year',
119
+ M: 'month',
120
+ months: 'month',
121
+ month: 'month',
122
+ w: 'week',
123
+ weeks: 'week',
124
+ week: 'week',
125
+ d: 'day',
126
+ days: 'day',
127
+ day: 'day',
128
+ date: 'date',
129
+ dates: 'date',
130
+ D: 'date',
131
+ h: 'hours',
132
+ hour: 'hours',
133
+ hours: 'hours',
134
+ m: 'minutes',
135
+ minute: 'minutes',
136
+ minutes: 'minutes',
137
+ s: 'seconds',
138
+ second: 'seconds',
139
+ seconds: 'seconds',
140
+ ms: 'milliseconds',
141
+ millisecond: 'milliseconds',
142
+ milliseconds: 'milliseconds',
143
+ quarter: 'quarter',
144
+ quarters: 'quarter',
145
+ q: 'quarter',
146
+ Q: 'quarter',
147
+ isoWeek: 'isoWeek',
148
+ isoWeeks: 'isoWeek',
149
+ W: 'isoWeek',
150
+ weekYear: 'weekYear',
151
+ weekYears: 'weekYear',
152
+ gg: 'weekYears',
153
+ isoWeekYear: 'isoWeekYear',
154
+ isoWeekYears: 'isoWeekYear',
155
+ GG: 'isoWeekYear',
156
+ dayOfYear: 'dayOfYear',
157
+ dayOfYears: 'dayOfYear',
158
+ DDD: 'dayOfYear',
159
+ weekday: 'weekday',
160
+ weekdays: 'weekday',
161
+ e: 'weekday',
162
+ isoWeekday: 'isoWeekday',
163
+ isoWeekdays: 'isoWeekday',
164
+ E: 'isoWeekday'
165
+ };
166
+ function mapUnitOfTime(period) {
167
+ return _timeHashMap[period];
168
+ }
169
+ function mapMomentInputObject(obj) {
170
+ const _res = {};
171
+ return Object.keys(obj)
172
+ .reduce((res, key) => {
173
+ res[mapUnitOfTime(key)] = obj[key];
174
+ return res;
175
+ }, _res);
176
+ }
177
+ export class Khronos {
178
+ constructor(input, format, localeKey, strict = false, isUTC = false, offset) {
179
+ this._date = new Date();
180
+ this._isUTC = false;
181
+ // locale will be needed to format invalid date message
182
+ this._locale = getLocale(localeKey);
183
+ // parse invalid input
184
+ if (input === '' || input === null || (isNumber(input) && isNaN(input))) {
185
+ this._date = new Date(NaN);
186
+ return this;
187
+ }
188
+ this._isUTC = isUTC;
189
+ if (this._isUTC) {
190
+ this._offset = 0;
191
+ }
192
+ if (offset || offset === 0) {
193
+ this._offset = offset;
194
+ }
195
+ this._isStrict = strict;
196
+ this._format = format;
197
+ if (!input && input !== 0 && !format) {
198
+ this._date = new Date();
199
+ return this;
200
+ }
201
+ if (isDate(input)) {
202
+ this._date = cloneDate(input);
203
+ return this;
204
+ }
205
+ // this._date = parseDate(input, format, localeKey, strict, isUTC);
206
+ const config = createLocalOrUTC(input, format, localeKey, strict, isUTC);
207
+ this._date = config._d;
208
+ this._offset = isNumber(config._offset) ? config._offset : this._offset;
209
+ this._isUTC = config._isUTC;
210
+ this._isStrict = config._strict;
211
+ this._format = config._f;
212
+ this._tzm = config._tzm;
213
+ }
214
+ _toConfig() {
215
+ return { _isUTC: this._isUTC, _locale: this._locale, _offset: this._offset, _tzm: this._tzm };
216
+ }
217
+ locale(localeKey) {
218
+ if (isUndefined(localeKey)) {
219
+ return this._locale._abbr;
220
+ }
221
+ if (localeKey instanceof Khronos) {
222
+ this._locale = localeKey._locale;
223
+ return this;
224
+ }
225
+ const newLocaleData = getLocale(localeKey);
226
+ if (newLocaleData != null) {
227
+ this._locale = newLocaleData;
228
+ }
229
+ return this;
230
+ }
231
+ localeData() {
232
+ return this._locale;
233
+ }
234
+ // Basic
235
+ add(val, period) {
236
+ if (isString(val)) {
237
+ this._date = add(this._date, parseInt(val, 10), mapUnitOfTime(period));
238
+ }
239
+ if (isNumber(val)) {
240
+ this._date = add(this._date, val, mapUnitOfTime(period));
241
+ }
242
+ if (isObject(val)) {
243
+ const _mapped = mapMomentInputObject(val);
244
+ Object.keys(_mapped)
245
+ .forEach((key) => add(this._date, _mapped[key], key));
246
+ }
247
+ return this;
248
+ }
249
+ // fixme: for some reason here 'null' for time is fine
250
+ calendar(time, formats) {
251
+ const _time = time instanceof Khronos ? time : new Khronos(time || new Date());
252
+ const _offset = (this._offset || 0) - (_time._offset || 0);
253
+ const _config = Object.assign(this._toConfig(), { _offset });
254
+ return calendar(this._date, _time._date, formats, this._locale, _config);
255
+ }
256
+ clone() {
257
+ const localeKey = this._locale && this._locale._abbr || 'en';
258
+ // return new Khronos(cloneDate(this._date), this._format, localeKey, this._isStrict, this._isUTC);
259
+ // fails if isUTC and offset
260
+ // return new Khronos(new Date(this.valueOf()),
261
+ return new Khronos(this._date, this._format, localeKey, this._isStrict, this._isUTC, this._offset);
262
+ }
263
+ diff(b, unitOfTime, precise) {
264
+ const unit = mapUnitOfTime(unitOfTime);
265
+ const _b = b instanceof Khronos ? b : new Khronos(b);
266
+ // const zoneDelta = (_b.utcOffset() - this.utcOffset());
267
+ // const config = Object.assign(this._toConfig(), {
268
+ // _offset: 0,
269
+ // _isUTC: true,
270
+ // _zoneDelta: zoneDelta
271
+ // });
272
+ // return diff(new Date(this.valueOf()), new Date(_b.valueOf()), unit, precise, config);
273
+ return diff(this._date, _b.toDate(), unit, precise, this._toConfig());
274
+ }
275
+ endOf(period) {
276
+ const _per = mapUnitOfTime(period);
277
+ this._date = endOf(this._date, _per, this._isUTC);
278
+ return this;
279
+ }
280
+ format(format) {
281
+ return formatDate(this._date, format, this._locale && this._locale._abbr, this._isUTC, this._offset);
282
+ }
283
+ // todo: implement
284
+ from(time, withoutSuffix) {
285
+ const _time = _moment(time);
286
+ if (this.isValid() && _time.isValid()) {
287
+ return createDuration({ to: this.toDate(), from: _time.toDate() })
288
+ .locale(this.locale())
289
+ .humanize(!withoutSuffix);
290
+ }
291
+ return this.localeData().invalidDate;
292
+ }
293
+ fromNow(withoutSuffix) {
294
+ return this.from(new Date(), withoutSuffix);
295
+ }
296
+ to(inp, suffix) {
297
+ throw new Error(`TODO: Implement`);
298
+ }
299
+ toNow(withoutPrefix) {
300
+ throw new Error(`TODO: Implement`);
301
+ }
302
+ subtract(val, period) {
303
+ if (isString(val)) {
304
+ this._date = subtract(this._date, parseInt(val, 10), mapUnitOfTime(period));
305
+ return this;
306
+ }
307
+ if (isNumber(val)) {
308
+ this._date = subtract(this._date, val, mapUnitOfTime(period));
309
+ }
310
+ if (isObject(val)) {
311
+ const _mapped = mapMomentInputObject(val);
312
+ Object.keys(_mapped)
313
+ .forEach((key) => subtract(this._date, _mapped[key], key));
314
+ }
315
+ return this;
316
+ }
317
+ get(period) {
318
+ if (period === 'dayOfYear') {
319
+ return this.dayOfYear();
320
+ }
321
+ const unit = mapUnitOfTime(period);
322
+ switch (unit) {
323
+ case 'year':
324
+ return this.year();
325
+ case 'month':
326
+ return this.month();
327
+ // | 'week'
328
+ case 'date':
329
+ return this.date();
330
+ case 'day':
331
+ return this.day();
332
+ case 'hours':
333
+ return this.hours();
334
+ case 'minutes':
335
+ return this.minutes();
336
+ case 'seconds':
337
+ return this.seconds();
338
+ case 'milliseconds':
339
+ return this.milliseconds();
340
+ case 'week':
341
+ return this.week();
342
+ case 'isoWeek':
343
+ return this.isoWeek();
344
+ case 'weekYear':
345
+ return this.weekYear();
346
+ case 'isoWeekYear':
347
+ return this.isoWeekYear();
348
+ case 'weekday':
349
+ return this.weekday();
350
+ case 'isoWeekday':
351
+ return this.isoWeekday();
352
+ case 'quarter':
353
+ return this.quarter();
354
+ default:
355
+ throw new Error(`Unknown moment.get('${period}')`);
356
+ }
357
+ }
358
+ set(period, input) {
359
+ if (isString(period)) {
360
+ const unit = mapUnitOfTime(period);
361
+ switch (unit) {
362
+ case 'year':
363
+ return this.year(input);
364
+ case 'month':
365
+ return this.month(input);
366
+ // | 'week'
367
+ case 'day':
368
+ return this.day(input);
369
+ case 'date':
370
+ return this.date(input);
371
+ case 'hours':
372
+ return this.hours(input);
373
+ case 'minutes':
374
+ return this.minutes(input);
375
+ case 'seconds':
376
+ return this.seconds(input);
377
+ case 'milliseconds':
378
+ return this.milliseconds(input);
379
+ case 'week':
380
+ return this.week(input);
381
+ case 'isoWeek':
382
+ return this.isoWeek(input);
383
+ case 'weekYear':
384
+ return this.weekYear(input);
385
+ case 'isoWeekYear':
386
+ return this.isoWeekYear(input);
387
+ case 'weekday':
388
+ return this.weekday(input);
389
+ case 'isoWeekday':
390
+ return this.isoWeekday(input);
391
+ case 'quarter':
392
+ return this.quarter(input);
393
+ default:
394
+ throw new Error(`Unknown moment.get('${period}')`);
395
+ }
396
+ }
397
+ if (isObject(period)) {
398
+ const _mapped = mapMomentInputObject(period);
399
+ Object.keys(_mapped)
400
+ .sort(function (a, b) {
401
+ return _unitsPriority[a] - _unitsPriority[b];
402
+ })
403
+ .forEach((key) => this.set(key, _mapped[key]));
404
+ }
405
+ return this;
406
+ }
407
+ toString() {
408
+ return this.format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
409
+ }
410
+ toISOString() {
411
+ if (!this.isValid()) {
412
+ return null;
413
+ }
414
+ if (getFullYear(this._date, true) < 0 || getFullYear(this._date, true) > 9999) {
415
+ return this.format('YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
416
+ }
417
+ if (isFunction(Date.prototype.toISOString)) {
418
+ // native implementation is ~50x faster, use it when we can
419
+ return this.toDate().toISOString();
420
+ }
421
+ return this.format('YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
422
+ }
423
+ inspect() {
424
+ throw new Error('TODO: implement');
425
+ }
426
+ toJSON() {
427
+ return this.toISOString();
428
+ }
429
+ toDate() {
430
+ return new Date(this.valueOf());
431
+ }
432
+ toObject() {
433
+ return {
434
+ // years: getFullYear(this._date, this._isUTC),
435
+ // months: getMonth(this._date, this._isUTC),
436
+ year: getFullYear(this._date, this._isUTC),
437
+ month: getMonth(this._date, this._isUTC),
438
+ date: getDate(this._date, this._isUTC),
439
+ hours: getHours(this._date, this._isUTC),
440
+ minutes: getMinutes(this._date, this._isUTC),
441
+ seconds: getSeconds(this._date, this._isUTC),
442
+ milliseconds: getMilliseconds(this._date, this._isUTC)
443
+ };
444
+ }
445
+ toArray() {
446
+ return [this.year(), this.month(), this.date(), this.hour(), this.minute(), this.second(), this.millisecond()];
447
+ }
448
+ // Dates boolean algebra
449
+ isAfter(date, unit) {
450
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
451
+ return isAfter(this._date, date.toDate(), _unit);
452
+ }
453
+ isBefore(date, unit) {
454
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
455
+ return isBefore(this.toDate(), date.toDate(), _unit);
456
+ }
457
+ isBetween(from, to, unit, inclusivity) {
458
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
459
+ return isBetween(this.toDate(), from.toDate(), to.toDate(), _unit, inclusivity);
460
+ }
461
+ isSame(date, unit) {
462
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
463
+ return isSame(this._date, date.toDate(), _unit);
464
+ }
465
+ isSameOrAfter(date, unit) {
466
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
467
+ return isSameOrAfter(this._date, date.toDate(), _unit);
468
+ }
469
+ isSameOrBefore(date, unit) {
470
+ const _unit = unit ? mapUnitOfTime(unit) : void 0;
471
+ return isSameOrBefore(this._date, date.toDate(), _unit);
472
+ }
473
+ isValid() {
474
+ return isDateValid(this._date);
475
+ }
476
+ valueOf() {
477
+ return this._date.valueOf() - ((this._offset || 0) * 60000);
478
+ }
479
+ unix() {
480
+ // return getUnixTime(this._date);
481
+ return Math.floor(this.valueOf() / 1000);
482
+ }
483
+ utcOffset(b, keepLocalTime) {
484
+ const _config = this._toConfig();
485
+ if (!b && b !== 0) {
486
+ return getUTCOffset(this._date, _config);
487
+ }
488
+ this._date = setUTCOffset(this._date, b, keepLocalTime, false, _config);
489
+ this._offset = _config._offset;
490
+ this._isUTC = _config._isUTC;
491
+ return this;
492
+ }
493
+ utc(keepLocalTime) {
494
+ return this.utcOffset(0, keepLocalTime);
495
+ }
496
+ local(keepLocalTime) {
497
+ if (this._isUTC) {
498
+ this.utcOffset(0, keepLocalTime);
499
+ this._isUTC = false;
500
+ if (keepLocalTime) {
501
+ this.subtract(getDateOffset(this._date), 'm');
502
+ }
503
+ }
504
+ return this;
505
+ }
506
+ parseZone(input) {
507
+ const _config = this._toConfig();
508
+ this._date = setOffsetToParsedOffset(this._date, input, _config);
509
+ this._offset = _config._offset;
510
+ this._isUTC = _config._isUTC;
511
+ return this;
512
+ }
513
+ hasAlignedHourOffset(input) {
514
+ return hasAlignedHourOffset(this._date, input ? input._date : void 0);
515
+ }
516
+ isDST() {
517
+ return isDaylightSavingTime(this._date);
518
+ }
519
+ isLocal() {
520
+ return !this._isUTC;
521
+ }
522
+ isUtcOffset() {
523
+ return this._isUTC;
524
+ }
525
+ isUTC() {
526
+ return this.isUtc();
527
+ }
528
+ isUtc() {
529
+ return this._isUTC && this._offset === 0;
530
+ }
531
+ // Timezone
532
+ zoneAbbr() {
533
+ return getZoneAbbr(this._isUTC);
534
+ }
535
+ zoneName() {
536
+ return getZoneName(this._isUTC);
537
+ }
538
+ year(year) {
539
+ if (!year && year !== 0) {
540
+ return getFullYear(this._date, this._isUTC);
541
+ }
542
+ this._date = cloneDate(setFullYear(this._date, year));
543
+ return this;
544
+ }
545
+ weekYear(val) {
546
+ if (!val && val !== 0) {
547
+ return getWeekYear(this._date, this._locale, this.isUTC());
548
+ }
549
+ const date = getSetWeekYear(this._date, val, this._locale, this.isUTC());
550
+ if (isDate(date)) {
551
+ this._date = date;
552
+ }
553
+ return this;
554
+ }
555
+ isoWeekYear(val) {
556
+ if (!val && val !== 0) {
557
+ return getISOWeekYear(this._date, this.isUTC());
558
+ }
559
+ const date = getSetISOWeekYear(this._date, val, this.isUtc());
560
+ if (isDate(date)) {
561
+ this._date = date;
562
+ }
563
+ return this;
564
+ }
565
+ isLeapYear() {
566
+ return isLeapYear(getFullYear(this.toDate(), this.isUTC()));
567
+ }
568
+ month(month) {
569
+ if (!month && month !== 0) {
570
+ return getMonth(this._date, this._isUTC);
571
+ }
572
+ let _month = month;
573
+ if (isString(month)) {
574
+ const locale = this._locale || getLocale();
575
+ _month = locale.monthsParse(month);
576
+ }
577
+ if (isNumber(_month)) {
578
+ this._date = cloneDate(setMonth(this._date, _month, this._isUTC));
579
+ }
580
+ return this;
581
+ }
582
+ hour(hours) {
583
+ return this.hours(hours);
584
+ }
585
+ hours(hours) {
586
+ if (!hours && hours !== 0) {
587
+ return getHours(this._date, this._isUTC);
588
+ }
589
+ this._date = cloneDate(setHours(this._date, hours, this._isUTC));
590
+ return this;
591
+ }
592
+ minute(minutes) {
593
+ return this.minutes(minutes);
594
+ }
595
+ minutes(minutes) {
596
+ if (!minutes && minutes !== 0) {
597
+ return getMinutes(this._date, this._isUTC);
598
+ }
599
+ this._date = cloneDate(setMinutes(this._date, minutes, this._isUTC));
600
+ return this;
601
+ }
602
+ second(seconds) {
603
+ return this.seconds(seconds);
604
+ }
605
+ seconds(seconds) {
606
+ if (!seconds && seconds !== 0) {
607
+ return getSeconds(this._date, this._isUTC);
608
+ }
609
+ this._date = cloneDate(setSeconds(this._date, seconds, this._isUTC));
610
+ return this;
611
+ }
612
+ millisecond(ms) {
613
+ return this.milliseconds(ms);
614
+ }
615
+ milliseconds(seconds) {
616
+ if (!seconds && seconds !== 0) {
617
+ return getMilliseconds(this._date, this._isUTC);
618
+ }
619
+ this._date = cloneDate(setMilliseconds(this._date, seconds, this._isUTC));
620
+ return this;
621
+ }
622
+ date(date) {
623
+ if (!date && date !== 0) {
624
+ return getDate(this._date, this._isUTC);
625
+ }
626
+ this._date = cloneDate(setDate(this._date, date, this._isUTC));
627
+ return this;
628
+ }
629
+ day(input) {
630
+ if (!input && input !== 0) {
631
+ return getDayOfWeek(this._date, this._isUTC);
632
+ }
633
+ let _input = input;
634
+ if (isString(input)) {
635
+ _input = parseWeekday(input, this._locale);
636
+ }
637
+ if (isNumber(_input)) {
638
+ this._date = setDayOfWeek(this._date, _input, this._locale, this._isUTC);
639
+ }
640
+ return this;
641
+ }
642
+ weekday(val) {
643
+ if (!val && val !== 0) {
644
+ return getLocaleDayOfWeek(this._date, this._locale, this._isUTC);
645
+ }
646
+ this._date = setLocaleDayOfWeek(this._date, val, { locale: this._locale, isUTC: this._isUTC });
647
+ return this;
648
+ }
649
+ isoWeekday(val) {
650
+ if (!val && val !== 0) {
651
+ return getISODayOfWeek(this._date);
652
+ }
653
+ this._date = setISODayOfWeek(this._date, val);
654
+ return this;
655
+ }
656
+ dayOfYear(val) {
657
+ if (!val && val !== 0) {
658
+ return getDayOfYear(this._date);
659
+ }
660
+ this._date = setDayOfYear(this._date, val);
661
+ return this;
662
+ }
663
+ week(input) {
664
+ if (!input && input !== 0) {
665
+ return getWeek(this._date, this._locale);
666
+ }
667
+ this._date = setWeek(this._date, input, this._locale);
668
+ return this;
669
+ }
670
+ weeks(input) {
671
+ return this.week(input);
672
+ }
673
+ isoWeek(val) {
674
+ if (!val && val !== 0) {
675
+ return getISOWeek(this._date);
676
+ }
677
+ this._date = setISOWeek(this._date, val);
678
+ return this;
679
+ }
680
+ isoWeeks(val) {
681
+ return this.isoWeek(val);
682
+ }
683
+ weeksInYear() {
684
+ return getWeeksInYear(this._date, this._isUTC, this._locale);
685
+ }
686
+ isoWeeksInYear() {
687
+ return getISOWeeksInYear(this._date, this._isUTC);
688
+ }
689
+ daysInMonth() {
690
+ return daysInMonth(getFullYear(this._date, this._isUTC), getMonth(this._date, this._isUTC));
691
+ }
692
+ quarter(val) {
693
+ if (!val && val !== 0) {
694
+ return getQuarter(this._date, this._isUTC);
695
+ }
696
+ this._date = setQuarter(this._date, val, this._isUTC);
697
+ return this;
698
+ }
699
+ quarters(val) {
700
+ return this.quarter(val);
701
+ }
702
+ startOf(period) {
703
+ const _per = mapUnitOfTime(period);
704
+ this._date = startOf(this._date, _per, this._isUTC);
705
+ return this;
706
+ }
707
+ }
708
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2hyb25vcy90ZXN0aW5nL2NoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQWEsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBELE9BQU8sRUFDTCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBRWxGLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUNyRSxVQUFVLEVBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQ3hFLFdBQVcsRUFDWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFDakYsWUFBWSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RyxP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RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZCwgcGFyc2VEYXRlLCBzdWJ0cmFjdCB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IERhdGVBcnJheSwgRGF0ZU9iamVjdCwgVW5pdE9mVGltZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIGdldERhdGUsIGdldEZ1bGxZZWFyLCBnZXRIb3VycywgZ2V0TWlsbGlzZWNvbmRzLCBnZXRNaW51dGVzLCBnZXRNb250aCwgZ2V0U2Vjb25kcyxcbiAgZ2V0VW5peFRpbWVcbn0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7XG4gIHNldERhdGUsIHNldEZ1bGxZZWFyLCBzZXRIb3Vycywgc2V0TWlsbGlzZWNvbmRzLCBzZXRNaW51dGVzLCBzZXRNb250aCxcbiAgc2V0U2Vjb25kc1xufSBmcm9tICcuLi91dGlscy9kYXRlLXNldHRlcnMnO1xuaW1wb3J0IHsgY2xvbmVEYXRlIH0gZnJvbSAnLi4vY3JlYXRlL2Nsb25lJztcbmltcG9ydCB7XG4gIGlzQXJyYXksXG4gIGlzQm9vbGVhbiwgaXNEYXRlLCBpc0RhdGVWYWxpZCwgaXNGdW5jdGlvbiwgaXNOdW1iZXIsIGlzT2JqZWN0LCBpc1N0cmluZyxcbiAgaXNVbmRlZmluZWRcbn0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJy4uL2Zvcm1hdCc7XG5pbXBvcnQgeyBJU09fODYwMSwgUkZDXzI4MjIgfSBmcm9tICcuLi9jcmVhdGUvZnJvbS1zdHJpbmctYW5kLWZvcm1hdCc7XG5pbXBvcnQgeyBMb2NhbGUsIExvY2FsZURhdGEgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7XG4gIGdldERhdGVPZmZzZXQsXG4gIGdldFVUQ09mZnNldCwgaGFzQWxpZ25lZEhvdXJPZmZzZXQsIGlzRGF5bGlnaHRTYXZpbmdUaW1lLCBzZXRPZmZzZXRUb1BhcnNlZE9mZnNldCxcbiAgc2V0VVRDT2Zmc2V0XG59IGZyb20gJy4uL3VuaXRzL29mZnNldCc7XG5pbXBvcnQgeyBpc0xlYXBZZWFyLCBwYXJzZVR3b0RpZ2l0WWVhciB9IGZyb20gJy4uL3VuaXRzL3llYXInO1xuaW1wb3J0IHsgaXNBZnRlciwgaXNCZWZvcmUsIGlzQmV0d2VlbiwgaXNTYW1lLCBpc1NhbWVPckFmdGVyLCBpc1NhbWVPckJlZm9yZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtY29tcGFyZSc7XG5pbXBvcnQgeyBkYXlzSW5Nb250aCB9IGZyb20gJy4uL3VuaXRzL21vbnRoJztcbmltcG9ydCB7XG4gIGdldERheU9mV2VlaywgZ2V0SVNPRGF5T2ZXZWVrLCBnZXRMb2NhbGVEYXlPZldlZWssIHBhcnNlV2Vla2RheSwgc2V0RGF5T2ZXZWVrLCBzZXRJU09EYXlPZldlZWssXG4gIHNldExvY2FsZURheU9mV2Vla1xufSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5pbXBvcnQgeyBnZXRJU09XZWVrLCBnZXRXZWVrLCBzZXRJU09XZWVrLCBzZXRXZWVrIH0gZnJvbSAnLi4vdW5pdHMvd2Vlayc7XG5pbXBvcnQge1xuICBnZXRJU09XZWVrc0luWWVhciwgZ2V0SVNPV2Vla1llYXIsIGdldFNldElTT1dlZWtZZWFyLCBnZXRTZXRXZWVrWWVhciwgZ2V0V2Vla3NJblllYXIsXG4gIGdldFdlZWtZZWFyXG59IGZyb20gJy4uL3VuaXRzL3dlZWsteWVhcic7XG5pbXBvcnQgeyBlbmRPZiwgc3RhcnRPZiB9IGZyb20gJy4uL3V0aWxzL3N0YXJ0LWVuZC1vZic7XG5pbXBvcnQgeyBnZXRRdWFydGVyLCBzZXRRdWFydGVyIH0gZnJvbSAnLi4vdW5pdHMvcXVhcnRlcic7XG5pbXBvcnQgeyBnZXREYXlPZlllYXIsIHNldERheU9mWWVhciB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi15ZWFyJztcbmltcG9ydCB7IGdldFpvbmVBYmJyLCBnZXRab25lTmFtZSB9IGZyb20gJy4uL3VuaXRzL3RpbWV6b25lJztcbmltcG9ydCB7IGRpZmYgfSBmcm9tICcuLi9tb21lbnQvZGlmZic7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IGNhbGVuZGFyLCBDYWxlbmRhclNwZWMgfSBmcm9tICcuLi9tb21lbnQvY2FsZW5kYXInO1xuaW1wb3J0IHsgZGVmaW5lTG9jYWxlLCBnZXRMb2NhbGUsIGdldFNldEdsb2JhbExvY2FsZSwgbGlzdExvY2FsZXMgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlcyc7XG5pbXBvcnQgeyBtYXgsIG1pbiB9IGZyb20gJy4uL21vbWVudC9taW4tbWF4JztcbmltcG9ydCB7IER1cmF0aW9uLCBpc0R1cmF0aW9uIH0gZnJvbSAnLi4vZHVyYXRpb24vY29uc3RydWN0b3InO1xuaW1wb3J0IHsgY3JlYXRlTG9jYWxPclVUQyB9IGZyb20gJy4uL2NyZWF0ZS9mcm9tLWFueXRoaW5nJztcbmltcG9ydCB7IGNyZWF0ZUR1cmF0aW9uIH0gZnJvbSAnLi4vZHVyYXRpb24vY3JlYXRlJztcblxuZXhwb3J0IHR5cGUgRGF0ZUlucHV0ID0gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IHN0cmluZ1tdIHwgRGF0ZUFycmF5IHwgTW9tZW50SW5wdXRPYmplY3Q7XG5cbmV4cG9ydCBjb25zdCBtb21lbnQ6IE1vbWVudEZuID0gKF9tb21lbnQgYXMgTW9tZW50Rm4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vbWVudEZuIHtcbiAgKGlucHV0PzogRGF0ZUlucHV0IHwgS2hyb25vcywgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10sIGxvY2FsZUtleT86IHN0cmluZyB8IGJvb2xlYW4sIHN0cmljdD86IGJvb2xlYW4sIGlzVVRDPzogYm9vbGVhbik6IEtocm9ub3M7XG5cbiAgSVNPXzg2MDE6IHN0cmluZztcbiAgUkZDXzI4MjI6IHN0cmluZztcblxuICB1dGMoaW5wdXQ/OiBEYXRlSW5wdXQgfCBLaHJvbm9zLCBmb3JtYXQ/OiBzdHJpbmcgfCBzdHJpbmdbXSwgbG9jYWxlS2V5Pzogc3RyaW5nIHwgYm9vbGVhbiwgc3RyaWN0PzogYm9vbGVhbik6IEtocm9ub3M7XG5cbiAgcGFyc2Vab25lKGlucHV0PzogRGF0ZUlucHV0IHwgS2hyb25vcywgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10sIGxvY2FsZUtleT86IHN0cmluZyB8IGJvb2xlYW4sIHN0cmljdD86IGJvb2xlYW4pOiBLaHJvbm9zO1xuXG4gIHVuaXgobnVtOiBudW1iZXIpOiBLaHJvbm9zO1xuXG4gIGxvY2FsZShrZXk/OiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWVzPzogTG9jYWxlRGF0YSk6IHN0cmluZztcblxuICBkdXJhdGlvbihpbnA/OiBEdXJhdGlvbiB8IERhdGVJbnB1dCB8IEtocm9ub3MsIHVuaXQ/OiBNb21lbnRVbml0T2ZUaW1lKTogRHVyYXRpb247XG5cbiAgZGVmaW5lTG9jYWxlKG5hbWU6IHN0cmluZywgY29uZmlnPzogTG9jYWxlRGF0YSk6IExvY2FsZTtcblxuICBwYXJzZVR3b0RpZ2l0WWVhcihpbnB1dDogc3RyaW5nKTogbnVtYmVyO1xuXG4gIGlzRGF0ZShpbnB1dD86IGFueSk6IGlucHV0IGlzIERhdGU7XG5cbiAgbW9udGhzKCk6IHN0cmluZ1tdO1xuXG4gIG1vbnRocyhpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIG1vbnRocyhmb3JtYXQ6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIG1vbnRocyhmb3JtYXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICBtb250aHNTaG9ydCgpOiBzdHJpbmdbXTtcblxuICBtb250aHNTaG9ydChpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIG1vbnRoc1Nob3J0KGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW107XG5cbiAgbW9udGhzU2hvcnQoZm9ybWF0OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmc7XG5cbiAgd2Vla2RheXMoKTogc3RyaW5nW107XG5cbiAgd2Vla2RheXMoaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5cyhmb3JtYXQ6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIHdlZWtkYXlzKGZvcm1hdDogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIHdlZWtkYXlzKGxvY2FsZVNvcnRlZDogYm9vbGVhbik6IHN0cmluZ1tdO1xuXG4gIHdlZWtkYXlzKGxvY2FsZVNvcnRlZDogYm9vbGVhbiwgaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5cyhsb2NhbGVTb3J0ZWQ6IGJvb2xlYW4sIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW107XG5cbiAgd2Vla2RheXMobG9jYWxlU29ydGVkOiBib29sZWFuLCBmb3JtYXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5c1Nob3J0KCk6IHN0cmluZ1tdO1xuXG4gIHdlZWtkYXlzU2hvcnQoaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5c1Nob3J0KGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW107XG5cbiAgd2Vla2RheXNTaG9ydChmb3JtYXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5c1Nob3J0KGxvY2FsZVNvcnRlZDogYm9vbGVhbik6IHN0cmluZ1tdO1xuXG4gIHdlZWtkYXlzU2hvcnQobG9jYWxlU29ydGVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIHdlZWtkYXlzU2hvcnQobG9jYWxlU29ydGVkOiBib29sZWFuLCBmb3JtYXQ6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIHdlZWtkYXlzU2hvcnQobG9jYWxlU29ydGVkOiBib29sZWFuLCBmb3JtYXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZztcblxuICB3ZWVrZGF5c01pbigpOiBzdHJpbmdbXTtcblxuICB3ZWVrZGF5c01pbihpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIHdlZWtkYXlzTWluKGZvcm1hdDogc3RyaW5nKTogc3RyaW5nW107XG5cbiAgd2Vla2RheXNNaW4oZm9ybWF0OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmc7XG5cbiAgd2Vla2RheXNNaW4obG9jYWxlU29ydGVkOiBib29sZWFuKTogc3RyaW5nW107XG5cbiAgd2Vla2RheXNNaW4obG9jYWxlU29ydGVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIHdlZWtkYXlzTWluKGxvY2FsZVNvcnRlZDogYm9vbGVhbiwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICB3ZWVrZGF5c01pbihsb2NhbGVTb3J0ZWQ6IGJvb2xlYW4sIGZvcm1hdDogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogc3RyaW5nO1xuXG4gIHJlbGF0aXZlVGltZVRocmVzaG9sZCh0aHJlc2hvbGQ6IHN0cmluZyk6IG51bWJlciB8IGJvb2xlYW47XG5cbiAgcmVsYXRpdmVUaW1lVGhyZXNob2xkKHRocmVzaG9sZDogc3RyaW5nLCBsaW1pdDogbnVtYmVyKTogYm9vbGVhbjtcblxuICBtaW4oLi4uZGF0ZXM6ICgoRGF0ZUlucHV0IHwgS2hyb25vcylbXSB8IChEYXRlSW5wdXQgfCBLaHJvbm9zKSlbXSk6IEtocm9ub3M7XG5cbiAgbWF4KC4uLmRhdGVzOiAoKERhdGVJbnB1dCB8IEtocm9ub3MpW10gfCAoRGF0ZUlucHV0IHwgS2hyb25vcykpW10pOiBLaHJvbm9zO1xuXG4gIGxvY2FsZURhdGEoa2V5Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBLaHJvbm9zKTogTG9jYWxlO1xuXG4gIHVwZGF0ZUxvY2FsZShsYW5ndWFnZTogc3RyaW5nLCBsb2NhbGVTcGVjPzogTG9jYWxlRGF0YSk6IExvY2FsZTtcblxuICBjYWxlbmRhckZvcm1hdChtOiBEYXRlLCBub3c6IERhdGUpOiBzdHJpbmc7XG5cbiAgLy8gdG9kbzogcmVtb3ZlIHRoaXNcbiAgY2FsZW5kYXJGb3JtYXQobTogS2hyb25vcywgbm93OiBLaHJvbm9zKTogc3RyaW5nO1xuXG4gIC8vIHRvZG86IGltcGxlbWVudFxuICBpbnZhbGlkKCk6IEtocm9ub3M7XG5cbiAgbG9jYWxlcygpOiBzdHJpbmdbXTtcblxuICAvLyB0b2RvOiBpbXBsZW1lbnRcbiAgdXBkYXRlT2Zmc2V0KG06IEtocm9ub3MsIGtlZXBUaW1lPzogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIF9tb21lbnQoaW5wdXQ/OiBEYXRlSW5wdXQgfCBLaHJvbm9zLCBmb3JtYXQ/OiBzdHJpbmcgfCBzdHJpbmdbXSwgbG9jYWxlS2V5Pzogc3RyaW5nIHwgYm9vbGVhbiwgc3RyaWN0PzogYm9vbGVhbiwgaXNVVEM/OiBib29sZWFuKTogS2hyb25vcyB7XG4gIGlmIChpbnB1dCBpbnN0YW5jZW9mIEtocm9ub3MpIHtcbiAgICBjb25zdCBfZGF0ZSA9IGlucHV0LmNsb25lKCk7XG5cbiAgICByZXR1cm4gaXNVVEMgPyBfZGF0ZS51dGMoKSA6IF9kYXRlO1xuICB9XG5cbiAgaWYgKGlzQm9vbGVhbihsb2NhbGVLZXkpKSB7XG4gICAgcmV0dXJuIG5ldyBLaHJvbm9zKGlucHV0LCBmb3JtYXQsIG51bGwsIGxvY2FsZUtleSwgaXNVVEMpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBLaHJvbm9zKGlucHV0LCBmb3JtYXQsIGxvY2FsZUtleSwgc3RyaWN0LCBpc1VUQyk7XG59XG5cbm1vbWVudC51dGMgPSAoaW5wdXQ/OiBEYXRlSW5wdXQgfCBLaHJvbm9zLCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZUtleT86IHN0cmluZyB8IGJvb2xlYW4sIHN0cmljdD86IGJvb2xlYW4pOiBLaHJvbm9zID0+IHtcbiAgcmV0dXJuIF9tb21lbnQoaW5wdXQsIGZvcm1hdCwgbG9jYWxlS2V5LCBzdHJpY3QsIHRydWUpO1xufTtcblxubW9tZW50LnBhcnNlWm9uZSA9IChpbnB1dD86IERhdGVJbnB1dCB8IEtocm9ub3MsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlS2V5Pzogc3RyaW5nIHwgYm9vbGVhbiwgc3RyaWN0PzogYm9vbGVhbik6IEtocm9ub3MgPT4ge1xuICByZXR1cm4gX21vbWVudChpbnB1dCwgZm9ybWF0LCBsb2NhbGVLZXksIHN0cmljdCwgdHJ1ZSkucGFyc2Vab25lKCk7XG59O1xuXG5tb21lbnQubG9jYWxlID0gZ2V0U2V0R2xvYmFsTG9jYWxlO1xubW9tZW50LmxvY2FsZURhdGEgPSAoa2V5Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBLaHJvbm9zKTogTG9jYWxlID0+IHtcbiAgaWYgKGtleSBpbnN0YW5jZW9mIEtocm9ub3MpIHtcbiAgICByZXR1cm4ga2V5LmxvY2FsZURhdGEoKTtcbiAgfVxuXG4gIHJldHVybiBnZXRMb2NhbGUoa2V5KTtcbn07XG5cbi8vIG1vbWVudC51dGMgPSBjcmVhdGVVVEM7XG5tb21lbnQudW5peCA9IChpbnA6IG51bWJlcikgPT4gbmV3IEtocm9ub3MoaW5wICogMTAwMCk7XG5tb21lbnQuSVNPXzg2MDEgPSBJU09fODYwMTtcbm1vbWVudC5SRkNfMjgyMiA9IFJGQ18yODIyO1xubW9tZW50LmRlZmluZUxvY2FsZSA9IGRlZmluZUxvY2FsZTtcbm1vbWVudC5wYXJzZVR3b0RpZ2l0WWVhciA9IHBhcnNlVHdvRGlnaXRZZWFyO1xubW9tZW50LmlzRGF0ZSA9IGlzRGF0ZTtcbm1vbWVudC5pbnZhbGlkID0gZnVuY3Rpb24gX2ludmFsaWQoKTogS2hyb25vcyB7XG4gIHJldHVybiBuZXcgS2hyb25vcyhuZXcgRGF0ZShOYU4pKTtcbn07XG5cbi8vIGR1cmF0aW9uKGlucD86IER1cmF0aW9uIHwgRGF0ZUlucHV0IHwgS2hyb25vcywgdW5pdD86IE1vbWVudFVuaXRPZlRpbWUpOiBEdXJhdGlvbjtcbm1vbWVudC5kdXJhdGlvbiA9IChpbnB1dD86IER1cmF0aW9uIHwgRGF0ZUlucHV0IHwgS2hyb25vcywgdW5pdD86IE1vbWVudFVuaXRPZlRpbWUpOiBEdXJhdGlvbiA9PiB7XG4gIGNvbnN0IF91bml0ID0gbWFwVW5pdE9mVGltZSh1bml0KTtcbiAgaWYgKGlzRGF0ZShpbnB1dCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8gaW1wbGVtZW50Jyk7XG4gIH1cblxuICBpZiAoaW5wdXQgPT0gbnVsbCkge1xuICAgIHJldHVybiBjcmVhdGVEdXJhdGlvbigpO1xuICB9XG5cbiAgaWYgKGlzRHVyYXRpb24oaW5wdXQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUR1cmF0aW9uKGlucHV0LCBfdW5pdCwgeyBfbG9jYWxlOiBpbnB1dC5fbG9jYWxlIH0pO1xuICB9XG5cbiAgaWYgKGlzU3RyaW5nKGlucHV0KSB8fCBpc051bWJlcihpbnB1dCkgfHwgaXNEdXJhdGlvbihpbnB1dCkgfHwgaXNPYmplY3Q8RGF0ZU9iamVjdD4oaW5wdXQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUR1cmF0aW9uKGlucHV0LCBfdW5pdCk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3RvZG8gaW1wbGVtZW50Jyk7XG59O1xuXG5tb21lbnQubWluID0gZnVuY3Rpb24gX21pbiguLi5kYXRlczogKChEYXRlSW5wdXQgfCBLaHJvbm9zKVtdIHwgKERhdGVJbnB1dCB8IEtocm9ub3MpKVtdKTogS2hyb25vcyB7XG4gIGNvbnN0IF9maXJzdEFyZyA9IGRhdGVzWzBdO1xuICBjb25zdCBfZGF0ZXMgPSAoaXNBcnJheShfZmlyc3RBcmcpID8gX2ZpcnN0QXJnIDogZGF0ZXMpXG4gICAgLm1hcCgoZGF0ZTogS2hyb25vcykgPT4gX21vbWVudChkYXRlKSlcbiAgICAubWFwKGRhdGUgPT4gZGF0ZS50b0RhdGUoKSk7XG5cbiAgY29uc3QgX2RhdGUgPSBtaW4oLi4uX2RhdGVzKTtcblxuICByZXR1cm4gbmV3IEtocm9ub3MoX2RhdGUpO1xufTtcblxubW9tZW50Lm1heCA9IGZ1bmN0aW9uIF9tYXgoLi4uZGF0ZXM6ICgoRGF0ZUlucHV0IHwgS2hyb25vcylbXSB8IChEYXRlSW5wdXQgfCBLaHJvbm9zKSlbXSk6IEtocm9ub3Mge1xuICBjb25zdCBfZmlyc3RBcmcgPSBkYXRlc1swXTtcbiAgY29uc3QgX2RhdGVzID0gKGlzQXJyYXkoX2ZpcnN0QXJnKSA/IF9maXJzdEFyZyA6IGRhdGVzKVxuICAgIC5tYXAoKGRhdGU6IEtocm9ub3MpID0+IF9tb21lbnQoZGF0ZSkpXG4gICAgLm1hcChkYXRlID0+IGRhdGUudG9EYXRlKCkpO1xuXG4gIGNvbnN0IF9kYXRlID0gbWF4KC4uLl9kYXRlcyk7XG5cbiAgcmV0dXJuIG5ldyBLaHJvbm9zKF9kYXRlKTtcbn07XG5cbm1vbWVudC5sb2NhbGVzID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgcmV0dXJuIGxpc3RMb2NhbGVzKCk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vbWVudElucHV0T2JqZWN0IHtcbiAgeWVhcnM/OiBudW1iZXI7XG4gIHllYXI/OiBudW1iZXI7XG4gIHk/OiBudW1iZXI7XG5cbiAgbW9udGhzPzogbnVtYmVyO1xuICBtb250aD86IG51bWJlcjtcbiAgTT86IG51bWJlcjtcblxuICBkYXlzPzogbnVtYmVyO1xuICBkYXk/OiBudW1iZXI7XG4gIGQ/OiBudW1iZXI7XG5cbiAgZGF0ZXM/OiBudW1iZXI7XG4gIGRhdGU/OiBudW1iZXI7XG4gIEQ/OiBudW1iZXI7XG5cbiAgaG91cnM/OiBudW1iZXI7XG4gIGhvdXI/OiBudW1iZXI7XG4gIGg/OiBudW1iZXI7XG5cbiAgbWludXRlcz86IG51bWJlcjtcbiAgbWludXRlPzogbnVtYmVyO1xuICBtPzogbnVtYmVyO1xuXG4gIHNlY29uZHM/OiBudW1iZXI7XG4gIHNlY29uZD86IG51bWJlcjtcbiAgcz86IG51bWJlcjtcblxuICBtaWxsaXNlY29uZHM/OiBudW1iZXI7XG4gIG1pbGxpc2Vjb25kPzogbnVtYmVyO1xuICBtcz86IG51bWJlcjtcblxuICB3PzogbnVtYmVyO1xuICB3ZWVrPzogbnVtYmVyO1xuICB3ZWVrcz86IG51bWJlcjtcblxuICBRPzogbnVtYmVyO1xuICBxdWFydGVyPzogbnVtYmVyO1xuICBxdWFydGVycz86IG51bWJlcjtcblxuICB3ZWVrWWVhcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgTW9tZW50VW5pdE9mVGltZSA9IChcbiAgJ3llYXInIHwgJ3llYXJzJyB8ICd5JyB8XG4gICdtb250aCcgfCAnbW9udGhzJyB8ICdNJyB8XG4gICd3ZWVrJyB8ICd3ZWVrcycgfCAndycgfFxuICAnZGF5JyB8ICdkYXlzJyB8ICdkJyB8XG4gICdob3VyJyB8ICdob3VycycgfCAnaCcgfFxuICAnbWludXRlJyB8ICdtaW51dGVzJyB8ICdtJyB8XG4gICdzZWNvbmQnIHwgJ3NlY29uZHMnIHwgJ3MnIHxcbiAgJ21pbGxpc2Vjb25kJyB8ICdtaWxsaXNlY29uZHMnIHwgJ21zJyB8XG4gICdxJyB8ICdxdWFydGVyJyB8ICdxdWFydGVycycgfCAnUScgfFxuICAnaXNvV2VlaycgfCAnaXNvV2Vla3MnIHwgJ1cnIHxcbiAgJ2RhdGUnIHwgJ2RhdGVzJyB8ICdEJ1xuICApO1xuXG5leHBvcnQgdHlwZSBNb21lbnRBbGwgPSBNb21lbnRVbml0T2ZUaW1lIHxcbiAgJ3dlZWtZZWFyJyB8ICd3ZWVrWWVhcnMnIHwgJ2dnJyB8XG4gICdpc29XZWVrWWVhcicgfCAnaXNvV2Vla1llYXJzJyB8ICdHRycgfFxuICAnZGF5T2ZZZWFyJyB8ICdkYXlPZlllYXJzJyB8ICdEREQnIHxcbiAgJ3dlZWtkYXknIHwgJ3dlZWtkYXlzJyB8ICdlJyB8XG4gICdpc29XZWVrZGF5JyB8ICdpc29XZWVrZGF5cycgfCAnRSc7XG5cbmNvbnN0IF91bml0c1ByaW9yaXR5OiB7W2tleSBpbiBVbml0T2ZUaW1lXTogbnVtYmVyfSA9IHtcbiAgeWVhcjogMSxcbiAgbW9udGg6IDgsXG4gIHdlZWs6IDUsXG4gIGlzb1dlZWs6IDUsXG4gIGRheTogMTEsXG4gIHdlZWtkYXk6IDExLFxuICBpc29XZWVrZGF5OiAxMSxcbiAgaG91cnM6IDEzLFxuICB3ZWVrWWVhcjogMSxcbiAgaXNvV2Vla1llYXI6IDEsXG4gIHF1YXJ0ZXI6IDcsXG4gIGRhdGU6IDksXG4gIGRheU9mWWVhcjogNCxcbiAgbWludXRlczogMTQsXG4gIHNlY29uZHM6IDE1LFxuICBtaWxsaXNlY29uZHM6IDE2XG59O1xuXG4vLyB0b2RvOiBkbyBJIG5lZWQgMiBtYXBwZXJzP1xuY29uc3QgX3RpbWVIYXNoTWFwOiB7IFtrZXkgaW4gTW9tZW50QWxsXTogVW5pdE9mVGltZSB8IHN0cmluZyB9ID0ge1xuICB5OiAneWVhcicsXG4gIHllYXJzOiAneWVhcicsXG4gIHllYXI6ICd5ZWFyJyxcbiAgTTogJ21vbnRoJyxcbiAgbW9udGhzOiAnbW9udGgnLFxuICBtb250aDogJ21vbnRoJyxcbiAgdzogJ3dlZWsnLFxuICB3ZWVrczogJ3dlZWsnLFxuICB3ZWVrOiAnd2VlaycsXG5cbiAgZDogJ2RheScsXG4gIGRheXM6ICdkYXknLFxuICBkYXk6ICdkYXknLFxuXG4gIGRhdGU6ICdkYXRlJyxcbiAgZGF0ZXM6ICdkYXRlJyxcbiAgRDogJ2RhdGUnLFxuXG4gIGg6ICdob3VycycsXG4gIGhvdXI6ICdob3VycycsXG4gIGhvdXJzOiAnaG91cnMnLFxuICBtOiAnbWludXRlcycsXG4gIG1pbnV0ZTogJ21pbnV0ZXMnLFxuICBtaW51dGVzOiAnbWludXRlcycsXG4gIHM6ICdzZWNvbmRzJyxcbiAgc2Vjb25kOiAnc2Vjb25kcycsXG4gIHNlY29uZHM6ICdzZWNvbmRzJyxcbiAgbXM6ICdtaWxsaXNlY29uZHMnLFxuICBtaWxsaXNlY29uZDogJ21pbGxpc2Vjb25kcycsXG4gIG1pbGxpc2Vjb25kczogJ21pbGxpc2Vjb25kcycsXG4gIHF1YXJ0ZXI6ICdxdWFydGVyJyxcbiAgcXVhcnRlcnM6ICdxdWFydGVyJyxcbiAgcTogJ3F1YXJ0ZXInLFxuICBROiAncXVhcnRlcicsXG4gIGlzb1dlZWs6ICdpc29XZWVrJyxcbiAgaXNvV2Vla3M6ICdpc29XZWVrJyxcbiAgVzogJ2lzb1dlZWsnLFxuICB3ZWVrWWVhcjogJ3dlZWtZZWFyJyxcbiAgd2Vla1llYXJzOiAnd2Vla1llYXInLFxuICBnZzogJ3dlZWtZZWFycycsXG4gIGlzb1dlZWtZZWFyOiAnaXNvV2Vla1llYXInLFxuICBpc29XZWVrWWVhcnM6ICdpc29XZWVrWWVhcicsXG4gIEdHOiAnaXNvV2Vla1llYXInLFxuICBkYXlPZlllYXI6ICdkYXlPZlllYXInLFxuICBkYXlPZlllYXJzOiAnZGF5T2ZZZWFyJyxcbiAgREREOiAnZGF5T2ZZZWFyJyxcbiAgd2Vla2RheTogJ3dlZWtkYXknLFxuICB3ZWVrZGF5czogJ3dlZWtkYXknLFxuICBlOiAnd2Vla2RheScsXG4gIGlzb1dlZWtkYXk6ICdpc29XZWVrZGF5JyxcbiAgaXNvV2Vla2RheXM6ICdpc29XZWVrZGF5JyxcbiAgRTogJ2lzb1dlZWtkYXknXG59O1xuXG5mdW5jdGlvbiBtYXBVbml0T2ZUaW1lKHBlcmlvZDogTW9tZW50QWxsKTogVW5pdE9mVGltZSB7XG4gIHJldHVybiBfdGltZUhhc2hNYXBbcGVyaW9kXSBhcyBVbml0T2ZUaW1lO1xufVxuXG5mdW5jdGlvbiBtYXBNb21lbnRJbnB1dE9iamVjdChvYmo6IE1vbWVudElucHV0T2JqZWN0KToge1trZXkgaW4gVW5pdE9mVGltZV0/OiBudW1iZXJ9IHtcbiAgY29uc3QgX3Jlczoge1trZXkgaW4gVW5pdE9mVGltZV0/OiBudW1iZXJ9ID0ge307XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iailcbiAgICAucmVkdWNlKChyZXMsIGtleToga2V5b2YgTW9tZW50SW5wdXRPYmplY3QpID0+IHtcbiAgICAgIHJlc1ttYXBVbml0T2ZUaW1lKGtleSldID0gb2JqW2tleV07XG5cbiAgICAgIHJldHVybiByZXM7XG4gICAgfSwgX3Jlcyk7XG59XG5cbmV4cG9ydCBjbGFzcyBLaHJvbm9zIHtcbiAgX2RhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBfaXNVVEMgPSBmYWxzZTtcbiAgX2lzU3RyaWN0OiBib29sZWFuO1xuICBfbG9jYWxlOiBMb2NhbGU7XG4gIF9mb3JtYXQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBfb2Zmc2V0OiBudW1iZXI7XG4gIF90em06IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihpbnB1dD86IERhdGVJbnB1dCxcbiAgICAgICAgICAgICAgZm9ybWF0Pzogc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgICAgICAgIGxvY2FsZUtleT86IHN0cmluZyxcbiAgICAgICAgICAgICAgc3RyaWN0ID0gZmFsc2UsXG4gICAgICAgICAgICAgIGlzVVRDID0gZmFsc2UsXG4gICAgICAgICAgICAgIG9mZnNldD86IG51bWJlcikge1xuICAgIC8vIGxvY2FsZSB3aWxsIGJlIG5lZWRlZCB0byBmb3JtYXQgaW52YWxpZCBkYXRlIG1lc3NhZ2VcbiAgICB0aGlzLl9sb2NhbGUgPSBnZXRMb2NhbGUobG9jYWxlS2V5KTtcbiAgICAvLyBwYXJzZSBpbnZhbGlkIGlucHV0XG4gICAgaWYgKGlucHV0ID09PSAnJyB8fCBpbnB1dCA9PT0gbnVsbCB8fCAoaXNOdW1iZXIoaW5wdXQpICYmIGlzTmFOKGlucHV0KSkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBuZXcgRGF0ZShOYU4pO1xuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLl9pc1VUQyA9IGlzVVRDO1xuICAgIGlmICh0aGlzLl9pc1VUQykge1xuICAgICAgdGhpcy5fb2Zmc2V0ID0gMDtcbiAgICB9XG4gICAgaWYgKG9mZnNldCB8fCBvZmZzZXQgPT09IDApIHtcbiAgICAgIHRoaXMuX29mZnNldCA9IG9mZnNldDtcbiAgICB9XG4gICAgdGhpcy5faXNTdHJpY3QgPSBzdHJpY3Q7XG4gICAgdGhpcy5fZm9ybWF0ID0gZm9ybWF0O1xuXG4gICAgaWYgKCFpbnB1dCAmJiBpbnB1dCAhPT0gMCAmJiAhZm9ybWF0KSB7XG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKGlzRGF0ZShpbnB1dCkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoaW5wdXQpO1xuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyB0aGlzLl9kYXRlID0gcGFyc2VEYXRlKGlucHV0LCBmb3JtYXQsIGxvY2FsZUtleSwgc3RyaWN0LCBpc1VUQyk7XG4gICAgY29uc3QgY29uZmlnID0gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGVLZXksIHN0cmljdCwgaXNVVEMpO1xuICAgIHRoaXMuX2RhdGUgPSBjb25maWcuX2Q7XG4gICAgdGhpcy5fb2Zmc2V0ID0gaXNOdW1iZXIoY29uZmlnLl9vZmZzZXQpID8gY29uZmlnLl9vZmZzZXQgOiB0aGlzLl9vZmZzZXQ7XG4gICAgdGhpcy5faXNVVEMgPSBjb25maWcuX2lzVVRDO1xuICAgIHRoaXMuX2lzU3RyaWN0ID0gY29uZmlnLl9zdHJpY3Q7XG4gICAgdGhpcy5fZm9ybWF0ID0gY29uZmlnLl9mO1xuICAgIHRoaXMuX3R6bSA9IGNvbmZpZy5fdHptO1xuICB9XG5cbiAgX3RvQ29uZmlnKCk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICByZXR1cm4geyBfaXNVVEM6IHRoaXMuX2lzVVRDLCBfbG9jYWxlOiB0aGlzLl9sb2NhbGUsIF9vZmZzZXQ6IHRoaXMuX29mZnNldCwgX3R6bTogdGhpcy5fdHptIH07XG4gIH1cblxuICAvLyBMb2NhbGVcbiAgbG9jYWxlKCk6IHN0cmluZztcbiAgbG9jYWxlKGxvY2FsZUtleTogc3RyaW5nIHwgc3RyaW5nW10gfCBLaHJvbm9zKTogS2hyb25vcztcbiAgbG9jYWxlKGxvY2FsZUtleT86IHN0cmluZyB8IHN0cmluZ1tdIHwgS2hyb25vcyk6IEtocm9ub3MgfCBzdHJpbmcge1xuICAgIGlmIChpc1VuZGVmaW5lZChsb2NhbGVLZXkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbG9jYWxlLl9hYmJyO1xuICAgIH1cblxuICAgIGlmIChsb2NhbGVLZXkgaW5zdGFuY2VvZiBLaHJvbm9zKSB7XG4gICAgICB0aGlzLl9sb2NhbGUgPSBsb2NhbGVLZXkuX2xvY2FsZTtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3TG9jYWxlRGF0YSA9IGdldExvY2FsZShsb2NhbGVLZXkpO1xuICAgIGlmIChuZXdMb2NhbGVEYXRhICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX2xvY2FsZSA9IG5ld0xvY2FsZURhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBsb2NhbGVEYXRhKCk6IExvY2FsZSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIC8vIEJhc2ljXG5cbiAgYWRkKHZhbDogbnVtYmVyIHwgc3RyaW5nIHwgTW9tZW50SW5wdXRPYmplY3QsIHBlcmlvZD86IFVuaXRPZlRpbWUgfCBNb21lbnRVbml0T2ZUaW1lKTogS2hyb25vcyB7XG4gICAgaWYgKGlzU3RyaW5nKHZhbCkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBhZGQodGhpcy5fZGF0ZSwgcGFyc2VJbnQodmFsLCAxMCksIG1hcFVuaXRPZlRpbWUocGVyaW9kKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTnVtYmVyKHZhbCkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBhZGQodGhpcy5fZGF0ZSwgdmFsLCBtYXBVbml0T2ZUaW1lKHBlcmlvZCkpO1xuICAgIH1cblxuICAgIGlmIChpc09iamVjdDxNb21lbnRJbnB1dE9iamVjdD4odmFsKSkge1xuICAgICAgY29uc3QgX21hcHBlZCA9IG1hcE1vbWVudElucHV0T2JqZWN0KHZhbCk7XG4gICAgICBPYmplY3Qua2V5cyhfbWFwcGVkKVxuICAgICAgICAuZm9yRWFjaCgoa2V5OiBVbml0T2ZUaW1lKSA9PiBhZGQodGhpcy5fZGF0ZSwgX21hcHBlZFtrZXldLCBrZXkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGZpeG1lOiBmb3Igc29tZSByZWFzb24gaGVyZSAnbnVsbCcgZm9yIHRpbWUgaXMgZmluZVxuICBjYWxlbmRhcih0aW1lPzogRGF0ZUlucHV0IHwgS2hyb25vcywgZm9ybWF0cz86IENhbGVuZGFyU3BlYyk6IHN0cmluZyB7XG4gICAgY29uc3QgX3RpbWUgPSB0aW1lIGluc3RhbmNlb2YgS2hyb25vcyA/IHRpbWUgOiBuZXcgS2hyb25vcyh0aW1lIHx8IG5ldyBEYXRlKCkpO1xuICAgIGNvbnN0IF9vZmZzZXQgPSAodGhpcy5fb2Zmc2V0IHx8IDApIC0gKF90aW1lLl9vZmZzZXQgfHwgMCk7XG4gICAgY29uc3QgX2NvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5fdG9Db25maWcoKSwgeyBfb2Zmc2V0IH0pO1xuXG4gICAgcmV0dXJuIGNhbGVuZGFyKHRoaXMuX2RhdGUsIF90aW1lLl9kYXRlLFxuICAgICAgZm9ybWF0cywgdGhpcy5fbG9jYWxlLCBfY29uZmlnKTtcbiAgfVxuXG4gIGNsb25lKCk6IEtocm9ub3Mge1xuICAgIGNvbnN0IGxvY2FsZUtleSA9IHRoaXMuX2xvY2FsZSAmJiB0aGlzLl9sb2NhbGUuX2FiYnIgfHwgJ2VuJztcblxuICAgIC8vIHJldHVybiBuZXcgS2hyb25vcyhjbG9uZURhdGUodGhpcy5fZGF0ZSksIHRoaXMuX2Zvcm1hdCwgbG9jYWxlS2V5LCB0aGlzLl9pc1N0cmljdCwgdGhpcy5faXNVVEMpO1xuICAgIC8vIGZhaWxzIGlmIGlzVVRDIGFuZCBvZmZzZXRcbiAgICAvLyByZXR1cm4gbmV3IEtocm9ub3MobmV3IERhdGUodGhpcy52YWx1ZU9mKCkpLFxuICAgIHJldHVybiBuZXcgS2hyb25vcyh0aGlzLl9kYXRlLFxuICAgICAgdGhpcy5fZm9ybWF0LFxuICAgICAgbG9jYWxlS2V5LFxuICAgICAgdGhpcy5faXNTdHJpY3QsXG4gICAgICB0aGlzLl9pc1VUQyxcbiAgICAgIHRoaXMuX29mZnNldCk7XG4gIH1cblxuICBkaWZmKGI6IERhdGVJbnB1dCB8IEtocm9ub3MsIHVuaXRPZlRpbWU/OiBNb21lbnRVbml0T2ZUaW1lLCBwcmVjaXNlPzogYm9vbGVhbik6IG51bWJlciB7XG4gICAgY29uc3QgdW5pdCA9IG1hcFVuaXRPZlRpbWUodW5pdE9mVGltZSk7XG4gICAgY29uc3QgX2IgPSBiIGluc3RhbmNlb2YgS2hyb25vcyA/IGIgOiBuZXcgS2hyb25vcyhiKTtcbiAgICAvLyBjb25zdCB6b25lRGVsdGEgPSAoX2IudXRjT2Zmc2V0KCkgLSB0aGlzLnV0Y09mZnNldCgpKTtcbiAgICAvLyBjb25zdCBjb25maWcgPSBPYmplY3QuYXNzaWduKHRoaXMuX3RvQ29uZmlnKCksIHtcbiAgICAvLyAgIF9vZmZzZXQ6IDAsXG4gICAgLy8gICBfaXNVVEM6IHRydWUsXG4gICAgLy8gICBfem9uZURlbHRhOiB6b25lRGVsdGFcbiAgICAvLyB9KTtcbiAgICAvLyByZXR1cm4gZGlmZihuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSksIG5ldyBEYXRlKF9iLnZhbHVlT2YoKSksIHVuaXQsIHByZWNpc2UsIGNvbmZpZyk7XG5cbiAgICByZXR1cm4gZGlmZih0aGlzLl9kYXRlLCBfYi50b0RhdGUoKSwgdW5pdCwgcHJlY2lzZSwgdGhpcy5fdG9Db25maWcoKSk7XG4gIH1cblxuICBlbmRPZihwZXJpb2Q/OiBNb21lbnRVbml0T2ZUaW1lKTogS2hyb25vcyB7XG4gICAgY29uc3QgX3BlciA9IG1hcFVuaXRPZlRpbWUocGVyaW9kKTtcbiAgICB0aGlzLl9kYXRlID0gZW5kT2YodGhpcy5fZGF0ZSwgX3BlciwgdGhpcy5faXNVVEMpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh0aGlzLl9kYXRlLCBmb3JtYXQsIHRoaXMuX2xvY2FsZSAmJiB0aGlzLl9sb2NhbGUuX2FiYnIsIHRoaXMuX2lzVVRDLCB0aGlzLl9vZmZzZXQpO1xuICB9XG5cbiAgLy8gdG9kbzogaW1wbGVtZW50XG4gIGZyb20odGltZT86IERhdGVJbnB1dCB8IEtocm9ub3MsIHdpdGhvdXRTdWZmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBjb25zdCBfdGltZSA9IF9tb21lbnQodGltZSk7XG4gICAgaWYgKHRoaXMuaXNWYWxpZCgpICYmIF90aW1lLmlzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZUR1cmF0aW9uKHsgdG86IHRoaXMudG9EYXRlKCksIGZyb206IF90aW1lLnRvRGF0ZSgpIH0pXG4gICAgICAgIC5sb2NhbGUodGhpcy5sb2NhbGUoKSlcbiAgICAgICAgLmh1bWFuaXplKCF3aXRob3V0U3VmZml4KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGU7XG4gIH1cblxuICBmcm9tTm93KHdpdGhvdXRTdWZmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tKG5ldyBEYXRlKCksIHdpdGhvdXRTdWZmaXgpO1xuICB9XG5cbiAgdG8oaW5wOiBEYXRlSW5wdXQgfCBLaHJvbm9zLCBzdWZmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRPRE86IEltcGxlbWVudGApO1xuICB9XG5cbiAgdG9Ob3cod2l0aG91dFByZWZpeD86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcihgVE9ETzogSW1wbGVtZW50YCk7XG4gIH1cblxuICBzdWJ0cmFjdCh2YWw6IG51bWJlciB8IHN0cmluZyB8IE1vbWVudElucHV0T2JqZWN0LCBwZXJpb2Q/OiBVbml0T2ZUaW1lIHwgTW9tZW50VW5pdE9mVGltZSk6IEtocm9ub3Mge1xuICAgIGlmIChpc1N0cmluZyh2YWwpKSB7XG4gICAgICB0aGlzLl9kYXRlID0gc3VidHJhY3QodGhpcy5fZGF0ZSwgcGFyc2VJbnQodmFsLCAxMCksIG1hcFVuaXRPZlRpbWUocGVyaW9kKSk7XG5cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmIChpc051bWJlcih2YWwpKSB7XG4gICAgICB0aGlzLl9kYXRlID0gc3VidHJhY3QodGhpcy5fZGF0ZSwgdmFsLCBtYXBVbml0T2ZUaW1lKHBlcmlvZCkpO1xuICAgIH1cblxuICAgIGlmIChpc09iamVjdDxNb21lbnRJbnB1dE9iamVjdD4odmFsKSkge1xuICAgICAgY29uc3QgX21hcHBlZCA9IG1hcE1vbWVudElucHV0T2JqZWN0KHZhbCk7XG4gICAgICBPYmplY3Qua2V5cyhfbWFwcGVkKVxuICAgICAgICAuZm9yRWFjaCgoa2V5OiBVbml0T2ZUaW1lKSA9PiBzdWJ0cmFjdCh0aGlzLl9kYXRlLCBfbWFwcGVkW2tleV0sIGtleSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2V0KHBlcmlvZDogTW9tZW50QWxsKTogbnVtYmVyIHtcbiAgICBpZiAocGVyaW9kID09PSAnZGF5T2ZZZWFyJykge1xuICAgICAgcmV0dXJuIHRoaXMuZGF5T2ZZZWFyKCk7XG4gICAgfVxuXG4gICAgY29uc3QgdW5pdCA9IG1hcFVuaXRPZlRpbWUocGVyaW9kKTtcbiAgICBzd2l0Y2ggKHVuaXQpIHtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gdGhpcy55ZWFyKCk7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHJldHVybiB0aGlzLm1vbnRoKCk7XG4gICAgICAvLyB8ICd3ZWVrJ1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUoKTtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiB0aGlzLmRheSgpO1xuICAgICAgY2FzZSAnaG91cnMnOlxuICAgICAgICByZXR1cm4gdGhpcy5ob3VycygpO1xuICAgICAgY2FzZSAnbWludXRlcyc6XG4gICAgICAgIHJldHVybiB0aGlzLm1pbnV0ZXMoKTtcbiAgICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgICAgICByZXR1cm4gdGhpcy5zZWNvbmRzKCk7XG4gICAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgICAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZHMoKTtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICByZXR1cm4gdGhpcy53ZWVrKCk7XG4gICAgICBjYXNlICdpc29XZWVrJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNvV2VlaygpO1xuICAgICAgY2FzZSAnd2Vla1llYXInOlxuICAgICAgICByZXR1cm4gdGhpcy53ZWVrWWVhcigpO1xuICAgICAgY2FzZSAnaXNvV2Vla1llYXInOlxuICAgICAgICByZXR1cm4gdGhpcy5pc29XZWVrWWVhcigpO1xuICAgICAgY2FzZSAnd2Vla2RheSc6XG4gICAgICAgIHJldHVybiB0aGlzLndlZWtkYXkoKTtcbiAgICAgIGNhc2UgJ2lzb1dlZWtkYXknOlxuICAgICAgICByZXR1cm4gdGhpcy5pc29XZWVrZGF5KCk7XG4gICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMucXVhcnRlcigpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG1vbWVudC5nZXQoJyR7cGVyaW9kfScpYCk7XG4gICAgfVxuICB9XG5cbiAgc2V0KHBlcmlvZDogTW9tZW50QWxsIHwgTW9tZW50SW5wdXRPYmplY3QsIGlucHV0PzogbnVtYmVyKTogS2hyb25vcyB7XG5cbiAgICBpZiAoaXNTdHJpbmcocGVyaW9kKSkge1xuICAgICAgY29uc3QgdW5pdCA9IG1hcFVuaXRPZlRpbWUocGVyaW9kKTtcbiAgICAgIHN3aXRjaCAodW5pdCkge1xuICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy55ZWFyKGlucHV0KTtcbiAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgIHJldHVybiB0aGlzLm1vbnRoKGlucHV0KTtcbiAgICAgICAgLy8gfCAnd2VlaydcbiAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXkoaW5wdXQpO1xuICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlKGlucHV0KTtcbiAgICAgICAgY2FzZSAnaG91cnMnOlxuICAgICAgICAgIHJldHVybiB0aGlzLmhvdXJzKGlucHV0KTtcbiAgICAgICAgY2FzZSAnbWludXRlcyc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWludXRlcyhpbnB1dCk7XG4gICAgICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgICAgICAgIHJldHVybiB0aGlzLnNlY29uZHMoaW5wdXQpO1xuICAgICAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kcyhpbnB1dCk7XG4gICAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICAgIHJldHVybiB0aGlzLndlZWsoaW5wdXQpO1xuICAgICAgICBjYXNlICdpc29XZWVrJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc29XZWVrKGlucHV0KTtcbiAgICAgICAgY2FzZSAnd2Vla1llYXInOlxuICAgICAgICAgIHJldHVybiB0aGlzLndlZWtZZWFyKGlucHV0KTtcbiAgICAgICAgY2FzZSAnaXNvV2Vla1llYXInOlxuICAgICAgICAgIHJldHVybiB0aGlzLmlzb1dlZWtZZWFyKGlucHV0KTtcbiAgICAgICAgY2FzZSAnd2Vla2RheSc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMud2Vla2RheShpbnB1dCk7XG4gICAgICAgIGNhc2UgJ2lzb1dlZWtkYXknOlxuICAgICAgICAgIHJldHVybiB0aGlzLmlzb1dlZWtkYXkoaW5wdXQpO1xuICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5xdWFydGVyKGlucHV0KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gbW9tZW50LmdldCgnJHtwZXJpb2R9JylgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3Q8TW9tZW50SW5wdXRPYmplY3Q+KHBlcmlvZCkpIHtcbiAgICAgIGNvbnN0IF9tYXBwZWQgPSBtYXBNb21lbnRJbnB1dE9iamVjdChwZXJpb2QpO1xuICAgICAgT2JqZWN0LmtleXMoX21hcHBlZClcbiAgICAgICAgLnNvcnQoZnVuY3Rpb24oYTogVW5pdE9mVGltZSwgYjogVW5pdE9mVGltZSk6IG51bWJlciB7XG4gICAgICAgICAgcmV0dXJuIF91bml0c1ByaW9yaXR5W2FdIC0gX3VuaXRzUHJpb3JpdHlbYl07XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKChrZXk6IFVuaXRPZlRpbWUpID0+IHRoaXMuc2V0KGtleSwgX21hcHBlZFtrZXldKSk7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KCdkZGQgTU1NIEREIFlZWVkgSEg6bW06c3MgW0dNVF1aWicpO1xuICB9XG5cbiAgdG9JU09TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZ2V0RnVsbFllYXIodGhpcy5fZGF0ZSwgdHJ1ZSkgPCAwIHx8IGdldEZ1bGxZZWFyKHRoaXMuX2RhdGUsIHRydWUpID4gOTk5OSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KCdZWVlZWVktTU0tRERbVF1ISDptbTpzcy5TU1NbWl0nKTtcbiAgICB9XG5cbiAgICBpZiAoaXNGdW5jdGlvbihEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykpIHtcbiAgICAgIC8vIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBpcyB+NTB4IGZhc3RlciwgdXNlIGl0IHdoZW4gd2UgY2FuXG4gICAgICByZXR1cm4gdGhpcy50b0RhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdCgnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScpO1xuICB9XG5cbiAgaW5zcGVjdCgpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETzogaW1wbGVtZW50Jyk7XG4gIH1cblxuICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgdG9EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSk7XG4gIH1cblxuICB0b09iamVjdCgpOiB7W2tleSBpbiBNb21lbnRVbml0T2ZUaW1lXT86IG51bWJlcn0ge1xuICAgIHJldHVybiB7XG4gICAgICAvLyB5ZWFyczogZ2V0RnVsbFllYXIodGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpLFxuICAgICAgLy8gbW9udGhzOiBnZXRNb250aCh0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQyksXG5cbiAgICAgIHllYXI6IGdldEZ1bGxZZWFyKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKSxcbiAgICAgIG1vbnRoOiBnZXRNb250aCh0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQyksXG4gICAgICBkYXRlOiBnZXREYXRlKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKSxcbiAgICAgIGhvdXJzOiBnZXRIb3Vycyh0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQyksXG4gICAgICBtaW51dGVzOiBnZXRNaW51dGVzKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKSxcbiAgICAgIHNlY29uZHM6IGdldFNlY29uZHModGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpLFxuICAgICAgbWlsbGlzZWNvbmRzOiBnZXRNaWxsaXNlY29uZHModGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpXG4gICAgfTtcbiAgfVxuXG4gIHRvQXJyYXkoKTogRGF0ZUFycmF5IHtcbiAgICByZXR1cm4gW3RoaXMueWVhcigpLCB0aGlzLm1vbnRoKCksIHRoaXMuZGF0ZSgpLCB0aGlzLmhvdXIoKSwgdGhpcy5taW51dGUoKSwgdGhpcy5zZWNvbmQoKSwgdGhpcy5taWxsaXNlY29uZCgpXTtcbiAgfVxuXG5cbiAgLy8gRGF0ZXMgYm9vbGVhbiBhbGdlYnJhXG5cbiAgaXNBZnRlcihkYXRlOiBLaHJvbm9zLCB1bml0PzogTW9tZW50VW5pdE9mVGltZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IF91bml0ID0gdW5pdCA/IG1hcFVuaXRPZlRpbWUodW5pdCkgOiB2b2lkIDA7XG5cbiAgICByZXR1cm4gaXNBZnRlcih0aGlzLl9kYXRlLCBkYXRlLnRvRGF0ZSgpLCBfdW5pdCk7XG4gIH1cblxuICBpc0JlZm9yZShkYXRlOiBLaHJvbm9zLCB1bml0PzogTW9tZW50VW5pdE9mVGltZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IF91bml0ID0gdW5pdCA/IG1hcFVuaXRPZlRpbWUodW5pdCkgOiB2b2lkIDA7XG5cbiAgICByZXR1cm4gaXNCZWZvcmUodGhpcy50b0RhdGUoKSwgZGF0ZS50b0RhdGUoKSwgX3VuaXQpO1xuICB9XG5cbiAgaXNCZXR3ZWVuKGZyb206IEtocm9ub3MsIHRvOiBLaHJvbm9zLCB1bml0PzogTW9tZW50VW5pdE9mVGltZSwgaW5jbHVzaXZpdHk/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBfdW5pdCA9IHVuaXQgPyBtYXBVbml0T2ZUaW1lKHVuaXQpIDogdm9pZCAwO1xuXG4gICAgcmV0dXJuIGlzQmV0d2Vlbih0aGlzLnRvRGF0ZSgpLCBmcm9tLnRvRGF0ZSgpLCB0by50b0RhdGUoKSwgX3VuaXQsIGluY2x1c2l2aXR5KTtcbiAgfVxuXG4gIGlzU2FtZShkYXRlOiBLaHJvbm9zLCB1bml0PzogTW9tZW50VW5pdE9mVGltZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IF91bml0ID0gdW5pdCA/IG1hcFVuaXRPZlRpbWUodW5pdCkgOiB2b2lkIDA7XG5cbiAgICByZXR1cm4gaXNTYW1lKHRoaXMuX2RhdGUsIGRhdGUudG9EYXRlKCksIF91bml0KTtcbiAgfVxuXG4gIGlzU2FtZU9yQWZ0ZXIoZGF0ZTogS2hyb25vcywgdW5pdD86IE1vbWVudFVuaXRPZlRpbWUpOiBib29sZWFuIHtcbiAgICBjb25zdCBfdW5pdCA9IHVuaXQgPyBtYXBVbml0T2ZUaW1lKHVuaXQpIDogdm9pZCAwO1xuXG4gICAgcmV0dXJuIGlzU2FtZU9yQWZ0ZXIodGhpcy5fZGF0ZSwgZGF0ZS50b0RhdGUoKSwgX3VuaXQpO1xuICB9XG5cbiAgaXNTYW1lT3JCZWZvcmUoZGF0ZTogS2hyb25vcywgdW5pdD86IE1vbWVudFVuaXRPZlRpbWUpOiBib29sZWFuIHtcbiAgICBjb25zdCBfdW5pdCA9IHVuaXQgPyBtYXBVbml0T2ZUaW1lKHVuaXQpIDogdm9pZCAwO1xuXG4gICAgcmV0dXJuIGlzU2FtZU9yQmVmb3JlKHRoaXMuX2RhdGUsIGRhdGUudG9EYXRlKCksIF91bml0KTtcbiAgfVxuXG4gIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRGF0ZVZhbGlkKHRoaXMuX2RhdGUpO1xuICB9XG5cbiAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kYXRlLnZhbHVlT2YoKSAtICgodGhpcy5fb2Zmc2V0IHx8IDApICogNjAwMDApO1xuICB9XG5cbiAgdW5peCgpOiBudW1iZXIge1xuICAgIC8vIHJldHVybiBnZXRVbml4VGltZSh0aGlzLl9kYXRlKTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZhbHVlT2YoKSAvIDEwMDApO1xuICB9XG5cblxuICAvLyBPZmZzZXRcblxuICB1dGNPZmZzZXQoKTogbnVtYmVyO1xuICB1dGNPZmZzZXQoYjogbnVtYmVyIHwgc3RyaW5nLCBrZWVwTG9jYWxUaW1lPzogYm9vbGVhbik6IEtocm9ub3M7XG4gIHV0Y09mZnNldChiPzogbnVtYmVyIHwgc3RyaW5nLCBrZWVwTG9jYWxUaW1lPzogYm9vbGVhbik6IG51bWJlciB8IEtocm9ub3Mge1xuICAgIGNvbnN0IF9jb25maWcgPSB0aGlzLl90b0NvbmZpZygpO1xuXG4gICAgaWYgKCFiICYmIGIgIT09IDApIHtcbiAgICAgIHJldHVybiBnZXRVVENPZmZzZXQodGhpcy5fZGF0ZSwgX2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZSA9IHNldFVUQ09mZnNldCh0aGlzLl9kYXRlLCBiLCBrZWVwTG9jYWxUaW1lLCBmYWxzZSwgX2NvbmZpZyk7XG5cbiAgICB0aGlzLl9vZmZzZXQgPSBfY29uZmlnLl9vZmZzZXQ7XG4gICAgdGhpcy5faXNVVEMgPSBfY29uZmlnLl9pc1VUQztcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgdXRjKGtlZXBMb2NhbFRpbWU/OiBib29sZWFuKTogS2hyb25vcyB7XG4gICAgcmV0dXJuIHRoaXMudXRjT2Zmc2V0KDAsIGtlZXBMb2NhbFRpbWUpO1xuICB9XG5cbiAgbG9jYWwoa2VlcExvY2FsVGltZT86IGJvb2xlYW4pOiBLaHJvbm9zIHtcbiAgICBpZiAodGhpcy5faXNVVEMpIHtcbiAgICAgIHRoaXMudXRjT2Zmc2V0KDAsIGtlZXBMb2NhbFRpbWUpO1xuICAgICAgdGhpcy5faXNVVEMgPSBmYWxzZTtcblxuICAgICAgaWYgKGtlZXBMb2NhbFRpbWUpIHtcbiAgICAgICAgdGhpcy5zdWJ0cmFjdChnZXREYXRlT2Zmc2V0KHRoaXMuX2RhdGUpLCAnbScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcGFyc2Vab25lKGlucHV0Pzogc3RyaW5nKTogS2hyb25vcyB7XG4gICAgY29uc3QgX2NvbmZpZyA9IHRoaXMuX3RvQ29uZmlnKCk7XG4gICAgdGhpcy5fZGF0ZSA9IHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0KHRoaXMuX2RhdGUsIGlucHV0LCBfY29uZmlnKTtcblxuICAgIHRoaXMuX29mZnNldCA9IF9jb25maWcuX29mZnNldDtcbiAgICB0aGlzLl9pc1VUQyA9IF9jb25maWcuX2lzVVRDO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBoYXNBbGlnbmVkSG91ck9mZnNldChpbnB1dD86IEtocm9ub3MpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzQWxpZ25lZEhvdXJPZmZzZXQodGhpcy5fZGF0ZSwgaW5wdXQgPyBpbnB1dC5fZGF0ZSA6IHZvaWQgMCk7XG4gIH1cblxuICBpc0RTVCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNEYXlsaWdodFNhdmluZ1RpbWUodGhpcy5fZGF0ZSk7XG4gIH1cblxuICBpc0xvY2FsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5faXNVVEM7XG4gIH1cblxuICBpc1V0Y09mZnNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNVVEM7XG4gIH1cblxuICBpc1VUQygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1V0YygpO1xuICB9XG5cbiAgaXNVdGMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVVRDICYmIHRoaXMuX29mZnNldCA9PT0gMDtcbiAgfVxuXG4gIC8vIFRpbWV6b25lXG5cbiAgem9uZUFiYnIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0Wm9uZUFiYnIodGhpcy5faXNVVEMpO1xuICB9XG5cbiAgem9uZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0Wm9uZU5hbWUodGhpcy5faXNVVEMpO1xuICB9XG5cbiAgLy8gWWVhclxuXG4gIHllYXIoKTogbnVtYmVyO1xuICB5ZWFyKHllYXI6IG51bWJlcik6IEtocm9ub3M7XG4gIHllYXIoeWVhcj86IG51bWJlcik6IEtocm9ub3MgfCBudW1iZXIge1xuICAgIGlmICgheWVhciAmJiB5ZWFyICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0RnVsbFllYXIodGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoc2V0RnVsbFllYXIodGhpcy5fZGF0ZSwgeWVhcikpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB3ZWVrWWVhcigpOiBudW1iZXI7XG4gIHdlZWtZZWFyKHZhbDogbnVtYmVyKTogS2hyb25vcztcbiAgd2Vla1llYXIodmFsPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCF2YWwgJiYgdmFsICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0V2Vla1llYXIodGhpcy5fZGF0ZSwgdGhpcy5fbG9jYWxlLCB0aGlzLmlzVVRDKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGUgPSBnZXRTZXRXZWVrWWVhcih0aGlzLl9kYXRlLCB2YWwsIHRoaXMuX2xvY2FsZSwgdGhpcy5pc1VUQygpKTtcbiAgICBpZiAoaXNEYXRlKGRhdGUpKSB7XG4gICAgICB0aGlzLl9kYXRlID0gZGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGlzb1dlZWtZZWFyKCk6IG51bWJlciA7XG4gIGlzb1dlZWtZZWFyKHZhbDogbnVtYmVyKTogS2hyb25vcyA7XG4gIGlzb1dlZWtZZWFyKHZhbD86IG51bWJlcik6IEtocm9ub3MgfCBudW1iZXIge1xuICAgIGlmICghdmFsICYmIHZhbCAhPT0gMCkge1xuICAgICAgcmV0dXJuIGdldElTT1dlZWtZZWFyKHRoaXMuX2RhdGUsIHRoaXMuaXNVVEMoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZSA9IGdldFNldElTT1dlZWtZZWFyKHRoaXMuX2RhdGUsIHZhbCwgdGhpcy5pc1V0YygpKTtcblxuICAgIGlmIChpc0RhdGUoZGF0ZSkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBkYXRlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaXNMZWFwWWVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNMZWFwWWVhcihnZXRGdWxsWWVhcih0aGlzLnRvRGF0ZSgpLCB0aGlzLmlzVVRDKCkpKTtcbiAgfVxuXG4gIC8vIE1vbnRoXG5cbiAgbW9udGgoKTogbnVtYmVyO1xuICBtb250aChtb250aDogbnVtYmVyIHwgc3RyaW5nKTogS2hyb25vcztcbiAgbW9udGgobW9udGg/OiBudW1iZXIgfCBzdHJpbmcpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIW1vbnRoICYmIG1vbnRoICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0TW9udGgodGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpO1xuICAgIH1cblxuICAgIGxldCBfbW9udGggPSBtb250aDtcblxuICAgIGlmIChpc1N0cmluZyhtb250aCkpIHtcbiAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuX2xvY2FsZSB8fCBnZXRMb2NhbGUoKTtcbiAgICAgIF9tb250aCA9IGxvY2FsZS5tb250aHNQYXJzZShtb250aCk7XG4gICAgfVxuXG4gICAgaWYgKGlzTnVtYmVyKF9tb250aCkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoc2V0TW9udGgodGhpcy5fZGF0ZSwgX21vbnRoLCB0aGlzLl9pc1VUQykpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIGhvdXIoKTogbnVtYmVyO1xuICBob3VyKGhvdXJzOiBudW1iZXIpOiBLaHJvbm9zO1xuICBob3VyKGhvdXJzPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaG91cnMoaG91cnMpO1xuICB9XG5cbiAgaG91cnMoKTogbnVtYmVyO1xuICBob3Vycyhob3VyczogbnVtYmVyKTogS2hyb25vcztcbiAgaG91cnMoaG91cnM/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIWhvdXJzICYmIGhvdXJzICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0SG91cnModGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoc2V0SG91cnModGhpcy5fZGF0ZSwgaG91cnMsIHRoaXMuX2lzVVRDKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBtaW51dGUoKTogbnVtYmVyO1xuICBtaW51dGUobWludXRlczogbnVtYmVyKTogS2hyb25vcztcbiAgbWludXRlKG1pbnV0ZXM/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5taW51dGVzKG1pbnV0ZXMpO1xuICB9XG5cbiAgbWludXRlcygpOiBudW1iZXI7XG4gIG1pbnV0ZXMobWludXRlczogbnVtYmVyKTogS2hyb25vcztcbiAgbWludXRlcyhtaW51dGVzPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCFtaW51dGVzICYmIG1pbnV0ZXMgIT09IDApIHtcbiAgICAgIHJldHVybiBnZXRNaW51dGVzKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlID0gY2xvbmVEYXRlKHNldE1pbnV0ZXModGhpcy5fZGF0ZSwgbWludXRlcywgdGhpcy5faXNVVEMpKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIHNlY29uZCgpOiBudW1iZXI7XG4gIHNlY29uZChzZWNvbmRzOiBudW1iZXIpOiBLaHJvbm9zO1xuICBzZWNvbmQoc2Vjb25kcz86IG51bWJlcik6IEtocm9ub3MgfCBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNlY29uZHMoc2Vjb25kcyk7XG4gIH1cblxuICBzZWNvbmRzKCk6IG51bWJlcjtcbiAgc2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiBLaHJvbm9zO1xuICBzZWNvbmRzKHNlY29uZHM/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIXNlY29uZHMgJiYgc2Vjb25kcyAhPT0gMCkge1xuICAgICAgcmV0dXJuIGdldFNlY29uZHModGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoc2V0U2Vjb25kcyh0aGlzLl9kYXRlLCBzZWNvbmRzLCB0aGlzLl9pc1VUQykpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgbWlsbGlzZWNvbmQoKTogbnVtYmVyO1xuICBtaWxsaXNlY29uZChtczogbnVtYmVyKTogS2hyb25vcztcbiAgbWlsbGlzZWNvbmQobXM/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZHMobXMpO1xuICB9XG5cbiAgbWlsbGlzZWNvbmRzKCk6IG51bWJlcjtcbiAgbWlsbGlzZWNvbmRzKHNlY29uZHM6IG51bWJlcik6IEtocm9ub3M7XG4gIG1pbGxpc2Vjb25kcyhzZWNvbmRzPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCFzZWNvbmRzICYmIHNlY29uZHMgIT09IDApIHtcbiAgICAgIHJldHVybiBnZXRNaWxsaXNlY29uZHModGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBjbG9uZURhdGUoc2V0TWlsbGlzZWNvbmRzKHRoaXMuX2RhdGUsIHNlY29uZHMsIHRoaXMuX2lzVVRDKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIERheVxuXG4gIGRhdGUoKTogbnVtYmVyO1xuICBkYXRlKGRhdGU6IG51bWJlcik6IEtocm9ub3M7XG4gIGRhdGUoZGF0ZT86IG51bWJlcik6IEtocm9ub3MgfCBudW1iZXIge1xuICAgIGlmICghZGF0ZSAmJiBkYXRlICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0RGF0ZSh0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZSA9IGNsb25lRGF0ZShzZXREYXRlKHRoaXMuX2RhdGUsIGRhdGUsIHRoaXMuX2lzVVRDKSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGRheSgpOiBudW1iZXIgO1xuICBkYXkoaW5wdXQ6IG51bWJlciB8IHN0cmluZyk6IEtocm9ub3MgO1xuICBkYXkoaW5wdXQ/OiBudW1iZXIgfCBzdHJpbmcpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIWlucHV0ICYmIGlucHV0ICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0RGF5T2ZXZWVrKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKTtcbiAgICB9XG5cbiAgICBsZXQgX2lucHV0ID0gaW5wdXQ7XG5cbiAgICBpZiAoaXNTdHJpbmcoaW5wdXQpKSB7XG4gICAgICBfaW5wdXQgPSBwYXJzZVdlZWtkYXkoaW5wdXQsIHRoaXMuX2xvY2FsZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzTnVtYmVyKF9pbnB1dCkpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSBzZXREYXlPZldlZWsodGhpcy5fZGF0ZSwgX2lucHV0LCB0aGlzLl9sb2NhbGUsIHRoaXMuX2lzVVRDKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHdlZWtkYXkoKTogbnVtYmVyIDtcbiAgd2Vla2RheSh2YWw6IG51bWJlcik6IEtocm9ub3MgO1xuICB3ZWVrZGF5KHZhbD86IG51bWJlcik6IEtocm9ub3MgfCBudW1iZXIge1xuICAgIGlmICghdmFsICYmIHZhbCAhPT0gMCkge1xuICAgICAgcmV0dXJuIGdldExvY2FsZURheU9mV2Vlayh0aGlzLl9kYXRlLCB0aGlzLl9sb2NhbGUsIHRoaXMuX2lzVVRDKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlID0gc2V0TG9jYWxlRGF5T2ZXZWVrKHRoaXMuX2RhdGUsIHZhbCwgeyBsb2NhbGU6IHRoaXMuX2xvY2FsZSwgaXNVVEM6IHRoaXMuX2lzVVRDIH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpc29XZWVrZGF5KCk6IG51bWJlciA7XG4gIGlzb1dlZWtkYXkodmFsOiBudW1iZXIgfCBzdHJpbmcpOiBLaHJvbm9zIDtcbiAgaXNvV2Vla2RheSh2YWw/OiBudW1iZXIgfCBzdHJpbmcpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIXZhbCAmJiB2YWwgIT09IDApIHtcbiAgICAgIHJldHVybiBnZXRJU09EYXlPZldlZWsodGhpcy5fZGF0ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZSA9IHNldElTT0RheU9mV2Vlayh0aGlzLl9kYXRlLCB2YWwpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkYXlPZlllYXIoKTogbnVtYmVyO1xuICBkYXlPZlllYXIodmFsOiBudW1iZXIpOiBLaHJvbm9zO1xuICBkYXlPZlllYXIodmFsPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCF2YWwgJiYgdmFsICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0RGF5T2ZZZWFyKHRoaXMuX2RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBzZXREYXlPZlllYXIodGhpcy5fZGF0ZSwgdmFsKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gV2Vla1xuXG4gIHdlZWsoKTogbnVtYmVyO1xuICB3ZWVrKGlucHV0OiBudW1iZXIpOiBLaHJvbm9zO1xuICB3ZWVrKGlucHV0PzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCFpbnB1dCAmJiBpbnB1dCAhPT0gMCkge1xuICAgICAgcmV0dXJuIGdldFdlZWsodGhpcy5fZGF0ZSwgdGhpcy5fbG9jYWxlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRlID0gc2V0V2Vlayh0aGlzLl9kYXRlLCBpbnB1dCwgdGhpcy5fbG9jYWxlKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIHdlZWtzKCk6IG51bWJlcjtcbiAgd2Vla3MoaW5wdXQ6IG51bWJlcik6IEtocm9ub3M7XG4gIHdlZWtzKGlucHV0PzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMud2VlayhpbnB1dCk7XG4gIH1cblxuICBpc29XZWVrKCk6IG51bWJlciA7XG4gIGlzb1dlZWsodmFsOiBudW1iZXIpOiBLaHJvbm9zIDtcbiAgaXNvV2Vlayh2YWw/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICBpZiAoIXZhbCAmJiB2YWwgIT09IDApIHtcbiAgICAgIHJldHVybiBnZXRJU09XZWVrKHRoaXMuX2RhdGUpO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGUgPSBzZXRJU09XZWVrKHRoaXMuX2RhdGUsIHZhbCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBpc29XZWVrcygpOiBudW1iZXIgO1xuICBpc29XZWVrcyh2YWw6IG51bWJlcik6IEtocm9ub3MgO1xuICBpc29XZWVrcyh2YWw/OiBudW1iZXIpOiBLaHJvbm9zIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc29XZWVrKHZhbCk7XG4gIH1cblxuICB3ZWVrc0luWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiBnZXRXZWVrc0luWWVhcih0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQywgdGhpcy5fbG9jYWxlKTtcbiAgfVxuXG4gIGlzb1dlZWtzSW5ZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGdldElTT1dlZWtzSW5ZZWFyKHRoaXMuX2RhdGUsIHRoaXMuX2lzVVRDKTtcbiAgfVxuXG5cbiAgZGF5c0luTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF5c0luTW9udGgoZ2V0RnVsbFllYXIodGhpcy5fZGF0ZSwgdGhpcy5faXNVVEMpLCBnZXRNb250aCh0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQykpO1xuICB9XG5cblxuICBxdWFydGVyKCk6IG51bWJlcjtcbiAgcXVhcnRlcih2YWw6IG51bWJlcik6IEtocm9ub3M7XG4gIHF1YXJ0ZXIodmFsPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgaWYgKCF2YWwgJiYgdmFsICE9PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0UXVhcnRlcih0aGlzLl9kYXRlLCB0aGlzLl9pc1VUQyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZGF0ZSA9IHNldFF1YXJ0ZXIodGhpcy5fZGF0ZSwgdmFsLCB0aGlzLl9pc1VUQyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBxdWFydGVycygpOiBudW1iZXI7XG4gIHF1YXJ0ZXJzKHZhbDogbnVtYmVyKTogS2hyb25vcztcbiAgcXVhcnRlcnModmFsPzogbnVtYmVyKTogS2hyb25vcyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucXVhcnRlcih2YWwpO1xuICB9XG5cbiAgc3RhcnRPZihwZXJpb2Q/OiBNb21lbnRVbml0T2ZUaW1lKTogS2hyb25vcyB7XG4gICAgY29uc3QgX3BlciA9IG1hcFVuaXRPZlRpbWUocGVyaW9kKTtcbiAgICB0aGlzLl9kYXRlID0gc3RhcnRPZih0aGlzLl9kYXRlLCBfcGVyLCB0aGlzLl9pc1VUQyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG59XG4iXX0=