@zeedhi/common 3.0.6 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/coverage/clover.xml +5680 -0
  2. package/coverage/coverage-final.json +147 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +87 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +1331 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +210 -0
  11. package/coverage/lcov-report/src/components/index.html +116 -0
  12. package/coverage/lcov-report/src/components/index.ts.html +730 -0
  13. package/coverage/lcov-report/src/components/tek-grid/columns-searcher.ts.html +151 -0
  14. package/coverage/lcov-report/src/components/tek-grid/dynamic-filter-datasource-factory.ts.html +145 -0
  15. package/coverage/lcov-report/src/components/tek-grid/filter-helper.ts.html +145 -0
  16. package/coverage/lcov-report/src/components/tek-grid/grid-filter-button.ts.html +1351 -0
  17. package/coverage/lcov-report/src/components/tek-grid/grouped-data-manager.ts.html +1429 -0
  18. package/coverage/lcov-report/src/components/tek-grid/grouped-data-selector.ts.html +205 -0
  19. package/coverage/lcov-report/src/components/tek-grid/grouped-view-navigator.ts.html +340 -0
  20. package/coverage/lcov-report/src/components/tek-grid/index.html +326 -0
  21. package/coverage/lcov-report/src/components/tek-grid/index.ts.html +139 -0
  22. package/coverage/lcov-report/src/components/tek-grid/interfaces.ts.html +1072 -0
  23. package/coverage/lcov-report/src/components/tek-grid/keymap-grouped.ts.html +148 -0
  24. package/coverage/lcov-report/src/components/tek-grid/layout-options.ts.html +829 -0
  25. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.html +161 -0
  26. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/index.ts.html +94 -0
  27. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/interfaces.ts.html +193 -0
  28. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-memory-datasource.ts.html +1027 -0
  29. package/coverage/lcov-report/src/components/tek-grid/tek-datasource/tek-rest-datasource.ts.html +757 -0
  30. package/coverage/lcov-report/src/components/tek-grid/tek-grid-column.ts.html +664 -0
  31. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/index.html +131 -0
  32. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button-controller.ts.html +169 -0
  33. package/coverage/lcov-report/src/components/tek-grid/tek-grid-columns-button/tek-grid-columns-button.ts.html +196 -0
  34. package/coverage/lcov-report/src/components/tek-grid/tek-grid-controller.ts.html +505 -0
  35. package/coverage/lcov-report/src/components/tek-grid/tek-grid-events.ts.html +400 -0
  36. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/button-option.ts.html +163 -0
  37. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.html +146 -0
  38. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/index.ts.html +94 -0
  39. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/export-options/multi-option.ts.html +340 -0
  40. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.html +131 -0
  41. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/index.ts.html +91 -0
  42. package/coverage/lcov-report/src/components/tek-grid/tek-grid-toolbar-provider/tek-grid-toolbar-provider.ts.html +1186 -0
  43. package/coverage/lcov-report/src/components/tek-grid/tek-grid.ts.html +3451 -0
  44. package/coverage/lcov-report/src/components/zd-alert/alert.ts.html +502 -0
  45. package/coverage/lcov-report/src/components/zd-alert/index.html +116 -0
  46. package/coverage/lcov-report/src/components/zd-badge/badge.ts.html +226 -0
  47. package/coverage/lcov-report/src/components/zd-badge/index.html +116 -0
  48. package/coverage/lcov-report/src/components/zd-breadcrumbs/breadcrumbs.ts.html +226 -0
  49. package/coverage/lcov-report/src/components/zd-breadcrumbs/index.html +116 -0
  50. package/coverage/lcov-report/src/components/zd-button/button.ts.html +706 -0
  51. package/coverage/lcov-report/src/components/zd-button/index.html +116 -0
  52. package/coverage/lcov-report/src/components/zd-button-group/button-group.ts.html +412 -0
  53. package/coverage/lcov-report/src/components/zd-button-group/index.html +116 -0
  54. package/coverage/lcov-report/src/components/zd-card/card.ts.html +748 -0
  55. package/coverage/lcov-report/src/components/zd-card/index.html +116 -0
  56. package/coverage/lcov-report/src/components/zd-carousel/carousel.ts.html +949 -0
  57. package/coverage/lcov-report/src/components/zd-carousel/index.html +116 -0
  58. package/coverage/lcov-report/src/components/zd-checkbox/checkbox.ts.html +148 -0
  59. package/coverage/lcov-report/src/components/zd-checkbox/index.html +116 -0
  60. package/coverage/lcov-report/src/components/zd-checkbox-multiple/checkbox-multiple.ts.html +313 -0
  61. package/coverage/lcov-report/src/components/zd-checkbox-multiple/index.html +116 -0
  62. package/coverage/lcov-report/src/components/zd-chip/chip.ts.html +352 -0
  63. package/coverage/lcov-report/src/components/zd-chip/index.html +116 -0
  64. package/coverage/lcov-report/src/components/zd-code-editor/code-editor.ts.html +1045 -0
  65. package/coverage/lcov-report/src/components/zd-code-editor/index.html +116 -0
  66. package/coverage/lcov-report/src/components/zd-code-viewer/code-viewer.ts.html +682 -0
  67. package/coverage/lcov-report/src/components/zd-code-viewer/index.html +116 -0
  68. package/coverage/lcov-report/src/components/zd-col/col.ts.html +250 -0
  69. package/coverage/lcov-report/src/components/zd-col/index.html +116 -0
  70. package/coverage/lcov-report/src/components/zd-collapse-card/collapse-card.ts.html +343 -0
  71. package/coverage/lcov-report/src/components/zd-collapse-card/index.html +116 -0
  72. package/coverage/lcov-report/src/components/zd-component/child-not-found.ts.html +109 -0
  73. package/coverage/lcov-report/src/components/zd-component/component-render.ts.html +160 -0
  74. package/coverage/lcov-report/src/components/zd-component/component.ts.html +1075 -0
  75. package/coverage/lcov-report/src/components/zd-component/index.html +146 -0
  76. package/coverage/lcov-report/src/components/zd-container/container.ts.html +289 -0
  77. package/coverage/lcov-report/src/components/zd-container/index.html +116 -0
  78. package/coverage/lcov-report/src/components/zd-currency/currency.ts.html +259 -0
  79. package/coverage/lcov-report/src/components/zd-currency/index.html +116 -0
  80. package/coverage/lcov-report/src/components/zd-date-input/date-input.ts.html +1441 -0
  81. package/coverage/lcov-report/src/components/zd-date-input/index.html +131 -0
  82. package/coverage/lcov-report/src/components/zd-date-input/utils.ts.html +136 -0
  83. package/coverage/lcov-report/src/components/zd-date-range/date-range.ts.html +1864 -0
  84. package/coverage/lcov-report/src/components/zd-date-range/index.html +131 -0
  85. package/coverage/lcov-report/src/components/zd-date-range/utils.ts.html +178 -0
  86. package/coverage/lcov-report/src/components/zd-dialog/dialog.ts.html +541 -0
  87. package/coverage/lcov-report/src/components/zd-dialog/index.html +116 -0
  88. package/coverage/lcov-report/src/components/zd-divider/divider.ts.html +178 -0
  89. package/coverage/lcov-report/src/components/zd-divider/index.html +116 -0
  90. package/coverage/lcov-report/src/components/zd-dropdown/dropdown.ts.html +460 -0
  91. package/coverage/lcov-report/src/components/zd-dropdown/index.html +116 -0
  92. package/coverage/lcov-report/src/components/zd-field-group/field-group.ts.html +325 -0
  93. package/coverage/lcov-report/src/components/zd-field-group/index.html +116 -0
  94. package/coverage/lcov-report/src/components/zd-footer/footer.ts.html +451 -0
  95. package/coverage/lcov-report/src/components/zd-footer/index.html +116 -0
  96. package/coverage/lcov-report/src/components/zd-form/form.ts.html +1075 -0
  97. package/coverage/lcov-report/src/components/zd-form/index.html +116 -0
  98. package/coverage/lcov-report/src/components/zd-frame/frame.ts.html +763 -0
  99. package/coverage/lcov-report/src/components/zd-frame/index.html +116 -0
  100. package/coverage/lcov-report/src/components/zd-frame-page/frame-page.ts.html +169 -0
  101. package/coverage/lcov-report/src/components/zd-frame-page/index.html +116 -0
  102. package/coverage/lcov-report/src/components/zd-grid/data-navigator.ts.html +304 -0
  103. package/coverage/lcov-report/src/components/zd-grid/data-selector.ts.html +532 -0
  104. package/coverage/lcov-report/src/components/zd-grid/grid-column.ts.html +709 -0
  105. package/coverage/lcov-report/src/components/zd-grid/grid-events.ts.html +244 -0
  106. package/coverage/lcov-report/src/components/zd-grid/grid.ts.html +1042 -0
  107. package/coverage/lcov-report/src/components/zd-grid/index.html +266 -0
  108. package/coverage/lcov-report/src/components/zd-grid/index.ts.html +118 -0
  109. package/coverage/lcov-report/src/components/zd-grid/iterable-table.ts.html +274 -0
  110. package/coverage/lcov-report/src/components/zd-grid/keymap-merger.ts.html +241 -0
  111. package/coverage/lcov-report/src/components/zd-grid/keymap-navigation.ts.html +313 -0
  112. package/coverage/lcov-report/src/components/zd-grid/table-action-builder.ts.html +427 -0
  113. package/coverage/lcov-report/src/components/zd-grid/view-navigator.ts.html +175 -0
  114. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor-with-add.ts.html +808 -0
  115. package/coverage/lcov-report/src/components/zd-grid-editable/data-editor.ts.html +1570 -0
  116. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.html +146 -0
  117. package/coverage/lcov-report/src/components/zd-grid-editable/errors/index.ts.html +91 -0
  118. package/coverage/lcov-report/src/components/zd-grid-editable/errors/not-editing.ts.html +109 -0
  119. package/coverage/lcov-report/src/components/zd-grid-editable/errors/row-not-found.ts.html +109 -0
  120. package/coverage/lcov-report/src/components/zd-grid-editable/grid-column-editable.ts.html +130 -0
  121. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-controller.ts.html +145 -0
  122. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable-events.ts.html +430 -0
  123. package/coverage/lcov-report/src/components/zd-grid-editable/grid-editable.ts.html +1507 -0
  124. package/coverage/lcov-report/src/components/zd-grid-editable/index.html +221 -0
  125. package/coverage/lcov-report/src/components/zd-grid-editable/index.ts.html +109 -0
  126. package/coverage/lcov-report/src/components/zd-grid-editable/keymap-editing.ts.html +139 -0
  127. package/coverage/lcov-report/src/components/zd-header/header.ts.html +502 -0
  128. package/coverage/lcov-report/src/components/zd-header/index.html +116 -0
  129. package/coverage/lcov-report/src/components/zd-icon/icon.ts.html +325 -0
  130. package/coverage/lcov-report/src/components/zd-icon/index.html +116 -0
  131. package/coverage/lcov-report/src/components/zd-image/image.ts.html +424 -0
  132. package/coverage/lcov-report/src/components/zd-image/index.html +116 -0
  133. package/coverage/lcov-report/src/components/zd-increment/increment.ts.html +436 -0
  134. package/coverage/lcov-report/src/components/zd-increment/index.html +116 -0
  135. package/coverage/lcov-report/src/components/zd-input/index.html +131 -0
  136. package/coverage/lcov-report/src/components/zd-input/input-factory.ts.html +130 -0
  137. package/coverage/lcov-report/src/components/zd-input/input.ts.html +1345 -0
  138. package/coverage/lcov-report/src/components/zd-iterable/column-not-found.ts.html +109 -0
  139. package/coverage/lcov-report/src/components/zd-iterable/column.ts.html +823 -0
  140. package/coverage/lcov-report/src/components/zd-iterable/conditions-manager.ts.html +523 -0
  141. package/coverage/lcov-report/src/components/zd-iterable/index.html +281 -0
  142. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button-controller.ts.html +136 -0
  143. package/coverage/lcov-report/src/components/zd-iterable/iterable-columns-button.ts.html +313 -0
  144. package/coverage/lcov-report/src/components/zd-iterable/iterable-controller.ts.html +166 -0
  145. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-component.ts.html +244 -0
  146. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-info.ts.html +106 -0
  147. package/coverage/lcov-report/src/components/zd-iterable/iterable-page-size.ts.html +421 -0
  148. package/coverage/lcov-report/src/components/zd-iterable/iterable-pagination.ts.html +208 -0
  149. package/coverage/lcov-report/src/components/zd-iterable/iterable.ts.html +934 -0
  150. package/coverage/lcov-report/src/components/zd-iterable/search.ts.html +343 -0
  151. package/coverage/lcov-report/src/components/zd-iterable-component-render/index.html +116 -0
  152. package/coverage/lcov-report/src/components/zd-iterable-component-render/iterable-component-render.ts.html +592 -0
  153. package/coverage/lcov-report/src/components/zd-layout/index.html +116 -0
  154. package/coverage/lcov-report/src/components/zd-layout/layout.ts.html +145 -0
  155. package/coverage/lcov-report/src/components/zd-list/index.html +161 -0
  156. package/coverage/lcov-report/src/components/zd-list/item-not-found.ts.html +109 -0
  157. package/coverage/lcov-report/src/components/zd-list/list-group.ts.html +241 -0
  158. package/coverage/lcov-report/src/components/zd-list/list-item.ts.html +298 -0
  159. package/coverage/lcov-report/src/components/zd-list/list.ts.html +460 -0
  160. package/coverage/lcov-report/src/components/zd-loading/index.html +116 -0
  161. package/coverage/lcov-report/src/components/zd-loading/loading.ts.html +217 -0
  162. package/coverage/lcov-report/src/components/zd-login/index.html +131 -0
  163. package/coverage/lcov-report/src/components/zd-login/login-button.ts.html +421 -0
  164. package/coverage/lcov-report/src/components/zd-login/login.ts.html +340 -0
  165. package/coverage/lcov-report/src/components/zd-main/index.html +116 -0
  166. package/coverage/lcov-report/src/components/zd-main/main.ts.html +133 -0
  167. package/coverage/lcov-report/src/components/zd-master-detail/detail-not-found.ts.html +118 -0
  168. package/coverage/lcov-report/src/components/zd-master-detail/index.html +146 -0
  169. package/coverage/lcov-report/src/components/zd-master-detail/master-detail.ts.html +331 -0
  170. package/coverage/lcov-report/src/components/zd-master-detail/master-not-found.ts.html +118 -0
  171. package/coverage/lcov-report/src/components/zd-menu/index.html +176 -0
  172. package/coverage/lcov-report/src/components/zd-menu/menu-button.ts.html +241 -0
  173. package/coverage/lcov-report/src/components/zd-menu/menu-group.ts.html +400 -0
  174. package/coverage/lcov-report/src/components/zd-menu/menu-link.ts.html +337 -0
  175. package/coverage/lcov-report/src/components/zd-menu/menu-separator.ts.html +106 -0
  176. package/coverage/lcov-report/src/components/zd-menu/menu.ts.html +1384 -0
  177. package/coverage/lcov-report/src/components/zd-modal/index.html +131 -0
  178. package/coverage/lcov-report/src/components/zd-modal/modal-close-button.ts.html +220 -0
  179. package/coverage/lcov-report/src/components/zd-modal/modal.ts.html +355 -0
  180. package/coverage/lcov-report/src/components/zd-month/index.html +116 -0
  181. package/coverage/lcov-report/src/components/zd-month/month.ts.html +352 -0
  182. package/coverage/lcov-report/src/components/zd-number-input/index.html +116 -0
  183. package/coverage/lcov-report/src/components/zd-number-input/number-input.ts.html +532 -0
  184. package/coverage/lcov-report/src/components/zd-password/index.html +116 -0
  185. package/coverage/lcov-report/src/components/zd-password/password.ts.html +220 -0
  186. package/coverage/lcov-report/src/components/zd-progress/index.html +116 -0
  187. package/coverage/lcov-report/src/components/zd-progress/progress.ts.html +262 -0
  188. package/coverage/lcov-report/src/components/zd-radio/index.html +116 -0
  189. package/coverage/lcov-report/src/components/zd-radio/radio.ts.html +289 -0
  190. package/coverage/lcov-report/src/components/zd-row/index.html +116 -0
  191. package/coverage/lcov-report/src/components/zd-row/row.ts.html +256 -0
  192. package/coverage/lcov-report/src/components/zd-select/index.html +116 -0
  193. package/coverage/lcov-report/src/components/zd-select/select.ts.html +2089 -0
  194. package/coverage/lcov-report/src/components/zd-select-multiple/index.html +116 -0
  195. package/coverage/lcov-report/src/components/zd-select-multiple/select-multiple.ts.html +1549 -0
  196. package/coverage/lcov-report/src/components/zd-svg-map/index.html +116 -0
  197. package/coverage/lcov-report/src/components/zd-svg-map/svg-map.ts.html +475 -0
  198. package/coverage/lcov-report/src/components/zd-switch/index.html +116 -0
  199. package/coverage/lcov-report/src/components/zd-switch/switch.ts.html +163 -0
  200. package/coverage/lcov-report/src/components/zd-table/index.html +116 -0
  201. package/coverage/lcov-report/src/components/zd-table/table.ts.html +280 -0
  202. package/coverage/lcov-report/src/components/zd-tabs/index.html +146 -0
  203. package/coverage/lcov-report/src/components/zd-tabs/tab-not-found.ts.html +127 -0
  204. package/coverage/lcov-report/src/components/zd-tabs/tab.ts.html +370 -0
  205. package/coverage/lcov-report/src/components/zd-tabs/tabs.ts.html +586 -0
  206. package/coverage/lcov-report/src/components/zd-tag/index.html +116 -0
  207. package/coverage/lcov-report/src/components/zd-tag/tag.ts.html +142 -0
  208. package/coverage/lcov-report/src/components/zd-text/index.html +116 -0
  209. package/coverage/lcov-report/src/components/zd-text/text.ts.html +136 -0
  210. package/coverage/lcov-report/src/components/zd-text-input/index.html +116 -0
  211. package/coverage/lcov-report/src/components/zd-text-input/text-input.ts.html +778 -0
  212. package/coverage/lcov-report/src/components/zd-textarea/index.html +116 -0
  213. package/coverage/lcov-report/src/components/zd-textarea/textarea.ts.html +436 -0
  214. package/coverage/lcov-report/src/components/zd-time/index.html +131 -0
  215. package/coverage/lcov-report/src/components/zd-time/time-format-selector.ts.html +157 -0
  216. package/coverage/lcov-report/src/components/zd-time/time.ts.html +1687 -0
  217. package/coverage/lcov-report/src/components/zd-toggleable/index.html +116 -0
  218. package/coverage/lcov-report/src/components/zd-toggleable/toggleable.ts.html +196 -0
  219. package/coverage/lcov-report/src/components/zd-tooltip/index.html +116 -0
  220. package/coverage/lcov-report/src/components/zd-tooltip/tooltip.ts.html +340 -0
  221. package/coverage/lcov-report/src/components/zd-tree/index.html +116 -0
  222. package/coverage/lcov-report/src/components/zd-tree/tree.ts.html +1849 -0
  223. package/coverage/lcov-report/src/components/zd-tree-grid/index.html +191 -0
  224. package/coverage/lcov-report/src/components/zd-tree-grid/index.ts.html +103 -0
  225. package/coverage/lcov-report/src/components/zd-tree-grid/iterable-tree.ts.html +202 -0
  226. package/coverage/lcov-report/src/components/zd-tree-grid/keymap-tree.ts.html +154 -0
  227. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-navigator.ts.html +235 -0
  228. package/coverage/lcov-report/src/components/zd-tree-grid/tree-data-selector.ts.html +448 -0
  229. package/coverage/lcov-report/src/components/zd-tree-grid/tree-grid.ts.html +1390 -0
  230. package/coverage/lcov-report/src/error/delete-rows.ts.html +124 -0
  231. package/coverage/lcov-report/src/error/index.html +161 -0
  232. package/coverage/lcov-report/src/error/index.ts.html +94 -0
  233. package/coverage/lcov-report/src/error/non-initialized.ts.html +118 -0
  234. package/coverage/lcov-report/src/error/tek-grid-delete-rows.ts.html +130 -0
  235. package/coverage/lcov-report/src/error/teknisa-common-error.ts.html +109 -0
  236. package/coverage/lcov-report/src/error/zeedhi-error.ts.html +109 -0
  237. package/coverage/lcov-report/src/index.html +116 -0
  238. package/coverage/lcov-report/src/index.ts.html +145 -0
  239. package/coverage/lcov-report/src/services/index.html +116 -0
  240. package/coverage/lcov-report/src/services/index.ts.html +97 -0
  241. package/coverage/lcov-report/src/services/zd-alert/alert-queue.ts.html +205 -0
  242. package/coverage/lcov-report/src/services/zd-alert/alert-replace.ts.html +220 -0
  243. package/coverage/lcov-report/src/services/zd-alert/alert-service.ts.html +316 -0
  244. package/coverage/lcov-report/src/services/zd-alert/alert-stack.ts.html +172 -0
  245. package/coverage/lcov-report/src/services/zd-alert/index.html +176 -0
  246. package/coverage/lcov-report/src/services/zd-alert/index.ts.html +100 -0
  247. package/coverage/lcov-report/src/services/zd-dialog/dialog-service.ts.html +205 -0
  248. package/coverage/lcov-report/src/services/zd-dialog/index.html +116 -0
  249. package/coverage/lcov-report/src/services/zd-loading/index.html +116 -0
  250. package/coverage/lcov-report/src/services/zd-loading/loading-service.ts.html +157 -0
  251. package/coverage/lcov-report/src/services/zd-modal/index.html +116 -0
  252. package/coverage/lcov-report/src/services/zd-modal/modal-service.ts.html +298 -0
  253. package/coverage/lcov-report/src/utils/data-value-out/data-value-out.ts.html +202 -0
  254. package/coverage/lcov-report/src/utils/data-value-out/index.html +131 -0
  255. package/coverage/lcov-report/src/utils/data-value-out/index.ts.html +91 -0
  256. package/coverage/lcov-report/src/utils/datasource-searcher/datasource-searcher.ts.html +241 -0
  257. package/coverage/lcov-report/src/utils/datasource-searcher/index.html +131 -0
  258. package/coverage/lcov-report/src/utils/datasource-searcher/index.ts.html +91 -0
  259. package/coverage/lcov-report/src/utils/date-utils/date-utils.ts.html +166 -0
  260. package/coverage/lcov-report/src/utils/date-utils/index.html +116 -0
  261. package/coverage/lcov-report/src/utils/icons/icons.ts.html +547 -0
  262. package/coverage/lcov-report/src/utils/icons/index.html +116 -0
  263. package/coverage/lcov-report/src/utils/index.html +116 -0
  264. package/coverage/lcov-report/src/utils/index.ts.html +106 -0
  265. package/coverage/lcov-report/src/utils/is-filled-object/index.html +116 -0
  266. package/coverage/lcov-report/src/utils/is-filled-object/is-filled-object.ts.html +100 -0
  267. package/coverage/lcov-report/src/utils/is-nil.ts.html +94 -0
  268. package/coverage/lcov-report/src/utils/omit/index.html +116 -0
  269. package/coverage/lcov-report/src/utils/omit/omit.ts.html +136 -0
  270. package/coverage/lcov-report/src/utils/theme/index.html +116 -0
  271. package/coverage/lcov-report/src/utils/theme/theme.ts.html +679 -0
  272. package/coverage/lcov-report/src/utils/tree-data-structure/index.html +131 -0
  273. package/coverage/lcov-report/src/utils/tree-data-structure/index.ts.html +91 -0
  274. package/coverage/lcov-report/src/utils/tree-data-structure/tree-data-structure.ts.html +1645 -0
  275. package/coverage/lcov-report/src/utils/unique-by/index.html +116 -0
  276. package/coverage/lcov-report/src/utils/unique-by/unique-by.ts.html +130 -0
  277. package/coverage/lcov-report/tests/unit/__helpers__/component-event-helper.ts.html +106 -0
  278. package/coverage/lcov-report/tests/unit/__helpers__/flush-promises-helper.ts.html +94 -0
  279. package/coverage/lcov-report/tests/unit/__helpers__/index.html +146 -0
  280. package/coverage/lcov-report/tests/unit/__helpers__/mock-http-get-helper.ts.html +172 -0
  281. package/coverage/lcov-report/tests/unit/components/zd-component/ComponentMock.ts.html +166 -0
  282. package/coverage/lcov-report/tests/unit/components/zd-component/index.html +116 -0
  283. package/coverage/lcov.info +10074 -0
  284. package/dist/style.css +1 -1
  285. package/dist/zd-common.d.mts +7843 -0
  286. package/dist/zd-common.iife.min.js +11 -0
  287. package/dist/zd-common.mjs +12325 -0
  288. package/package.json +16 -12
  289. package/src/components/zd-carousel/interfaces.ts +1 -1
  290. package/src/components/zd-component/component.ts +6 -9
  291. package/src/components/zd-component/interfaces.ts +2 -2
  292. package/src/components/zd-date-input/date-input.ts +40 -147
  293. package/src/components/zd-date-input/utils.ts +17 -0
  294. package/src/components/zd-date-range/date-range.ts +86 -210
  295. package/src/components/zd-date-range/utils.ts +31 -0
  296. package/src/components/zd-frame/frame.ts +2 -2
  297. package/src/components/zd-grid/interfaces.ts +1 -1
  298. package/src/components/zd-grid-editable/data-editor-with-add.ts +2 -8
  299. package/src/components/zd-grid-editable/data-editor.ts +2 -2
  300. package/src/components/zd-grid-editable/grid-editable-controller.ts +2 -0
  301. package/src/components/zd-grid-editable/grid-editable.ts +10 -0
  302. package/src/components/zd-grid-editable/interfaces.ts +1 -0
  303. package/src/components/zd-iterable-component-render/interfaces.ts +2 -2
  304. package/src/components/zd-list/interfaces.ts +1 -1
  305. package/src/components/zd-master-detail/interfaces.ts +1 -1
  306. package/src/components/zd-menu/interfaces.ts +13 -2
  307. package/src/components/zd-menu/menu-group.ts +2 -2
  308. package/src/components/zd-menu/menu-link.ts +2 -2
  309. package/src/components/zd-menu/menu.ts +1 -1
  310. package/src/components/zd-month/month.ts +19 -91
  311. package/src/components/zd-textarea/interfaces.ts +2 -1
  312. package/src/components/zd-textarea/textarea.ts +6 -0
  313. package/src/components/zd-tree/interfaces.ts +2 -2
  314. package/src/styles/_display.scss +3 -1
  315. package/src/styles/_elevation.scss +2 -1
  316. package/src/styles/_functions.scss +14 -11
  317. package/src/styles/_utilities.scss +67 -62
  318. package/src/styles/_variables.scss +17 -16
  319. package/src/styles/index.scss +5 -5
  320. package/src/utils/date-utils/date-utils.ts +9 -0
  321. package/src/utils/omit/omit.ts +7 -3
  322. package/src/utils/tree-data-structure/tree-data-structure.ts +1 -1
  323. package/tests/unit/components/zd-date-input/date-input.spec.ts +36 -281
  324. package/tests/unit/components/zd-date-range/date-range.spec.ts +372 -475
  325. package/tests/unit/components/zd-grid/grid-column.spec.ts +1 -1
  326. package/tests/unit/components/zd-grid-editable/grid-editable-controller.spec.ts +3 -0
  327. package/tests/unit/components/zd-menu/menu.spec.ts +1 -1
  328. package/tests/unit/components/zd-month/month.spec.ts +7 -334
  329. package/tests/unit/components/zd-select/select.spec.ts +1 -2
  330. package/tests/unit/utils/omit.spec.ts +15 -0
  331. package/tsdown.config.ts +74 -0
  332. package/dist/types/components/index.d.ts +0 -151
  333. package/dist/types/components/zd-alert/alert.d.ts +0 -94
  334. package/dist/types/components/zd-alert/interfaces.d.ts +0 -18
  335. package/dist/types/components/zd-badge/badge.d.ts +0 -28
  336. package/dist/types/components/zd-badge/interfaces.d.ts +0 -10
  337. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +0 -32
  338. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +0 -24
  339. package/dist/types/components/zd-button/button.d.ts +0 -89
  340. package/dist/types/components/zd-button/interfaces.d.ts +0 -48
  341. package/dist/types/components/zd-button-group/button-group.d.ts +0 -67
  342. package/dist/types/components/zd-button-group/interfaces.d.ts +0 -25
  343. package/dist/types/components/zd-card/card.d.ts +0 -152
  344. package/dist/types/components/zd-card/interfaces.d.ts +0 -40
  345. package/dist/types/components/zd-carousel/carousel.d.ts +0 -163
  346. package/dist/types/components/zd-carousel/interfaces.d.ts +0 -49
  347. package/dist/types/components/zd-checkbox/checkbox.d.ts +0 -12
  348. package/dist/types/components/zd-checkbox/interfaces.d.ts +0 -5
  349. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +0 -39
  350. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +0 -13
  351. package/dist/types/components/zd-chip/chip.d.ts +0 -60
  352. package/dist/types/components/zd-chip/interfaces.d.ts +0 -18
  353. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +0 -86
  354. package/dist/types/components/zd-code-viewer/interfaces.d.ts +0 -13
  355. package/dist/types/components/zd-col/col.d.ts +0 -33
  356. package/dist/types/components/zd-col/interfaces.d.ts +0 -15
  357. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +0 -56
  358. package/dist/types/components/zd-collapse-card/interfaces.d.ts +0 -14
  359. package/dist/types/components/zd-component/child-not-found.d.ts +0 -6
  360. package/dist/types/components/zd-component/component-render.d.ts +0 -16
  361. package/dist/types/components/zd-component/component.d.ts +0 -120
  362. package/dist/types/components/zd-component/interfaces.d.ts +0 -74
  363. package/dist/types/components/zd-container/container.d.ts +0 -45
  364. package/dist/types/components/zd-container/interfaces.d.ts +0 -12
  365. package/dist/types/components/zd-currency/currency.d.ts +0 -12
  366. package/dist/types/components/zd-currency/interfaces.d.ts +0 -6
  367. package/dist/types/components/zd-date-input/date-input.d.ts +0 -152
  368. package/dist/types/components/zd-date-input/interfaces.d.ts +0 -27
  369. package/dist/types/components/zd-date-range/date-range.d.ts +0 -160
  370. package/dist/types/components/zd-date-range/interfaces.d.ts +0 -18
  371. package/dist/types/components/zd-dialog/dialog.d.ts +0 -76
  372. package/dist/types/components/zd-dialog/interfaces.d.ts +0 -13
  373. package/dist/types/components/zd-divider/divider.d.ts +0 -20
  374. package/dist/types/components/zd-divider/interfaces.d.ts +0 -8
  375. package/dist/types/components/zd-dropdown/dropdown.d.ts +0 -81
  376. package/dist/types/components/zd-dropdown/interfaces.d.ts +0 -23
  377. package/dist/types/components/zd-footer/footer.d.ts +0 -80
  378. package/dist/types/components/zd-footer/interfaces.d.ts +0 -26
  379. package/dist/types/components/zd-form/form.d.ts +0 -174
  380. package/dist/types/components/zd-form/interfaces.d.ts +0 -36
  381. package/dist/types/components/zd-frame/frame.d.ts +0 -81
  382. package/dist/types/components/zd-frame/interfaces.d.ts +0 -23
  383. package/dist/types/components/zd-frame-page/frame-page.d.ts +0 -14
  384. package/dist/types/components/zd-frame-page/interfaces.d.ts +0 -4
  385. package/dist/types/components/zd-grid/data-navigator.d.ts +0 -12
  386. package/dist/types/components/zd-grid/data-selector.d.ts +0 -25
  387. package/dist/types/components/zd-grid/grid-column.d.ts +0 -47
  388. package/dist/types/components/zd-grid/grid-events.d.ts +0 -26
  389. package/dist/types/components/zd-grid/grid.d.ts +0 -85
  390. package/dist/types/components/zd-grid/index.d.ts +0 -11
  391. package/dist/types/components/zd-grid/interfaces.d.ts +0 -148
  392. package/dist/types/components/zd-grid/iterable-table.d.ts +0 -28
  393. package/dist/types/components/zd-grid/keymap-merger.d.ts +0 -26
  394. package/dist/types/components/zd-grid/keymap-navigation.d.ts +0 -6
  395. package/dist/types/components/zd-grid/table-action-builder.d.ts +0 -19
  396. package/dist/types/components/zd-grid/view-navigator.d.ts +0 -10
  397. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +0 -35
  398. package/dist/types/components/zd-grid-editable/data-editor.d.ts +0 -64
  399. package/dist/types/components/zd-grid-editable/errors/index.d.ts +0 -2
  400. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +0 -6
  401. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +0 -6
  402. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +0 -9
  403. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +0 -8
  404. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +0 -32
  405. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +0 -124
  406. package/dist/types/components/zd-grid-editable/index.d.ts +0 -8
  407. package/dist/types/components/zd-grid-editable/interfaces.d.ts +0 -66
  408. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +0 -7
  409. package/dist/types/components/zd-header/header.d.ts +0 -94
  410. package/dist/types/components/zd-header/interfaces.d.ts +0 -29
  411. package/dist/types/components/zd-icon/icon.d.ts +0 -55
  412. package/dist/types/components/zd-icon/interfaces.d.ts +0 -13
  413. package/dist/types/components/zd-image/image.d.ts +0 -73
  414. package/dist/types/components/zd-image/interfaces.d.ts +0 -17
  415. package/dist/types/components/zd-increment/increment.d.ts +0 -56
  416. package/dist/types/components/zd-increment/interfaces.d.ts +0 -9
  417. package/dist/types/components/zd-input/input-factory.d.ts +0 -6
  418. package/dist/types/components/zd-input/input.d.ts +0 -223
  419. package/dist/types/components/zd-input/interfaces.d.ts +0 -38
  420. package/dist/types/components/zd-iterable/column-not-found.d.ts +0 -6
  421. package/dist/types/components/zd-iterable/column.d.ts +0 -78
  422. package/dist/types/components/zd-iterable/conditions-manager.d.ts +0 -49
  423. package/dist/types/components/zd-iterable/interfaces.d.ts +0 -103
  424. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +0 -9
  425. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +0 -35
  426. package/dist/types/components/zd-iterable/iterable-controller.d.ts +0 -8
  427. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +0 -27
  428. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +0 -7
  429. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +0 -62
  430. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +0 -28
  431. package/dist/types/components/zd-iterable/iterable.d.ts +0 -86
  432. package/dist/types/components/zd-iterable/search.d.ts +0 -31
  433. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +0 -34
  434. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +0 -84
  435. package/dist/types/components/zd-layout/interfaces.d.ts +0 -7
  436. package/dist/types/components/zd-layout/layout.d.ts +0 -9
  437. package/dist/types/components/zd-list/interfaces.d.ts +0 -44
  438. package/dist/types/components/zd-list/item-not-found.d.ts +0 -6
  439. package/dist/types/components/zd-list/list-group.d.ts +0 -30
  440. package/dist/types/components/zd-list/list-item.d.ts +0 -46
  441. package/dist/types/components/zd-list/list.d.ts +0 -81
  442. package/dist/types/components/zd-loading/interfaces.d.ts +0 -7
  443. package/dist/types/components/zd-loading/loading.d.ts +0 -21
  444. package/dist/types/components/zd-login/interfaces.d.ts +0 -25
  445. package/dist/types/components/zd-login/login-button.d.ts +0 -50
  446. package/dist/types/components/zd-login/login.d.ts +0 -54
  447. package/dist/types/components/zd-main/interfaces.d.ts +0 -5
  448. package/dist/types/components/zd-main/main.d.ts +0 -7
  449. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +0 -7
  450. package/dist/types/components/zd-master-detail/interfaces.d.ts +0 -10
  451. package/dist/types/components/zd-master-detail/master-detail.d.ts +0 -18
  452. package/dist/types/components/zd-master-detail/master-not-found.d.ts +0 -7
  453. package/dist/types/components/zd-menu/interfaces.d.ts +0 -68
  454. package/dist/types/components/zd-menu/menu-button.d.ts +0 -29
  455. package/dist/types/components/zd-menu/menu-group.d.ts +0 -61
  456. package/dist/types/components/zd-menu/menu-link.d.ts +0 -50
  457. package/dist/types/components/zd-menu/menu-separator.d.ts +0 -7
  458. package/dist/types/components/zd-menu/menu.d.ts +0 -199
  459. package/dist/types/components/zd-modal/interfaces.d.ts +0 -35
  460. package/dist/types/components/zd-modal/modal-close-button.d.ts +0 -28
  461. package/dist/types/components/zd-modal/modal.d.ts +0 -53
  462. package/dist/types/components/zd-month/interfaces.d.ts +0 -6
  463. package/dist/types/components/zd-month/month.d.ts +0 -33
  464. package/dist/types/components/zd-number-input/interfaces.d.ts +0 -8
  465. package/dist/types/components/zd-number-input/number-input.d.ts +0 -43
  466. package/dist/types/components/zd-password/interfaces.d.ts +0 -6
  467. package/dist/types/components/zd-password/password.d.ts +0 -17
  468. package/dist/types/components/zd-progress/interfaces.d.ts +0 -10
  469. package/dist/types/components/zd-progress/progress.d.ts +0 -41
  470. package/dist/types/components/zd-radio/interfaces.d.ts +0 -11
  471. package/dist/types/components/zd-radio/radio.d.ts +0 -35
  472. package/dist/types/components/zd-row/interfaces.d.ts +0 -13
  473. package/dist/types/components/zd-row/row.d.ts +0 -39
  474. package/dist/types/components/zd-select/interfaces.d.ts +0 -24
  475. package/dist/types/components/zd-select/select.d.ts +0 -238
  476. package/dist/types/components/zd-select-multiple/interfaces.d.ts +0 -18
  477. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +0 -113
  478. package/dist/types/components/zd-svg-map/interfaces.d.ts +0 -26
  479. package/dist/types/components/zd-svg-map/svg-map.d.ts +0 -35
  480. package/dist/types/components/zd-switch/interfaces.d.ts +0 -7
  481. package/dist/types/components/zd-switch/switch.d.ts +0 -16
  482. package/dist/types/components/zd-table/interfaces.d.ts +0 -25
  483. package/dist/types/components/zd-table/table.d.ts +0 -42
  484. package/dist/types/components/zd-tabs/interfaces.d.ts +0 -40
  485. package/dist/types/components/zd-tabs/tab-not-found.d.ts +0 -11
  486. package/dist/types/components/zd-tabs/tab.d.ts +0 -57
  487. package/dist/types/components/zd-tabs/tabs.d.ts +0 -86
  488. package/dist/types/components/zd-tag/interfaces.d.ts +0 -7
  489. package/dist/types/components/zd-tag/tag.d.ts +0 -13
  490. package/dist/types/components/zd-text/interfaces.d.ts +0 -9
  491. package/dist/types/components/zd-text/text.d.ts +0 -8
  492. package/dist/types/components/zd-text-input/interfaces.d.ts +0 -23
  493. package/dist/types/components/zd-text-input/text-input.d.ts +0 -91
  494. package/dist/types/components/zd-textarea/interfaces.d.ts +0 -21
  495. package/dist/types/components/zd-textarea/textarea.d.ts +0 -71
  496. package/dist/types/components/zd-time/interfaces.d.ts +0 -22
  497. package/dist/types/components/zd-time/time-format-selector.d.ts +0 -8
  498. package/dist/types/components/zd-time/time.d.ts +0 -149
  499. package/dist/types/components/zd-toggleable/interfaces.d.ts +0 -6
  500. package/dist/types/components/zd-toggleable/toggleable.d.ts +0 -21
  501. package/dist/types/components/zd-tooltip/interfaces.d.ts +0 -18
  502. package/dist/types/components/zd-tooltip/tooltip.d.ts +0 -57
  503. package/dist/types/components/zd-tree/interfaces.d.ts +0 -107
  504. package/dist/types/components/zd-tree/tree.d.ts +0 -161
  505. package/dist/types/components/zd-tree-grid/index.d.ts +0 -6
  506. package/dist/types/components/zd-tree-grid/interfaces.d.ts +0 -35
  507. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +0 -10
  508. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +0 -7
  509. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +0 -10
  510. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +0 -18
  511. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +0 -119
  512. package/dist/types/error/delete-rows.d.ts +0 -7
  513. package/dist/types/error/index.d.ts +0 -3
  514. package/dist/types/error/non-initialized.d.ts +0 -7
  515. package/dist/types/error/zeedhi-error.d.ts +0 -6
  516. package/dist/types/index.d.ts +0 -6
  517. package/dist/types/services/index.d.ts +0 -4
  518. package/dist/types/services/zd-alert/alert-queue.d.ts +0 -13
  519. package/dist/types/services/zd-alert/alert-replace.d.ts +0 -18
  520. package/dist/types/services/zd-alert/alert-service.d.ts +0 -45
  521. package/dist/types/services/zd-alert/alert-stack.d.ts +0 -9
  522. package/dist/types/services/zd-alert/index.d.ts +0 -5
  523. package/dist/types/services/zd-alert/interfaces.d.ts +0 -6
  524. package/dist/types/services/zd-dialog/dialog-service.d.ts +0 -24
  525. package/dist/types/services/zd-loading/loading-service.d.ts +0 -17
  526. package/dist/types/services/zd-modal/modal-service.d.ts +0 -39
  527. package/dist/types/utils/data-value-out/data-value-out.d.ts +0 -5
  528. package/dist/types/utils/data-value-out/index.d.ts +0 -2
  529. package/dist/types/utils/data-value-out/interfaces.d.ts +0 -8
  530. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +0 -6
  531. package/dist/types/utils/datasource-searcher/index.d.ts +0 -2
  532. package/dist/types/utils/datasource-searcher/interfaces.d.ts +0 -5
  533. package/dist/types/utils/date-utils/date-utils.d.ts +0 -1
  534. package/dist/types/utils/icons/icons.d.ts +0 -24
  535. package/dist/types/utils/index.d.ts +0 -7
  536. package/dist/types/utils/omit/omit.d.ts +0 -11
  537. package/dist/types/utils/theme/theme.d.ts +0 -34
  538. package/dist/types/utils/tree-data-structure/index.d.ts +0 -2
  539. package/dist/types/utils/tree-data-structure/interfaces.d.ts +0 -30
  540. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +0 -155
  541. package/dist/types/utils/unique-by/unique-by.d.ts +0 -3
  542. package/dist/zd-common.js +0 -13184
  543. package/dist/zd-common.min.js +0 -13184
  544. package/rollup.config.js +0 -27
  545. package/rollup.scss.config.js +0 -14
  546. package/tsconfig.build.json +0 -7
