@zeedhi/common 3.0.0 → 3.0.2

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 (292) hide show
  1. package/coverage/clover.xml +2570 -1531
  2. package/coverage/coverage-final.json +171 -158
  3. package/coverage/lcov-report/block-navigation.js +1 -1
  4. package/coverage/lcov-report/index.html +194 -44
  5. package/coverage/lcov-report/sorter.js +21 -7
  6. package/coverage/lcov-report/src/components/index.html +5 -5
  7. package/coverage/lcov-report/src/components/index.ts.html +244 -142
  8. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +2 -2
  9. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +3 -3
  10. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +3 -3
  11. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +6 -6
  12. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +6 -6
  13. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +3 -3
  14. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +3 -3
  15. package/coverage/lcov-report/src/components/tek-grid/index.html +1 -1
  16. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +19 -19
  17. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +3 -3
  18. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +2 -2
  19. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +6 -6
  20. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +1 -1
  21. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +4 -4
  22. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +3 -3
  23. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +5 -5
  24. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +5 -5
  25. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +4 -4
  26. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +1 -1
  27. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +3 -3
  28. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +6 -6
  29. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +2 -2
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +3 -3
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +2 -2
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +1 -1
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +4 -4
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +2 -2
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +1 -1
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +3 -3
  37. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +5 -5
  38. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +22 -22
  39. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +3 -3
  40. package/coverage/lcov-report/src/components/zd-alert/index.html +1 -1
  41. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +3 -3
  42. package/coverage/lcov-report/src/components/zd-badge/index.html +1 -1
  43. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +3 -3
  44. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +1 -1
  45. package/coverage/lcov-report/src/components/zd-button/button.ts.html +36 -36
  46. package/coverage/lcov-report/src/components/zd-button/index.html +1 -1
  47. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +113 -131
  48. package/coverage/lcov-report/src/components/zd-button-group/index.html +17 -17
  49. package/coverage/lcov-report/src/components/zd-card/card.ts.html +3 -3
  50. package/coverage/lcov-report/src/components/zd-card/index.html +1 -1
  51. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +3 -3
  52. package/coverage/lcov-report/src/components/zd-carousel/index.html +1 -1
  53. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +6 -6
  54. package/coverage/lcov-report/src/components/zd-checkbox/index.html +1 -1
  55. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +77 -122
  56. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +17 -17
  57. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +352 -0
  58. package/coverage/lcov-report/src/components/zd-chip/index.html +116 -0
  59. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +4 -4
  60. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +1 -1
  61. package/coverage/lcov-report/src/components/zd-col/col.ts.html +3 -3
  62. package/coverage/lcov-report/src/components/zd-col/index.html +1 -1
  63. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +80 -68
  64. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +1 -1
  65. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +2 -2
  66. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +5 -5
  67. package/coverage/lcov-report/src/components/zd-component/component.ts.html +117 -69
  68. package/coverage/lcov-report/src/components/zd-component/index.html +9 -9
  69. package/coverage/lcov-report/src/components/zd-container/container.ts.html +3 -3
  70. package/coverage/lcov-report/src/components/zd-container/index.html +1 -1
  71. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +259 -0
  72. package/coverage/lcov-report/src/components/zd-currency/index.html +116 -0
  73. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +113 -98
  74. package/coverage/lcov-report/src/components/zd-date-input/index.html +5 -5
  75. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +2059 -0
  76. package/coverage/lcov-report/src/components/zd-date-range/index.html +116 -0
  77. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +30 -30
  78. package/coverage/lcov-report/src/components/zd-dialog/index.html +1 -1
  79. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +3 -3
  80. package/coverage/lcov-report/src/components/zd-divider/index.html +1 -1
  81. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +3 -3
  82. package/coverage/lcov-report/src/components/zd-dropdown/index.html +1 -1
  83. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +3 -3
  84. package/coverage/lcov-report/src/components/zd-footer/index.html +1 -1
  85. package/coverage/lcov-report/src/components/zd-form/form.ts.html +288 -18
  86. package/coverage/lcov-report/src/components/zd-form/index.html +9 -9
  87. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +8 -8
  88. package/coverage/lcov-report/src/components/zd-frame/index.html +1 -1
  89. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +4 -4
  90. package/coverage/lcov-report/src/components/zd-frame-page/index.html +1 -1
  91. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +3 -3
  92. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +3 -3
  93. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +10 -10
  94. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +4 -4
  95. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +84 -84
  96. package/coverage/lcov-report/src/components/zd-grid/index.html +1 -1
  97. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +12 -12
  98. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +6 -6
  99. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +14 -14
  100. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +3 -3
  101. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +5 -5
  102. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +3 -3
  103. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +6 -6
  104. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +7 -7
  105. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +1 -1
  106. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +3 -3
  107. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +2 -2
  108. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +2 -2
  109. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +3 -3
  110. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +2 -2
  111. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +2 -2
  112. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +9 -9
  113. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +1 -1
  114. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +8 -8
  115. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +2 -2
  116. package/coverage/lcov-report/src/components/zd-header/header.ts.html +3 -3
  117. package/coverage/lcov-report/src/components/zd-header/index.html +1 -1
  118. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +3 -3
  119. package/coverage/lcov-report/src/components/zd-icon/index.html +1 -1
  120. package/coverage/lcov-report/src/components/zd-image/image.ts.html +3 -3
  121. package/coverage/lcov-report/src/components/zd-image/index.html +1 -1
  122. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +436 -0
  123. package/coverage/lcov-report/src/components/zd-increment/index.html +116 -0
  124. package/coverage/lcov-report/src/components/zd-input/index.html +5 -5
  125. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +4 -4
  126. package/coverage/lcov-report/src/components/zd-input/input.ts.html +73 -61
  127. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +2 -2
  128. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +6 -6
  129. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +9 -9
  130. package/coverage/lcov-report/src/components/zd-iterable/index.html +1 -1
  131. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +2 -2
  132. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +6 -6
  133. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +4 -4
  134. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +5 -5
  135. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +3 -3
  136. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +5 -5
  137. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +3 -3
  138. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +29 -29
  139. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +8 -8
  140. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +1 -1
  141. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +5 -5
  142. package/coverage/lcov-report/src/components/zd-layout/index.html +1 -1
  143. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +3 -3
  144. package/coverage/lcov-report/src/components/zd-list/index.html +1 -1
  145. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +2 -2
  146. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +4 -4
  147. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +3 -3
  148. package/coverage/lcov-report/src/components/zd-list/list.ts.html +4 -4
  149. package/coverage/lcov-report/src/components/zd-loading/index.html +1 -1
  150. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +3 -3
  151. package/coverage/lcov-report/src/components/zd-login/index.html +1 -1
  152. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +4 -4
  153. package/coverage/lcov-report/src/components/zd-login/login.ts.html +3 -3
  154. package/coverage/lcov-report/src/components/zd-main/index.html +1 -1
  155. package/coverage/lcov-report/src/components/zd-main/main.ts.html +3 -3
  156. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +118 -0
  157. package/coverage/lcov-report/src/components/zd-master-detail/index.html +146 -0
  158. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +331 -0
  159. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +118 -0
  160. package/coverage/lcov-report/src/components/zd-menu/index.html +1 -1
  161. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +4 -4
  162. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +3 -3
  163. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +3 -3
  164. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +3 -3
  165. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +4 -4
  166. package/coverage/lcov-report/src/components/zd-modal/index.html +1 -1
  167. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +4 -4
  168. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +5 -5
  169. package/coverage/lcov-report/src/components/zd-month/index.html +116 -0
  170. package/coverage/lcov-report/src/components/zd-month/month.ts.html +568 -0
  171. package/coverage/lcov-report/src/components/zd-number-input/index.html +1 -1
  172. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +27 -27
  173. package/coverage/lcov-report/src/components/zd-password/index.html +1 -1
  174. package/coverage/lcov-report/src/components/zd-password/password.ts.html +7 -7
  175. package/coverage/lcov-report/src/components/zd-progress/index.html +116 -0
  176. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +262 -0
  177. package/coverage/lcov-report/src/components/zd-radio/index.html +1 -1
  178. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +6 -6
  179. package/coverage/lcov-report/src/components/zd-row/index.html +1 -1
  180. package/coverage/lcov-report/src/components/zd-row/row.ts.html +3 -3
  181. package/coverage/lcov-report/src/components/zd-select/index.html +1 -1
  182. package/coverage/lcov-report/src/components/zd-select/select.ts.html +9 -9
  183. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +1 -1
  184. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +5 -5
  185. package/coverage/lcov-report/src/components/zd-svg-map/index.html +116 -0
  186. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +475 -0
  187. package/coverage/lcov-report/src/components/zd-switch/index.html +1 -1
  188. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +5 -5
  189. package/coverage/lcov-report/src/components/zd-table/index.html +1 -1
  190. package/coverage/lcov-report/src/components/zd-table/table.ts.html +4 -4
  191. package/coverage/lcov-report/src/components/zd-tabs/index.html +1 -1
  192. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +2 -2
  193. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +5 -5
  194. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +7 -7
  195. package/coverage/lcov-report/src/components/zd-tag/index.html +1 -1
  196. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +3 -3
  197. package/coverage/lcov-report/src/components/zd-text/index.html +1 -1
  198. package/coverage/lcov-report/src/components/zd-text/text.ts.html +3 -3
  199. package/coverage/lcov-report/src/components/zd-text-input/index.html +1 -1
  200. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +22 -22
  201. package/coverage/lcov-report/src/components/zd-textarea/index.html +1 -1
  202. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +5 -5
  203. package/coverage/lcov-report/src/components/zd-time/index.html +131 -0
  204. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +157 -0
  205. package/coverage/lcov-report/src/components/zd-time/time.ts.html +1669 -0
  206. package/coverage/lcov-report/src/components/zd-toggleable/index.html +1 -1
  207. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +3 -3
  208. package/coverage/lcov-report/src/components/zd-tooltip/index.html +1 -1
  209. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +3 -3
  210. package/coverage/lcov-report/src/components/zd-tree/index.html +116 -0
  211. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +1849 -0
  212. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +1 -1
  213. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +7 -7
  214. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +9 -9
  215. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +3 -3
  216. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +5 -5
  217. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +5 -5
  218. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +108 -108
  219. package/coverage/lcov-report/src/error/delete-rows.ts.html +3 -3
  220. package/coverage/lcov-report/src/error/index.html +1 -1
  221. package/coverage/lcov-report/src/error/non-initialized.ts.html +3 -3
  222. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +3 -3
  223. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +2 -2
  224. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +3 -3
  225. package/coverage/lcov-report/src/index.html +1 -1
  226. package/coverage/lcov-report/src/index.ts.html +9 -27
  227. package/coverage/lcov-report/src/services/index.html +1 -1
  228. package/coverage/lcov-report/src/services/index.ts.html +5 -5
  229. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +3 -3
  230. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +3 -3
  231. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +5 -5
  232. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +3 -3
  233. package/coverage/lcov-report/src/services/zd-alert/index.html +1 -1
  234. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +6 -6
  235. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +4 -4
  236. package/coverage/lcov-report/src/services/zd-dialog/index.html +1 -1
  237. package/coverage/lcov-report/src/services/zd-loading/index.html +1 -1
  238. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +2 -2
  239. package/coverage/lcov-report/src/services/zd-modal/index.html +1 -1
  240. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +5 -5
  241. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +3 -3
  242. package/coverage/lcov-report/src/utils/data-value-out/index.html +1 -1
  243. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +3 -3
  244. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +3 -3
  245. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +1 -1
  246. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +3 -3
  247. package/coverage/lcov-report/src/utils/icons/icons.ts.html +6 -6
  248. package/coverage/lcov-report/src/utils/icons/index.html +1 -1
  249. package/coverage/lcov-report/src/utils/index.html +1 -1
  250. package/coverage/lcov-report/src/utils/index.ts.html +11 -11
  251. package/coverage/lcov-report/src/utils/is-filled-object/index.html +1 -1
  252. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +3 -3
  253. package/coverage/lcov-report/src/utils/is-nil.ts.html +2 -2
  254. package/coverage/lcov-report/src/utils/omit/index.html +1 -1
  255. package/coverage/lcov-report/src/utils/omit/omit.ts.html +2 -2
  256. package/coverage/lcov-report/src/utils/theme/index.html +1 -1
  257. package/coverage/lcov-report/src/utils/theme/theme.ts.html +4 -4
  258. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +7 -7
  259. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +3 -3
  260. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +90 -87
  261. package/coverage/lcov-report/src/utils/unique-by/index.html +1 -1
  262. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +3 -3
  263. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +1 -1
  264. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +1 -1
  265. package/coverage/lcov.info +3991 -2050
  266. package/dist/types/components/index.d.ts +2 -0
  267. package/dist/types/components/zd-date-range/date-range.d.ts +152 -0
  268. package/dist/types/components/zd-date-range/interfaces.d.ts +18 -0
  269. package/dist/types/components/zd-form/form.d.ts +15 -0
  270. package/dist/types/components/zd-form/interfaces.d.ts +3 -0
  271. package/dist/types/components/zd-input/input.d.ts +2 -0
  272. package/dist/types/components/zd-input/interfaces.d.ts +2 -0
  273. package/dist/types/components/zd-time/interfaces.d.ts +1 -1
  274. package/dist/types/components/zd-time/time.d.ts +6 -6
  275. package/dist/types/index.d.ts +1 -1
  276. package/dist/zd-common.js +634 -23
  277. package/dist/zd-common.min.js +634 -23
  278. package/package.json +3 -3
  279. package/src/components/index.ts +7 -5
  280. package/src/components/zd-date-range/date-range.ts +658 -0
  281. package/src/components/zd-date-range/interfaces.ts +19 -0
  282. package/src/components/zd-form/form.ts +91 -1
  283. package/src/components/zd-form/interfaces.ts +3 -0
  284. package/src/components/zd-input/input.ts +4 -0
  285. package/src/components/zd-input/interfaces.ts +2 -0
  286. package/src/components/zd-time/interfaces.ts +16 -16
  287. package/src/components/zd-time/time-format-selector.ts +13 -13
  288. package/src/components/zd-time/time.ts +510 -488
  289. package/src/index.ts +1 -8
  290. package/tests/unit/components/zd-date-range/date-range.spec.ts +1125 -0
  291. package/tests/unit/components/zd-form/form.spec.ts +30 -0
  292. package/tests/unit/components/zd-menu/menu-button.spec.ts +1 -1
