@zohodesk/components 1.4.13 → 1.4.15

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 (374) hide show
  1. package/README.md +8 -2
  2. package/coverage/__testUtils__/MockResizeObserver.js.html +163 -0
  3. package/coverage/__testUtils__/index.html +116 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/coverage-final.json +14 -0
  7. package/coverage/coverage-summary.json +15 -0
  8. package/coverage/favicon.png +0 -0
  9. package/coverage/index.html +206 -0
  10. package/coverage/prettify.css +1 -0
  11. package/coverage/prettify.js +2 -0
  12. package/coverage/sort-arrow-sprite.png +0 -0
  13. package/coverage/sorter.js +196 -0
  14. package/coverage/src/Accordion/Accordion.js.html +307 -0
  15. package/coverage/src/Accordion/AccordionItem.js.html +232 -0
  16. package/coverage/src/Accordion/index.html +116 -0
  17. package/coverage/src/Accordion/props/defaultProps.js.html +124 -0
  18. package/coverage/src/Accordion/props/index.html +131 -0
  19. package/coverage/src/Accordion/props/propTypes.js.html +190 -0
  20. package/coverage/src/Animation/Animation.js.html +256 -0
  21. package/coverage/src/Animation/index.html +131 -0
  22. package/coverage/src/Animation/props/defaultProps.js.html +106 -0
  23. package/coverage/src/Animation/props/index.html +131 -0
  24. package/coverage/src/Animation/props/propTypes.js.html +124 -0
  25. package/coverage/src/Animation/utils.js.html +331 -0
  26. package/coverage/src/AppContainer/AppContainer.js.html +475 -0
  27. package/coverage/src/AppContainer/AppContainer.module.css.html +139 -0
  28. package/coverage/src/AppContainer/index.html +116 -0
  29. package/coverage/src/AppContainer/props/defaultProps.js.html +115 -0
  30. package/coverage/src/AppContainer/props/index.html +131 -0
  31. package/coverage/src/AppContainer/props/propTypes.js.html +139 -0
  32. package/coverage/src/Avatar/Avatar.js.html +652 -0
  33. package/coverage/src/Avatar/Avatar.module.css.html +556 -0
  34. package/coverage/src/Avatar/index.html +131 -0
  35. package/coverage/src/Avatar/props/defaultProps.js.html +136 -0
  36. package/coverage/src/Avatar/props/index.html +131 -0
  37. package/coverage/src/Avatar/props/propTypes.js.html +166 -0
  38. package/coverage/src/AvatarTeam/AvatarTeam.js.html +340 -0
  39. package/coverage/src/AvatarTeam/AvatarTeam.module.css.html +610 -0
  40. package/coverage/src/AvatarTeam/index.html +131 -0
  41. package/coverage/src/AvatarTeam/props/defaultProps.js.html +136 -0
  42. package/coverage/src/AvatarTeam/props/index.html +116 -0
  43. package/coverage/src/AvatarTeam/props/propTypes.js.html +172 -0
  44. package/coverage/src/Button/Button.js.html +337 -0
  45. package/coverage/src/Button/css/Button.module.css.html +1693 -0
  46. package/coverage/src/Button/css/cssJSLogic.js.html +220 -0
  47. package/coverage/src/Button/css/index.html +131 -0
  48. package/coverage/src/Button/index.html +116 -0
  49. package/coverage/src/Button/props/defaultProps.js.html +142 -0
  50. package/coverage/src/Button/props/index.html +131 -0
  51. package/coverage/src/Button/props/propTypes.js.html +220 -0
  52. package/coverage/src/Buttongroup/Buttongroup.js.html +220 -0
  53. package/coverage/src/Buttongroup/Buttongroup.module.css.html +298 -0
  54. package/coverage/src/Buttongroup/index.html +131 -0
  55. package/coverage/src/Buttongroup/props/defaultProps.js.html +103 -0
  56. package/coverage/src/Buttongroup/props/index.html +131 -0
  57. package/coverage/src/Buttongroup/props/propTypes.js.html +115 -0
  58. package/coverage/src/Card/Card.js.html +976 -0
  59. package/coverage/src/Card/Card.module.css.html +145 -0
  60. package/coverage/src/Card/index.html +131 -0
  61. package/coverage/src/Card/props/defaultProps.js.html +172 -0
  62. package/coverage/src/Card/props/index.html +131 -0
  63. package/coverage/src/Card/props/propTypes.js.html +244 -0
  64. package/coverage/src/CheckBox/CheckBox.js.html +625 -0
  65. package/coverage/src/CheckBox/CheckBox.module.css.html +547 -0
  66. package/coverage/src/CheckBox/index.html +131 -0
  67. package/coverage/src/CheckBox/props/defaultProps.js.html +139 -0
  68. package/coverage/src/CheckBox/props/index.html +131 -0
  69. package/coverage/src/CheckBox/props/propTypes.js.html +214 -0
  70. package/coverage/src/DateTime/CalendarView.js.html +706 -0
  71. package/coverage/src/DateTime/DateTime.js.html +1954 -0
  72. package/coverage/src/DateTime/DateTime.module.css.html +733 -0
  73. package/coverage/src/DateTime/DateTimePopupFooter.js.html +187 -0
  74. package/coverage/src/DateTime/DateTimePopupHeader.js.html +346 -0
  75. package/coverage/src/DateTime/DateWidget.js.html +2920 -0
  76. package/coverage/src/DateTime/DateWidget.module.css.html +190 -0
  77. package/coverage/src/DateTime/DaysRow.js.html +178 -0
  78. package/coverage/src/DateTime/Time.js.html +595 -0
  79. package/coverage/src/DateTime/YearView.js.html +736 -0
  80. package/coverage/src/DateTime/YearView.module.css.html +340 -0
  81. package/coverage/src/DateTime/constants.js.html +370 -0
  82. package/coverage/src/DateTime/dateFormatUtils/dateFormat.js.html +1714 -0
  83. package/coverage/src/DateTime/dateFormatUtils/dateFormats.js.html +436 -0
  84. package/coverage/src/DateTime/dateFormatUtils/dayChange.js.html +289 -0
  85. package/coverage/src/DateTime/dateFormatUtils/index.html +146 -0
  86. package/coverage/src/DateTime/dateFormatUtils/index.js.html +748 -0
  87. package/coverage/src/DateTime/dateFormatUtils/monthChange.js.html +325 -0
  88. package/coverage/src/DateTime/dateFormatUtils/timeChange.js.html +748 -0
  89. package/coverage/src/DateTime/dateFormatUtils/yearChange.js.html +427 -0
  90. package/coverage/src/DateTime/index.html +146 -0
  91. package/coverage/src/DateTime/objectUtils.js.html +274 -0
  92. package/coverage/src/DateTime/props/defaultProps.js.html +298 -0
  93. package/coverage/src/DateTime/props/index.html +131 -0
  94. package/coverage/src/DateTime/props/propTypes.js.html +721 -0
  95. package/coverage/src/DateTime/typeChecker.js.html +148 -0
  96. package/coverage/src/DateTime/validator.js.html +1378 -0
  97. package/coverage/src/DropBox/DropBox.js.html +355 -0
  98. package/coverage/src/DropBox/DropBoxElement/DropBoxElement.js.html +463 -0
  99. package/coverage/src/DropBox/DropBoxElement/css/DropBoxElement.module.css.html +1336 -0
  100. package/coverage/src/DropBox/DropBoxElement/css/cssJSLogic.js.html +349 -0
  101. package/coverage/src/DropBox/DropBoxElement/css/index.html +131 -0
  102. package/coverage/src/DropBox/DropBoxElement/index.html +131 -0
  103. package/coverage/src/DropBox/DropBoxElement/props/defaultProps.js.html +139 -0
  104. package/coverage/src/DropBox/DropBoxElement/props/index.html +131 -0
  105. package/coverage/src/DropBox/DropBoxElement/props/propTypes.js.html +313 -0
  106. package/coverage/src/DropBox/DropBoxElement/useDropboxPosCalc.js.html +244 -0
  107. package/coverage/src/DropBox/DropBoxPositionMapping.js.html +511 -0
  108. package/coverage/src/DropBox/css/DropBox.module.css.html +208 -0
  109. package/coverage/src/DropBox/css/cssJSLogic.js.html +118 -0
  110. package/coverage/src/DropBox/css/index.html +131 -0
  111. package/coverage/src/DropBox/index.html +131 -0
  112. package/coverage/src/DropBox/props/defaultProps.js.html +136 -0
  113. package/coverage/src/DropBox/props/index.html +131 -0
  114. package/coverage/src/DropBox/props/propTypes.js.html +142 -0
  115. package/coverage/src/DropBox/utils/index.html +116 -0
  116. package/coverage/src/DropBox/utils/isMobilePopover.js.html +133 -0
  117. package/coverage/src/DropDown/DropDown.js.html +310 -0
  118. package/coverage/src/DropDown/DropDown.module.css.html +100 -0
  119. package/coverage/src/DropDown/DropDownHeading.js.html +196 -0
  120. package/coverage/src/DropDown/DropDownHeading.module.css.html +232 -0
  121. package/coverage/src/DropDown/DropDownItem.js.html +271 -0
  122. package/coverage/src/DropDown/DropDownItem.module.css.html +289 -0
  123. package/coverage/src/DropDown/DropDownSearch.js.html +229 -0
  124. package/coverage/src/DropDown/DropDownSearch.module.css.html +127 -0
  125. package/coverage/src/DropDown/DropDownSeparator.js.html +118 -0
  126. package/coverage/src/DropDown/DropDownSeparator.module.css.html +106 -0
  127. package/coverage/src/DropDown/index.html +131 -0
  128. package/coverage/src/DropDown/props/defaultProps.js.html +127 -0
  129. package/coverage/src/DropDown/props/index.html +131 -0
  130. package/coverage/src/DropDown/props/propTypes.js.html +310 -0
  131. package/coverage/src/Heading/Heading.js.html +193 -0
  132. package/coverage/src/Heading/Heading.module.css.html +97 -0
  133. package/coverage/src/Heading/index.html +131 -0
  134. package/coverage/src/Heading/props/defaultProps.js.html +100 -0
  135. package/coverage/src/Heading/props/index.html +131 -0
  136. package/coverage/src/Heading/props/propTypes.js.html +124 -0
  137. package/coverage/src/Label/Label.js.html +250 -0
  138. package/coverage/src/Label/Label.module.css.html +256 -0
  139. package/coverage/src/Label/LabelColors.module.css.html +145 -0
  140. package/coverage/src/Label/index.html +146 -0
  141. package/coverage/src/Label/props/defaultProps.js.html +118 -0
  142. package/coverage/src/Label/props/index.html +131 -0
  143. package/coverage/src/Label/props/propTypes.js.html +145 -0
  144. package/coverage/src/Layout/Box.js.html +367 -0
  145. package/coverage/src/Layout/Container.js.html +439 -0
  146. package/coverage/src/Layout/Layout.module.css.html +1090 -0
  147. package/coverage/src/Layout/index.html +176 -0
  148. package/coverage/src/Layout/index.js.html +118 -0
  149. package/coverage/src/Layout/props/defaultProps.js.html +136 -0
  150. package/coverage/src/Layout/props/index.html +131 -0
  151. package/coverage/src/Layout/props/propTypes.js.html +262 -0
  152. package/coverage/src/Layout/utils.js.html +199 -0
  153. package/coverage/src/ListItem/ListContainer.js.html +385 -0
  154. package/coverage/src/ListItem/ListItem.js.html +493 -0
  155. package/coverage/src/ListItem/ListItem.module.css.html +793 -0
  156. package/coverage/src/ListItem/ListItemWithAvatar.js.html +577 -0
  157. package/coverage/src/ListItem/ListItemWithCheckBox.js.html +430 -0
  158. package/coverage/src/ListItem/ListItemWithIcon.js.html +520 -0
  159. package/coverage/src/ListItem/ListItemWithRadio.js.html +445 -0
  160. package/coverage/src/ListItem/index.html +146 -0
  161. package/coverage/src/ListItem/props/defaultProps.js.html +415 -0
  162. package/coverage/src/ListItem/props/index.html +131 -0
  163. package/coverage/src/ListItem/props/propTypes.js.html +763 -0
  164. package/coverage/src/Modal/Modal.js.html +562 -0
  165. package/coverage/src/Modal/Portal/Portal.js.html +166 -0
  166. package/coverage/src/Modal/Portal/index.html +116 -0
  167. package/coverage/src/Modal/Portal/props/defaultProps.js.html +97 -0
  168. package/coverage/src/Modal/Portal/props/index.html +131 -0
  169. package/coverage/src/Modal/Portal/props/propTypes.js.html +100 -0
  170. package/coverage/src/Modal/index.html +116 -0
  171. package/coverage/src/Modal/props/defaultProps.js.html +94 -0
  172. package/coverage/src/Modal/props/index.html +131 -0
  173. package/coverage/src/Modal/props/propTypes.js.html +109 -0
  174. package/coverage/src/MultiSelect/AdvancedGroupMultiSelect.js.html +3085 -0
  175. package/coverage/src/MultiSelect/AdvancedMultiSelect.js.html +1762 -0
  176. package/coverage/src/MultiSelect/EmptyState.js.html +277 -0
  177. package/coverage/src/MultiSelect/MobileHeader/MobileHeader.js.html +214 -0
  178. package/coverage/src/MultiSelect/MobileHeader/MobileHeader.module.css.html +133 -0
  179. package/coverage/src/MultiSelect/MobileHeader/index.html +131 -0
  180. package/coverage/src/MultiSelect/MobileHeader/props/defaultProps.js.html +97 -0
  181. package/coverage/src/MultiSelect/MobileHeader/props/index.html +131 -0
  182. package/coverage/src/MultiSelect/MobileHeader/props/propTypes.js.html +109 -0
  183. package/coverage/src/MultiSelect/MultiSelect.js.html +3346 -0
  184. package/coverage/src/MultiSelect/MultiSelect.module.css.html +658 -0
  185. package/coverage/src/MultiSelect/MultiSelectHeader.js.html +187 -0
  186. package/coverage/src/MultiSelect/MultiSelectWithAvatar.js.html +772 -0
  187. package/coverage/src/MultiSelect/SelectedOptions.js.html +307 -0
  188. package/coverage/src/MultiSelect/SelectedOptions.module.css.html +112 -0
  189. package/coverage/src/MultiSelect/Suggestions.js.html +736 -0
  190. package/coverage/src/MultiSelect/constants.js.html +100 -0
  191. package/coverage/src/MultiSelect/index.html +146 -0
  192. package/coverage/src/MultiSelect/props/defaultProps.js.html +628 -0
  193. package/coverage/src/MultiSelect/props/index.html +131 -0
  194. package/coverage/src/MultiSelect/props/propTypes.js.html +1063 -0
  195. package/coverage/src/PopOver/PopOver.js.html +670 -0
  196. package/coverage/src/PopOver/PopOver.module.css.html +109 -0
  197. package/coverage/src/PopOver/index.html +131 -0
  198. package/coverage/src/PopOver/props/defaultProps.js.html +109 -0
  199. package/coverage/src/PopOver/props/index.html +116 -0
  200. package/coverage/src/PopOver/props/propTypes.js.html +253 -0
  201. package/coverage/src/Popup/Popup.js.html +2869 -0
  202. package/coverage/src/Popup/PositionMapping.js.html +310 -0
  203. package/coverage/src/Popup/Registry.js.html +205 -0
  204. package/coverage/src/Popup/index.html +176 -0
  205. package/coverage/src/Popup/intersectionObserver.js.html +223 -0
  206. package/coverage/src/Popup/props/index.html +116 -0
  207. package/coverage/src/Popup/props/propTypes.js.html +232 -0
  208. package/coverage/src/Popup/viewPort.js.html +1492 -0
  209. package/coverage/src/Provider/AvatarSize.js.html +124 -0
  210. package/coverage/src/Provider/Config.js.html +151 -0
  211. package/coverage/src/Provider/CssProvider.js.html +133 -0
  212. package/coverage/src/Provider/IdProvider.js.html +289 -0
  213. package/coverage/src/Provider/LibraryContextInit.js.html +97 -0
  214. package/coverage/src/Provider/NumberGenerator/NumberGenerator.js.html +523 -0
  215. package/coverage/src/Provider/NumberGenerator/index.html +116 -0
  216. package/coverage/src/Provider/ZindexProvider.js.html +253 -0
  217. package/coverage/src/Provider/index.html +116 -0
  218. package/coverage/src/Radio/Radio.js.html +472 -0
  219. package/coverage/src/Radio/Radio.module.css.html +412 -0
  220. package/coverage/src/Radio/index.html +131 -0
  221. package/coverage/src/Radio/props/defaultProps.js.html +130 -0
  222. package/coverage/src/Radio/props/index.html +131 -0
  223. package/coverage/src/Radio/props/propTypes.js.html +211 -0
  224. package/coverage/src/Responsive/CustomResponsive.js.html +622 -0
  225. package/coverage/src/Responsive/RefWrapper.js.html +214 -0
  226. package/coverage/src/Responsive/ResizeObserver.js.html +274 -0
  227. package/coverage/src/Responsive/index.html +161 -0
  228. package/coverage/src/Responsive/props/defaultProps.js.html +133 -0
  229. package/coverage/src/Responsive/props/index.html +131 -0
  230. package/coverage/src/Responsive/props/propTypes.js.html +172 -0
  231. package/coverage/src/Responsive/sizeObservers.js.html +460 -0
  232. package/coverage/src/Responsive/utils/index.html +116 -0
  233. package/coverage/src/Responsive/utils/shallowCompare.js.html +148 -0
  234. package/coverage/src/ResponsiveDropBox/ResponsiveDropBox.js.html +259 -0
  235. package/coverage/src/ResponsiveDropBox/ResponsiveDropBox.module.css.html +103 -0
  236. package/coverage/src/ResponsiveDropBox/index.html +131 -0
  237. package/coverage/src/ResponsiveDropBox/props/defaultProps.js.html +97 -0
  238. package/coverage/src/ResponsiveDropBox/props/index.html +131 -0
  239. package/coverage/src/ResponsiveDropBox/props/propTypes.js.html +115 -0
  240. package/coverage/src/Ribbon/Ribbon.js.html +229 -0
  241. package/coverage/src/Ribbon/Ribbon.module.css.html +1348 -0
  242. package/coverage/src/Ribbon/index.html +131 -0
  243. package/coverage/src/Ribbon/props/defaultProps.js.html +112 -0
  244. package/coverage/src/Ribbon/props/index.html +131 -0
  245. package/coverage/src/Ribbon/props/propTypes.js.html +121 -0
  246. package/coverage/src/RippleEffect/RippleEffect.js.html +172 -0
  247. package/coverage/src/RippleEffect/RippleEffect.module.css.html +472 -0
  248. package/coverage/src/RippleEffect/index.html +131 -0
  249. package/coverage/src/RippleEffect/props/defaultProps.js.html +115 -0
  250. package/coverage/src/RippleEffect/props/index.html +131 -0
  251. package/coverage/src/RippleEffect/props/propTypes.js.html +124 -0
  252. package/coverage/src/Select/GroupSelect.js.html +2209 -0
  253. package/coverage/src/Select/Select.js.html +2647 -0
  254. package/coverage/src/Select/Select.module.css.html +463 -0
  255. package/coverage/src/Select/SelectWithAvatar.js.html +1114 -0
  256. package/coverage/src/Select/SelectWithIcon.js.html +1573 -0
  257. package/coverage/src/Select/index.html +131 -0
  258. package/coverage/src/Select/props/defaultProps.js.html +490 -0
  259. package/coverage/src/Select/props/index.html +131 -0
  260. package/coverage/src/Select/props/propTypes.js.html +1138 -0
  261. package/coverage/src/Stencils/Stencils.js.html +136 -0
  262. package/coverage/src/Stencils/Stencils.module.css.html +337 -0
  263. package/coverage/src/Stencils/index.html +131 -0
  264. package/coverage/src/Stencils/props/defaultProps.js.html +106 -0
  265. package/coverage/src/Stencils/props/index.html +131 -0
  266. package/coverage/src/Stencils/props/propTypes.js.html +112 -0
  267. package/coverage/src/Switch/Switch.js.html +376 -0
  268. package/coverage/src/Switch/Switch.module.css.html +481 -0
  269. package/coverage/src/Switch/index.html +131 -0
  270. package/coverage/src/Switch/props/defaultProps.js.html +118 -0
  271. package/coverage/src/Switch/props/index.html +131 -0
  272. package/coverage/src/Switch/props/propTypes.js.html +172 -0
  273. package/coverage/src/Tab/Tab.js.html +454 -0
  274. package/coverage/src/Tab/Tab.module.css.html +358 -0
  275. package/coverage/src/Tab/TabContent.js.html +163 -0
  276. package/coverage/src/Tab/TabContent.module.css.html +97 -0
  277. package/coverage/src/Tab/TabContentWrapper.js.html +139 -0
  278. package/coverage/src/Tab/TabWrapper.js.html +274 -0
  279. package/coverage/src/Tab/Tabs.js.html +2026 -0
  280. package/coverage/src/Tab/Tabs.module.css.html +493 -0
  281. package/coverage/src/Tab/index.html +161 -0
  282. package/coverage/src/Tab/index.js.html +100 -0
  283. package/coverage/src/Tab/props/defaultProps.js.html +250 -0
  284. package/coverage/src/Tab/props/index.html +131 -0
  285. package/coverage/src/Tab/props/propTypes.js.html +451 -0
  286. package/coverage/src/Tab/utils/index.html +116 -0
  287. package/coverage/src/Tab/utils/tabConfigs.js.html +142 -0
  288. package/coverage/src/Tag/Tag.js.html +544 -0
  289. package/coverage/src/Tag/Tag.module.css.html +781 -0
  290. package/coverage/src/Tag/index.html +131 -0
  291. package/coverage/src/Tag/props/defaultProps.js.html +133 -0
  292. package/coverage/src/Tag/props/index.html +131 -0
  293. package/coverage/src/Tag/props/propTypes.js.html +244 -0
  294. package/coverage/src/TextBox/TextBox.js.html +619 -0
  295. package/coverage/src/TextBox/TextBox.module.css.html +685 -0
  296. package/coverage/src/TextBox/index.html +131 -0
  297. package/coverage/src/TextBox/props/defaultProps.js.html +145 -0
  298. package/coverage/src/TextBox/props/index.html +131 -0
  299. package/coverage/src/TextBox/props/propTypes.js.html +247 -0
  300. package/coverage/src/TextBoxIcon/TextBoxIcon.js.html +661 -0
  301. package/coverage/src/TextBoxIcon/TextBoxIcon.module.css.html +301 -0
  302. package/coverage/src/TextBoxIcon/index.html +131 -0
  303. package/coverage/src/TextBoxIcon/props/defaultProps.js.html +157 -0
  304. package/coverage/src/TextBoxIcon/props/index.html +131 -0
  305. package/coverage/src/TextBoxIcon/props/propTypes.js.html +256 -0
  306. package/coverage/src/Textarea/Textarea.js.html +463 -0
  307. package/coverage/src/Textarea/Textarea.module.css.html +532 -0
  308. package/coverage/src/Textarea/index.html +131 -0
  309. package/coverage/src/Textarea/props/defaultProps.js.html +139 -0
  310. package/coverage/src/Textarea/props/index.html +131 -0
  311. package/coverage/src/Textarea/props/propTypes.js.html +193 -0
  312. package/coverage/src/Tooltip/Tooltip.js.html +1795 -0
  313. package/coverage/src/Tooltip/Tooltip.module.css.html +484 -0
  314. package/coverage/src/Tooltip/index.html +131 -0
  315. package/coverage/src/Tooltip/props/defaultProps.js.html +97 -0
  316. package/coverage/src/Tooltip/props/index.html +131 -0
  317. package/coverage/src/Tooltip/props/propTypes.js.html +103 -0
  318. package/coverage/src/VelocityAnimation/VelocityAnimation/VelocityAnimation.js.html +283 -0
  319. package/coverage/src/VelocityAnimation/VelocityAnimation/index.html +116 -0
  320. package/coverage/src/VelocityAnimation/VelocityAnimation/props/defaultProps.js.html +106 -0
  321. package/coverage/src/VelocityAnimation/VelocityAnimation/props/index.html +131 -0
  322. package/coverage/src/VelocityAnimation/VelocityAnimation/props/propTypes.js.html +124 -0
  323. package/coverage/src/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js.html +502 -0
  324. package/coverage/src/VelocityAnimation/VelocityAnimationGroup/index.html +116 -0
  325. package/coverage/src/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js.html +130 -0
  326. package/coverage/src/VelocityAnimation/VelocityAnimationGroup/props/index.html +131 -0
  327. package/coverage/src/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js.html +154 -0
  328. package/coverage/src/common/a11y.module.css.html +94 -0
  329. package/coverage/src/common/avatarsizes.module.css.html +229 -0
  330. package/coverage/src/common/basic.module.css.html +178 -0
  331. package/coverage/src/common/boxShadow.module.css.html +184 -0
  332. package/coverage/src/common/common.module.css.html +1645 -0
  333. package/coverage/src/common/index.html +116 -0
  334. package/coverage/src/common/transition.module.css.html +403 -0
  335. package/coverage/src/semantic/Button/Button.js.html +220 -0
  336. package/coverage/src/semantic/Button/index.html +131 -0
  337. package/coverage/src/semantic/Button/props/defaultProps.js.html +121 -0
  338. package/coverage/src/semantic/Button/props/index.html +131 -0
  339. package/coverage/src/semantic/Button/props/propTypes.js.html +154 -0
  340. package/coverage/src/semantic/Button/semanticButton.module.css.html +112 -0
  341. package/coverage/src/utils/Common.js.html +1267 -0
  342. package/coverage/src/utils/ContextOptimizer.js.html +196 -0
  343. package/coverage/src/utils/cssUtils.js.html +118 -0
  344. package/coverage/src/utils/datetime/GMTZones.js.html +229 -0
  345. package/coverage/src/utils/datetime/common.js.html +790 -0
  346. package/coverage/src/utils/datetime/index.html +131 -0
  347. package/coverage/src/utils/dropDownUtils.js.html +1897 -0
  348. package/coverage/src/utils/dummyFunction.js.html +88 -0
  349. package/coverage/src/utils/getInitial.js.html +139 -0
  350. package/coverage/src/utils/index.html +116 -0
  351. package/coverage/src/utils/shallowEqual.js.html +181 -0
  352. package/coverage/src/v1/Switch/Switch.js.html +433 -0
  353. package/coverage/src/v1/Switch/contants/index.html +116 -0
  354. package/coverage/src/v1/Switch/contants/index.js.html +166 -0
  355. package/coverage/src/v1/Switch/css/Switch_v1.module.css.html +439 -0
  356. package/coverage/src/v1/Switch/css/cssJSLogic.js.html +220 -0
  357. package/coverage/src/v1/Switch/css/index.html +131 -0
  358. package/coverage/src/v1/Switch/index.html +131 -0
  359. package/coverage/src/v1/Switch/props/defaultProps.js.html +115 -0
  360. package/coverage/src/v1/Switch/props/index.html +131 -0
  361. package/coverage/src/v1/Switch/props/propTypes.js.html +193 -0
  362. package/coverage/src/v1/Switch/useSwitch.js.html +154 -0
  363. package/package.json +1 -1
  364. package/.cli/MissedPropType_Keys.html +0 -101
  365. package/.cli/PropLessFiles.html +0 -101
  366. package/.cli/PropUnificationExcludeFilesArray.js +0 -231
  367. package/.cli/PropValidationExcludeFilesArray.js +0 -1
  368. package/.cli/ThemeValidationExcludeFiles.js +0 -1
  369. package/.cli/UnValidatedFiles.html +0 -101
  370. package/.cli/config/variables/variableMapping.json +0 -13
  371. package/.cli/propValidation_report.html +0 -182
  372. package/.cli/themeValidate/stringContains.js +0 -1
  373. package/PropValidationExcludeFilesArray.js +0 -1
  374. package/propValidationArg.json +0 -12