@@ -0,0 +1,1384 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/zd-menu/menu.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-menu</a> menu.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'>112/112</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'>30/30</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'>31/31</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'>111/111</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">93x</span>
500
+ <span class="cline-any cline-yes">93x</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-yes">93x</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-yes">21x</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-yes">21x</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-yes">21x</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-yes">21x</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-yes">21x</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-yes">21x</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-yes">21x</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-yes">21x</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-yes">21x</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-yes">21x</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-yes">21x</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-yes">21x</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-yes">21x</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-yes">21x</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-yes">21x</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-yes">21x</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-yes">21x</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-yes">21x</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-yes">21x</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-yes">21x</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-yes">21x</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-yes">21x</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-yes">21x</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-yes">21x</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-yes">21x</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-yes">21x</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-yes">21x</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-yes">21x</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-yes">21x</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-yes">21x</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-yes">21x</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-yes">7x</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-yes">4x</span>
710
+ <span class="cline-any cline-yes">3x</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-yes">3x</span>
713
+ <span class="cline-any cline-yes">2x</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-yes">1x</span>
716
+ <span class="cline-any cline-yes">1x</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-yes">19x</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-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-yes">12x</span>
730
+ <span class="cline-any cline-yes">12x</span>
731
+ <span class="cline-any cline-yes">12x</span>
732
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-yes">23x</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-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-yes">27x</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-neutral">&nbsp;</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-yes">2x</span>
750
+ <span class="cline-any cline-yes">2x</span>
751
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</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">4x</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-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-yes">21x</span>
768
+ <span class="cline-any cline-yes">23x</span>
769
+ <span class="cline-any cline-yes">11x</span>
770
+ <span class="cline-any cline-yes">12x</span>
771
+ <span class="cline-any cline-yes">7x</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-neutral">&nbsp;</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">6x</span>
781
+ <span class="cline-any cline-yes">6x</span>
782
+ <span class="cline-any cline-yes">5x</span>
783
+ <span class="cline-any cline-yes">5x</span>
784
+ <span class="cline-any cline-yes">3x</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-yes">2x</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-yes">5x</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</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-yes">5x</span>
799
+ <span class="cline-any cline-yes">4x</span>
800
+ <span class="cline-any cline-yes">3x</span>
801
+ <span class="cline-any cline-yes">3x</span>
802
+ <span class="cline-any cline-yes">3x</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-yes">6x</span>
816
+ <span class="cline-any cline-yes">6x</span>
817
+ <span class="cline-any cline-yes">5x</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-yes">6x</span>
827
+ <span class="cline-any cline-yes">6x</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-yes">6x</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-yes">2x</span>
840
+ <span class="cline-any cline-yes">1x</span>
841
+ <span class="cline-any cline-yes">1x</span>
842
+ <span class="cline-any cline-yes">1x</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-yes">9x</span>
852
+ <span class="cline-any cline-yes">12x</span>
853
+ <span class="cline-any cline-yes">4x</span>
854
+ <span class="cline-any cline-yes">4x</span>
855
+ <span class="cline-any cline-yes">4x</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-yes">2x</span>
865
+ <span class="cline-any cline-yes">2x</span>
866
+ <span class="cline-any cline-yes">2x</span>
867
+ <span class="cline-any cline-yes">2x</span>
868
+ <span class="cline-any cline-yes">1x</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-yes">1x</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-yes">1x</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-yes">3x</span>
885
+ <span class="cline-any cline-yes">3x</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-yes">1x</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-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</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">3x</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-yes">3x</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-yes">3x</span>
901
+ <span class="cline-any cline-yes">2x</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">4x</span>
907
+ <span class="cline-any cline-yes">4x</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-yes">4x</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-yes">10x</span>
914
+ <span class="cline-any cline-yes">4x</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-yes">6x</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-yes">4x</span>
922
+ <span class="cline-any cline-yes">10x</span>
923
+ <span class="cline-any cline-yes">8x</span>
924
+ <span class="cline-any cline-yes">2x</span>
925
+ <span class="cline-any cline-yes">6x</span>
926
+ <span class="cline-any cline-yes">3x</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Accessor, Config, I18n, Loader, Metadata, Utils } from '@zeedhi/core';
933
+ import { ComponentRender } from '../zd-component/component-render';
934
+ import { IComponentRender } from '../zd-component/interfaces';
935
+ import { IMenu, IMenuItem } from './interfaces';
936
+ import { MenuGroup } from './menu-group';
937
+ &nbsp;
938
+ /**
939
+ * Base class for Menu component.
940
+ */
941
+ export class Menu extends ComponentRender implements IMenu {
942
+ /**
943
+ * Defines if the menu is an application menu
944
+ */
945
+ public app: boolean | string = false;
946
+ &nbsp;
947
+ /**
948
+ * Defines if the menu must be rendered inside an absolute div
949
+ */
950
+ public absolute: boolean | string = false;
951
+ &nbsp;
952
+ /**
953
+ * Defines if the menu should rests under the application toolbar
954
+ */
955
+ public clipped: boolean | string = false;
956
+ &nbsp;
957
+ /**
958
+ * Applies position: fixed to the menu
959
+ */
960
+ public fixed: boolean | string = false;
961
+ &nbsp;
962
+ /**
963
+ * Defines if the menu should have a visible container
964
+ */
965
+ public floating: boolean | string = false;
966
+ &nbsp;
967
+ /**
968
+ * Defines if the menu should stay visible regardless of screen size
969
+ */
970
+ public permanent: boolean | string = false;
971
+ &nbsp;
972
+ /**
973
+ * Create the menu with smaller items.
974
+ */
975
+ public dense: boolean | string = true;
976
+ &nbsp;
977
+ /**
978
+ * Create the menu with condensed width. Only icons and no label.
979
+ */
980
+ public mini: boolean | string = false;
981
+ &nbsp;
982
+ /**
983
+ * Defines the width of the menu when in mini state
984
+ */
985
+ public miniWidth: number | string = 50;
986
+ &nbsp;
987
+ /**
988
+ * Defines if the menu is mini
989
+ */
990
+ public miniState = false;
991
+ &nbsp;
992
+ /**
993
+ * Defines if the menu is temporary. Temporary menu sits over above the application and uses a overlay div.
994
+ */
995
+ public temporary: boolean | string = false;
996
+ &nbsp;
997
+ /**
998
+ * Array of menu items
999
+ */
1000
+ private menuItems: IMenuItem[] = [];
1001
+ &nbsp;
1002
+ /**
1003
+ * Defines if the close event will turn menu to mini
1004
+ */
1005
+ public closeToMini: boolean | string = true;
1006
+ &nbsp;
1007
+ /**
1008
+ * Defines if the search is shown
1009
+ */
1010
+ public showSearch: boolean | string = false;
1011
+ &nbsp;
1012
+ /**
1013
+ * Defines if items are local
1014
+ */
1015
+ public isLocal: boolean | string = false;
1016
+ &nbsp;
1017
+ /**
1018
+ * Defines if menu is opened
1019
+ */
1020
+ public drawer: boolean;
1021
+ &nbsp;
1022
+ /**
1023
+ * Initial opened prop value
1024
+ */
1025
+ public openedInitialValue?: boolean;
1026
+ &nbsp;
1027
+ /**
1028
+ * Defines if the mouse is over the menu
1029
+ */
1030
+ public mouseOver = false;
1031
+ &nbsp;
1032
+ /**
1033
+ * Defines the menu width in pixels
1034
+ */
1035
+ public width: number | string = 256;
1036
+ &nbsp;
1037
+ /**
1038
+ * Defines the mobile breakpoint in pixels
1039
+ */
1040
+ public mobileBreakpoint: number | string = 600;
1041
+ &nbsp;
1042
+ /**
1043
+ * Array of components to be rendered on the top part of the menu
1044
+ */
1045
+ public topSlot: IComponentRender[] = [];
1046
+ &nbsp;
1047
+ /**
1048
+ * Object to store all the routes
1049
+ */
1050
+ private routes: any = {};
1051
+ &nbsp;
1052
+ /**
1053
+ * Selected path
1054
+ */
1055
+ private selectedPath = '';
1056
+ &nbsp;
1057
+ /**
1058
+ * Array of selected items
1059
+ */
1060
+ private selectedItems: IMenuItem[] = [];
1061
+ &nbsp;
1062
+ /**
1063
+ * Defines the url to get menu items
1064
+ */
1065
+ private menuItemsUrl = '';
1066
+ &nbsp;
1067
+ private openingMenuTimeout!: NodeJS.Timeout;
1068
+ &nbsp;
1069
+ /** Control toolip for overflown items */
1070
+ public showTooltip = false;
1071
+ &nbsp;
1072
+ /** Toolip text for overflown items */
1073
+ public tooltipText = '';
1074
+ &nbsp;
1075
+ /** Toolip anchor */
1076
+ public tooltipAnchor?: HTMLElement;
1077
+ &nbsp;
1078
+ /** Toolip content props */
1079
+ public tooltipContentProps?: any = {};
1080
+ &nbsp;
1081
+ /** Filtered menu items */
1082
+ private filteredMenuItems: IMenuItem[] = [];
1083
+ &nbsp;
1084
+ /** Search value */
1085
+ private searchValue = '';
1086
+ &nbsp;
1087
+ /** Store the current item focused */
1088
+ public currentItem: IMenuItem | null = null;
1089
+ &nbsp;
1090
+ public cache?: boolean = false;
1091
+ &nbsp;
1092
+ public disableRouteWatcher?: boolean = false;
1093
+ &nbsp;
1094
+ /* istanbul ignore next */
1095
+ /**
1096
+ * Creates a new Menu.
1097
+ * @param props Menu properties
1098
+ */
1099
+ constructor(props: IMenu) {
1100
+ super(props);
1101
+ this.app = this.getInitValue('app', props.app, this.app);
1102
+ this.absolute = this.getInitValue('absolute', props.absolute, this.absolute);
1103
+ this.clipped = this.getInitValue('clipped', props.clipped, this.clipped);
1104
+ this.fixed = this.getInitValue('fixed', props.fixed, this.fixed);
1105
+ this.floating = this.getInitValue('floating', props.floating, this.floating);
1106
+ this.dense = this.getInitValue('dense', props.dense, this.dense);
1107
+ this.mini = this.getInitValue('mini', props.mini, this.mini);
1108
+ this.miniState = this.getInitValue('miniState', props.miniState, this.miniState);
1109
+ this.miniWidth = this.getInitValue('miniWidth', props.miniWidth, this.miniWidth);
1110
+ this.temporary = this.getInitValue('temporary', props.temporary, this.temporary);
1111
+ this.menuItems = props.items || this.menuItems;
1112
+ if (this.menuItems.length) this.saveLinkRoutes(this.menuItems);
1113
+ this.menuItemsUrl = this.getInitValue('itemsUrl', props.itemsUrl, this.menuItemsUrl);
1114
+ this.isLocal = this.getInitValue('isLocal', props.isLocal, this.isLocal);
1115
+ this.closeToMini = this.getInitValue('closeToMini', props.closeToMini, this.closeToMini);
1116
+ this.showSearch = this.getInitValue('showSearch', props.showSearch, this.showSearch);
1117
+ this.width = this.getInitValue('width', props.width, this.width);
1118
+ this.cache = this.getInitValue('cache', props.cache, this.cache);
1119
+ this.disableRouteWatcher = this.getInitValue(
1120
+ 'disableRouteWatcher',
1121
+ props.disableRouteWatcher,
1122
+ this.disableRouteWatcher,
1123
+ );
1124
+ this.permanent = this.getInitValue('permanent', props.permanent, this.permanent);
1125
+ this.mobileBreakpoint = Config.mobileBreakpoint || 600;
1126
+ this.drawer = window.innerWidth &gt; Number(this.mobileBreakpoint);
1127
+ this.openedInitialValue = this.getInitValue('opened', props.opened, this.opened);
1128
+ if (this.openedInitialValue !== undefined) {
1129
+ this.opened = this.openedInitialValue;
1130
+ }
1131
+ this.topSlot = props.topSlot || this.topSlot;
1132
+ }
1133
+ &nbsp;
1134
+ /**
1135
+ * Defines the url to get menu items
1136
+ */
1137
+ get itemsUrl() {
1138
+ return this.menuItemsUrl;
1139
+ }
1140
+ &nbsp;
1141
+ set itemsUrl(url: string) {
1142
+ if (this.menuItemsUrl !== url) {
1143
+ this.menuItemsUrl = url;
1144
+ &nbsp;
1145
+ if (url) {
1146
+ this.loadMetadata(url);
1147
+ } else {
1148
+ this.items = [];
1149
+ this.routes = {};
1150
+ }
1151
+ }
1152
+ }
1153
+ &nbsp;
1154
+ /**
1155
+ * Menu items
1156
+ */
1157
+ get items() {
1158
+ return this.searchValue ? this.filteredMenuItems : this.menuItems;
1159
+ }
1160
+ &nbsp;
1161
+ set items(items: IMenuItem[]) {
1162
+ this.menuItems = items;
1163
+ this.saveLinkRoutes(items);
1164
+ if (this.selectedPath &amp;&amp; this.routes[this.selectedPath]) {
1165
+ this.selectItem(this.routes[this.selectedPath]);
1166
+ }
1167
+ }
1168
+ &nbsp;
1169
+ public get opened() {
1170
+ return this.drawer;
1171
+ }
1172
+ &nbsp;
1173
+ public set opened(openedValue: boolean) {
1174
+ this.drawer = openedValue;
1175
+ }
1176
+ &nbsp;
1177
+ /**
1178
+ * Get menu items from a given url
1179
+ * @param element Element mounted reference
1180
+ */
1181
+ public onMounted(element: any) {
1182
+ super.onMounted(element);
1183
+ if (this.itemsUrl) {
1184
+ this.loadMetadata(this.itemsUrl);
1185
+ }
1186
+ }
1187
+ &nbsp;
1188
+ /**
1189
+ * Load the menu metadata
1190
+ * @param url url of the json file
1191
+ */
1192
+ public async loadMetadata(url: string) {
1193
+ this.items = (await Metadata.get(url, Boolean(this.isLocal), this.cache)) as IMenuItem[];
1194
+ }
1195
+ &nbsp;
1196
+ /**
1197
+ * Save all Link routes parent groups
1198
+ */
1199
+ private saveLinkRoutes(items: IMenuItem[], parents: IMenuItem[] = []) {
1200
+ items.forEach((item: IMenuItem) =&gt; {
1201
+ if (item.component === 'ZdMenuLink') {
1202
+ this.routes[item.route] = parents.concat([item]);
1203
+ } else if (item.component === 'ZdMenuGroup') {
1204
+ this.saveLinkRoutes(item.items, parents.concat([item]));
1205
+ }
1206
+ });
1207
+ }
1208
+ &nbsp;
1209
+ /**
1210
+ * Toggle menu
1211
+ */
1212
+ public toggleMenu() {
1213
+ const isMobile = window.innerWidth &lt;= Number(this.mobileBreakpoint);
1214
+ if (this.closeToMini &amp;&amp; !isMobile) {
1215
+ this.miniState = !this.miniState;
1216
+ if (this.miniState) {
1217
+ this.closeAllMenus();
1218
+ } else {
1219
+ this.openSelectedTree();
1220
+ }
1221
+ this.opened = true;
1222
+ } else {
1223
+ this.opened = !this.opened;
1224
+ }
1225
+ }
1226
+ &nbsp;
1227
+ /**
1228
+ * Close all menu
1229
+ */
1230
+ public closeAllMenus() {
1231
+ this.items.forEach((item) =&gt; {
1232
+ if (item.component === 'ZdMenuGroup') {
1233
+ item.opened = false;
1234
+ try {
1235
+ Metadata.getInstance&lt;MenuGroup&gt;(item.name).close();
1236
+ } catch (_error) {
1237
+ // instance not yet created
1238
+ }
1239
+ }
1240
+ });
1241
+ }
1242
+ &nbsp;
1243
+ /**
1244
+ * Saves the selected path
1245
+ * @param path Path name
1246
+ */
1247
+ public selectPath(path: string) {
1248
+ this.selectedPath = path;
1249
+ if (this.routes[path]) {
1250
+ this.selectItem(this.routes[path]);
1251
+ }
1252
+ }
1253
+ &nbsp;
1254
+ /**
1255
+ * Select an item
1256
+ * @param item Menu item
1257
+ */
1258
+ public selectItem(items: IMenuItem[]) {
1259
+ this.selectedItems = items;
1260
+ this.openSelectedTree();
1261
+ }
1262
+ &nbsp;
1263
+ /**
1264
+ * @param item Menu item
1265
+ * @returns Item is selected or not
1266
+ */
1267
+ public isSelected(item: IMenuItem) {
1268
+ return this.selectedItems.filter((selected) =&gt; selected.name === item.name).length &gt; 0;
1269
+ }
1270
+ &nbsp;
1271
+ public menuMouseEnter() {
1272
+ if (this.miniState) {
1273
+ this.openingMenuTimeout = setTimeout(() =&gt; {
1274
+ this.mouseOver = true;
1275
+ this.openSelectedTree();
1276
+ }, 200);
1277
+ }
1278
+ }
1279
+ &nbsp;
1280
+ /**
1281
+ * Open all selected items
1282
+ */
1283
+ public openSelectedTree() {
1284
+ this.selectedItems.forEach((item) =&gt; {
1285
+ if (item.component === 'ZdMenuGroup') {
1286
+ item.opened = true;
1287
+ try {
1288
+ Metadata.getInstance&lt;MenuGroup&gt;(item.name).open();
1289
+ } catch (_error) {
1290
+ // instance not yet created
1291
+ }
1292
+ }
1293
+ });
1294
+ }
1295
+ &nbsp;
1296
+ public menuMouseLeave() {
1297
+ this.mouseOver = false;
1298
+ this.showTooltip = false;
1299
+ clearTimeout(this.openingMenuTimeout);
1300
+ if (this.miniState) {
1301
+ this.closeAllMenus();
1302
+ }
1303
+ }
1304
+ &nbsp;
1305
+ /**
1306
+ * Responds to Url changes
1307
+ */
1308
+ public urlChanged(current: any) {
1309
+ this.selectPath(current.path);
1310
+ }
1311
+ &nbsp;
1312
+ get search() {
1313
+ return this.searchValue;
1314
+ }
1315
+ &nbsp;
1316
+ set search(value: string) {
1317
+ this.searchValue = value;
1318
+ this.doSearch();
1319
+ }
1320
+ &nbsp;
1321
+ public clearSearch() {
1322
+ this.search = '';
1323
+ }
1324
+ &nbsp;
1325
+ /**
1326
+ * Search inside menu items
1327
+ */
1328
+ public doSearch() {
1329
+ const items: IMenuItem[] = this.menuItems;
1330
+ &nbsp;
1331
+ this.filteredMenuItems = [];
1332
+ &nbsp;
1333
+ if (this.searchValue) {
1334
+ this.searchItems(items);
1335
+ }
1336
+ }
1337
+ &nbsp;
1338
+ private getAccessorValue(accessorName: string) {
1339
+ const [controller, accessor] = Accessor.getAccessor(accessorName);
1340
+ const instance = Loader.getInstance(controller);
1341
+ &nbsp;
1342
+ return instance[accessor];
1343
+ }
1344
+ &nbsp;
1345
+ private isItemVisible(item: IMenuItem) {
1346
+ if (typeof item.isVisible === 'string') {
1347
+ return this.getAccessorValue(item.isVisible);
1348
+ }
1349
+ &nbsp;
1350
+ return item.isVisible !== false;
1351
+ }
1352
+ &nbsp;
1353
+ private searchItems(items: IMenuItem[]) {
1354
+ items.forEach((item) =&gt; {
1355
+ if (this.isItemVisible(item)) {
1356
+ if (item.component === 'ZdMenuGroup') {
1357
+ this.searchItems(item.items);
1358
+ } else if (Utils.normalize(I18n.translate(item.label)).indexOf(Utils.normalize(this.searchValue)) !== -1) {
1359
+ this.filteredMenuItems.push(item);
1360
+ }
1361
+ }
1362
+ });
1363
+ }
1364
+ }
1365
+ &nbsp;</pre></td></tr></table></pre>
1366
+
1367
+ <div class='push'></div><!-- for sticky footer -->
1368
+ </div><!-- /wrapper -->
1369
+ <div class='footer quiet pad2 space-top1 center small'>
1370
+ Code coverage generated by
1371
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1372
+ at 2026-07-03T14:17:58.205Z
1373
+ </div>
1374
+ <script src="../../../prettify.js"></script>
1375
+ <script>
1376
+ window.onload = function () {
1377
+ prettyPrint();
1378
+ };
1379
+ </script>
1380
+ <script src="../../../sorter.js"></script>
1381
+ <script src="../../../block-navigation.js"></script>
1382
+ </body>
1383
+ </html>
1384
+