@@ -0,0 +1,2059 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/zd-date-range/date-range.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/zd-date-range</a> date-range.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>263/263</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>143/143</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>53/53</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>243/243</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">112x</span>
725
+ <span class="cline-any cline-yes">112x</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-yes">112x</span>
729
+ <span class="cline-any cline-yes">112x</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-yes">112x</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-yes">66x</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-yes">66x</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-yes">66x</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-yes">66x</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-yes">66x</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-yes">66x</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-yes">66x</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-yes">66x</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-yes">66x</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-yes">66x</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-yes">180x</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-yes">66x</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-yes">66x</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-yes">66x</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-yes">66x</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-yes">66x</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-yes">66x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-yes">66x</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-yes">66x</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-yes">66x</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-yes">66x</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-yes">66x</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-yes">104x</span>
893
+ <span class="cline-any cline-yes">59x</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-yes">104x</span>
897
+ <span class="cline-any cline-yes">58x</span>
898
+ <span class="cline-any cline-yes">58x</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-yes">46x</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-yes">46x</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-yes">45x</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-yes">28x</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-yes">88x</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-yes">11x</span>
920
+ <span class="cline-any cline-yes">11x</span>
921
+ <span class="cline-any cline-yes">11x</span>
922
+ <span class="cline-any cline-yes">1x</span>
923
+ <span class="cline-any cline-yes">11x</span>
924
+ <span class="cline-any cline-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-yes">265x</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-yes">152x</span>
932
+ <span class="cline-any cline-yes">30x</span>
933
+ <span class="cline-any cline-yes">30x</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-yes">152x</span>
936
+ <span class="cline-any cline-yes">66x</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-yes">9x</span>
945
+ <span class="cline-any cline-yes">9x</span>
946
+ <span class="cline-any cline-yes">9x</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-yes">9x</span>
954
+ <span class="cline-any cline-yes">3x</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-yes">6x</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-yes">7x</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-yes">33x</span>
965
+ <span class="cline-any cline-yes">33x</span>
966
+ <span class="cline-any cline-yes">33x</span>
967
+ <span class="cline-any cline-yes">13x</span>
968
+ <span class="cline-any cline-yes">13x</span>
969
+ <span class="cline-any cline-yes">13x</span>
970
+ <span class="cline-any cline-yes">13x</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-yes">20x</span>
973
+ <span class="cline-any cline-yes">4x</span>
974
+ <span class="cline-any cline-yes">4x</span>
975
+ <span class="cline-any cline-yes">4x</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-yes">20x</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-yes">33x</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-yes">42x</span>
990
+ <span class="cline-any cline-yes">46x</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-yes">36x</span>
995
+ <span class="cline-any cline-yes">36x</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-yes">31x</span>
998
+ <span class="cline-any cline-yes">17x</span>
999
+ <span class="cline-any cline-yes">17x</span>
1000
+ <span class="cline-any cline-yes">16x</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-yes">14x</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-yes">56x</span>
1007
+ <span class="cline-any cline-yes">56x</span>
1008
+ <span class="cline-any cline-yes">56x</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-yes">48x</span>
1011
+ <span class="cline-any cline-yes">48x</span>
1012
+ <span class="cline-any cline-yes">48x</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-yes">47x</span>
1015
+ <span class="cline-any cline-yes">47x</span>
1016
+ <span class="cline-any cline-yes">47x</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-yes">46x</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-yes">12x</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-yes">1x</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-yes">3x</span>
1031
+ <span class="cline-any cline-yes">3x</span>
1032
+ <span class="cline-any cline-yes">3x</span>
1033
+ <span class="cline-any cline-yes">3x</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-yes">4x</span>
1040
+ <span class="cline-any cline-yes">3x</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-yes">4x</span>
1043
+ <span class="cline-any cline-yes">4x</span>
1044
+ <span class="cline-any cline-yes">3x</span>
1045
+ <span class="cline-any cline-yes">2x</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-yes">4x</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-yes">9x</span>
1053
+ <span class="cline-any cline-yes">9x</span>
1054
+ <span class="cline-any cline-yes">8x</span>
1055
+ <span class="cline-any cline-yes">10x</span>
1056
+ <span class="cline-any cline-yes">8x</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-yes">9x</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-neutral">&nbsp;</span>
1064
+ <span class="cline-any cline-yes">21x</span>
1065
+ <span class="cline-any cline-yes">12x</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-yes">14x</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-yes">6x</span>
1075
+ <span class="cline-any cline-yes">6x</span>
1076
+ <span class="cline-any cline-yes">6x</span>
1077
+ <span class="cline-any cline-yes">5x</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-yes">12x</span>
1083
+ <span class="cline-any cline-yes">12x</span>
1084
+ <span class="cline-any cline-yes">12x</span>
1085
+ <span class="cline-any cline-yes">12x</span>
1086
+ <span class="cline-any cline-yes">12x</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-yes">12x</span>
1089
+ <span class="cline-any cline-yes">12x</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-yes">9x</span>
1095
+ <span class="cline-any cline-yes">9x</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-neutral">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-neutral">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-yes">9x</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-yes">8x</span>
1105
+ <span class="cline-any cline-yes">8x</span>
1106
+ <span class="cline-any cline-yes">8x</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-yes">8x</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-neutral">&nbsp;</span>
1112
+ <span class="cline-any cline-yes">8x</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-neutral">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-yes">12x</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-yes">4x</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-yes">8x</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-yes">3x</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-yes">2x</span>
1145
+ <span class="cline-any cline-yes">2x</span>
1146
+ <span class="cline-any cline-yes">1x</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-neutral">&nbsp;</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-neutral">&nbsp;</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-yes">75x</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-yes">225x</span>
1161
+ <span class="cline-any cline-neutral">&nbsp;</span>
1162
+ <span class="cline-any cline-yes">75x</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-yes">143x</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-yes">66x</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-yes">66x</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-yes">19x</span>
1173
+ <span class="cline-any cline-neutral">&nbsp;</span>
1174
+ <span class="cline-any cline-yes">19x</span>
1175
+ <span class="cline-any cline-yes">18x</span>
1176
+ <span class="cline-any cline-yes">18x</span>
1177
+ <span class="cline-any cline-neutral">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-yes">19x</span>
1180
+ <span class="cline-any cline-yes">19x</span>
1181
+ <span class="cline-any cline-neutral">&nbsp;</span>
1182
+ <span class="cline-any cline-yes">19x</span>
1183
+ <span class="cline-any cline-yes">17x</span>
1184
+ <span class="cline-any cline-yes">17x</span>
1185
+ <span class="cline-any cline-yes">17x</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-yes">2x</span>
1189
+ <span class="cline-any cline-yes">2x</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-yes">16x</span>
1194
+ <span class="cline-any cline-yes">16x</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-neutral">&nbsp;</span>
1197
+ <span class="cline-any cline-neutral">&nbsp;</span>
1198
+ <span class="cline-any cline-yes">7x</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-yes">5x</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-yes">2x</span>
1203
+ <span class="cline-any cline-neutral">&nbsp;</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-yes">7x</span>
1207
+ <span class="cline-any cline-yes">7x</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-yes">7x</span>
1210
+ <span class="cline-any cline-yes">7x</span>
1211
+ <span class="cline-any cline-yes">7x</span>
1212
+ <span class="cline-any cline-yes">7x</span>
1213
+ <span class="cline-any cline-neutral">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-yes">66x</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-neutral">&nbsp;</span>
1218
+ <span class="cline-any cline-yes">10x</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-neutral">&nbsp;</span>
1221
+ <span class="cline-any cline-neutral">&nbsp;</span>
1222
+ <span class="cline-any cline-yes">5x</span>
1223
+ <span class="cline-any cline-neutral">&nbsp;</span>
1224
+ <span class="cline-any cline-yes">5x</span>
1225
+ <span class="cline-any cline-yes">2x</span>
1226
+ <span class="cline-any cline-yes">3x</span>
1227
+ <span class="cline-any cline-yes">2x</span>
1228
+ <span class="cline-any cline-yes">2x</span>
1229
+ <span class="cline-any cline-yes">2x</span>
1230
+ <span class="cline-any cline-yes">1x</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-yes">1x</span>
1233
+ <span class="cline-any cline-yes">1x</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-neutral">&nbsp;</span>
1236
+ <span class="cline-any cline-yes">5x</span>
1237
+ <span class="cline-any cline-neutral">&nbsp;</span>
1238
+ <span class="cline-any cline-neutral">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-yes">112x</span>
1241
+ <span class="cline-any cline-neutral">&nbsp;</span>
1242
+ <span class="cline-any cline-neutral">&nbsp;</span>
1243
+ <span class="cline-any cline-neutral">&nbsp;</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-neutral">&nbsp;</span>
1246
+ <span class="cline-any cline-neutral">&nbsp;</span>
1247
+ <span class="cline-any cline-neutral">&nbsp;</span>
1248
+ <span class="cline-any cline-neutral">&nbsp;</span>
1249
+ <span class="cline-any cline-neutral">&nbsp;</span>
1250
+ <span class="cline-any cline-neutral">&nbsp;</span>
1251
+ <span class="cline-any cline-neutral">&nbsp;</span>
1252
+ <span class="cline-any cline-neutral">&nbsp;</span>
1253
+ <span class="cline-any cline-neutral">&nbsp;</span>
1254
+ <span class="cline-any cline-neutral">&nbsp;</span>
1255
+ <span class="cline-any cline-yes">52x</span>
1256
+ <span class="cline-any cline-yes">5x</span>
1257
+ <span class="cline-any cline-neutral">&nbsp;</span>
1258
+ <span class="cline-any cline-yes">47x</span>
1259
+ <span class="cline-any cline-yes">47x</span>
1260
+ <span class="cline-any cline-yes">72x</span>
1261
+ <span class="cline-any cline-yes">71x</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-yes">71x</span>
1264
+ <span class="cline-any cline-yes">11x</span>
1265
+ <span class="cline-any cline-yes">11x</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-neutral">&nbsp;</span>
1268
+ <span class="cline-any cline-yes">60x</span>
1269
+ <span class="cline-any cline-yes">19x</span>
1270
+ <span class="cline-any cline-yes">6x</span>
1271
+ <span class="cline-any cline-yes">6x</span>
1272
+ <span class="cline-any cline-yes">6x</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-neutral">&nbsp;</span>
1275
+ <span class="cline-any cline-yes">13x</span>
1276
+ <span class="cline-any cline-yes">13x</span>
1277
+ <span class="cline-any cline-yes">10x</span>
1278
+ <span class="cline-any cline-neutral">&nbsp;</span>
1279
+ <span class="cline-any cline-neutral">&nbsp;</span>
1280
+ <span class="cline-any cline-yes">13x</span>
1281
+ <span class="cline-any cline-yes">13x</span>
1282
+ <span class="cline-any cline-neutral">&nbsp;</span>
1283
+ <span class="cline-any cline-yes">13x</span>
1284
+ <span class="cline-any cline-yes">13x</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-neutral">&nbsp;</span>
1287
+ <span class="cline-any cline-yes">41x</span>
1288
+ <span class="cline-any cline-yes">41x</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-neutral">&nbsp;</span>
1292
+ <span class="cline-any cline-yes">47x</span>
1293
+ <span class="cline-any cline-yes">47x</span>
1294
+ <span class="cline-any cline-yes">24x</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-neutral">&nbsp;</span>
1297
+ <span class="cline-any cline-yes">47x</span>
1298
+ <span class="cline-any cline-neutral">&nbsp;</span>
1299
+ <span class="cline-any cline-neutral">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-yes">112x</span>
1302
+ <span class="cline-any cline-neutral">&nbsp;</span>
1303
+ <span class="cline-any cline-neutral">&nbsp;</span>
1304
+ <span class="cline-any cline-neutral">&nbsp;</span>
1305
+ <span class="cline-any cline-neutral">&nbsp;</span>
1306
+ <span class="cline-any cline-neutral">&nbsp;</span>
1307
+ <span class="cline-any cline-neutral">&nbsp;</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-neutral">&nbsp;</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-neutral">&nbsp;</span>
1312
+ <span class="cline-any cline-neutral">&nbsp;</span>
1313
+ <span class="cline-any cline-neutral">&nbsp;</span>
1314
+ <span class="cline-any cline-neutral">&nbsp;</span>
1315
+ <span class="cline-any cline-neutral">&nbsp;</span>
1316
+ <span class="cline-any cline-yes">34x</span>
1317
+ <span class="cline-any cline-yes">1x</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span>
1319
+ <span class="cline-any cline-neutral">&nbsp;</span>
1320
+ <span class="cline-any cline-yes">33x</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-yes">33x</span>
1323
+ <span class="cline-any cline-yes">19x</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-yes">14x</span>
1326
+ <span class="cline-any cline-neutral">&nbsp;</span>
1327
+ <span class="cline-any cline-neutral">&nbsp;</span>
1328
+ <span class="cline-any cline-yes">33x</span>
1329
+ <span class="cline-any cline-yes">33x</span>
1330
+ <span class="cline-any cline-yes">52x</span>
1331
+ <span class="cline-any cline-yes">52x</span>
1332
+ <span class="cline-any cline-yes">37x</span>
1333
+ <span class="cline-any cline-yes">37x</span>
1334
+ <span class="cline-any cline-yes">37x</span>
1335
+ <span class="cline-any cline-neutral">&nbsp;</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-yes">15x</span>
1338
+ <span class="cline-any cline-yes">12x</span>
1339
+ <span class="cline-any cline-yes">3x</span>
1340
+ <span class="cline-any cline-yes">2x</span>
1341
+ <span class="cline-any cline-yes">2x</span>
1342
+ <span class="cline-any cline-yes">2x</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-neutral">&nbsp;</span>
1345
+ <span class="cline-any cline-yes">1x</span>
1346
+ <span class="cline-any cline-yes">1x</span>
1347
+ <span class="cline-any cline-neutral">&nbsp;</span>
1348
+ <span class="cline-any cline-neutral">&nbsp;</span>
1349
+ <span class="cline-any cline-yes">9x</span>
1350
+ <span class="cline-any cline-neutral">&nbsp;</span>
1351
+ <span class="cline-any cline-neutral">&nbsp;</span>
1352
+ <span class="cline-any cline-yes">9x</span>
1353
+ <span class="cline-any cline-yes">6x</span>
1354
+ <span class="cline-any cline-neutral">&nbsp;</span>
1355
+ <span class="cline-any cline-yes">6x</span>
1356
+ <span class="cline-any cline-neutral">&nbsp;</span>
1357
+ <span class="cline-any cline-yes">6x</span>
1358
+ <span class="cline-any cline-yes">5x</span>
1359
+ <span class="cline-any cline-yes">5x</span>
1360
+ <span class="cline-any cline-yes">5x</span>
1361
+ <span class="cline-any cline-neutral">&nbsp;</span>
1362
+ <span class="cline-any cline-neutral">&nbsp;</span>
1363
+ <span class="cline-any cline-neutral">&nbsp;</span>
1364
+ <span class="cline-any cline-yes">4x</span>
1365
+ <span class="cline-any cline-neutral">&nbsp;</span>
1366
+ <span class="cline-any cline-yes">4x</span>
1367
+ <span class="cline-any cline-neutral">&nbsp;</span>
1368
+ <span class="cline-any cline-yes">4x</span>
1369
+ <span class="cline-any cline-yes">3x</span>
1370
+ <span class="cline-any cline-yes">3x</span>
1371
+ <span class="cline-any cline-neutral">&nbsp;</span>
1372
+ <span class="cline-any cline-neutral">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-yes">4x</span>
1375
+ <span class="cline-any cline-neutral">&nbsp;</span>
1376
+ <span class="cline-any cline-neutral">&nbsp;</span>
1377
+ <span class="cline-any cline-yes">33x</span>
1378
+ <span class="cline-any cline-neutral">&nbsp;</span>
1379
+ <span class="cline-any cline-neutral">&nbsp;</span>
1380
+ <span class="cline-any cline-neutral">&nbsp;</span>
1381
+ <span class="cline-any cline-yes">112x</span>
1382
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Config, DateHelper, FormatterParserProvider, I18n, Mask, Utils, dayjs } from '@zeedhi/core';
1383
+ import isUndefined from 'lodash.isundefined';
1384
+ import { IDateRange } from './interfaces';
1385
+ &nbsp;
1386
+ import { InputFactory } from '../zd-input/input-factory';
1387
+ import { TextInput } from '../zd-text-input/text-input';
1388
+ &nbsp;
1389
+ export class DateRange extends TextInput implements IDateRange {
1390
+ /**
1391
+ * Input auto complete.
1392
+ */
1393
+ public autocomplete = false;
1394
+ &nbsp;
1395
+ /**
1396
+ * Defines the date format.
1397
+ */
1398
+ public dateFormat: string = Config.dateFormat;
1399
+ &nbsp;
1400
+ /**
1401
+ * Defines the date format displayed.
1402
+ */
1403
+ public displayFormat: string = Config.displayFormat;
1404
+ &nbsp;
1405
+ /**
1406
+ * Defines the date input format.
1407
+ */
1408
+ public inputFormat?: string = Config.dateInputFormat;
1409
+ &nbsp;
1410
+ /**
1411
+ * Shows the date picker.
1412
+ */
1413
+ public showDatePicker = false;
1414
+ &nbsp;
1415
+ /**
1416
+ * Sets the first day of the week, starting with 0 for Sunday.
1417
+ */
1418
+ public firstDayOfWeek: number | string = 0;
1419
+ &nbsp;
1420
+ /**
1421
+ * Forces 100% width.
1422
+ */
1423
+ public fullWidth = false;
1424
+ &nbsp;
1425
+ /**
1426
+ * Sets the locale. Accepts a string with a BCP 47 language tag.
1427
+ */
1428
+ public locale?: string = I18n.instance.language;
1429
+ &nbsp;
1430
+ /**
1431
+ * Allows changing displayed month with mouse scroll
1432
+ */
1433
+ public scrollable = false;
1434
+ &nbsp;
1435
+ /**
1436
+ * Toggles visibility of the week numbers in the body of the calendar.
1437
+ */
1438
+ public showWeek = false;
1439
+ &nbsp;
1440
+ /**
1441
+ * Character that will separate the two dates
1442
+ */
1443
+ public get splitter(): string {
1444
+ return I18n.translate(this.internalSplitter);
1445
+ }
1446
+ &nbsp;
1447
+ public set splitter(splitter: string) {
1448
+ this.internalSplitter = splitter;
1449
+ }
1450
+ &nbsp;
1451
+ private internalSplitter = ' ~ ';
1452
+ &nbsp;
1453
+ /**
1454
+ * Width of the picker.
1455
+ */
1456
+ &nbsp;
1457
+ public width: number | string = 248;
1458
+ &nbsp;
1459
+ /**
1460
+ * Helper options.
1461
+ */
1462
+ public helperOptions?: string[] = [];
1463
+ &nbsp;
1464
+ /**
1465
+ * Max value allowed.
1466
+ */
1467
+ public max?: string = '';
1468
+ &nbsp;
1469
+ /**
1470
+ * Min value allowed.
1471
+ */
1472
+ public min?: string = '';
1473
+ &nbsp;
1474
+ /**
1475
+ * Helper value.
1476
+ */
1477
+ public helperValue?: string = '';
1478
+ &nbsp;
1479
+ protected isoFormat = 'YYYY-MM-DD';
1480
+ &nbsp;
1481
+ protected dateError = false;
1482
+ &nbsp;
1483
+ protected formatterFn = FormatterParserProvider.getFormatter('ZdDateRange');
1484
+ &nbsp;
1485
+ protected parserFn = FormatterParserProvider.getParser('ZdDateRange');
1486
+ &nbsp;
1487
+ protected initialMask?: string;
1488
+ &nbsp;
1489
+ public unitMask?: string;
1490
+ &nbsp;
1491
+ protected isSimpleDisplay!: boolean;
1492
+ &nbsp;
1493
+ /* istanbul ignore next */
1494
+ /**
1495
+ * Creates a new Date.
1496
+ * @param props Date properties
1497
+ */
1498
+ constructor(props: IDateRange) {
1499
+ super(props);
1500
+ // Add this logic to resolve template strings
1501
+ if (typeof props.appendIcon === 'string' &amp;&amp; props.appendIcon.startsWith('{{') &amp;&amp; props.appendIcon.endsWith('}}')) {
1502
+ const match = props.appendIcon.match(/{{(.*?)}}/);
1503
+ if (match) {
1504
+ const path = match[1].trim().split('.');
1505
+ let value: any = window;
1506
+ for (const key of path) {
1507
+ value = value?.[key];
1508
+ }
1509
+ this.appendIcon = value ?? props.appendIcon;
1510
+ } else {
1511
+ this.appendIcon = props.appendIcon;
1512
+ }
1513
+ } else {
1514
+ this.appendIcon = this.getInitValue('appendIcon', props.appendIcon, 'calendar');
1515
+ }
1516
+ this.autocomplete = this.getInitValue('autocomplete', props.autocomplete, this.autocomplete);
1517
+ this.dateFormat = this.getInitValue('dateFormat', props.dateFormat, this.dateFormat);
1518
+ this.dateValidation = this.dateValidation.bind(this);
1519
+ this.displayFormat = this.getInitValue('displayFormat', props.displayFormat, this.displayFormat);
1520
+ this.inputFormat = this.getInitValue('inputFormat', props.inputFormat, this.inputFormat);
1521
+ this.firstDayOfWeek = this.getInitValue('firstDayOfWeek', props.firstDayOfWeek, this.firstDayOfWeek);
1522
+ this.fullWidth = this.getInitValue('fullWidth', props.fullWidth, this.fullWidth);
1523
+ this.locale = this.getInitValue('locale', props.locale, this.locale);
1524
+ this.scrollable = this.getInitValue('scrollable', props.scrollable, this.scrollable);
1525
+ this.showDatePicker = this.getInitValue('showDatePicker', props.showDatePicker, this.showDatePicker);
1526
+ this.showWeek = this.getInitValue('showWeek', props.showWeek, this.showWeek);
1527
+ this.splitter = this.getInitValue('splitter', props.splitter, this.internalSplitter);
1528
+ this.width = this.getInitValue('width', props.width, this.width);
1529
+ this.mask = this.getInitValue('mask', props.mask, undefined);
1530
+ this.helperOptions = this.getInitValue('helperOptions', props.helperOptions, this.helperOptions);
1531
+ this.helperValue = this.getInitValue('helperValue', props.helperValue, this.helperValue);
1532
+ this.min = this.getInitValue('min', props.min, this.min);
1533
+ this.max = this.getInitValue('max', props.max, this.max);
1534
+ this.rules.push(this.dateValidation);
1535
+ &nbsp;
1536
+ this.unitMask = this.mask;
1537
+ this.initialMask = this.getInitialMask();
1538
+ &nbsp;
1539
+ this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1540
+ const userAppendIconClick = this.events.appendIconClick;
1541
+ this.events.appendIconClick = ({ event, element, component }) =&gt; {
1542
+ this.iconClick(event!, element!);
1543
+ if (userAppendIconClick &amp;&amp; typeof userAppendIconClick === 'function') {
1544
+ userAppendIconClick({ event, element, component });
1545
+ }
1546
+ };
1547
+ }
1548
+ &nbsp;
1549
+ private getInitialMask() {
1550
+ if (isUndefined(this.mask)) {
1551
+ this.unitMask = this.inputFormat &amp;&amp; this.maskFormat(this.inputFormat);
1552
+ }
1553
+ &nbsp;
1554
+ if (!this.unitMask) {
1555
+ this.mask = this.unitMask;
1556
+ return this.unitMask;
1557
+ }
1558
+ &nbsp;
1559
+ this.mask = `${this.unitMask}${this.splitter}${this.unitMask}`;
1560
+ &nbsp;
1561
+ return this.mask;
1562
+ }
1563
+ &nbsp;
1564
+ public formatter(value: any): string {
1565
+ return this.formatterFn(value, this);
1566
+ }
1567
+ &nbsp;
1568
+ public parser(value: string): any {
1569
+ return this.parserFn(value, this);
1570
+ }
1571
+ &nbsp;
1572
+ get displayValue() {
1573
+ return this.internalDisplayValue;
1574
+ }
1575
+ &nbsp;
1576
+ set displayValue(newValue: string) {
1577
+ this.dateError = false;
1578
+ this.internalDisplayValue = newValue;
1579
+ if (newValue) this.internalValue = this.parser(newValue);
1580
+ else this.internalValue = [];
1581
+ this.value = this.internalValue; // forces value accessor to be called if necessary
1582
+ }
1583
+ &nbsp;
1584
+ get value(): any {
1585
+ return this.internalValue;
1586
+ }
1587
+ &nbsp;
1588
+ set value(value: any) {
1589
+ if (this.internalValue !== value) {
1590
+ this.internalDisplayValue = this.formatter(value);
1591
+ this.internalValue = value;
1592
+ }
1593
+ if (value === null) {
1594
+ this.internalValue = [];
1595
+ }
1596
+ }
1597
+ &nbsp;
1598
+ /**
1599
+ * Assign the updated mask to mask property
1600
+ */
1601
+ public updateMask() {
1602
+ this.isSimpleDisplay = this.isSimpleFormat(this.displayFormat);
1603
+ this.mask = this.getUpdatedMask();
1604
+ return this.mask;
1605
+ }
1606
+ &nbsp;
1607
+ /**
1608
+ * Gets the updated masked, based on displayFormat if the initial mask is undefined
1609
+ */
1610
+ protected getUpdatedMask(): string | undefined {
1611
+ if (isUndefined(this.getInitialMask())) {
1612
+ return this.maskFormat(`${this.displayFormat}${this.splitter}${this.displayFormat}`);
1613
+ }
1614
+ return this.mask;
1615
+ }
1616
+ &nbsp;
1617
+ protected maskFormat(format: string) {
1618
+ return format.replace(/[A-Za-z]/gi, '#');
1619
+ }
1620
+ &nbsp;
1621
+ public setDateValue(displayValue: string) {
1622
+ const lastValue = this.displayValue;
1623
+ const values = this.splitValues(displayValue);
1624
+ if (this.isValidDateArray(this.displayFormat, values)) {
1625
+ this.internalDisplayValue = displayValue;
1626
+ this.internalValue = this.parser(displayValue);
1627
+ this.dateError = false;
1628
+ if (lastValue !== this.displayValue) this.change(this.value);
1629
+ } else {
1630
+ if (!displayValue) {
1631
+ this.internalDisplayValue = displayValue;
1632
+ this.internalValue = [];
1633
+ if (lastValue !== this.displayValue) this.change(this.value);
1634
+ }
1635
+ this.dateError = !!displayValue;
1636
+ }
1637
+ this.value = this.internalValue; // forces value accessor to be called if necessary
1638
+ }
1639
+ &nbsp;
1640
+ /**
1641
+ * Faz a validação do array de datas
1642
+ * @param format o formato da data
1643
+ * @param values o array de datas
1644
+ * @returns true se todos os valores forem validados
1645
+ * */
1646
+ public isValidDateArray(format: string, values?: string[]) {
1647
+ if (!values || values.length &lt; 2) return false;
1648
+ return values.every((value) =&gt; this.isValidDate(value, format));
1649
+ }
1650
+ &nbsp;
1651
+ private splitValues(value: string) {
1652
+ let splitedValue: string[] = [];
1653
+ if (!value) return splitedValue;
1654
+ &nbsp;
1655
+ if (value.indexOf(this.splitter) !== -1) {
1656
+ splitedValue = value.split(this.splitter);
1657
+ if (splitedValue[1] === '') return [splitedValue[0]];
1658
+ return splitedValue;
1659
+ }
1660
+ return [value];
1661
+ }
1662
+ &nbsp;
1663
+ public isValidDate(value: string, format: string, strict = true): boolean {
1664
+ const date = dayjs(value, format, strict);
1665
+ const isValidFormat = date.isValid();
1666
+ if (!isValidFormat) return false;
1667
+ &nbsp;
1668
+ const minDate = this.min ? dayjs(this.min, this.dateFormat) : null;
1669
+ const isValidMin = !minDate || date.isAfter(minDate) || date.isSame(minDate);
1670
+ if (!isValidMin) return false;
1671
+ &nbsp;
1672
+ const maxDate = this.max ? dayjs(this.max, this.dateFormat) : null;
1673
+ const isValidMax = !maxDate || date.isBefore(maxDate) || date.isSame(maxDate);
1674
+ if (!isValidMax) return false;
1675
+ &nbsp;
1676
+ return true;
1677
+ }
1678
+ &nbsp;
1679
+ public isValidFormatDate(value: string, format: string, strict = true): boolean {
1680
+ return dayjs(value, format, strict).isValid();
1681
+ }
1682
+ &nbsp;
1683
+ get isoRangeValue() {
1684
+ return this.formatISODateRangeValue(this.value);
1685
+ }
1686
+ &nbsp;
1687
+ set isoRangeValue(newValue: string[]) {
1688
+ const lastValue: string[] = this.value;
1689
+ this.dateError = false;
1690
+ this.value = this.parseISODateRangeValue(newValue);
1691
+ if (!Utils.isEqual(lastValue, this.value)) this.change(this.value);
1692
+ }
1693
+ &nbsp;
1694
+ public formatISODateRangeValue(dates: string[] | string): string[] {
1695
+ let splitedValue: string[];
1696
+ &nbsp;
1697
+ if (Array.isArray(dates)) splitedValue = dates;
1698
+ else splitedValue = this.splitValues(dates);
1699
+ &nbsp;
1700
+ const formattedValue: string[] = [];
1701
+ splitedValue.forEach((value) =&gt; {
1702
+ if (value &amp;&amp; this.isValidFormatDate(value, this.dateFormat)) {
1703
+ formattedValue.push(dayjs(value, this.dateFormat, true).format(this.isoFormat));
1704
+ }
1705
+ });
1706
+ return formattedValue;
1707
+ }
1708
+ &nbsp;
1709
+ public parseISODateRangeValue(values: string[]): any {
1710
+ const parsedValue: string[] = [];
1711
+ if (values.length) {
1712
+ values.forEach((value) =&gt; {
1713
+ if (value &amp;&amp; this.isValidFormatDate(value, this.isoFormat)) {
1714
+ parsedValue.push(dayjs(value, this.isoFormat, true).format(this.dateFormat));
1715
+ }
1716
+ });
1717
+ }
1718
+ return this.sortDates(parsedValue);
1719
+ }
1720
+ &nbsp;
1721
+ private sortDates(parsedValue: string[]): string[] {
1722
+ return parsedValue.sort((a: string, b: string) =&gt;
1723
+ dayjs(a, this.dateFormat).isAfter(dayjs(b, this.dateFormat)) ? 1 : -1,
1724
+ );
1725
+ }
1726
+ &nbsp;
1727
+ public dateValidation(): boolean | string {
1728
+ return !this.dateError || I18n.translate('VALIDATION_INVALID_DATE');
1729
+ }
1730
+ &nbsp;
1731
+ public click(event?: Event, element?: any) {
1732
+ const clickEvent = event || new MouseEvent('click');
1733
+ super.click(clickEvent, element);
1734
+ if (!clickEvent.defaultPrevented) {
1735
+ this.showDatePicker = !this.showDatePicker;
1736
+ }
1737
+ }
1738
+ &nbsp;
1739
+ public blur(event: Event, element: any) {
1740
+ if (this.value) {
1741
+ this.value = this.sortDates(this.value);
1742
+ this.removeDateMask();
1743
+ this.setDateValue(this.formatter(this.value));
1744
+ super.blur(event, element);
1745
+ }
1746
+ if (!Utils.isMobile()) {
1747
+ this.showDatePicker = false;
1748
+ }
1749
+ }
1750
+ &nbsp;
1751
+ public focus(event: Event, element: any) {
1752
+ this.addDateMask();
1753
+ super.focus(event, element);
1754
+ }
1755
+ &nbsp;
1756
+ /**
1757
+ * Add date mask
1758
+ */
1759
+ protected addDateMask() {
1760
+ if (isUndefined(this.getInitialMask()) || !this.value) return;
1761
+ &nbsp;
1762
+ setTimeout(() =&gt; {
1763
+ this.mask = this.getInitialMask();
1764
+ const firstDate = this.value[0]
1765
+ ? dayjs(this.value[0], this.dateFormat).format(this.inputFormat || this.displayFormat)
1766
+ : '';
1767
+ const lastDate = this.value[1]
1768
+ ? dayjs(this.value[1], this.dateFormat).format(this.inputFormat || this.displayFormat)
1769
+ : '';
1770
+ this.internalDisplayValue = `${firstDate}${lastDate ? this.splitter : ''}${lastDate}`;
1771
+ });
1772
+ }
1773
+ &nbsp;
1774
+ /**
1775
+ * Removes the component mask if value is valid
1776
+ */
1777
+ protected removeDateMask() {
1778
+ if (
1779
+ isUndefined(this.getInitialMask()) ||
1780
+ !this.value ||
1781
+ this.dateError ||
1782
+ !this.isValidDateArray(this.dateFormat, this.value)
1783
+ ) {
1784
+ return;
1785
+ }
1786
+ this.mask = '';
1787
+ }
1788
+ &nbsp;
1789
+ /**
1790
+ * Toggle showDatePicker value
1791
+ */
1792
+ public togglePicker() {
1793
+ this.showDatePicker = !this.showDatePicker;
1794
+ }
1795
+ &nbsp;
1796
+ /**
1797
+ * Triggered when the appended icon is clicked.
1798
+ * @param event DOM event
1799
+ * @param element Text input
1800
+ */
1801
+ public iconClick(event: Event, element: any) {
1802
+ super.click(event, element);
1803
+ if (!event.defaultPrevented) {
1804
+ this.togglePicker();
1805
+ }
1806
+ }
1807
+ &nbsp;
1808
+ /**
1809
+ * Checks if a date format is simple.
1810
+ * Simple date formats are the ones that consists only of 'DD', 'MM' or 'YYYY', and mask delimiters
1811
+ * @param format The format to be checked
1812
+ * @returns true if it is simple, false otherwise
1813
+ */
1814
+ protected isSimpleFormat(format: string): boolean {
1815
+ const simpleTokens = ['DD', 'MM', 'YYYY'];
1816
+ &nbsp;
1817
+ // remove the simple tokens from the string
1818
+ const replaced = simpleTokens.reduce((result, token) =&gt; result.replace(token, ''), format);
1819
+ &nbsp;
1820
+ const chars = replaced.split('');
1821
+ &nbsp;
1822
+ return chars.length ? chars.every((char) =&gt; Mask.isMaskDelimiter(char)) : true;
1823
+ }
1824
+ &nbsp;
1825
+ private previousHint = '';
1826
+ &nbsp;
1827
+ private previousPersistentHint = false;
1828
+ &nbsp;
1829
+ public updateHelperHint(helperValue: string) {
1830
+ const previousHelperHint = this.helperValue ? DateHelper.getLabel(this.helperValue) : '';
1831
+ &nbsp;
1832
+ if (!this.hint || previousHelperHint !== this.hint) {
1833
+ this.previousHint = this.hint;
1834
+ this.previousPersistentHint = this.persistentHint;
1835
+ }
1836
+ &nbsp;
1837
+ this.helperValue = helperValue;
1838
+ const label = DateHelper.getLabel(helperValue);
1839
+ &nbsp;
1840
+ if (!helperValue || !label) {
1841
+ this.hint = this.previousHint;
1842
+ this.persistentHint = this.previousPersistentHint;
1843
+ return;
1844
+ }
1845
+ &nbsp;
1846
+ this.hint = label;
1847
+ this.persistentHint = true;
1848
+ }
1849
+ &nbsp;
1850
+ public change(event?: Event, element?: any): void {
1851
+ super.change(event, element);
1852
+ this.updateHelperHint('');
1853
+ }
1854
+ &nbsp;
1855
+ private getExtremities&lt;T&gt;(arr: T[]) {
1856
+ if (arr.length === 0) return [];
1857
+ &nbsp;
1858
+ if (arr.length === 1) return [arr[0]];
1859
+ &nbsp;
1860
+ return [arr[0], arr[arr.length - 1]];
1861
+ }
1862
+ &nbsp;
1863
+ public setNativeDate(date: Date[]) {
1864
+ this.dateError = false;
1865
+ this.dateObject = date.map((obj) =&gt; dayjs(obj));
1866
+ &nbsp;
1867
+ const extremityDates = this.getExtremities(this.dateObject);
1868
+ this.value = extremityDates
1869
+ .filter((obj): obj is dayjs.Dayjs =&gt; obj !== null)
1870
+ .map((obj) =&gt; obj.format(this.dateFormat));
1871
+ }
1872
+ &nbsp;
1873
+ private dateObject: (dayjs.Dayjs | null)[] = [null, null];
1874
+ &nbsp;
1875
+ public getNativeDate() {
1876
+ return this.dateObject.filter((obj): obj is dayjs.Dayjs =&gt; obj !== null).map((obj) =&gt; obj.toDate());
1877
+ }
1878
+ &nbsp;
1879
+ public getMaskValue() {
1880
+ let mask: any = '';
1881
+ &nbsp;
1882
+ if (typeof this.mask === 'function') {
1883
+ mask = this.mask(Mask.getValueWithoutMask(this.value?.[0] || ''));
1884
+ } else if (typeof this.mask === 'string') {
1885
+ mask = this.mask.split(this.splitter)[0] || '';
1886
+ mask = Mask.getMaskArray(mask);
1887
+ if (Array.isArray(mask) &amp;&amp; mask.length &gt; 0) {
1888
+ mask = mask.concat(this.splitter.split('')).concat(mask);
1889
+ }
1890
+ } else if (Array.isArray(this.mask)) {
1891
+ mask = this.mask;
1892
+ }
1893
+ &nbsp;
1894
+ return mask;
1895
+ }
1896
+ }
1897
+ &nbsp;
1898
+ FormatterParserProvider.registerFormatter(
1899
+ 'ZdDateRange',
1900
+ (
1901
+ value: string[],
1902
+ {
1903
+ dateFormat = Config.dateFormat,
1904
+ displayFormat = Config.displayFormat,
1905
+ inputFormat = Config.dateInputFormat,
1906
+ initialMask,
1907
+ splitter = ' ~ ',
1908
+ unitMask = '',
1909
+ mask = '',
1910
+ isSimpleDisplay = false,
1911
+ }: any = {},
1912
+ ) =&gt; {
1913
+ if (!value || value.length === 0 || (value.length === 1 &amp;&amp; !value[0])) {
1914
+ return '';
1915
+ }
1916
+ const formattedValue: string[] = [];
1917
+ value.forEach((date) =&gt; {
1918
+ if (date) {
1919
+ const isDateValid = dayjs(date, dateFormat, true).isValid();
1920
+ &nbsp;
1921
+ if (!isDateValid) {
1922
+ formattedValue.push(date);
1923
+ return;
1924
+ }
1925
+ &nbsp;
1926
+ if (initialMask &amp;&amp; mask &amp;&amp; unitMask) {
1927
+ if (inputFormat) {
1928
+ const formatted = dayjs(date, dateFormat).format(inputFormat);
1929
+ formattedValue.push(formatted);
1930
+ return;
1931
+ }
1932
+ &nbsp;
1933
+ let valueToUnmask = date;
1934
+ if (isSimpleDisplay) {
1935
+ valueToUnmask = dayjs(date, dateFormat).format(displayFormat);
1936
+ }
1937
+ &nbsp;
1938
+ const unmasked = Mask.getValueWithoutMask(valueToUnmask);
1939
+ const masked = Mask.getValueWithMask(unmasked, unitMask);
1940
+ &nbsp;
1941
+ formattedValue.push(masked);
1942
+ return;
1943
+ }
1944
+ &nbsp;
1945
+ const formatted = dayjs(date, dateFormat).format(displayFormat);
1946
+ formattedValue.push(formatted);
1947
+ }
1948
+ });
1949
+ &nbsp;
1950
+ let displayOutput: string = formattedValue[0];
1951
+ if (formattedValue.length === 2) {
1952
+ displayOutput += `${splitter}${formattedValue[1]}`;
1953
+ }
1954
+ &nbsp;
1955
+ return displayOutput;
1956
+ },
1957
+ );
1958
+ &nbsp;
1959
+ FormatterParserProvider.registerParser(
1960
+ 'ZdDateRange',
1961
+ (
1962
+ value: string,
1963
+ {
1964
+ dateFormat = Config.dateFormat,
1965
+ displayFormat = Config.displayFormat,
1966
+ inputFormat = Config.dateInputFormat,
1967
+ splitter = ' ~ ',
1968
+ unitMask = '',
1969
+ mask = '',
1970
+ initialMask,
1971
+ isSimpleDisplay = false,
1972
+ }: any = {},
1973
+ ) =&gt; {
1974
+ if (!value) {
1975
+ return [];
1976
+ }
1977
+ &nbsp;
1978
+ let splitedValue: string[] = [];
1979
+ &nbsp;
1980
+ if (value.indexOf(splitter) !== -1) {
1981
+ splitedValue = value.split(splitter);
1982
+ } else {
1983
+ splitedValue.push(value);
1984
+ }
1985
+ &nbsp;
1986
+ const formattedValue: string[] = [];
1987
+ splitedValue.forEach((date) =&gt; {
1988
+ if (date) {
1989
+ if (dayjs(date, displayFormat, true).isValid()) {
1990
+ const parsedDate = dayjs(date, displayFormat).format(dateFormat);
1991
+ formattedValue.push(parsedDate);
1992
+ return;
1993
+ }
1994
+ &nbsp;
1995
+ if (unitMask &amp;&amp; mask &amp;&amp; Mask.checkMask(date, unitMask)) {
1996
+ if (inputFormat) {
1997
+ if (dayjs(date, inputFormat, true).isValid()) {
1998
+ const parsedDate = dayjs(date, inputFormat).format(dateFormat);
1999
+ formattedValue.push(parsedDate);
2000
+ return;
2001
+ }
2002
+ &nbsp;
2003
+ formattedValue.push(date);
2004
+ return;
2005
+ }
2006
+ &nbsp;
2007
+ const unmasked = Mask.getValueWithoutMask(date);
2008
+ let masked;
2009
+ &nbsp;
2010
+ if (!initialMask || isSimpleDisplay) {
2011
+ const displayFmtMask = displayFormat.replace(/[A-Za-z]/gi, '#');
2012
+ &nbsp;
2013
+ masked = Mask.getValueWithMask(unmasked, displayFmtMask);
2014
+ &nbsp;
2015
+ if (dayjs(masked, displayFormat, true).format(displayFormat) === masked) {
2016
+ const parsedDate = dayjs(masked, displayFormat).format(dateFormat);
2017
+ formattedValue.push(parsedDate);
2018
+ return;
2019
+ }
2020
+ }
2021
+ &nbsp;
2022
+ const dateFmtMask = dateFormat.replace(/[A-Za-z]/gi, '#');
2023
+ &nbsp;
2024
+ masked = Mask.getValueWithMask(unmasked, dateFmtMask);
2025
+ &nbsp;
2026
+ if (dayjs(masked, dateFormat, true).isValid()) {
2027
+ formattedValue.push(masked);
2028
+ return;
2029
+ }
2030
+ }
2031
+ &nbsp;
2032
+ formattedValue.push(date);
2033
+ }
2034
+ });
2035
+ return formattedValue;
2036
+ },
2037
+ );
2038
+ &nbsp;
2039
+ InputFactory.register('ZdDateRange', DateRange);
2040
+ &nbsp;</pre></td></tr></table></pre>
2041
+
2042
+ <div class='push'></div><!-- for sticky footer -->
2043
+ </div><!-- /wrapper -->
2044
+ <div class='footer quiet pad2 space-top1 center small'>
2045
+ Code coverage generated by
2046
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2047
+ at 2025-09-24T14:48:32.782Z
2048
+ </div>
2049
+ <script src="../../../prettify.js"></script>
2050
+ <script>
2051
+ window.onload = function () {
2052
+ prettyPrint();
2053
+ };
2054
+ </script>
2055
+ <script src="../../../sorter.js"></script>
2056
+ <script src="../../../block-navigation.js"></script>
2057
+ </body>
2058
+ </html>
2059
+