@@ -0,0 +1,2869 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/Popup/Popup.js</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/Popup</a> Popup.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">24.8% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>95/383</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">8.76% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>27/308</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">12.32% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>9/73</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">24.73% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>94/380</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 oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a>
725
+ <a name='L660'></a><a href='#L660'>660</a>
726
+ <a name='L661'></a><a href='#L661'>661</a>
727
+ <a name='L662'></a><a href='#L662'>662</a>
728
+ <a name='L663'></a><a href='#L663'>663</a>
729
+ <a name='L664'></a><a href='#L664'>664</a>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a>
761
+ <a name='L696'></a><a href='#L696'>696</a>
762
+ <a name='L697'></a><a href='#L697'>697</a>
763
+ <a name='L698'></a><a href='#L698'>698</a>
764
+ <a name='L699'></a><a href='#L699'>699</a>
765
+ <a name='L700'></a><a href='#L700'>700</a>
766
+ <a name='L701'></a><a href='#L701'>701</a>
767
+ <a name='L702'></a><a href='#L702'>702</a>
768
+ <a name='L703'></a><a href='#L703'>703</a>
769
+ <a name='L704'></a><a href='#L704'>704</a>
770
+ <a name='L705'></a><a href='#L705'>705</a>
771
+ <a name='L706'></a><a href='#L706'>706</a>
772
+ <a name='L707'></a><a href='#L707'>707</a>
773
+ <a name='L708'></a><a href='#L708'>708</a>
774
+ <a name='L709'></a><a href='#L709'>709</a>
775
+ <a name='L710'></a><a href='#L710'>710</a>
776
+ <a name='L711'></a><a href='#L711'>711</a>
777
+ <a name='L712'></a><a href='#L712'>712</a>
778
+ <a name='L713'></a><a href='#L713'>713</a>
779
+ <a name='L714'></a><a href='#L714'>714</a>
780
+ <a name='L715'></a><a href='#L715'>715</a>
781
+ <a name='L716'></a><a href='#L716'>716</a>
782
+ <a name='L717'></a><a href='#L717'>717</a>
783
+ <a name='L718'></a><a href='#L718'>718</a>
784
+ <a name='L719'></a><a href='#L719'>719</a>
785
+ <a name='L720'></a><a href='#L720'>720</a>
786
+ <a name='L721'></a><a href='#L721'>721</a>
787
+ <a name='L722'></a><a href='#L722'>722</a>
788
+ <a name='L723'></a><a href='#L723'>723</a>
789
+ <a name='L724'></a><a href='#L724'>724</a>
790
+ <a name='L725'></a><a href='#L725'>725</a>
791
+ <a name='L726'></a><a href='#L726'>726</a>
792
+ <a name='L727'></a><a href='#L727'>727</a>
793
+ <a name='L728'></a><a href='#L728'>728</a>
794
+ <a name='L729'></a><a href='#L729'>729</a>
795
+ <a name='L730'></a><a href='#L730'>730</a>
796
+ <a name='L731'></a><a href='#L731'>731</a>
797
+ <a name='L732'></a><a href='#L732'>732</a>
798
+ <a name='L733'></a><a href='#L733'>733</a>
799
+ <a name='L734'></a><a href='#L734'>734</a>
800
+ <a name='L735'></a><a href='#L735'>735</a>
801
+ <a name='L736'></a><a href='#L736'>736</a>
802
+ <a name='L737'></a><a href='#L737'>737</a>
803
+ <a name='L738'></a><a href='#L738'>738</a>
804
+ <a name='L739'></a><a href='#L739'>739</a>
805
+ <a name='L740'></a><a href='#L740'>740</a>
806
+ <a name='L741'></a><a href='#L741'>741</a>
807
+ <a name='L742'></a><a href='#L742'>742</a>
808
+ <a name='L743'></a><a href='#L743'>743</a>
809
+ <a name='L744'></a><a href='#L744'>744</a>
810
+ <a name='L745'></a><a href='#L745'>745</a>
811
+ <a name='L746'></a><a href='#L746'>746</a>
812
+ <a name='L747'></a><a href='#L747'>747</a>
813
+ <a name='L748'></a><a href='#L748'>748</a>
814
+ <a name='L749'></a><a href='#L749'>749</a>
815
+ <a name='L750'></a><a href='#L750'>750</a>
816
+ <a name='L751'></a><a href='#L751'>751</a>
817
+ <a name='L752'></a><a href='#L752'>752</a>
818
+ <a name='L753'></a><a href='#L753'>753</a>
819
+ <a name='L754'></a><a href='#L754'>754</a>
820
+ <a name='L755'></a><a href='#L755'>755</a>
821
+ <a name='L756'></a><a href='#L756'>756</a>
822
+ <a name='L757'></a><a href='#L757'>757</a>
823
+ <a name='L758'></a><a href='#L758'>758</a>
824
+ <a name='L759'></a><a href='#L759'>759</a>
825
+ <a name='L760'></a><a href='#L760'>760</a>
826
+ <a name='L761'></a><a href='#L761'>761</a>
827
+ <a name='L762'></a><a href='#L762'>762</a>
828
+ <a name='L763'></a><a href='#L763'>763</a>
829
+ <a name='L764'></a><a href='#L764'>764</a>
830
+ <a name='L765'></a><a href='#L765'>765</a>
831
+ <a name='L766'></a><a href='#L766'>766</a>
832
+ <a name='L767'></a><a href='#L767'>767</a>
833
+ <a name='L768'></a><a href='#L768'>768</a>
834
+ <a name='L769'></a><a href='#L769'>769</a>
835
+ <a name='L770'></a><a href='#L770'>770</a>
836
+ <a name='L771'></a><a href='#L771'>771</a>
837
+ <a name='L772'></a><a href='#L772'>772</a>
838
+ <a name='L773'></a><a href='#L773'>773</a>
839
+ <a name='L774'></a><a href='#L774'>774</a>
840
+ <a name='L775'></a><a href='#L775'>775</a>
841
+ <a name='L776'></a><a href='#L776'>776</a>
842
+ <a name='L777'></a><a href='#L777'>777</a>
843
+ <a name='L778'></a><a href='#L778'>778</a>
844
+ <a name='L779'></a><a href='#L779'>779</a>
845
+ <a name='L780'></a><a href='#L780'>780</a>
846
+ <a name='L781'></a><a href='#L781'>781</a>
847
+ <a name='L782'></a><a href='#L782'>782</a>
848
+ <a name='L783'></a><a href='#L783'>783</a>
849
+ <a name='L784'></a><a href='#L784'>784</a>
850
+ <a name='L785'></a><a href='#L785'>785</a>
851
+ <a name='L786'></a><a href='#L786'>786</a>
852
+ <a name='L787'></a><a href='#L787'>787</a>
853
+ <a name='L788'></a><a href='#L788'>788</a>
854
+ <a name='L789'></a><a href='#L789'>789</a>
855
+ <a name='L790'></a><a href='#L790'>790</a>
856
+ <a name='L791'></a><a href='#L791'>791</a>
857
+ <a name='L792'></a><a href='#L792'>792</a>
858
+ <a name='L793'></a><a href='#L793'>793</a>
859
+ <a name='L794'></a><a href='#L794'>794</a>
860
+ <a name='L795'></a><a href='#L795'>795</a>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a>
865
+ <a name='L800'></a><a href='#L800'>800</a>
866
+ <a name='L801'></a><a href='#L801'>801</a>
867
+ <a name='L802'></a><a href='#L802'>802</a>
868
+ <a name='L803'></a><a href='#L803'>803</a>
869
+ <a name='L804'></a><a href='#L804'>804</a>
870
+ <a name='L805'></a><a href='#L805'>805</a>
871
+ <a name='L806'></a><a href='#L806'>806</a>
872
+ <a name='L807'></a><a href='#L807'>807</a>
873
+ <a name='L808'></a><a href='#L808'>808</a>
874
+ <a name='L809'></a><a href='#L809'>809</a>
875
+ <a name='L810'></a><a href='#L810'>810</a>
876
+ <a name='L811'></a><a href='#L811'>811</a>
877
+ <a name='L812'></a><a href='#L812'>812</a>
878
+ <a name='L813'></a><a href='#L813'>813</a>
879
+ <a name='L814'></a><a href='#L814'>814</a>
880
+ <a name='L815'></a><a href='#L815'>815</a>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a>
883
+ <a name='L818'></a><a href='#L818'>818</a>
884
+ <a name='L819'></a><a href='#L819'>819</a>
885
+ <a name='L820'></a><a href='#L820'>820</a>
886
+ <a name='L821'></a><a href='#L821'>821</a>
887
+ <a name='L822'></a><a href='#L822'>822</a>
888
+ <a name='L823'></a><a href='#L823'>823</a>
889
+ <a name='L824'></a><a href='#L824'>824</a>
890
+ <a name='L825'></a><a href='#L825'>825</a>
891
+ <a name='L826'></a><a href='#L826'>826</a>
892
+ <a name='L827'></a><a href='#L827'>827</a>
893
+ <a name='L828'></a><a href='#L828'>828</a>
894
+ <a name='L829'></a><a href='#L829'>829</a>
895
+ <a name='L830'></a><a href='#L830'>830</a>
896
+ <a name='L831'></a><a href='#L831'>831</a>
897
+ <a name='L832'></a><a href='#L832'>832</a>
898
+ <a name='L833'></a><a href='#L833'>833</a>
899
+ <a name='L834'></a><a href='#L834'>834</a>
900
+ <a name='L835'></a><a href='#L835'>835</a>
901
+ <a name='L836'></a><a href='#L836'>836</a>
902
+ <a name='L837'></a><a href='#L837'>837</a>
903
+ <a name='L838'></a><a href='#L838'>838</a>
904
+ <a name='L839'></a><a href='#L839'>839</a>
905
+ <a name='L840'></a><a href='#L840'>840</a>
906
+ <a name='L841'></a><a href='#L841'>841</a>
907
+ <a name='L842'></a><a href='#L842'>842</a>
908
+ <a name='L843'></a><a href='#L843'>843</a>
909
+ <a name='L844'></a><a href='#L844'>844</a>
910
+ <a name='L845'></a><a href='#L845'>845</a>
911
+ <a name='L846'></a><a href='#L846'>846</a>
912
+ <a name='L847'></a><a href='#L847'>847</a>
913
+ <a name='L848'></a><a href='#L848'>848</a>
914
+ <a name='L849'></a><a href='#L849'>849</a>
915
+ <a name='L850'></a><a href='#L850'>850</a>
916
+ <a name='L851'></a><a href='#L851'>851</a>
917
+ <a name='L852'></a><a href='#L852'>852</a>
918
+ <a name='L853'></a><a href='#L853'>853</a>
919
+ <a name='L854'></a><a href='#L854'>854</a>
920
+ <a name='L855'></a><a href='#L855'>855</a>
921
+ <a name='L856'></a><a href='#L856'>856</a>
922
+ <a name='L857'></a><a href='#L857'>857</a>
923
+ <a name='L858'></a><a href='#L858'>858</a>
924
+ <a name='L859'></a><a href='#L859'>859</a>
925
+ <a name='L860'></a><a href='#L860'>860</a>
926
+ <a name='L861'></a><a href='#L861'>861</a>
927
+ <a name='L862'></a><a href='#L862'>862</a>
928
+ <a name='L863'></a><a href='#L863'>863</a>
929
+ <a name='L864'></a><a href='#L864'>864</a>
930
+ <a name='L865'></a><a href='#L865'>865</a>
931
+ <a name='L866'></a><a href='#L866'>866</a>
932
+ <a name='L867'></a><a href='#L867'>867</a>
933
+ <a name='L868'></a><a href='#L868'>868</a>
934
+ <a name='L869'></a><a href='#L869'>869</a>
935
+ <a name='L870'></a><a href='#L870'>870</a>
936
+ <a name='L871'></a><a href='#L871'>871</a>
937
+ <a name='L872'></a><a href='#L872'>872</a>
938
+ <a name='L873'></a><a href='#L873'>873</a>
939
+ <a name='L874'></a><a href='#L874'>874</a>
940
+ <a name='L875'></a><a href='#L875'>875</a>
941
+ <a name='L876'></a><a href='#L876'>876</a>
942
+ <a name='L877'></a><a href='#L877'>877</a>
943
+ <a name='L878'></a><a href='#L878'>878</a>
944
+ <a name='L879'></a><a href='#L879'>879</a>
945
+ <a name='L880'></a><a href='#L880'>880</a>
946
+ <a name='L881'></a><a href='#L881'>881</a>
947
+ <a name='L882'></a><a href='#L882'>882</a>
948
+ <a name='L883'></a><a href='#L883'>883</a>
949
+ <a name='L884'></a><a href='#L884'>884</a>
950
+ <a name='L885'></a><a href='#L885'>885</a>
951
+ <a name='L886'></a><a href='#L886'>886</a>
952
+ <a name='L887'></a><a href='#L887'>887</a>
953
+ <a name='L888'></a><a href='#L888'>888</a>
954
+ <a name='L889'></a><a href='#L889'>889</a>
955
+ <a name='L890'></a><a href='#L890'>890</a>
956
+ <a name='L891'></a><a href='#L891'>891</a>
957
+ <a name='L892'></a><a href='#L892'>892</a>
958
+ <a name='L893'></a><a href='#L893'>893</a>
959
+ <a name='L894'></a><a href='#L894'>894</a>
960
+ <a name='L895'></a><a href='#L895'>895</a>
961
+ <a name='L896'></a><a href='#L896'>896</a>
962
+ <a name='L897'></a><a href='#L897'>897</a>
963
+ <a name='L898'></a><a href='#L898'>898</a>
964
+ <a name='L899'></a><a href='#L899'>899</a>
965
+ <a name='L900'></a><a href='#L900'>900</a>
966
+ <a name='L901'></a><a href='#L901'>901</a>
967
+ <a name='L902'></a><a href='#L902'>902</a>
968
+ <a name='L903'></a><a href='#L903'>903</a>
969
+ <a name='L904'></a><a href='#L904'>904</a>
970
+ <a name='L905'></a><a href='#L905'>905</a>
971
+ <a name='L906'></a><a href='#L906'>906</a>
972
+ <a name='L907'></a><a href='#L907'>907</a>
973
+ <a name='L908'></a><a href='#L908'>908</a>
974
+ <a name='L909'></a><a href='#L909'>909</a>
975
+ <a name='L910'></a><a href='#L910'>910</a>
976
+ <a name='L911'></a><a href='#L911'>911</a>
977
+ <a name='L912'></a><a href='#L912'>912</a>
978
+ <a name='L913'></a><a href='#L913'>913</a>
979
+ <a name='L914'></a><a href='#L914'>914</a>
980
+ <a name='L915'></a><a href='#L915'>915</a>
981
+ <a name='L916'></a><a href='#L916'>916</a>
982
+ <a name='L917'></a><a href='#L917'>917</a>
983
+ <a name='L918'></a><a href='#L918'>918</a>
984
+ <a name='L919'></a><a href='#L919'>919</a>
985
+ <a name='L920'></a><a href='#L920'>920</a>
986
+ <a name='L921'></a><a href='#L921'>921</a>
987
+ <a name='L922'></a><a href='#L922'>922</a>
988
+ <a name='L923'></a><a href='#L923'>923</a>
989
+ <a name='L924'></a><a href='#L924'>924</a>
990
+ <a name='L925'></a><a href='#L925'>925</a>
991
+ <a name='L926'></a><a href='#L926'>926</a>
992
+ <a name='L927'></a><a href='#L927'>927</a>
993
+ <a name='L928'></a><a href='#L928'>928</a>
994
+ <a name='L929'></a><a href='#L929'>929</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-yes">1x</span>
1011
+ <span class="cline-any cline-no">&nbsp;</span>
1012
+ <span class="cline-any cline-no">&nbsp;</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-yes">1x</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-yes">1x</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</span>
1033
+ <span class="cline-any cline-neutral">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-yes">4x</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-yes">1x</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-yes">1x</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-neutral">&nbsp;</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-yes">1x</span>
1064
+ <span class="cline-any cline-yes">1x</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-yes">1x</span>
1077
+ <span class="cline-any cline-yes">1x</span>
1078
+ <span class="cline-any cline-yes">1x</span>
1079
+ <span class="cline-any cline-yes">1x</span>
1080
+ <span class="cline-any cline-yes">1x</span>
1081
+ <span class="cline-any cline-yes">1x</span>
1082
+ <span class="cline-any cline-yes">1x</span>
1083
+ <span class="cline-any cline-yes">1x</span>
1084
+ <span class="cline-any cline-yes">1x</span>
1085
+ <span class="cline-any cline-yes">1x</span>
1086
+ <span class="cline-any cline-yes">1x</span>
1087
+ <span class="cline-any cline-yes">1x</span>
1088
+ <span class="cline-any cline-yes">1x</span>
1089
+ <span class="cline-any cline-yes">1x</span>
1090
+ <span class="cline-any cline-yes">1x</span>
1091
+ <span class="cline-any cline-yes">1x</span>
1092
+ <span class="cline-any cline-yes">1x</span>
1093
+ <span class="cline-any cline-yes">1x</span>
1094
+ <span class="cline-any cline-yes">1x</span>
1095
+ <span class="cline-any cline-yes">1x</span>
1096
+ <span class="cline-any cline-yes">1x</span>
1097
+ <span class="cline-any cline-yes">1x</span>
1098
+ <span class="cline-any cline-yes">1x</span>
1099
+ <span class="cline-any cline-yes">1x</span>
1100
+ <span class="cline-any cline-yes">1x</span>
1101
+ <span class="cline-any cline-yes">1x</span>
1102
+ <span class="cline-any cline-yes">1x</span>
1103
+ <span class="cline-any cline-yes">1x</span>
1104
+ <span class="cline-any cline-yes">1x</span>
1105
+ <span class="cline-any cline-yes">1x</span>
1106
+ <span class="cline-any cline-yes">1x</span>
1107
+ <span class="cline-any cline-yes">1x</span>
1108
+ <span class="cline-any cline-yes">1x</span>
1109
+ <span class="cline-any cline-yes">1x</span>
1110
+ <span class="cline-any cline-yes">1x</span>
1111
+ <span class="cline-any cline-yes">1x</span>
1112
+ <span class="cline-any cline-yes">1x</span>
1113
+ <span class="cline-any cline-yes">1x</span>
1114
+ <span class="cline-any cline-yes">1x</span>
1115
+ <span class="cline-any cline-yes">1x</span>
1116
+ <span class="cline-any cline-yes">1x</span>
1117
+ <span class="cline-any cline-yes">1x</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-yes">1x</span>
1120
+ <span class="cline-any cline-yes">1x</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-yes">1x</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-yes">1x</span>
1125
+ <span class="cline-any cline-yes">1x</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-yes">1x</span>
1128
+ <span class="cline-any cline-yes">1x</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-yes">1x</span>
1132
+ <span class="cline-any cline-yes">1x</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-yes">1x</span>
1135
+ <span class="cline-any cline-yes">1x</span>
1136
+ <span class="cline-any cline-yes">1x</span>
1137
+ <span class="cline-any cline-yes">1x</span>
1138
+ <span class="cline-any cline-yes">1x</span>
1139
+ <span class="cline-any cline-yes">1x</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-yes">1x</span>
1142
+ <span class="cline-any cline-yes">1x</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-yes">1x</span>
1150
+ <span class="cline-any cline-yes">1x</span>
1151
+ <span class="cline-any cline-yes">1x</span>
1152
+ <span class="cline-any cline-yes">1x</span>
1153
+ <span class="cline-any cline-yes">1x</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-yes">1x</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-yes">1x</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-yes">1x</span>
1160
+ <span class="cline-any cline-neutral">&nbsp;</span>
1161
+ <span class="cline-any cline-yes">1x</span>
1162
+ <span class="cline-any cline-neutral">&nbsp;</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-yes">1x</span>
1165
+ <span class="cline-any cline-yes">1x</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-neutral">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-no">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-neutral">&nbsp;</span>
1174
+ <span class="cline-any cline-neutral">&nbsp;</span>
1175
+ <span class="cline-any cline-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-neutral">&nbsp;</span>
1177
+ <span class="cline-any cline-neutral">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-neutral">&nbsp;</span>
1180
+ <span class="cline-any cline-no">&nbsp;</span>
1181
+ <span class="cline-any cline-no">&nbsp;</span>
1182
+ <span class="cline-any cline-no">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-no">&nbsp;</span>
1185
+ <span class="cline-any cline-no">&nbsp;</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-no">&nbsp;</span>
1192
+ <span class="cline-any cline-no">&nbsp;</span>
1193
+ <span class="cline-any cline-no">&nbsp;</span>
1194
+ <span class="cline-any cline-neutral">&nbsp;</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-neutral">&nbsp;</span>
1197
+ <span class="cline-any cline-neutral">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-no">&nbsp;</span>
1200
+ <span class="cline-any cline-no">&nbsp;</span>
1201
+ <span class="cline-any cline-no">&nbsp;</span>
1202
+ <span class="cline-any cline-no">&nbsp;</span>
1203
+ <span class="cline-any cline-neutral">&nbsp;</span>
1204
+ <span class="cline-any cline-no">&nbsp;</span>
1205
+ <span class="cline-any cline-no">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-neutral">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-neutral">&nbsp;</span>
1210
+ <span class="cline-any cline-no">&nbsp;</span>
1211
+ <span class="cline-any cline-no">&nbsp;</span>
1212
+ <span class="cline-any cline-no">&nbsp;</span>
1213
+ <span class="cline-any cline-no">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-no">&nbsp;</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-neutral">&nbsp;</span>
1223
+ <span class="cline-any cline-neutral">&nbsp;</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-no">&nbsp;</span>
1228
+ <span class="cline-any cline-no">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-neutral">&nbsp;</span>
1233
+ <span class="cline-any cline-neutral">&nbsp;</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-no">&nbsp;</span>
1236
+ <span class="cline-any cline-no">&nbsp;</span>
1237
+ <span class="cline-any cline-neutral">&nbsp;</span>
1238
+ <span class="cline-any cline-neutral">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-no">&nbsp;</span>
1241
+ <span class="cline-any cline-no">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&nbsp;</span>
1243
+ <span class="cline-any cline-no">&nbsp;</span>
1244
+ <span class="cline-any cline-no">&nbsp;</span>
1245
+ <span class="cline-any cline-no">&nbsp;</span>
1246
+ <span class="cline-any cline-neutral">&nbsp;</span>
1247
+ <span class="cline-any cline-neutral">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-neutral">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-neutral">&nbsp;</span>
1252
+ <span class="cline-any cline-neutral">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-no">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-neutral">&nbsp;</span>
1257
+ <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-no">&nbsp;</span>
1259
+ <span class="cline-any cline-no">&nbsp;</span>
1260
+ <span class="cline-any cline-no">&nbsp;</span>
1261
+ <span class="cline-any cline-no">&nbsp;</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-neutral">&nbsp;</span>
1264
+ <span class="cline-any cline-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&nbsp;</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-no">&nbsp;</span>
1269
+ <span class="cline-any cline-no">&nbsp;</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-no">&nbsp;</span>
1274
+ <span class="cline-any cline-no">&nbsp;</span>
1275
+ <span class="cline-any cline-neutral">&nbsp;</span>
1276
+ <span class="cline-any cline-no">&nbsp;</span>
1277
+ <span class="cline-any cline-neutral">&nbsp;</span>
1278
+ <span class="cline-any cline-neutral">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-neutral">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-neutral">&nbsp;</span>
1283
+ <span class="cline-any cline-no">&nbsp;</span>
1284
+ <span class="cline-any cline-no">&nbsp;</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span>
1287
+ <span class="cline-any cline-no">&nbsp;</span>
1288
+ <span class="cline-any cline-no">&nbsp;</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-neutral">&nbsp;</span>
1292
+ <span class="cline-any cline-neutral">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&nbsp;</span>
1294
+ <span class="cline-any cline-no">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-no">&nbsp;</span>
1297
+ <span class="cline-any cline-no">&nbsp;</span>
1298
+ <span class="cline-any cline-no">&nbsp;</span>
1299
+ <span class="cline-any cline-neutral">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-neutral">&nbsp;</span>
1302
+ <span class="cline-any cline-neutral">&nbsp;</span>
1303
+ <span class="cline-any cline-no">&nbsp;</span>
1304
+ <span class="cline-any cline-no">&nbsp;</span>
1305
+ <span class="cline-any cline-neutral">&nbsp;</span>
1306
+ <span class="cline-any cline-no">&nbsp;</span>
1307
+ <span class="cline-any cline-no">&nbsp;</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-no">&nbsp;</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-no">&nbsp;</span>
1312
+ <span class="cline-any cline-neutral">&nbsp;</span>
1313
+ <span class="cline-any cline-no">&nbsp;</span>
1314
+ <span class="cline-any cline-neutral">&nbsp;</span>
1315
+ <span class="cline-any cline-no">&nbsp;</span>
1316
+ <span class="cline-any cline-neutral">&nbsp;</span>
1317
+ <span class="cline-any cline-neutral">&nbsp;</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span>
1319
+ <span class="cline-any cline-neutral">&nbsp;</span>
1320
+ <span class="cline-any cline-neutral">&nbsp;</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-no">&nbsp;</span>
1323
+ <span class="cline-any cline-no">&nbsp;</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-no">&nbsp;</span>
1326
+ <span class="cline-any cline-no">&nbsp;</span>
1327
+ <span class="cline-any cline-neutral">&nbsp;</span>
1328
+ <span class="cline-any cline-no">&nbsp;</span>
1329
+ <span class="cline-any cline-neutral">&nbsp;</span>
1330
+ <span class="cline-any cline-no">&nbsp;</span>
1331
+ <span class="cline-any cline-no">&nbsp;</span>
1332
+ <span class="cline-any cline-neutral">&nbsp;</span>
1333
+ <span class="cline-any cline-no">&nbsp;</span>
1334
+ <span class="cline-any cline-neutral">&nbsp;</span>
1335
+ <span class="cline-any cline-neutral">&nbsp;</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-neutral">&nbsp;</span>
1339
+ <span class="cline-any cline-neutral">&nbsp;</span>
1340
+ <span class="cline-any cline-no">&nbsp;</span>
1341
+ <span class="cline-any cline-neutral">&nbsp;</span>
1342
+ <span class="cline-any cline-no">&nbsp;</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-neutral">&nbsp;</span>
1345
+ <span class="cline-any cline-neutral">&nbsp;</span>
1346
+ <span class="cline-any cline-neutral">&nbsp;</span>
1347
+ <span class="cline-any cline-neutral">&nbsp;</span>
1348
+ <span class="cline-any cline-neutral">&nbsp;</span>
1349
+ <span class="cline-any cline-neutral">&nbsp;</span>
1350
+ <span class="cline-any cline-neutral">&nbsp;</span>
1351
+ <span class="cline-any cline-no">&nbsp;</span>
1352
+ <span class="cline-any cline-no">&nbsp;</span>
1353
+ <span class="cline-any cline-neutral">&nbsp;</span>
1354
+ <span class="cline-any cline-no">&nbsp;</span>
1355
+ <span class="cline-any cline-no">&nbsp;</span>
1356
+ <span class="cline-any cline-neutral">&nbsp;</span>
1357
+ <span class="cline-any cline-no">&nbsp;</span>
1358
+ <span class="cline-any cline-no">&nbsp;</span>
1359
+ <span class="cline-any cline-neutral">&nbsp;</span>
1360
+ <span class="cline-any cline-neutral">&nbsp;</span>
1361
+ <span class="cline-any cline-neutral">&nbsp;</span>
1362
+ <span class="cline-any cline-neutral">&nbsp;</span>
1363
+ <span class="cline-any cline-neutral">&nbsp;</span>
1364
+ <span class="cline-any cline-neutral">&nbsp;</span>
1365
+ <span class="cline-any cline-neutral">&nbsp;</span>
1366
+ <span class="cline-any cline-no">&nbsp;</span>
1367
+ <span class="cline-any cline-neutral">&nbsp;</span>
1368
+ <span class="cline-any cline-no">&nbsp;</span>
1369
+ <span class="cline-any cline-no">&nbsp;</span>
1370
+ <span class="cline-any cline-no">&nbsp;</span>
1371
+ <span class="cline-any cline-no">&nbsp;</span>
1372
+ <span class="cline-any cline-no">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-no">&nbsp;</span>
1375
+ <span class="cline-any cline-neutral">&nbsp;</span>
1376
+ <span class="cline-any cline-neutral">&nbsp;</span>
1377
+ <span class="cline-any cline-neutral">&nbsp;</span>
1378
+ <span class="cline-any cline-neutral">&nbsp;</span>
1379
+ <span class="cline-any cline-neutral">&nbsp;</span>
1380
+ <span class="cline-any cline-neutral">&nbsp;</span>
1381
+ <span class="cline-any cline-neutral">&nbsp;</span>
1382
+ <span class="cline-any cline-no">&nbsp;</span>
1383
+ <span class="cline-any cline-neutral">&nbsp;</span>
1384
+ <span class="cline-any cline-neutral">&nbsp;</span>
1385
+ <span class="cline-any cline-no">&nbsp;</span>
1386
+ <span class="cline-any cline-no">&nbsp;</span>
1387
+ <span class="cline-any cline-no">&nbsp;</span>
1388
+ <span class="cline-any cline-neutral">&nbsp;</span>
1389
+ <span class="cline-any cline-neutral">&nbsp;</span>
1390
+ <span class="cline-any cline-neutral">&nbsp;</span>
1391
+ <span class="cline-any cline-neutral">&nbsp;</span>
1392
+ <span class="cline-any cline-neutral">&nbsp;</span>
1393
+ <span class="cline-any cline-yes">1x</span>
1394
+ <span class="cline-any cline-neutral">&nbsp;</span>
1395
+ <span class="cline-any cline-yes">1x</span>
1396
+ <span class="cline-any cline-yes">2x</span>
1397
+ <span class="cline-any cline-yes">2x</span>
1398
+ <span class="cline-any cline-yes">2x</span>
1399
+ <span class="cline-any cline-neutral">&nbsp;</span>
1400
+ <span class="cline-any cline-neutral">&nbsp;</span>
1401
+ <span class="cline-any cline-neutral">&nbsp;</span>
1402
+ <span class="cline-any cline-neutral">&nbsp;</span>
1403
+ <span class="cline-any cline-neutral">&nbsp;</span>
1404
+ <span class="cline-any cline-neutral">&nbsp;</span>
1405
+ <span class="cline-any cline-no">&nbsp;</span>
1406
+ <span class="cline-any cline-neutral">&nbsp;</span>
1407
+ <span class="cline-any cline-no">&nbsp;</span>
1408
+ <span class="cline-any cline-neutral">&nbsp;</span>
1409
+ <span class="cline-any cline-no">&nbsp;</span>
1410
+ <span class="cline-any cline-neutral">&nbsp;</span>
1411
+ <span class="cline-any cline-neutral">&nbsp;</span>
1412
+ <span class="cline-any cline-no">&nbsp;</span>
1413
+ <span class="cline-any cline-neutral">&nbsp;</span>
1414
+ <span class="cline-any cline-neutral">&nbsp;</span>
1415
+ <span class="cline-any cline-no">&nbsp;</span>
1416
+ <span class="cline-any cline-neutral">&nbsp;</span>
1417
+ <span class="cline-any cline-neutral">&nbsp;</span>
1418
+ <span class="cline-any cline-neutral">&nbsp;</span>
1419
+ <span class="cline-any cline-neutral">&nbsp;</span>
1420
+ <span class="cline-any cline-neutral">&nbsp;</span>
1421
+ <span class="cline-any cline-no">&nbsp;</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-no">&nbsp;</span>
1424
+ <span class="cline-any cline-no">&nbsp;</span>
1425
+ <span class="cline-any cline-neutral">&nbsp;</span>
1426
+ <span class="cline-any cline-no">&nbsp;</span>
1427
+ <span class="cline-any cline-neutral">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-neutral">&nbsp;</span>
1430
+ <span class="cline-any cline-neutral">&nbsp;</span>
1431
+ <span class="cline-any cline-neutral">&nbsp;</span>
1432
+ <span class="cline-any cline-neutral">&nbsp;</span>
1433
+ <span class="cline-any cline-no">&nbsp;</span>
1434
+ <span class="cline-any cline-neutral">&nbsp;</span>
1435
+ <span class="cline-any cline-neutral">&nbsp;</span>
1436
+ <span class="cline-any cline-neutral">&nbsp;</span>
1437
+ <span class="cline-any cline-no">&nbsp;</span>
1438
+ <span class="cline-any cline-neutral">&nbsp;</span>
1439
+ <span class="cline-any cline-neutral">&nbsp;</span>
1440
+ <span class="cline-any cline-neutral">&nbsp;</span>
1441
+ <span class="cline-any cline-no">&nbsp;</span>
1442
+ <span class="cline-any cline-neutral">&nbsp;</span>
1443
+ <span class="cline-any cline-neutral">&nbsp;</span>
1444
+ <span class="cline-any cline-no">&nbsp;</span>
1445
+ <span class="cline-any cline-no">&nbsp;</span>
1446
+ <span class="cline-any cline-neutral">&nbsp;</span>
1447
+ <span class="cline-any cline-neutral">&nbsp;</span>
1448
+ <span class="cline-any cline-no">&nbsp;</span>
1449
+ <span class="cline-any cline-no">&nbsp;</span>
1450
+ <span class="cline-any cline-neutral">&nbsp;</span>
1451
+ <span class="cline-any cline-neutral">&nbsp;</span>
1452
+ <span class="cline-any cline-neutral">&nbsp;</span>
1453
+ <span class="cline-any cline-neutral">&nbsp;</span>
1454
+ <span class="cline-any cline-neutral">&nbsp;</span>
1455
+ <span class="cline-any cline-no">&nbsp;</span>
1456
+ <span class="cline-any cline-neutral">&nbsp;</span>
1457
+ <span class="cline-any cline-no">&nbsp;</span>
1458
+ <span class="cline-any cline-no">&nbsp;</span>
1459
+ <span class="cline-any cline-neutral">&nbsp;</span>
1460
+ <span class="cline-any cline-neutral">&nbsp;</span>
1461
+ <span class="cline-any cline-neutral">&nbsp;</span>
1462
+ <span class="cline-any cline-neutral">&nbsp;</span>
1463
+ <span class="cline-any cline-neutral">&nbsp;</span>
1464
+ <span class="cline-any cline-neutral">&nbsp;</span>
1465
+ <span class="cline-any cline-neutral">&nbsp;</span>
1466
+ <span class="cline-any cline-neutral">&nbsp;</span>
1467
+ <span class="cline-any cline-no">&nbsp;</span>
1468
+ <span class="cline-any cline-neutral">&nbsp;</span>
1469
+ <span class="cline-any cline-neutral">&nbsp;</span>
1470
+ <span class="cline-any cline-neutral">&nbsp;</span>
1471
+ <span class="cline-any cline-neutral">&nbsp;</span>
1472
+ <span class="cline-any cline-neutral">&nbsp;</span>
1473
+ <span class="cline-any cline-neutral">&nbsp;</span>
1474
+ <span class="cline-any cline-no">&nbsp;</span>
1475
+ <span class="cline-any cline-neutral">&nbsp;</span>
1476
+ <span class="cline-any cline-no">&nbsp;</span>
1477
+ <span class="cline-any cline-neutral">&nbsp;</span>
1478
+ <span class="cline-any cline-neutral">&nbsp;</span>
1479
+ <span class="cline-any cline-no">&nbsp;</span>
1480
+ <span class="cline-any cline-no">&nbsp;</span>
1481
+ <span class="cline-any cline-neutral">&nbsp;</span>
1482
+ <span class="cline-any cline-neutral">&nbsp;</span>
1483
+ <span class="cline-any cline-no">&nbsp;</span>
1484
+ <span class="cline-any cline-no">&nbsp;</span>
1485
+ <span class="cline-any cline-neutral">&nbsp;</span>
1486
+ <span class="cline-any cline-neutral">&nbsp;</span>
1487
+ <span class="cline-any cline-neutral">&nbsp;</span>
1488
+ <span class="cline-any cline-neutral">&nbsp;</span>
1489
+ <span class="cline-any cline-no">&nbsp;</span>
1490
+ <span class="cline-any cline-no">&nbsp;</span>
1491
+ <span class="cline-any cline-neutral">&nbsp;</span>
1492
+ <span class="cline-any cline-neutral">&nbsp;</span>
1493
+ <span class="cline-any cline-neutral">&nbsp;</span>
1494
+ <span class="cline-any cline-neutral">&nbsp;</span>
1495
+ <span class="cline-any cline-no">&nbsp;</span>
1496
+ <span class="cline-any cline-no">&nbsp;</span>
1497
+ <span class="cline-any cline-neutral">&nbsp;</span>
1498
+ <span class="cline-any cline-no">&nbsp;</span>
1499
+ <span class="cline-any cline-no">&nbsp;</span>
1500
+ <span class="cline-any cline-no">&nbsp;</span>
1501
+ <span class="cline-any cline-neutral">&nbsp;</span>
1502
+ <span class="cline-any cline-no">&nbsp;</span>
1503
+ <span class="cline-any cline-no">&nbsp;</span>
1504
+ <span class="cline-any cline-no">&nbsp;</span>
1505
+ <span class="cline-any cline-neutral">&nbsp;</span>
1506
+ <span class="cline-any cline-neutral">&nbsp;</span>
1507
+ <span class="cline-any cline-neutral">&nbsp;</span>
1508
+ <span class="cline-any cline-neutral">&nbsp;</span>
1509
+ <span class="cline-any cline-yes">1x</span>
1510
+ <span class="cline-any cline-yes">1x</span>
1511
+ <span class="cline-any cline-neutral">&nbsp;</span>
1512
+ <span class="cline-any cline-neutral">&nbsp;</span>
1513
+ <span class="cline-any cline-neutral">&nbsp;</span>
1514
+ <span class="cline-any cline-no">&nbsp;</span>
1515
+ <span class="cline-any cline-no">&nbsp;</span>
1516
+ <span class="cline-any cline-no">&nbsp;</span>
1517
+ <span class="cline-any cline-neutral">&nbsp;</span>
1518
+ <span class="cline-any cline-neutral">&nbsp;</span>
1519
+ <span class="cline-any cline-neutral">&nbsp;</span>
1520
+ <span class="cline-any cline-yes">1x</span>
1521
+ <span class="cline-any cline-yes">1x</span>
1522
+ <span class="cline-any cline-yes">1x</span>
1523
+ <span class="cline-any cline-neutral">&nbsp;</span>
1524
+ <span class="cline-any cline-neutral">&nbsp;</span>
1525
+ <span class="cline-any cline-neutral">&nbsp;</span>
1526
+ <span class="cline-any cline-no">&nbsp;</span>
1527
+ <span class="cline-any cline-no">&nbsp;</span>
1528
+ <span class="cline-any cline-no">&nbsp;</span>
1529
+ <span class="cline-any cline-neutral">&nbsp;</span>
1530
+ <span class="cline-any cline-neutral">&nbsp;</span>
1531
+ <span class="cline-any cline-neutral">&nbsp;</span>
1532
+ <span class="cline-any cline-no">&nbsp;</span>
1533
+ <span class="cline-any cline-no">&nbsp;</span>
1534
+ <span class="cline-any cline-no">&nbsp;</span>
1535
+ <span class="cline-any cline-neutral">&nbsp;</span>
1536
+ <span class="cline-any cline-neutral">&nbsp;</span>
1537
+ <span class="cline-any cline-neutral">&nbsp;</span>
1538
+ <span class="cline-any cline-no">&nbsp;</span>
1539
+ <span class="cline-any cline-no">&nbsp;</span>
1540
+ <span class="cline-any cline-no">&nbsp;</span>
1541
+ <span class="cline-any cline-neutral">&nbsp;</span>
1542
+ <span class="cline-any cline-neutral">&nbsp;</span>
1543
+ <span class="cline-any cline-neutral">&nbsp;</span>
1544
+ <span class="cline-any cline-no">&nbsp;</span>
1545
+ <span class="cline-any cline-no">&nbsp;</span>
1546
+ <span class="cline-any cline-no">&nbsp;</span>
1547
+ <span class="cline-any cline-neutral">&nbsp;</span>
1548
+ <span class="cline-any cline-neutral">&nbsp;</span>
1549
+ <span class="cline-any cline-neutral">&nbsp;</span>
1550
+ <span class="cline-any cline-no">&nbsp;</span>
1551
+ <span class="cline-any cline-no">&nbsp;</span>
1552
+ <span class="cline-any cline-no">&nbsp;</span>
1553
+ <span class="cline-any cline-no">&nbsp;</span>
1554
+ <span class="cline-any cline-no">&nbsp;</span>
1555
+ <span class="cline-any cline-neutral">&nbsp;</span>
1556
+ <span class="cline-any cline-no">&nbsp;</span>
1557
+ <span class="cline-any cline-no">&nbsp;</span>
1558
+ <span class="cline-any cline-no">&nbsp;</span>
1559
+ <span class="cline-any cline-no">&nbsp;</span>
1560
+ <span class="cline-any cline-neutral">&nbsp;</span>
1561
+ <span class="cline-any cline-neutral">&nbsp;</span>
1562
+ <span class="cline-any cline-neutral">&nbsp;</span>
1563
+ <span class="cline-any cline-neutral">&nbsp;</span>
1564
+ <span class="cline-any cline-neutral">&nbsp;</span>
1565
+ <span class="cline-any cline-no">&nbsp;</span>
1566
+ <span class="cline-any cline-no">&nbsp;</span>
1567
+ <span class="cline-any cline-neutral">&nbsp;</span>
1568
+ <span class="cline-any cline-no">&nbsp;</span>
1569
+ <span class="cline-any cline-neutral">&nbsp;</span>
1570
+ <span class="cline-any cline-neutral">&nbsp;</span>
1571
+ <span class="cline-any cline-neutral">&nbsp;</span>
1572
+ <span class="cline-any cline-neutral">&nbsp;</span>
1573
+ <span class="cline-any cline-no">&nbsp;</span>
1574
+ <span class="cline-any cline-no">&nbsp;</span>
1575
+ <span class="cline-any cline-no">&nbsp;</span>
1576
+ <span class="cline-any cline-no">&nbsp;</span>
1577
+ <span class="cline-any cline-neutral">&nbsp;</span>
1578
+ <span class="cline-any cline-neutral">&nbsp;</span>
1579
+ <span class="cline-any cline-neutral">&nbsp;</span>
1580
+ <span class="cline-any cline-no">&nbsp;</span>
1581
+ <span class="cline-any cline-no">&nbsp;</span>
1582
+ <span class="cline-any cline-no">&nbsp;</span>
1583
+ <span class="cline-any cline-no">&nbsp;</span>
1584
+ <span class="cline-any cline-no">&nbsp;</span>
1585
+ <span class="cline-any cline-neutral">&nbsp;</span>
1586
+ <span class="cline-any cline-neutral">&nbsp;</span>
1587
+ <span class="cline-any cline-neutral">&nbsp;</span>
1588
+ <span class="cline-any cline-neutral">&nbsp;</span>
1589
+ <span class="cline-any cline-no">&nbsp;</span>
1590
+ <span class="cline-any cline-no">&nbsp;</span>
1591
+ <span class="cline-any cline-no">&nbsp;</span>
1592
+ <span class="cline-any cline-no">&nbsp;</span>
1593
+ <span class="cline-any cline-neutral">&nbsp;</span>
1594
+ <span class="cline-any cline-neutral">&nbsp;</span>
1595
+ <span class="cline-any cline-neutral">&nbsp;</span>
1596
+ <span class="cline-any cline-neutral">&nbsp;</span>
1597
+ <span class="cline-any cline-neutral">&nbsp;</span>
1598
+ <span class="cline-any cline-neutral">&nbsp;</span>
1599
+ <span class="cline-any cline-neutral">&nbsp;</span>
1600
+ <span class="cline-any cline-neutral">&nbsp;</span>
1601
+ <span class="cline-any cline-no">&nbsp;</span>
1602
+ <span class="cline-any cline-no">&nbsp;</span>
1603
+ <span class="cline-any cline-no">&nbsp;</span>
1604
+ <span class="cline-any cline-neutral">&nbsp;</span>
1605
+ <span class="cline-any cline-neutral">&nbsp;</span>
1606
+ <span class="cline-any cline-neutral">&nbsp;</span>
1607
+ <span class="cline-any cline-neutral">&nbsp;</span>
1608
+ <span class="cline-any cline-no">&nbsp;</span>
1609
+ <span class="cline-any cline-no">&nbsp;</span>
1610
+ <span class="cline-any cline-no">&nbsp;</span>
1611
+ <span class="cline-any cline-neutral">&nbsp;</span>
1612
+ <span class="cline-any cline-neutral">&nbsp;</span>
1613
+ <span class="cline-any cline-neutral">&nbsp;</span>
1614
+ <span class="cline-any cline-neutral">&nbsp;</span>
1615
+ <span class="cline-any cline-no">&nbsp;</span>
1616
+ <span class="cline-any cline-no">&nbsp;</span>
1617
+ <span class="cline-any cline-no">&nbsp;</span>
1618
+ <span class="cline-any cline-neutral">&nbsp;</span>
1619
+ <span class="cline-any cline-no">&nbsp;</span>
1620
+ <span class="cline-any cline-neutral">&nbsp;</span>
1621
+ <span class="cline-any cline-no">&nbsp;</span>
1622
+ <span class="cline-any cline-neutral">&nbsp;</span>
1623
+ <span class="cline-any cline-no">&nbsp;</span>
1624
+ <span class="cline-any cline-no">&nbsp;</span>
1625
+ <span class="cline-any cline-no">&nbsp;</span>
1626
+ <span class="cline-any cline-no">&nbsp;</span>
1627
+ <span class="cline-any cline-no">&nbsp;</span>
1628
+ <span class="cline-any cline-neutral">&nbsp;</span>
1629
+ <span class="cline-any cline-neutral">&nbsp;</span>
1630
+ <span class="cline-any cline-neutral">&nbsp;</span>
1631
+ <span class="cline-any cline-no">&nbsp;</span>
1632
+ <span class="cline-any cline-no">&nbsp;</span>
1633
+ <span class="cline-any cline-no">&nbsp;</span>
1634
+ <span class="cline-any cline-no">&nbsp;</span>
1635
+ <span class="cline-any cline-neutral">&nbsp;</span>
1636
+ <span class="cline-any cline-neutral">&nbsp;</span>
1637
+ <span class="cline-any cline-neutral">&nbsp;</span>
1638
+ <span class="cline-any cline-neutral">&nbsp;</span>
1639
+ <span class="cline-any cline-neutral">&nbsp;</span>
1640
+ <span class="cline-any cline-no">&nbsp;</span>
1641
+ <span class="cline-any cline-neutral">&nbsp;</span>
1642
+ <span class="cline-any cline-neutral">&nbsp;</span>
1643
+ <span class="cline-any cline-neutral">&nbsp;</span>
1644
+ <span class="cline-any cline-neutral">&nbsp;</span>
1645
+ <span class="cline-any cline-no">&nbsp;</span>
1646
+ <span class="cline-any cline-neutral">&nbsp;</span>
1647
+ <span class="cline-any cline-neutral">&nbsp;</span>
1648
+ <span class="cline-any cline-neutral">&nbsp;</span>
1649
+ <span class="cline-any cline-no">&nbsp;</span>
1650
+ <span class="cline-any cline-neutral">&nbsp;</span>
1651
+ <span class="cline-any cline-neutral">&nbsp;</span>
1652
+ <span class="cline-any cline-neutral">&nbsp;</span>
1653
+ <span class="cline-any cline-no">&nbsp;</span>
1654
+ <span class="cline-any cline-no">&nbsp;</span>
1655
+ <span class="cline-any cline-no">&nbsp;</span>
1656
+ <span class="cline-any cline-no">&nbsp;</span>
1657
+ <span class="cline-any cline-neutral">&nbsp;</span>
1658
+ <span class="cline-any cline-neutral">&nbsp;</span>
1659
+ <span class="cline-any cline-neutral">&nbsp;</span>
1660
+ <span class="cline-any cline-neutral">&nbsp;</span>
1661
+ <span class="cline-any cline-no">&nbsp;</span>
1662
+ <span class="cline-any cline-no">&nbsp;</span>
1663
+ <span class="cline-any cline-no">&nbsp;</span>
1664
+ <span class="cline-any cline-no">&nbsp;</span>
1665
+ <span class="cline-any cline-no">&nbsp;</span>
1666
+ <span class="cline-any cline-neutral">&nbsp;</span>
1667
+ <span class="cline-any cline-neutral">&nbsp;</span>
1668
+ <span class="cline-any cline-neutral">&nbsp;</span>
1669
+ <span class="cline-any cline-neutral">&nbsp;</span>
1670
+ <span class="cline-any cline-neutral">&nbsp;</span>
1671
+ <span class="cline-any cline-neutral">&nbsp;</span>
1672
+ <span class="cline-any cline-neutral">&nbsp;</span>
1673
+ <span class="cline-any cline-neutral">&nbsp;</span>
1674
+ <span class="cline-any cline-no">&nbsp;</span>
1675
+ <span class="cline-any cline-neutral">&nbsp;</span>
1676
+ <span class="cline-any cline-neutral">&nbsp;</span>
1677
+ <span class="cline-any cline-neutral">&nbsp;</span>
1678
+ <span class="cline-any cline-neutral">&nbsp;</span>
1679
+ <span class="cline-any cline-neutral">&nbsp;</span>
1680
+ <span class="cline-any cline-neutral">&nbsp;</span>
1681
+ <span class="cline-any cline-neutral">&nbsp;</span>
1682
+ <span class="cline-any cline-no">&nbsp;</span>
1683
+ <span class="cline-any cline-no">&nbsp;</span>
1684
+ <span class="cline-any cline-no">&nbsp;</span>
1685
+ <span class="cline-any cline-neutral">&nbsp;</span>
1686
+ <span class="cline-any cline-neutral">&nbsp;</span>
1687
+ <span class="cline-any cline-neutral">&nbsp;</span>
1688
+ <span class="cline-any cline-neutral">&nbsp;</span>
1689
+ <span class="cline-any cline-neutral">&nbsp;</span>
1690
+ <span class="cline-any cline-neutral">&nbsp;</span>
1691
+ <span class="cline-any cline-neutral">&nbsp;</span>
1692
+ <span class="cline-any cline-neutral">&nbsp;</span>
1693
+ <span class="cline-any cline-neutral">&nbsp;</span>
1694
+ <span class="cline-any cline-no">&nbsp;</span>
1695
+ <span class="cline-any cline-neutral">&nbsp;</span>
1696
+ <span class="cline-any cline-neutral">&nbsp;</span>
1697
+ <span class="cline-any cline-neutral">&nbsp;</span>
1698
+ <span class="cline-any cline-no">&nbsp;</span>
1699
+ <span class="cline-any cline-no">&nbsp;</span>
1700
+ <span class="cline-any cline-neutral">&nbsp;</span>
1701
+ <span class="cline-any cline-neutral">&nbsp;</span>
1702
+ <span class="cline-any cline-neutral">&nbsp;</span>
1703
+ <span class="cline-any cline-neutral">&nbsp;</span>
1704
+ <span class="cline-any cline-neutral">&nbsp;</span>
1705
+ <span class="cline-any cline-neutral">&nbsp;</span>
1706
+ <span class="cline-any cline-neutral">&nbsp;</span>
1707
+ <span class="cline-any cline-neutral">&nbsp;</span>
1708
+ <span class="cline-any cline-neutral">&nbsp;</span>
1709
+ <span class="cline-any cline-neutral">&nbsp;</span>
1710
+ <span class="cline-any cline-neutral">&nbsp;</span>
1711
+ <span class="cline-any cline-neutral">&nbsp;</span>
1712
+ <span class="cline-any cline-neutral">&nbsp;</span>
1713
+ <span class="cline-any cline-no">&nbsp;</span>
1714
+ <span class="cline-any cline-no">&nbsp;</span>
1715
+ <span class="cline-any cline-neutral">&nbsp;</span>
1716
+ <span class="cline-any cline-no">&nbsp;</span>
1717
+ <span class="cline-any cline-no">&nbsp;</span>
1718
+ <span class="cline-any cline-no">&nbsp;</span>
1719
+ <span class="cline-any cline-neutral">&nbsp;</span>
1720
+ <span class="cline-any cline-no">&nbsp;</span>
1721
+ <span class="cline-any cline-no">&nbsp;</span>
1722
+ <span class="cline-any cline-neutral">&nbsp;</span>
1723
+ <span class="cline-any cline-neutral">&nbsp;</span>
1724
+ <span class="cline-any cline-neutral">&nbsp;</span>
1725
+ <span class="cline-any cline-no">&nbsp;</span>
1726
+ <span class="cline-any cline-neutral">&nbsp;</span>
1727
+ <span class="cline-any cline-neutral">&nbsp;</span>
1728
+ <span class="cline-any cline-no">&nbsp;</span>
1729
+ <span class="cline-any cline-no">&nbsp;</span>
1730
+ <span class="cline-any cline-no">&nbsp;</span>
1731
+ <span class="cline-any cline-no">&nbsp;</span>
1732
+ <span class="cline-any cline-neutral">&nbsp;</span>
1733
+ <span class="cline-any cline-neutral">&nbsp;</span>
1734
+ <span class="cline-any cline-no">&nbsp;</span>
1735
+ <span class="cline-any cline-neutral">&nbsp;</span>
1736
+ <span class="cline-any cline-no">&nbsp;</span>
1737
+ <span class="cline-any cline-neutral">&nbsp;</span>
1738
+ <span class="cline-any cline-no">&nbsp;</span>
1739
+ <span class="cline-any cline-no">&nbsp;</span>
1740
+ <span class="cline-any cline-no">&nbsp;</span>
1741
+ <span class="cline-any cline-neutral">&nbsp;</span>
1742
+ <span class="cline-any cline-no">&nbsp;</span>
1743
+ <span class="cline-any cline-no">&nbsp;</span>
1744
+ <span class="cline-any cline-neutral">&nbsp;</span>
1745
+ <span class="cline-any cline-neutral">&nbsp;</span>
1746
+ <span class="cline-any cline-neutral">&nbsp;</span>
1747
+ <span class="cline-any cline-neutral">&nbsp;</span>
1748
+ <span class="cline-any cline-neutral">&nbsp;</span>
1749
+ <span class="cline-any cline-neutral">&nbsp;</span>
1750
+ <span class="cline-any cline-no">&nbsp;</span>
1751
+ <span class="cline-any cline-neutral">&nbsp;</span>
1752
+ <span class="cline-any cline-no">&nbsp;</span>
1753
+ <span class="cline-any cline-no">&nbsp;</span>
1754
+ <span class="cline-any cline-no">&nbsp;</span>
1755
+ <span class="cline-any cline-neutral">&nbsp;</span>
1756
+ <span class="cline-any cline-no">&nbsp;</span>
1757
+ <span class="cline-any cline-no">&nbsp;</span>
1758
+ <span class="cline-any cline-neutral">&nbsp;</span>
1759
+ <span class="cline-any cline-no">&nbsp;</span>
1760
+ <span class="cline-any cline-neutral">&nbsp;</span>
1761
+ <span class="cline-any cline-no">&nbsp;</span>
1762
+ <span class="cline-any cline-no">&nbsp;</span>
1763
+ <span class="cline-any cline-neutral">&nbsp;</span>
1764
+ <span class="cline-any cline-neutral">&nbsp;</span>
1765
+ <span class="cline-any cline-neutral">&nbsp;</span>
1766
+ <span class="cline-any cline-no">&nbsp;</span>
1767
+ <span class="cline-any cline-neutral">&nbsp;</span>
1768
+ <span class="cline-any cline-neutral">&nbsp;</span>
1769
+ <span class="cline-any cline-neutral">&nbsp;</span>
1770
+ <span class="cline-any cline-no">&nbsp;</span>
1771
+ <span class="cline-any cline-no">&nbsp;</span>
1772
+ <span class="cline-any cline-neutral">&nbsp;</span>
1773
+ <span class="cline-any cline-no">&nbsp;</span>
1774
+ <span class="cline-any cline-no">&nbsp;</span>
1775
+ <span class="cline-any cline-neutral">&nbsp;</span>
1776
+ <span class="cline-any cline-neutral">&nbsp;</span>
1777
+ <span class="cline-any cline-neutral">&nbsp;</span>
1778
+ <span class="cline-any cline-neutral">&nbsp;</span>
1779
+ <span class="cline-any cline-neutral">&nbsp;</span>
1780
+ <span class="cline-any cline-neutral">&nbsp;</span>
1781
+ <span class="cline-any cline-neutral">&nbsp;</span>
1782
+ <span class="cline-any cline-neutral">&nbsp;</span>
1783
+ <span class="cline-any cline-neutral">&nbsp;</span>
1784
+ <span class="cline-any cline-neutral">&nbsp;</span>
1785
+ <span class="cline-any cline-no">&nbsp;</span>
1786
+ <span class="cline-any cline-no">&nbsp;</span>
1787
+ <span class="cline-any cline-no">&nbsp;</span>
1788
+ <span class="cline-any cline-no">&nbsp;</span>
1789
+ <span class="cline-any cline-no">&nbsp;</span>
1790
+ <span class="cline-any cline-no">&nbsp;</span>
1791
+ <span class="cline-any cline-neutral">&nbsp;</span>
1792
+ <span class="cline-any cline-no">&nbsp;</span>
1793
+ <span class="cline-any cline-no">&nbsp;</span>
1794
+ <span class="cline-any cline-neutral">&nbsp;</span>
1795
+ <span class="cline-any cline-no">&nbsp;</span>
1796
+ <span class="cline-any cline-neutral">&nbsp;</span>
1797
+ <span class="cline-any cline-no">&nbsp;</span>
1798
+ <span class="cline-any cline-no">&nbsp;</span>
1799
+ <span class="cline-any cline-no">&nbsp;</span>
1800
+ <span class="cline-any cline-no">&nbsp;</span>
1801
+ <span class="cline-any cline-neutral">&nbsp;</span>
1802
+ <span class="cline-any cline-no">&nbsp;</span>
1803
+ <span class="cline-any cline-neutral">&nbsp;</span>
1804
+ <span class="cline-any cline-no">&nbsp;</span>
1805
+ <span class="cline-any cline-neutral">&nbsp;</span>
1806
+ <span class="cline-any cline-neutral">&nbsp;</span>
1807
+ <span class="cline-any cline-neutral">&nbsp;</span>
1808
+ <span class="cline-any cline-neutral">&nbsp;</span>
1809
+ <span class="cline-any cline-neutral">&nbsp;</span>
1810
+ <span class="cline-any cline-neutral">&nbsp;</span>
1811
+ <span class="cline-any cline-no">&nbsp;</span>
1812
+ <span class="cline-any cline-neutral">&nbsp;</span>
1813
+ <span class="cline-any cline-no">&nbsp;</span>
1814
+ <span class="cline-any cline-no">&nbsp;</span>
1815
+ <span class="cline-any cline-neutral">&nbsp;</span>
1816
+ <span class="cline-any cline-no">&nbsp;</span>
1817
+ <span class="cline-any cline-neutral">&nbsp;</span>
1818
+ <span class="cline-any cline-neutral">&nbsp;</span>
1819
+ <span class="cline-any cline-neutral">&nbsp;</span>
1820
+ <span class="cline-any cline-neutral">&nbsp;</span>
1821
+ <span class="cline-any cline-neutral">&nbsp;</span>
1822
+ <span class="cline-any cline-neutral">&nbsp;</span>
1823
+ <span class="cline-any cline-no">&nbsp;</span>
1824
+ <span class="cline-any cline-no">&nbsp;</span>
1825
+ <span class="cline-any cline-neutral">&nbsp;</span>
1826
+ <span class="cline-any cline-neutral">&nbsp;</span>
1827
+ <span class="cline-any cline-neutral">&nbsp;</span>
1828
+ <span class="cline-any cline-neutral">&nbsp;</span>
1829
+ <span class="cline-any cline-neutral">&nbsp;</span>
1830
+ <span class="cline-any cline-neutral">&nbsp;</span>
1831
+ <span class="cline-any cline-neutral">&nbsp;</span>
1832
+ <span class="cline-any cline-neutral">&nbsp;</span>
1833
+ <span class="cline-any cline-neutral">&nbsp;</span>
1834
+ <span class="cline-any cline-neutral">&nbsp;</span>
1835
+ <span class="cline-any cline-neutral">&nbsp;</span>
1836
+ <span class="cline-any cline-neutral">&nbsp;</span>
1837
+ <span class="cline-any cline-neutral">&nbsp;</span>
1838
+ <span class="cline-any cline-neutral">&nbsp;</span>
1839
+ <span class="cline-any cline-neutral">&nbsp;</span>
1840
+ <span class="cline-any cline-neutral">&nbsp;</span>
1841
+ <span class="cline-any cline-neutral">&nbsp;</span>
1842
+ <span class="cline-any cline-neutral">&nbsp;</span>
1843
+ <span class="cline-any cline-neutral">&nbsp;</span>
1844
+ <span class="cline-any cline-neutral">&nbsp;</span>
1845
+ <span class="cline-any cline-neutral">&nbsp;</span>
1846
+ <span class="cline-any cline-neutral">&nbsp;</span>
1847
+ <span class="cline-any cline-neutral">&nbsp;</span>
1848
+ <span class="cline-any cline-no">&nbsp;</span>
1849
+ <span class="cline-any cline-neutral">&nbsp;</span>
1850
+ <span class="cline-any cline-neutral">&nbsp;</span>
1851
+ <span class="cline-any cline-neutral">&nbsp;</span>
1852
+ <span class="cline-any cline-neutral">&nbsp;</span>
1853
+ <span class="cline-any cline-neutral">&nbsp;</span>
1854
+ <span class="cline-any cline-neutral">&nbsp;</span>
1855
+ <span class="cline-any cline-neutral">&nbsp;</span>
1856
+ <span class="cline-any cline-neutral">&nbsp;</span>
1857
+ <span class="cline-any cline-no">&nbsp;</span>
1858
+ <span class="cline-any cline-neutral">&nbsp;</span>
1859
+ <span class="cline-any cline-neutral">&nbsp;</span>
1860
+ <span class="cline-any cline-neutral">&nbsp;</span>
1861
+ <span class="cline-any cline-neutral">&nbsp;</span>
1862
+ <span class="cline-any cline-neutral">&nbsp;</span>
1863
+ <span class="cline-any cline-neutral">&nbsp;</span>
1864
+ <span class="cline-any cline-neutral">&nbsp;</span>
1865
+ <span class="cline-any cline-neutral">&nbsp;</span>
1866
+ <span class="cline-any cline-neutral">&nbsp;</span>
1867
+ <span class="cline-any cline-neutral">&nbsp;</span>
1868
+ <span class="cline-any cline-neutral">&nbsp;</span>
1869
+ <span class="cline-any cline-neutral">&nbsp;</span>
1870
+ <span class="cline-any cline-neutral">&nbsp;</span>
1871
+ <span class="cline-any cline-neutral">&nbsp;</span>
1872
+ <span class="cline-any cline-neutral">&nbsp;</span>
1873
+ <span class="cline-any cline-neutral">&nbsp;</span>
1874
+ <span class="cline-any cline-no">&nbsp;</span>
1875
+ <span class="cline-any cline-no">&nbsp;</span>
1876
+ <span class="cline-any cline-no">&nbsp;</span>
1877
+ <span class="cline-any cline-neutral">&nbsp;</span>
1878
+ <span class="cline-any cline-no">&nbsp;</span>
1879
+ <span class="cline-any cline-no">&nbsp;</span>
1880
+ <span class="cline-any cline-neutral">&nbsp;</span>
1881
+ <span class="cline-any cline-no">&nbsp;</span>
1882
+ <span class="cline-any cline-neutral">&nbsp;</span>
1883
+ <span class="cline-any cline-neutral">&nbsp;</span>
1884
+ <span class="cline-any cline-neutral">&nbsp;</span>
1885
+ <span class="cline-any cline-no">&nbsp;</span>
1886
+ <span class="cline-any cline-neutral">&nbsp;</span>
1887
+ <span class="cline-any cline-neutral">&nbsp;</span>
1888
+ <span class="cline-any cline-neutral">&nbsp;</span>
1889
+ <span class="cline-any cline-no">&nbsp;</span>
1890
+ <span class="cline-any cline-neutral">&nbsp;</span>
1891
+ <span class="cline-any cline-neutral">&nbsp;</span>
1892
+ <span class="cline-any cline-neutral">&nbsp;</span>
1893
+ <span class="cline-any cline-neutral">&nbsp;</span>
1894
+ <span class="cline-any cline-yes">1x</span>
1895
+ <span class="cline-any cline-neutral">&nbsp;</span>
1896
+ <span class="cline-any cline-neutral">&nbsp;</span>
1897
+ <span class="cline-any cline-yes">1x</span>
1898
+ <span class="cline-any cline-neutral">&nbsp;</span>
1899
+ <span class="cline-any cline-neutral">&nbsp;</span>
1900
+ <span class="cline-any cline-neutral">&nbsp;</span>
1901
+ <span class="cline-any cline-neutral">&nbsp;</span>
1902
+ <span class="cline-any cline-neutral">&nbsp;</span>
1903
+ <span class="cline-any cline-neutral">&nbsp;</span>
1904
+ <span class="cline-any cline-neutral">&nbsp;</span>
1905
+ <span class="cline-any cline-neutral">&nbsp;</span>
1906
+ <span class="cline-any cline-neutral">&nbsp;</span>
1907
+ <span class="cline-any cline-neutral">&nbsp;</span>
1908
+ <span class="cline-any cline-neutral">&nbsp;</span>
1909
+ <span class="cline-any cline-neutral">&nbsp;</span>
1910
+ <span class="cline-any cline-neutral">&nbsp;</span>
1911
+ <span class="cline-any cline-neutral">&nbsp;</span>
1912
+ <span class="cline-any cline-yes">1x</span>
1913
+ <span class="cline-any cline-neutral">&nbsp;</span>
1914
+ <span class="cline-any cline-yes">1x</span>
1915
+ <span class="cline-any cline-neutral">&nbsp;</span>
1916
+ <span class="cline-any cline-yes">1x</span>
1917
+ <span class="cline-any cline-neutral">&nbsp;</span>
1918
+ <span class="cline-any cline-yes">1x</span>
1919
+ <span class="cline-any cline-neutral">&nbsp;</span>
1920
+ <span class="cline-any cline-neutral">&nbsp;</span>
1921
+ <span class="cline-any cline-neutral">&nbsp;</span>
1922
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**** Libraries ****/
1923
+ import React from 'react';
1924
+ import hoistStatics from 'hoist-non-react-statics';
1925
+ import { PopupPropTypes, ContextTypes } from './props/propTypes';
1926
+ &nbsp;
1927
+ /**** Methods ****/
1928
+ import { debounce, isDescendant, isTextSelected, cancelBubblingEffect, DUMMY_OBJECT } from '../utils/Common.js';
1929
+ import viewPort from './viewPort';
1930
+ import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from './PositionMapping.js';
1931
+ import ResizeObserver from '@zohodesk/virtualizer/lib/commons/ResizeObserver.js';
1932
+ import { addIntersectionObserver, removeIntersectionObserver } from './intersectionObserver';
1933
+ import { positionMapping } from '../DropBox/DropBoxPositionMapping.js';
1934
+ import isMobilePopover from '../DropBox/utils/isMobilePopover.js';
1935
+ import selectn from 'selectn';
1936
+ import Registry from './Registry.js';
1937
+ &nbsp;
1938
+ global.closeGroupPopups = <span class="fstat-no" title="function not covered" >fu</span>nction (groupName) {
1939
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.popups[groupName] || [];</span>
1940
+ <span class="cstat-no" title="statement not covered" > groupPopups.forEach(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; {</span>
1941
+ <span class="cstat-no" title="statement not covered" > popup.state.isPopupOpen &amp;&amp;</span>
1942
+ popup.setState({
1943
+ isPopupOpen: false,
1944
+ isPopupReady: false
1945
+ });
1946
+ });
1947
+ };
1948
+ &nbsp;
1949
+ const defaultState = {
1950
+ position: 'bottomCenter',
1951
+ height: '0px',
1952
+ positions: {}, //{bottomCenter: true, bottomLeft: false, ...}
1953
+ positionsOffset: {}, //{bottomCenter: {left: ‘’,top: ‘’ }, .....}
1954
+ targetOffset: {}, //{height: ‘’, width: ‘’,}
1955
+ popupOffset: {}, //{height: ‘’, width: ‘’,}
1956
+ isAbsolutePositioningNeeded: true
1957
+ };
1958
+ &nbsp;
1959
+ const SCROLL_BLOCK_EVENTS = Object.freeze([
1960
+ { name: 'wheel', handlerName: 'handleBlockScroll', options: { capture: true, passive: false } },
1961
+ { name: 'touchmove', handlerName: 'handleBlockScroll', options: { capture: true, passive: false } },
1962
+ { name: 'scroll', handlerName: 'handlePositionChange', options: { capture: true, passive: false } },
1963
+ { name: 'keydown', handlerName: 'preventKeyboardScroll', options: { capture: true, passive: false } }
1964
+ ]);
1965
+ &nbsp;
1966
+ const IFRAME_SCROLL_BLOCK_EVENTS = Object.freeze(SCROLL_BLOCK_EVENTS.filter(event =&gt; event.name !== 'keydown'));
1967
+ &nbsp;
1968
+ const CLICK_EVENTS = Object.freeze([
1969
+ { name: 'click', handlerName: 'documentClickHandler', options: { capture: false, passive: false } },
1970
+ { name: 'click', handlerName: 'documentClickHandler1', options: { capture: true, passive: false } }
1971
+ ]);
1972
+ &nbsp;
1973
+ /* eslint-disable react/no-deprecated */
1974
+ /* eslint-disable react/prop-types */
1975
+ &nbsp;
1976
+ const Popup = function (
1977
+ Component,
1978
+ group = 'global',
1979
+ needResizeHandling = true,
1980
+ {
1981
+ isAbsolutePositioningNeeded: isAbsolutePopup = true,
1982
+ isArrow: needPopupArrow = false,
1983
+ customOrder: customPositionOrder = [],
1984
+ scrollDebounceTime: popupScrollDebounceTime = 0,
1985
+ closeOnScroll: closeOnScrollPopup = false,
1986
+ isOutsideScrollBlocked: isOutsideScrollBlock = false
1987
+ } = {}
1988
+ ) {
1989
+ class Popup extends React.Component {
1990
+ constructor(props) {
1991
+ super(props);
1992
+ this.state = {
1993
+ isPopupOpen: props.isPopupOpen || false,
1994
+ position: 'bottomCenter',
1995
+ height: '0px',
1996
+ isPopupReady: props.isPopupOpen || false,
1997
+ positions: {}, //{bottomCenter: true, bottomLeft: false, ...}
1998
+ positionsOffset: {}, //{bottomCenter: {left: ‘’,top: ‘’ }, .....}
1999
+ targetOffset: {}, //{height: ‘’, width: ‘’,}
2000
+ popupOffset: {}, //{height: ‘’, width: ‘’,}
2001
+ isAbsolutePositioningNeeded: true,
2002
+ isMobile: false
2003
+ };
2004
+ this.togglePopup = this.togglePopup.bind(this);
2005
+ this.documentClickHandler = this.documentClickHandler.bind(this);
2006
+ this.documentClickHandler1 = this.documentClickHandler1.bind(this);
2007
+ this.removeClose = this.removeClose.bind(this);
2008
+ this.documentKeyupHandler = this.documentKeyupHandler.bind(this);
2009
+ this.openPopupOnly = this.openPopupOnly.bind(this);
2010
+ this.closePopupOnly = this.closePopupOnly.bind(this);
2011
+ this.getTargetRef = this.getTargetRef.bind(this);
2012
+ this.getContainerRef = this.getContainerRef.bind(this);
2013
+ this.handlePopupPosition = this.handlePopupPosition.bind(this);
2014
+ this.handleResize = debounce(this.handleResize.bind(this), 300);
2015
+ this.handlePopupResize = this.handlePopupResize.bind(this);
2016
+ this.getIsAbsolutePopup = this.getIsAbsolutePopup.bind(this);
2017
+ this.getIsOutsideScrollBlocked = this.getIsOutsideScrollBlocked.bind(this);
2018
+ this.getNeedArrow = this.getNeedArrow.bind(this);
2019
+ this.getCustomPositionOrder = this.getCustomPositionOrder.bind(this);
2020
+ this.handleOpenPopupPositionChange = this.handleOpenPopupPositionChange.bind(this);
2021
+ this.getScrollDebounceTime = this.getScrollDebounceTime.bind(this);
2022
+ this.getCloseOnScrollPopup = this.getCloseOnScrollPopup.bind(this);
2023
+ this.handleCloseLastOpenedGroup = this.handleCloseLastOpenedGroup.bind(this);
2024
+ this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
2025
+ this.handleDocumentFocus = this.handleDocumentFocus.bind(this);
2026
+ this.handleGetNeedPrevent = this.handleGetNeedPrevent.bind(this);
2027
+ this.handleBlockScroll = this.handleBlockScroll.bind(this);
2028
+ this.handlePositionChange = this.handlePositionChange.bind(this);
2029
+ this.preventKeyboardScroll = this.preventKeyboardScroll.bind(this);
2030
+ this.updateListeners = this.updateListeners.bind(this);
2031
+ this.addScrollBlockListeners = this.addScrollBlockListeners.bind(this);
2032
+ this.removeScrollBlockListeners = this.removeScrollBlockListeners.bind(this);
2033
+ this.addScrollToUpdateListeners = this.addScrollToUpdateListeners.bind(this);
2034
+ this.removeScrollToUpdateListeners = this.removeScrollToUpdateListeners.bind(this);
2035
+ this.handleAddingScrollBlock = this.handleAddingScrollBlock.bind(this);
2036
+ this.handleRemovingScrollBlock = this.handleRemovingScrollBlock.bind(this);
2037
+ this.handleIntersectionObserver = this.handleIntersectionObserver.bind(this);
2038
+ this.updateVisibilityOnIntersection = this.updateVisibilityOnIntersection.bind(this);
2039
+ this.handleAddingScrollToUpdatePosition = this.handleAddingScrollToUpdatePosition.bind(this);
2040
+ this.handleRemovingScrollToUpdatePosition = this.handleRemovingScrollToUpdatePosition.bind(this);
2041
+ this.setContainerDynamicPositioning = this.setContainerDynamicPositioning.bind(this);
2042
+ this.updatePopupState = this.updatePopupState.bind(this);
2043
+ this.handleScrollAndBlockEvents = this.handleScrollAndBlockEvents.bind(this);
2044
+ this.handleIframeEventListeners = this.handleIframeEventListeners.bind(this);
2045
+ this.handleDropElementStyleUpdate = this.handleDropElementStyleUpdate.bind(this);
2046
+ &nbsp;
2047
+ this.positionRef = React.createRef();
2048
+ this.rootElement = Registry.getRootElement();
2049
+ &nbsp;
2050
+ this.popupObserver = new ResizeObserver(this.handlePopupResize);
2051
+ &nbsp;
2052
+ this.cancelRaf = this.cancelRaf.bind(this);
2053
+ this.cancelPendingAnimationFrames = this.cancelPendingAnimationFrames.bind(this);
2054
+ &nbsp;
2055
+ this.setPositionRafId = null;
2056
+ this.resizePositionRafId = null;
2057
+ &nbsp;
2058
+ //dropBoxSize
2059
+ this.size = null;
2060
+ this.isTargetElementVisible = false;
2061
+ &nbsp;
2062
+ this.isAbsolutePopup = isAbsolutePopup;
2063
+ this.needPopupArrow = needPopupArrow;
2064
+ this.customPositionOrder = customPositionOrder;
2065
+ this.scrollDebounceTime = popupScrollDebounceTime;
2066
+ this.closeOnScroll = closeOnScrollPopup;
2067
+ this.isOutsideScrollBlock = isOutsideScrollBlock;
2068
+ &nbsp;
2069
+ const scrollDebounceTime = this.getScrollDebounceTime(this);
2070
+ this.updatePositionOnScroll = scrollDebounceTime &gt; 0
2071
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >debounce(this.updatePositionOnScroll.bind(this), scrollDebounceTime)</span>
2072
+ : this.updatePositionOnScroll.bind(this);
2073
+ // this.handleScroll = debounce(this.handleScroll.bind(this), scrollDebounceTime);
2074
+ }
2075
+ &nbsp;
2076
+ componentDidMount() {
2077
+ const group = this.getGroup();
2078
+ const groupPopups = Registry.popups[group] || [];
2079
+ groupPopups.push(this);
2080
+ Registry.popups[group] = groupPopups;
2081
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Object.keys(Registry.popups).length === 1 &amp;&amp; groupPopups.length === 1 &amp;&amp; Registry.listenerPopupRef === undefined) {
2082
+ &nbsp;
2083
+ Registry.listenerPopupRef = this;
2084
+ &nbsp;
2085
+ Registry.listenerPopupRef.updateListeners(true, CLICK_EVENTS, document);
2086
+ &nbsp;
2087
+ document.addEventListener('keyup', Registry.listenerPopupRef.documentKeyupHandler, false);
2088
+ // document.addEventListener('scroll', Registry.listenerPopupRef.handleScroll, true);
2089
+ window.addEventListener('resize', Registry.listenerPopupRef.handleResize);
2090
+ &nbsp;
2091
+ &nbsp;
2092
+ document.addEventListener('mousedown', Registry.listenerPopupRef.handleDocumentMouseDown, true);
2093
+ document.addEventListener('focus', Registry.listenerPopupRef.handleDocumentFocus, true);
2094
+ }
2095
+ }
2096
+ &nbsp;
2097
+ <span class="fstat-no" title="function not covered" > UN</span>SAFE_componentWillReceiveProps(nextProps) {
2098
+ const { isPopupOpen } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2099
+ <span class="cstat-no" title="statement not covered" > if (typeof nextProps.isPopupOpen !== 'undefined' &amp;&amp; nextProps.isPopupOpen !== isPopupOpen) {</span>
2100
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
2101
+ isPopupOpen: nextProps.isPopupOpen,
2102
+ isPopupReady: nextProps.isPopupOpen
2103
+ });
2104
+ }
2105
+ }
2106
+ &nbsp;
2107
+ <span class="fstat-no" title="function not covered" > ha</span>ndleScrollAndBlockEvents (shouldAdd) {
2108
+ <span class="cstat-no" title="statement not covered" > if (shouldAdd) {</span>
2109
+ <span class="cstat-no" title="statement not covered" > this.handleAddingScrollBlock();</span>
2110
+ <span class="cstat-no" title="statement not covered" > this.handleAddingScrollToUpdatePosition();</span>
2111
+ } else {
2112
+ <span class="cstat-no" title="statement not covered" > this.handleRemovingScrollBlock();</span>
2113
+ <span class="cstat-no" title="statement not covered" > this.handleRemovingScrollToUpdatePosition();</span>
2114
+ }
2115
+ };
2116
+ &nbsp;
2117
+ <span class="fstat-no" title="function not covered" > ha</span>ndleIframeEventListeners(shouldAdd, eventList) {
2118
+ <span class="cstat-no" title="statement not covered" > this.rootElement.querySelectorAll('iframe').forEach(<span class="fstat-no" title="function not covered" >(f</span>rame) =&gt; {</span>
2119
+ const frameDocument = <span class="cstat-no" title="statement not covered" >frame.contentDocument;</span>
2120
+ <span class="cstat-no" title="statement not covered" > if (frameDocument) {</span>
2121
+ <span class="cstat-no" title="statement not covered" > this.updateListeners(shouldAdd, eventList, frameDocument);</span>
2122
+ }
2123
+ });
2124
+ }
2125
+ &nbsp;
2126
+ <span class="fstat-no" title="function not covered" > co</span>mponentDidUpdate(prevProps, prevState) {
2127
+ const { isPopupReady, isMobile } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2128
+ const { isPopupReady: oldStateOpen = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span> isMobile: oldIsMobileState } = <span class="cstat-no" title="statement not covered" >prevState || {};</span>
2129
+ const { dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2130
+ const { needResizeHandling: propResizeHandling } = <span class="cstat-no" title="statement not covered" >this.props;</span>
2131
+ &nbsp;
2132
+ <span class="cstat-no" title="statement not covered" > if (oldStateOpen !== isPopupReady) {</span>
2133
+ <span class="cstat-no" title="statement not covered" > if (</span>
2134
+ isPopupReady &amp;&amp;
2135
+ dropElement &amp;&amp;
2136
+ (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)
2137
+ ) {
2138
+ <span class="cstat-no" title="statement not covered" > this.popupObserver.replaceObservationElement(dropElement);</span>
2139
+ } else <span class="cstat-no" title="statement not covered" >if (!isPopupReady) {</span>
2140
+ <span class="cstat-no" title="statement not covered" > this.size = null;</span>
2141
+ <span class="cstat-no" title="statement not covered" > this.popupObserver.disconnect();</span>
2142
+ }
2143
+ }
2144
+ &nbsp;
2145
+ <span class="cstat-no" title="statement not covered" > if(((oldStateOpen !== isPopupReady) &amp;&amp; !isMobile) || (oldIsMobileState !== isMobile)) {</span>
2146
+ const shouldAdd = <span class="cstat-no" title="statement not covered" >isPopupReady &amp;&amp; !isMobile;</span>
2147
+ &nbsp;
2148
+ <span class="cstat-no" title="statement not covered" > this.handleScrollAndBlockEvents(shouldAdd);</span>
2149
+ <span class="cstat-no" title="statement not covered" > this.handleIframeEventListeners(shouldAdd, CLICK_EVENTS);</span>
2150
+ }
2151
+ &nbsp;
2152
+ }
2153
+ &nbsp;
2154
+ <span class="fstat-no" title="function not covered" > ca</span>ncelRaf(refName) {
2155
+ const id = <span class="cstat-no" title="statement not covered" >this[refName];</span>
2156
+ <span class="cstat-no" title="statement not covered" > if (id) {</span>
2157
+ <span class="cstat-no" title="statement not covered" > cancelAnimationFrame(id);</span>
2158
+ <span class="cstat-no" title="statement not covered" > this[refName] = null;</span>
2159
+ }
2160
+ }
2161
+ &nbsp;
2162
+ <span class="fstat-no" title="function not covered" > ca</span>ncelPendingAnimationFrames() {
2163
+ <span class="cstat-no" title="statement not covered" > this.cancelRaf('setPositionRafId');</span>
2164
+ <span class="cstat-no" title="statement not covered" > this.cancelRaf('resizePositionRafId');</span>
2165
+ }
2166
+ &nbsp;
2167
+ <span class="fstat-no" title="function not covered" > co</span>mponentWillUnmount() {
2168
+ const group = <span class="cstat-no" title="statement not covered" >this.getGroup();</span>
2169
+ <span class="cstat-no" title="statement not covered" > Registry.popups = Object.keys(Registry.popups).reduce(<span class="fstat-no" title="function not covered" >(r</span>es, groupName) =&gt; {</span>
2170
+ <span class="cstat-no" title="statement not covered" > if (groupName === group) {</span>
2171
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.popups[group];</span>
2172
+ const newGroupPopups = <span class="cstat-no" title="statement not covered" >groupPopups.filter(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; <span class="cstat-no" title="statement not covered" >popup !== this)</span>;</span>
2173
+ <span class="cstat-no" title="statement not covered" > newGroupPopups.length === 0 &amp;&amp;</span>
2174
+ Registry.lastOpenedGroup.indexOf(group) &gt;= 0 &amp;&amp;
2175
+ Registry.lastOpenedGroup.splice(Registry.lastOpenedGroup.indexOf(group), 1);
2176
+ <span class="cstat-no" title="statement not covered" > res[group] = newGroupPopups;</span>
2177
+ }
2178
+ <span class="cstat-no" title="statement not covered" > return res;</span>
2179
+ }, Registry.popups);
2180
+ &nbsp;
2181
+ <span class="cstat-no" title="statement not covered" > this.handleRemovingScrollBlock();</span>
2182
+ <span class="cstat-no" title="statement not covered" > this.handleRemovingScrollToUpdatePosition();</span>
2183
+ <span class="cstat-no" title="statement not covered" > this.handleIframeEventListeners(false, CLICK_EVENTS);</span>
2184
+ &nbsp;
2185
+ let noPopups = <span class="cstat-no" title="statement not covered" >true;</span>
2186
+ <span class="cstat-no" title="statement not covered" > for (const i in Registry.popups) {</span>
2187
+ <span class="cstat-no" title="statement not covered" > if (Registry.popups[i].length &gt;= 1) {</span>
2188
+ <span class="cstat-no" title="statement not covered" > noPopups = false;</span>
2189
+ <span class="cstat-no" title="statement not covered" > break;</span>
2190
+ }
2191
+ }
2192
+ <span class="cstat-no" title="statement not covered" > if (this.popupObserver) {</span>
2193
+ <span class="cstat-no" title="statement not covered" > this.popupObserver.disconnect();</span>
2194
+ }
2195
+ <span class="cstat-no" title="statement not covered" > if (noPopups &amp;&amp; Registry.listenerPopupRef !== undefined) {</span>
2196
+ <span class="cstat-no" title="statement not covered" > Registry.listenerPopupRef.updateListeners(false, CLICK_EVENTS, document);</span>
2197
+ <span class="cstat-no" title="statement not covered" > document.removeEventListener('keyup', Registry.listenerPopupRef.documentKeyupHandler);</span>
2198
+ // document.removeEventListener('scroll', Registry.listenerPopupRef.handleScroll);
2199
+ <span class="cstat-no" title="statement not covered" > window.removeEventListener('resize', Registry.listenerPopupRef.handleResize);</span>
2200
+ &nbsp;
2201
+ <span class="cstat-no" title="statement not covered" > document.removeEventListener('mousedown', Registry.listenerPopupRef.handleDocumentMouseDown, true);</span>
2202
+ <span class="cstat-no" title="statement not covered" > document.removeEventListener('focus', Registry.listenerPopupRef.handleDocumentFocus, true);</span>
2203
+ &nbsp;
2204
+ <span class="cstat-no" title="statement not covered" > Registry.listenerPopupRef = undefined;</span>
2205
+ }
2206
+ &nbsp;
2207
+ <span class="cstat-no" title="statement not covered" > this.cancelPendingAnimationFrames();</span>
2208
+ }
2209
+ &nbsp;
2210
+ <span class="fstat-no" title="function not covered" > ha</span>ndleAddingScrollBlock() {
2211
+ const isAbsolutePositioningNeeded = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(this);</span>
2212
+ const isOutsideScrollBlocked = <span class="cstat-no" title="statement not covered" >this.getIsOutsideScrollBlocked(this);</span>
2213
+ &nbsp;
2214
+ <span class="cstat-no" title="statement not covered" > if (isOutsideScrollBlocked &amp;&amp; !isAbsolutePositioningNeeded) {</span>
2215
+ <span class="cstat-no" title="statement not covered" > addIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);</span>
2216
+ <span class="cstat-no" title="statement not covered" > this.addScrollBlockListeners();</span>
2217
+ }
2218
+ }
2219
+ &nbsp;
2220
+ <span class="fstat-no" title="function not covered" > ha</span>ndleRemovingScrollBlock() {
2221
+ const isAbsolutePositioningNeeded = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(this);</span>
2222
+ const isOutsideScrollBlocked = <span class="cstat-no" title="statement not covered" >this.getIsOutsideScrollBlocked(this);</span>
2223
+ &nbsp;
2224
+ <span class="cstat-no" title="statement not covered" > if (isOutsideScrollBlocked &amp;&amp; !isAbsolutePositioningNeeded) {</span>
2225
+ <span class="cstat-no" title="statement not covered" > removeIntersectionObserver(this.placeHolderElement, this.handleIntersectionObserver);</span>
2226
+ <span class="cstat-no" title="statement not covered" > this.removeScrollBlockListeners();</span>
2227
+ }
2228
+ }
2229
+ &nbsp;
2230
+ <span class="fstat-no" title="function not covered" > ha</span>ndleAddingScrollToUpdatePosition() {
2231
+ const isAbsolutePositioningNeeded = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(this);</span>
2232
+ const isOutsideScrollBlocked = <span class="cstat-no" title="statement not covered" >this.getIsOutsideScrollBlocked(this);</span>
2233
+ &nbsp;
2234
+ <span class="cstat-no" title="statement not covered" > if (!isOutsideScrollBlocked &amp;&amp; !isAbsolutePositioningNeeded) {</span>
2235
+ <span class="cstat-no" title="statement not covered" > addIntersectionObserver(this.placeHolderElement, this.updateVisibilityOnIntersection);</span>
2236
+ &nbsp;
2237
+ const shouldAddScrollToUpdatePositionListeners = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollableFixedPopups().length === 1 &amp;&amp; Registry.scrollableListenerPopupRef === undefined;</span>
2238
+ &nbsp;
2239
+ <span class="cstat-no" title="statement not covered" > if (shouldAddScrollToUpdatePositionListeners) {</span>
2240
+ &nbsp;
2241
+ <span class="cstat-no" title="statement not covered" > Registry.scrollableListenerPopupRef = this;</span>
2242
+ &nbsp;
2243
+ <span class="cstat-no" title="statement not covered" > Registry.scrollableListenerPopupRef.addScrollToUpdateListeners();</span>
2244
+ }
2245
+ &nbsp;
2246
+ }
2247
+ }
2248
+ &nbsp;
2249
+ <span class="fstat-no" title="function not covered" > ha</span>ndleRemovingScrollToUpdatePosition() {
2250
+ const isAbsolutePositioningNeeded = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(this);</span>
2251
+ const isOutsideScrollBlocked = <span class="cstat-no" title="statement not covered" >this.getIsOutsideScrollBlocked(this);</span>
2252
+ &nbsp;
2253
+ <span class="cstat-no" title="statement not covered" > if (!isOutsideScrollBlocked &amp;&amp; !isAbsolutePositioningNeeded) {</span>
2254
+ <span class="cstat-no" title="statement not covered" > removeIntersectionObserver(this.placeHolderElement, this.updateVisibilityOnIntersection);</span>
2255
+ &nbsp;
2256
+ const shouldRemoveScrollToUpdatePositionListeners = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollableFixedPopups().length === 0 &amp;&amp; Registry.scrollableListenerPopupRef !== undefined;</span>
2257
+ &nbsp;
2258
+ <span class="cstat-no" title="statement not covered" > if (shouldRemoveScrollToUpdatePositionListeners) {</span>
2259
+ <span class="cstat-no" title="statement not covered" > Registry.scrollableListenerPopupRef.removeScrollToUpdateListeners();</span>
2260
+ &nbsp;
2261
+ <span class="cstat-no" title="statement not covered" > Registry.scrollableListenerPopupRef = undefined;</span>
2262
+ }
2263
+ &nbsp;
2264
+ }
2265
+ }
2266
+ &nbsp;
2267
+ <span class="fstat-no" title="function not covered" > ha</span>ndleDropElementStyleUpdate({ top = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> left = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> bottom = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> right = <span class="branch-0 cbranch-no" title="branch not covered" >'' </span>}) {
2268
+ const { dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2269
+ &nbsp;
2270
+ <span class="cstat-no" title="statement not covered" > Object.assign(dropElement.style, {</span>
2271
+ top: top ? `${top}px` : '',
2272
+ left: left ? `${left}px` : '',
2273
+ right: right ? `${right}px` : '',
2274
+ bottom: bottom ? `${bottom}px` : ''
2275
+ })
2276
+ }
2277
+ &nbsp;
2278
+ <span class="fstat-no" title="function not covered" > se</span>tContainerDynamicPositioning(betterPosition, needArrow) {
2279
+ const { dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2280
+ const { isMobile } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2281
+ &nbsp;
2282
+ const { view, viewsOffset } = <span class="cstat-no" title="statement not covered" >betterPosition || DUMMY_OBJECT;</span>
2283
+ const styleToApply = <span class="cstat-no" title="statement not covered" >selectn(`${view}`, viewsOffset);</span>
2284
+ &nbsp;
2285
+ <span class="cstat-no" title="statement not covered" > if (isMobile) {</span>
2286
+ <span class="cstat-no" title="statement not covered" > this.handleDropElementStyleUpdate({</span>
2287
+ top: '',
2288
+ left: '',
2289
+ right: '',
2290
+ bottom: ''
2291
+ })
2292
+ }
2293
+ else {
2294
+ <span class="cstat-no" title="statement not covered" > this.handleDropElementStyleUpdate(styleToApply);</span>
2295
+ &nbsp;
2296
+ <span class="cstat-no" title="statement not covered" > if (this.positionRef.current !== view) {</span>
2297
+ <span class="cstat-no" title="statement not covered" > dropElement.setAttribute('data-position', `${view}`);</span>
2298
+ <span class="cstat-no" title="statement not covered" > dropElement.setAttribute('data-box-direction', selectn(`${view}.direction`, positionMapping));</span>
2299
+ <span class="cstat-no" title="statement not covered" > if (needArrow) {</span>
2300
+ <span class="cstat-no" title="statement not covered" > dropElement.setAttribute('data-arrow-position', selectn(`${view}.arrowPosition`, positionMapping));</span>
2301
+ }
2302
+ <span class="cstat-no" title="statement not covered" > this.positionRef.current = view;</span>
2303
+ }
2304
+ }
2305
+ &nbsp;
2306
+ }
2307
+ &nbsp;
2308
+ <span class="fstat-no" title="function not covered" > up</span>datePositionOnScroll(e) {
2309
+ &nbsp;
2310
+ const scrollablePopups = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollableFixedPopups();</span>
2311
+ &nbsp;
2312
+ // Check if the event target is outside all dropElements
2313
+ <span class="cstat-no" title="statement not covered" > scrollablePopups.forEach(<span class="fstat-no" title="function not covered" >({</span> placeHolderElement, defaultPosition, isTargetElementVisible, handlePopupPosition }) =&gt; {</span>
2314
+ <span class="cstat-no" title="statement not covered" > if (e.target.contains(placeHolderElement) &amp;&amp; isTargetElementVisible) {</span>
2315
+ <span class="cstat-no" title="statement not covered" > handlePopupPosition(defaultPosition, true);</span>
2316
+ }
2317
+ });
2318
+ }
2319
+ &nbsp;
2320
+ updateListeners(add = <span class="branch-0 cbranch-no" title="branch not covered" >true,</span> eventList, element) {
2321
+ const method = add ? 'addEventListener' : <span class="branch-1 cbranch-no" title="branch not covered" >'removeEventListener';</span>
2322
+ &nbsp;
2323
+ eventList.forEach(({ name, handlerName, options }) =&gt; {
2324
+ const handler = this[handlerName];
2325
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (handler) {
2326
+ element[method](name, handler, options);
2327
+ }
2328
+ });
2329
+ }
2330
+ &nbsp;
2331
+ <span class="fstat-no" title="function not covered" > ad</span>dScrollBlockListeners() {
2332
+ // Only add scroll block listeners if at least one open popup needs outside scroll blocked
2333
+ const shouldAddScrollBlockListeners = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollBlockedFixedPopups().length === 1 &amp;&amp; Registry.scrollBlockedListenerPopupRef === undefined;</span>
2334
+ &nbsp;
2335
+ <span class="cstat-no" title="statement not covered" > if (shouldAddScrollBlockListeners) {</span>
2336
+ &nbsp;
2337
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef = this;</span>
2338
+ &nbsp;
2339
+ // Main document
2340
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef.updateListeners(true, SCROLL_BLOCK_EVENTS, document);</span>
2341
+ &nbsp;
2342
+ // Attach event listeners to all iframes within rootElement
2343
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef.handleIframeEventListeners(true, IFRAME_SCROLL_BLOCK_EVENTS);</span>
2344
+ }
2345
+ }
2346
+ &nbsp;
2347
+ <span class="fstat-no" title="function not covered" > re</span>moveScrollBlockListeners() {
2348
+ // Only remove scroll block listeners if at least one open popup needs outside scroll blocked
2349
+ const shouldRemoveScrollBlockListeners = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollBlockedFixedPopups().length === 0 &amp;&amp; Registry.scrollBlockedListenerPopupRef !== undefined;</span>
2350
+ &nbsp;
2351
+ <span class="cstat-no" title="statement not covered" > if (shouldRemoveScrollBlockListeners) {</span>
2352
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef.updateListeners(false, SCROLL_BLOCK_EVENTS, document);</span>
2353
+ &nbsp;
2354
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef.handleIframeEventListeners(false, IFRAME_SCROLL_BLOCK_EVENTS);</span>
2355
+ &nbsp;
2356
+ <span class="cstat-no" title="statement not covered" > Registry.scrollBlockedListenerPopupRef = undefined;</span>
2357
+ }
2358
+ }
2359
+ &nbsp;
2360
+ <span class="fstat-no" title="function not covered" > ad</span>dScrollToUpdateListeners() {
2361
+ <span class="cstat-no" title="statement not covered" > document.addEventListener('scroll', this.updatePositionOnScroll, { capture: true, passive: false });</span>
2362
+ }
2363
+ &nbsp;
2364
+ <span class="fstat-no" title="function not covered" > re</span>moveScrollToUpdateListeners() {
2365
+ <span class="cstat-no" title="statement not covered" > document.removeEventListener('scroll', this.updatePositionOnScroll, { capture: true, passive: false });</span>
2366
+ }
2367
+ &nbsp;
2368
+ <span class="fstat-no" title="function not covered" > ha</span>ndleBlockScroll(event) {
2369
+ const scrollBlockedPopups = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollBlockedFixedPopups();</span>
2370
+ &nbsp;
2371
+ // Check if the event target is outside all dropElements
2372
+ const isOutsideAllDropElements = <span class="cstat-no" title="statement not covered" >scrollBlockedPopups.every(<span class="fstat-no" title="function not covered" >({</span> dropElement }) =&gt; {</span>
2373
+ <span class="cstat-no" title="statement not covered" > return dropElement &amp;&amp; (dropElement !== event.target &amp;&amp; !dropElement.contains(event.target));</span>
2374
+ });
2375
+ &nbsp;
2376
+ <span class="cstat-no" title="statement not covered" > if (isOutsideAllDropElements) {</span>
2377
+ <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
2378
+ }
2379
+ }
2380
+ &nbsp;
2381
+ <span class="fstat-no" title="function not covered" > ha</span>ndlePositionChange(event) {
2382
+ &nbsp;
2383
+ const scrollBlockedPopups = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollBlockedFixedPopups();</span>
2384
+ &nbsp;
2385
+ <span class="cstat-no" title="statement not covered" > scrollBlockedPopups.forEach(<span class="fstat-no" title="function not covered" >({</span> placeHolderElement, dropElement, handlePopupPosition, state }) =&gt; {</span>
2386
+ <span class="cstat-no" title="statement not covered" > if (</span>
2387
+ dropElement &amp;&amp;
2388
+ dropElement !== event.target &amp;&amp;
2389
+ !dropElement.contains(event.target) &amp;&amp;
2390
+ placeHolderElement &amp;&amp;
2391
+ placeHolderElement !== event.target &amp;&amp;
2392
+ !placeHolderElement.contains(event.target) &amp;&amp;
2393
+ event.target.contains(placeHolderElement)
2394
+ ) {
2395
+ <span class="cstat-no" title="statement not covered" > handlePopupPosition(state.position, true);</span>
2396
+ }
2397
+ });
2398
+ &nbsp;
2399
+ }
2400
+ &nbsp;
2401
+ <span class="fstat-no" title="function not covered" > pr</span>eventKeyboardScroll(event) {
2402
+ const keys = <span class="cstat-no" title="statement not covered" >[32, 37, 38, 39, 40];</span> // Space, Arrow keys
2403
+ &nbsp;
2404
+ const scrollBlockedPopups = <span class="cstat-no" title="statement not covered" >Registry.getOpenedScrollBlockedFixedPopups();</span>
2405
+ &nbsp;
2406
+ // Check if the event target is outside all dropElements
2407
+ const isOutsideAllDropElements = <span class="cstat-no" title="statement not covered" >scrollBlockedPopups.every(<span class="fstat-no" title="function not covered" >({</span> dropElement }) =&gt; {</span>
2408
+ <span class="cstat-no" title="statement not covered" > return dropElement &amp;&amp; (dropElement !== event.target &amp;&amp; !dropElement.contains(event.target)) &amp;&amp; keys.includes(event.keyCode);</span>
2409
+ });
2410
+ &nbsp;
2411
+ <span class="cstat-no" title="statement not covered" > if (isOutsideAllDropElements) {</span>
2412
+ <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
2413
+ }
2414
+ }
2415
+ &nbsp;
2416
+ <span class="fstat-no" title="function not covered" > ha</span>ndleIntersectionObserver(entry) {
2417
+ <span class="cstat-no" title="statement not covered" > if (entry.intersectionRatio === 0 &amp;&amp; entry.isIntersecting === false) {</span>
2418
+ <span class="cstat-no" title="statement not covered" > this.closePopupOnly();</span>
2419
+ }
2420
+ }
2421
+ &nbsp;
2422
+ <span class="fstat-no" title="function not covered" > up</span>dateVisibilityOnIntersection(entry) {
2423
+ const { dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2424
+ <span class="cstat-no" title="statement not covered" > if (!dropElement) <span class="cstat-no" title="statement not covered" >return;</span></span>
2425
+ &nbsp;
2426
+ <span class="cstat-no" title="statement not covered" > if (entry.isIntersecting === true) {</span>
2427
+ <span class="cstat-no" title="statement not covered" > this.isTargetElementVisible = true;</span>
2428
+ <span class="cstat-no" title="statement not covered" > dropElement.setAttribute('data-visible', 'visible');</span>
2429
+ }
2430
+ else <span class="cstat-no" title="statement not covered" >if (entry.intersectionRatio === 0 &amp;&amp; entry.isIntersecting === false) {</span>
2431
+ <span class="cstat-no" title="statement not covered" > this.isTargetElementVisible = false;</span>
2432
+ <span class="cstat-no" title="statement not covered" > dropElement.setAttribute('data-visible', 'hidden');</span>
2433
+ }
2434
+ }
2435
+ &nbsp;
2436
+ getGroup() {
2437
+ const { popupGroup } = this.props;
2438
+ return popupGroup || group;
2439
+ }
2440
+ &nbsp;
2441
+ <span class="fstat-no" title="function not covered" > ge</span>tNeedArrow(popup) {
2442
+ const { isArrow } = <span class="cstat-no" title="statement not covered" >popup.props;</span>
2443
+ const { needPopupArrow } = <span class="cstat-no" title="statement not covered" >popup;</span>
2444
+ <span class="cstat-no" title="statement not covered" > return isArrow !== undefined ? isArrow : needPopupArrow;</span>
2445
+ }
2446
+ &nbsp;
2447
+ getScrollDebounceTime(popup) {
2448
+ const { scrollDebounceTime } = popup.props;
2449
+ const { scrollDebounceTime: popupScrollDebounceTime } = popup;
2450
+ return scrollDebounceTime !== undefined ? <span class="branch-0 cbranch-no" title="branch not covered" >scrollDebounceTime </span>: popupScrollDebounceTime;
2451
+ }
2452
+ &nbsp;
2453
+ <span class="fstat-no" title="function not covered" > ge</span>tCloseOnScrollPopup(popup) {
2454
+ const { closeOnScroll } = <span class="cstat-no" title="statement not covered" >popup.props;</span>
2455
+ const { closeOnScroll: closeOnScrollPopup } = <span class="cstat-no" title="statement not covered" >popup;</span>
2456
+ <span class="cstat-no" title="statement not covered" > return closeOnScroll !== undefined ? closeOnScroll : closeOnScrollPopup;</span>
2457
+ }
2458
+ &nbsp;
2459
+ <span class="fstat-no" title="function not covered" > ge</span>tIsAbsolutePopup(popup) {
2460
+ const { isAbsolutePositioningNeeded } = <span class="cstat-no" title="statement not covered" >popup.props;</span>
2461
+ const { isAbsolutePopup } = <span class="cstat-no" title="statement not covered" >popup;</span>
2462
+ <span class="cstat-no" title="statement not covered" > return isAbsolutePositioningNeeded !== undefined ? isAbsolutePositioningNeeded : isAbsolutePopup;</span>
2463
+ }
2464
+ &nbsp;
2465
+ <span class="fstat-no" title="function not covered" > ge</span>tIsOutsideScrollBlocked(popup) {
2466
+ const { isOutsideScrollBlocked } = <span class="cstat-no" title="statement not covered" >popup.props;</span>
2467
+ const { isOutsideScrollBlock } = <span class="cstat-no" title="statement not covered" >popup;</span>
2468
+ <span class="cstat-no" title="statement not covered" > return isOutsideScrollBlocked !== undefined ? isOutsideScrollBlocked : isOutsideScrollBlock;</span>
2469
+ }
2470
+ &nbsp;
2471
+ <span class="fstat-no" title="function not covered" > ge</span>tCustomPositionOrder(popup) {
2472
+ const { customOrder = <span class="branch-0 cbranch-no" title="branch not covered" >[] </span>} = <span class="cstat-no" title="statement not covered" >popup.props;</span>
2473
+ const { customPositionOrder } = <span class="cstat-no" title="statement not covered" >popup;</span>
2474
+ <span class="cstat-no" title="statement not covered" > return customOrder.length !== 0 ? customOrder : customPositionOrder;</span>
2475
+ }
2476
+ &nbsp;
2477
+ <span class="fstat-no" title="function not covered" > to</span>gglePopup(e, defaultPosition) {
2478
+ const group = <span class="cstat-no" title="statement not covered" >this.getGroup();</span>
2479
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2480
+ const { isPopupOpen } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2481
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.popups[group] || [];</span>
2482
+ <span class="cstat-no" title="statement not covered" > Registry.lastOpenedGroup =</span>
2483
+ !isPopupOpen &amp;&amp; Registry.lastOpenedGroup.indexOf(group) === -1 ? [group, ...Registry.lastOpenedGroup] : Registry.lastOpenedGroup;
2484
+ <span class="cstat-no" title="statement not covered" > isPopupOpen &amp;&amp; Registry.lastOpenedGroup.splice(0, 1);</span>
2485
+ <span class="cstat-no" title="statement not covered" > groupPopups.forEach(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; {</span>
2486
+ <span class="cstat-no" title="statement not covered" > if (popup !== this &amp;&amp; popup.state.isPopupOpen) {</span>
2487
+ <span class="cstat-no" title="statement not covered" > popup.setState({</span>
2488
+ isPopupOpen: false,
2489
+ isPopupReady: false
2490
+ });
2491
+ }
2492
+ });
2493
+ <span class="cstat-no" title="statement not covered" > if (isPopupOpen) {</span>
2494
+ <span class="cstat-no" title="statement not covered" > this.setState({ isPopupOpen: false, isPopupReady: false });</span>
2495
+ } else {
2496
+ <span class="cstat-no" title="statement not covered" > this.handlePopupPosition(defaultPosition);</span>
2497
+ }
2498
+ }
2499
+ &nbsp;
2500
+ <span class="fstat-no" title="function not covered" > op</span>enPopupOnly(e, defaultPosition) {
2501
+ const group = <span class="cstat-no" title="statement not covered" >this.getGroup();</span>
2502
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2503
+ <span class="cstat-no" title="statement not covered" > Registry.lastOpenedGroup = Registry.lastOpenedGroup.indexOf(group) === -1 ? [group, ...Registry.lastOpenedGroup] : Registry.lastOpenedGroup;</span>
2504
+ <span class="cstat-no" title="statement not covered" > this.handlePopupPosition(defaultPosition);</span>
2505
+ }
2506
+ &nbsp;
2507
+ <span class="fstat-no" title="function not covered" > cl</span>osePopupOnly(e) {
2508
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2509
+ const { isPopupOpen } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2510
+ <span class="cstat-no" title="statement not covered" > if (isPopupOpen) {</span>
2511
+ <span class="cstat-no" title="statement not covered" > Registry.lastOpenedGroup.splice(0, 1);</span>
2512
+ <span class="cstat-no" title="statement not covered" > this.setState({ isPopupOpen: false, isPopupReady: false });</span>
2513
+ }
2514
+ }
2515
+ &nbsp;
2516
+ <span class="fstat-no" title="function not covered" > ha</span>ndleCloseLastOpenedGroup() {
2517
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.lastOpenedGroup.length ? Registry.popups[Registry.lastOpenedGroup[0]] || [] : [];</span>
2518
+ <span class="cstat-no" title="statement not covered" > Registry.lastOpenedGroup.splice(0, 1);</span>
2519
+ <span class="cstat-no" title="statement not covered" > groupPopups.forEach(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; {</span>
2520
+ <span class="cstat-no" title="statement not covered" > popup.state.isPopupOpen &amp;&amp;</span>
2521
+ popup.setState({
2522
+ isPopupOpen: false,
2523
+ isPopupReady: false
2524
+ });
2525
+ });
2526
+ }
2527
+ &nbsp;
2528
+ <span class="fstat-no" title="function not covered" > ha</span>ndleDocumentMouseDown(e) {
2529
+ const needPrevent = <span class="cstat-no" title="statement not covered" >this.handleGetNeedPrevent(e);</span>
2530
+ <span class="cstat-no" title="statement not covered" > if (needPrevent) {</span>
2531
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2532
+ }
2533
+ }
2534
+ &nbsp;
2535
+ <span class="fstat-no" title="function not covered" > ha</span>ndleDocumentFocus(e) {
2536
+ const needPrevent = <span class="cstat-no" title="statement not covered" >this.handleGetNeedPrevent(e);</span>
2537
+ <span class="cstat-no" title="statement not covered" > if (needPrevent) {</span>
2538
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2539
+ }
2540
+ }
2541
+ &nbsp;
2542
+ <span class="fstat-no" title="function not covered" > ha</span>ndleGetNeedPrevent(e) {
2543
+ let needPrevent = <span class="cstat-no" title="statement not covered" >false;</span>
2544
+ <span class="cstat-no" title="statement not covered" > if (Registry.lastOpenedGroup.length &gt; 1) {</span>
2545
+ const { target } = <span class="cstat-no" title="statement not covered" >e;</span>
2546
+ &nbsp;
2547
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.lastOpenedGroup.length ? Registry.popups[Registry.lastOpenedGroup[0]] : [];</span>
2548
+ &nbsp;
2549
+ let openedPopup = <span class="cstat-no" title="statement not covered" >null;</span>
2550
+ // eslint-disable-next-line guard-for-in
2551
+ <span class="cstat-no" title="statement not covered" > for (const i in groupPopups) {</span>
2552
+ const { isPopupOpen } = <span class="cstat-no" title="statement not covered" >groupPopups[i].state;</span>
2553
+ <span class="cstat-no" title="statement not covered" > if (isPopupOpen) {</span>
2554
+ <span class="cstat-no" title="statement not covered" > openedPopup = groupPopups[i];</span>
2555
+ <span class="cstat-no" title="statement not covered" > break;</span>
2556
+ }
2557
+ }
2558
+ &nbsp;
2559
+ <span class="cstat-no" title="statement not covered" > if (openedPopup) {</span>
2560
+ const { dropElement, placeHolderElement } = <span class="cstat-no" title="statement not covered" >openedPopup;</span>
2561
+ const isDropBoxChild = <span class="cstat-no" title="statement not covered" >isDescendant(dropElement, target);</span>
2562
+ const isTargetChild = <span class="cstat-no" title="statement not covered" >isDescendant(placeHolderElement, target);</span>
2563
+ // const isPopupMassUpdateChild = isDescendant(
2564
+ // massUpdateParent,
2565
+ // dropElement
2566
+ // );
2567
+ &nbsp;
2568
+ <span class="cstat-no" title="statement not covered" > if (</span>
2569
+ !isDropBoxChild &amp;&amp;
2570
+ !isTargetChild
2571
+ // &amp;&amp; isPopupMassUpdateChild
2572
+ ) {
2573
+ <span class="cstat-no" title="statement not covered" > needPrevent = true;</span>
2574
+ }
2575
+ }
2576
+ }
2577
+ <span class="cstat-no" title="statement not covered" > return needPrevent;</span>
2578
+ }
2579
+ &nbsp;
2580
+ <span class="fstat-no" title="function not covered" > do</span>cumentClickHandler1(e) {
2581
+ const needPrevent = <span class="cstat-no" title="statement not covered" >this.handleGetNeedPrevent(e);</span>
2582
+ <span class="cstat-no" title="statement not covered" > if (needPrevent) {</span>
2583
+ <span class="cstat-no" title="statement not covered" > this.removeClose(e);</span>
2584
+ <span class="cstat-no" title="statement not covered" > this.handleCloseLastOpenedGroup();</span>
2585
+ }
2586
+ }
2587
+ &nbsp;
2588
+ <span class="fstat-no" title="function not covered" > do</span>cumentClickHandler() {
2589
+ <span class="cstat-no" title="statement not covered" > try {</span>
2590
+ <span class="cstat-no" title="statement not covered" > Object.keys(Registry.popups).forEach(<span class="fstat-no" title="function not covered" >(g</span>roupName) =&gt; {</span>
2591
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.popups[groupName] || [];</span>
2592
+ <span class="cstat-no" title="statement not covered" > groupPopups.forEach(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; {</span>
2593
+ <span class="cstat-no" title="statement not covered" > popup.state.isPopupOpen &amp;&amp;</span>
2594
+ (!popup.props.checkBeforeClose || (popup.props.checkBeforeClose &amp;&amp; popup.props.checkBeforeClose())) &amp;&amp;
2595
+ !isTextSelected() &amp;&amp;
2596
+ popup.setState({
2597
+ isPopupOpen: false,
2598
+ isPopupReady: false
2599
+ });
2600
+ });
2601
+ });
2602
+ <span class="cstat-no" title="statement not covered" > Registry.lastOpenedGroup = [];</span>
2603
+ } catch (e) {
2604
+ // eslint-disable-next-line no-console
2605
+ //console.error('popup component not unmounted properly', e);
2606
+ }
2607
+ }
2608
+ &nbsp;
2609
+ <span class="fstat-no" title="function not covered" > do</span>cumentKeyupHandler(e) {
2610
+ <span class="cstat-no" title="statement not covered" > try {</span>
2611
+ <span class="cstat-no" title="statement not covered" > if (e.keyCode === 27) {</span>
2612
+ <span class="cstat-no" title="statement not covered" > this.handleCloseLastOpenedGroup();</span>
2613
+ }
2614
+ } catch (e) {
2615
+ // eslint-disable-next-line no-console
2616
+ //console.log('error', e);
2617
+ }
2618
+ }
2619
+ &nbsp;
2620
+ <span class="fstat-no" title="function not covered" > re</span>moveClose(e) {
2621
+ // e &amp;&amp; e.preventDefault &amp;&amp; e.preventDefault();
2622
+ <span class="cstat-no" title="statement not covered" > cancelBubblingEffect(e);</span>
2623
+ }
2624
+ &nbsp;
2625
+ <span class="fstat-no" title="function not covered" > up</span>datePopupState (view, views, viewsOffset, targetOffset, popupOffset, isAbsolute) {
2626
+ const isMobile = <span class="cstat-no" title="statement not covered" >isMobilePopover(true);</span>
2627
+ <span class="cstat-no" title="statement not covered" > this.setState({</span>
2628
+ isPopupReady: true,
2629
+ position: view,
2630
+ positions: views,
2631
+ positionsOffset: viewsOffset,
2632
+ targetOffset,
2633
+ popupOffset,
2634
+ isAbsolutePositioningNeeded: isAbsolute,
2635
+ isMobile: isMobile
2636
+ });
2637
+ };
2638
+ &nbsp;
2639
+ <span class="fstat-no" title="function not covered" > ha</span>ndlePopupPosition(defaultPosition = <span class="branch-0 cbranch-no" title="branch not covered" >'bottomCenter',</span> isUpdatePosition) {
2640
+ // isUpdatePosition ---&gt;&gt;&gt; Window resize and dropBox resize and to update the position
2641
+ const { direction } = <span class="cstat-no" title="statement not covered" >this.context || {};</span>
2642
+ const { placeHolderElement, dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2643
+ &nbsp;
2644
+ const needArrow = <span class="cstat-no" title="statement not covered" >this.getNeedArrow(this);</span>
2645
+ const isAbsolute = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(this);</span>
2646
+ const customOrder = <span class="cstat-no" title="statement not covered" >this.getCustomPositionOrder(this);</span>
2647
+ &nbsp;
2648
+ <span class="cstat-no" title="statement not covered" > if (direction === 'rtl') {</span>
2649
+ <span class="cstat-no" title="statement not covered" > defaultPosition = isAbsolute</span>
2650
+ ? rtlAbsolutePositionMapping[defaultPosition]
2651
+ : rtlFixedPositionMapping[defaultPosition];
2652
+ } else {
2653
+ <span class="cstat-no" title="statement not covered" > defaultPosition = isAbsolute ? absolutePositionMapping[defaultPosition] : defaultPosition;</span>
2654
+ }
2655
+ &nbsp;
2656
+ <span class="cstat-no" title="statement not covered" > if (!placeHolderElement &amp;&amp; !dropElement) {</span>
2657
+ const isMobile = <span class="cstat-no" title="statement not covered" >isMobilePopover(true);</span>
2658
+ <span class="cstat-no" title="statement not covered" > this.setState({ isPopupOpen: true, isPopupReady: true, isMobile: isMobile });</span>
2659
+ <span class="cstat-no" title="statement not covered" > return;</span>
2660
+ }
2661
+ &nbsp;
2662
+ const setPosition = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
2663
+ &nbsp;
2664
+ <span class="cstat-no" title="statement not covered" > this.cancelRaf('setPositionRafId');</span>
2665
+ &nbsp;
2666
+ <span class="cstat-no" title="statement not covered" > this.setPositionRafId = requestAnimationFrame(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
2667
+ const { placeHolderElement, dropElement } = <span class="cstat-no" title="statement not covered" >this;</span>
2668
+ const { position, isPopupReady } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2669
+ &nbsp;
2670
+ const scrollContainer = <span class="cstat-no" title="statement not covered" >placeHolderElement ? placeHolderElement.closest('[data-scroll=true]') || document.body : document.body;</span>
2671
+ const betterPosition = <span class="cstat-no" title="statement not covered" >viewPort.betterView(</span>
2672
+ dropElement,
2673
+ placeHolderElement,
2674
+ defaultPosition,
2675
+ scrollContainer,
2676
+ { needArrow, isAbsolute, customOrder }
2677
+ );
2678
+ const { view, views, viewsOffset, targetOffset, popupOffset } = <span class="cstat-no" title="statement not covered" >betterPosition || DUMMY_OBJECT;</span>
2679
+ &nbsp;
2680
+ <span class="cstat-no" title="statement not covered" > if (!isAbsolute) {</span>
2681
+ <span class="cstat-no" title="statement not covered" > if (!isPopupReady) {</span>
2682
+ <span class="cstat-no" title="statement not covered" > this.updatePopupState(view, views, viewsOffset, targetOffset, popupOffset, isAbsolute);</span>
2683
+ }
2684
+ <span class="cstat-no" title="statement not covered" > if (!dropElement) {</span>
2685
+ <span class="cstat-no" title="statement not covered" > return;</span>
2686
+ }
2687
+ <span class="cstat-no" title="statement not covered" > this.setContainerDynamicPositioning(betterPosition, needArrow);</span>
2688
+ } else {
2689
+ <span class="cstat-no" title="statement not covered" > if (position !== view || !isPopupReady) {</span>
2690
+ <span class="cstat-no" title="statement not covered" > this.updatePopupState(view, views, viewsOffset, targetOffset, popupOffset, isAbsolute);</span>
2691
+ }
2692
+ }
2693
+ &nbsp;
2694
+ <span class="cstat-no" title="statement not covered" > this.setPositionRafId = null;</span>
2695
+ });
2696
+ };
2697
+ &nbsp;
2698
+ <span class="cstat-no" title="statement not covered" > if (isUpdatePosition) {</span>
2699
+ <span class="cstat-no" title="statement not covered" > setPosition();</span>
2700
+ } else {
2701
+ <span class="cstat-no" title="statement not covered" > this.defaultPosition = defaultPosition;</span>
2702
+ <span class="cstat-no" title="statement not covered" > this.setState(</span>
2703
+ {
2704
+ isPopupOpen: true,
2705
+ isPopupReady: false
2706
+ },
2707
+ setPosition
2708
+ );
2709
+ }
2710
+ }
2711
+ &nbsp;
2712
+ <span class="fstat-no" title="function not covered" > ha</span>ndleOpenPopupPositionChange() {
2713
+ <span class="cstat-no" title="statement not covered" > Object.keys(Registry.popups).forEach(<span class="fstat-no" title="function not covered" >(g</span>roupName) =&gt; {</span>
2714
+ const groupPopups = <span class="cstat-no" title="statement not covered" >Registry.popups[groupName] || [];</span>
2715
+ <span class="cstat-no" title="statement not covered" > groupPopups.forEach(<span class="fstat-no" title="function not covered" >(p</span>opup) =&gt; {</span>
2716
+ <span class="cstat-no" title="statement not covered" > if (popup.state.isPopupOpen) {</span>
2717
+ const { placeHolderElement, dropElement, defaultPosition } = <span class="cstat-no" title="statement not covered" >popup;</span>
2718
+ const { position, positionsOffset = <span class="branch-0 cbranch-no" title="branch not covered" >{} </span>} = <span class="cstat-no" title="statement not covered" >popup.state;</span>
2719
+ &nbsp;
2720
+ <span class="cstat-no" title="statement not covered" > if (placeHolderElement &amp;&amp; dropElement) {</span>
2721
+ const scrollContainer = <span class="cstat-no" title="statement not covered" >placeHolderElement.closest('[data-scroll=true]') || document.body;</span>
2722
+ &nbsp;
2723
+ <span class="cstat-no" title="statement not covered" > this.cancelRaf('resizePositionRafId');</span>
2724
+ &nbsp;
2725
+ <span class="cstat-no" title="statement not covered" > this.resizePositionRafId = requestAnimationFrame(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
2726
+ const needArrow = <span class="cstat-no" title="statement not covered" >this.getNeedArrow(popup);</span>
2727
+ const isAbsolute = <span class="cstat-no" title="statement not covered" >this.getIsAbsolutePopup(popup);</span>
2728
+ const customOrder = <span class="cstat-no" title="statement not covered" >this.getCustomPositionOrder(popup);</span>
2729
+ &nbsp;
2730
+ const isMobile = <span class="cstat-no" title="statement not covered" >isMobilePopover(true);</span>
2731
+ &nbsp;
2732
+ const betterPosition = <span class="cstat-no" title="statement not covered" >viewPort.betterView(</span>
2733
+ dropElement,
2734
+ placeHolderElement,
2735
+ defaultPosition,
2736
+ scrollContainer,
2737
+ { needArrow, isAbsolute, customOrder }
2738
+ );
2739
+ const { view, views, viewsOffset = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span> targetOffset, popupOffset } = <span class="cstat-no" title="statement not covered" >betterPosition || {};</span>
2740
+ &nbsp;
2741
+ const { left: oldLeft = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> top: oldTop = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> bottom: oldBottom = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> right: oldRight = <span class="branch-0 cbranch-no" title="branch not covered" >'' </span>} = <span class="cstat-no" title="statement not covered" >positionsOffset[position] || {};</span>
2742
+ const { left = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> top = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> bottom = <span class="branch-0 cbranch-no" title="branch not covered" >'',</span> right = <span class="branch-0 cbranch-no" title="branch not covered" >'' </span>} = <span class="cstat-no" title="statement not covered" >viewsOffset[view] || {};</span>
2743
+ &nbsp;
2744
+ const changeState = <span class="cstat-no" title="statement not covered" >isAbsolute ? position !== view : oldLeft !== left || oldTop !== top || oldBottom !== bottom || oldRight !== right;</span>
2745
+ &nbsp;
2746
+ // let isInViewPort = viewPort.isInViewPort(
2747
+ // placeHolderElement,
2748
+ // scrollContainer
2749
+ // );
2750
+ &nbsp;
2751
+ <span class="cstat-no" title="statement not covered" > if (changeState) {</span>
2752
+ <span class="cstat-no" title="statement not covered" > popup.setState({</span>
2753
+ position: view,
2754
+ positions: views,
2755
+ positionsOffset: viewsOffset,
2756
+ targetOffset,
2757
+ popupOffset,
2758
+ isAbsolutePositioningNeeded: isAbsolute,
2759
+ isMobile: isMobile
2760
+ });
2761
+ }
2762
+ &nbsp;
2763
+ // if (!isInViewPort &amp;&amp; !isAbsolute) {
2764
+ // popup.setState({ isPopupOpen: false, isPopupReady: false });
2765
+ // } else if (view &amp;&amp; changeState) {
2766
+ // popup.setState({
2767
+ // position: view,
2768
+ // positions: views,
2769
+ // positionsOffset: viewsOffset,
2770
+ // targetOffset,
2771
+ // popupOffset,
2772
+ // isAbsolutePositioningNeeded: isAbsolute
2773
+ // });
2774
+ // }
2775
+ &nbsp;
2776
+ <span class="cstat-no" title="statement not covered" > this.resizePositionRafId = null;</span>
2777
+ });
2778
+ }
2779
+ }
2780
+ });
2781
+ });
2782
+ }
2783
+ &nbsp;
2784
+ <span class="fstat-no" title="function not covered" > ha</span>ndleResize() {
2785
+ <span class="cstat-no" title="statement not covered" > this.handleOpenPopupPositionChange();</span>
2786
+ }
2787
+ &nbsp;
2788
+ // handleScroll(e) {
2789
+ // // this.handleOpenPopupPositionChange();
2790
+ // const { closeOnScroll } = this.getCloseOnScrollPopup(this);
2791
+ // const { isPopupReady } = this.state;
2792
+ // if (isPopupReady) {
2793
+ // console.log('onscrollPopupREady');
2794
+ // }
2795
+ // if (isPopupReady &amp;&amp; closeOnScroll) {
2796
+ // console.log(this, 'handle Scroll');
2797
+ // this.togglePopup(e);
2798
+ // }
2799
+ // }
2800
+ &nbsp;
2801
+ <span class="fstat-no" title="function not covered" > ha</span>ndlePopupResize(popupSize) {
2802
+ const { height, width } = <span class="cstat-no" title="statement not covered" >popupSize;</span>
2803
+ const { height: oldHeight = <span class="branch-0 cbranch-no" title="branch not covered" >0,</span> width: oldWidth = <span class="branch-0 cbranch-no" title="branch not covered" >0 </span>} = <span class="cstat-no" title="statement not covered" >this.size || {};</span>
2804
+ const { isPopupReady, position } = <span class="cstat-no" title="statement not covered" >this.state;</span>
2805
+ &nbsp;
2806
+ <span class="cstat-no" title="statement not covered" > if (isPopupReady &amp;&amp; this.size &amp;&amp; (oldHeight !== height || width !== oldWidth)) {</span>
2807
+ <span class="cstat-no" title="statement not covered" > this.handlePopupPosition(position, true);</span>
2808
+ }
2809
+ <span class="cstat-no" title="statement not covered" > this.size = popupSize;</span>
2810
+ }
2811
+ &nbsp;
2812
+ <span class="fstat-no" title="function not covered" > ge</span>tTargetRef(el) {
2813
+ <span class="cstat-no" title="statement not covered" > this.placeHolderElement = el;</span>
2814
+ }
2815
+ &nbsp;
2816
+ <span class="fstat-no" title="function not covered" > ge</span>tContainerRef(el) {
2817
+ <span class="cstat-no" title="statement not covered" > this.dropElement = el;</span>
2818
+ }
2819
+ &nbsp;
2820
+ render() {
2821
+ // const { isPopupReady, isPopupOpen } = this.state;
2822
+ const { isMobile, ...restState } = this.state;
2823
+ &nbsp;
2824
+ // const localState = isPopupReady ? this.state : {};
2825
+ return (
2826
+ &lt;Component
2827
+ {...this.props}
2828
+ {...restState}
2829
+ openPopupOnly={this.openPopupOnly}
2830
+ closePopupOnly={this.closePopupOnly}
2831
+ togglePopup={this.togglePopup}
2832
+ removeClose={this.removeClose}
2833
+ getTargetRef={this.getTargetRef}
2834
+ getContainerRef={this.getContainerRef}
2835
+ /&gt;
2836
+ );
2837
+ }
2838
+ }
2839
+ &nbsp;
2840
+ Popup.displayName = Component.displayName || Component.name || <span class="branch-2 cbranch-no" title="branch not covered" >Popup.name;</span>
2841
+ &nbsp;
2842
+ Popup.contextTypes = ContextTypes;
2843
+ &nbsp;
2844
+ Popup.propTypes = PopupPropTypes;
2845
+ &nbsp;
2846
+ return hoistStatics(Popup, Component);
2847
+ };
2848
+ &nbsp;
2849
+ export default Popup;
2850
+ &nbsp;</pre></td></tr></table></pre>
2851
+
2852
+ <div class='push'></div><!-- for sticky footer -->
2853
+ </div><!-- /wrapper -->
2854
+ <div class='footer quiet pad2 space-top1 center small'>
2855
+ Code coverage generated by
2856
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2857
+ at 2025-10-07T20:25:49.821Z
2858
+ </div>
2859
+ <script src="../../prettify.js"></script>
2860
+ <script>
2861
+ window.onload = function () {
2862
+ prettyPrint();
2863
+ };
2864
+ </script>
2865
+ <script src="../../sorter.js"></script>
2866
+ <script src="../../block-navigation.js"></script>
2867
+ </body>
2868
+ </html>
2869
+