@k-int/stripes-kint-components 5.1.3 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +16 -7
  2. package/README.md +3 -1
  3. package/package.json +13 -4
  4. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -69
  5. package/es/artifacts/coverage-jest/lcov-report/prettify.js +0 -814
  6. package/es/artifacts/coverage-jest/lcov-report/sorter.js +0 -181
  7. package/junit.xml +0 -293
  8. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +0 -373
  9. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +0 -1468
  10. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +0 -146
  11. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +0 -88
  12. package/src/artifacts/coverage-jest/lcov-report/ComboButton/ComboButton.js.html +0 -568
  13. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.html +0 -131
  14. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.js.html +0 -88
  15. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +0 -667
  16. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +0 -1240
  17. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +0 -1474
  18. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +0 -733
  19. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +0 -176
  20. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +0 -97
  21. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/testResources.js.html +0 -793
  22. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +0 -208
  23. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +0 -352
  24. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +0 -835
  25. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +0 -1300
  26. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +0 -454
  27. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +0 -206
  28. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +0 -100
  29. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +0 -271
  30. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +0 -499
  31. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +0 -568
  32. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +0 -415
  33. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +0 -340
  34. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +0 -502
  35. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +0 -251
  36. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +0 -103
  37. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +0 -223
  38. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +0 -271
  39. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +0 -199
  40. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +0 -253
  41. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +0 -211
  42. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +0 -445
  43. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +0 -619
  44. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +0 -176
  45. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +0 -94
  46. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +0 -571
  47. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +0 -116
  48. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +0 -175
  49. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +0 -217
  50. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +0 -131
  51. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +0 -88
  52. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +0 -751
  53. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +0 -131
  54. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +0 -88
  55. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +0 -853
  56. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +0 -131
  57. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +0 -88
  58. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +0 -280
  59. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +0 -259
  60. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +0 -412
  61. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +0 -313
  62. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +0 -574
  63. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +0 -161
  64. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +0 -94
  65. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +0 -146
  66. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +0 -94
  67. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +0 -379
  68. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +0 -131
  69. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +0 -88
  70. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +0 -247
  71. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +0 -131
  72. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +0 -88
  73. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +0 -508
  74. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +0 -131
  75. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +0 -88
  76. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +0 -361
  77. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +0 -131
  78. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +0 -88
  79. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +0 -205
  80. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +0 -131
  81. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +0 -88
  82. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +0 -370
  83. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +0 -131
  84. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +0 -88
  85. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +0 -580
  86. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +0 -146
  87. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +0 -88
  88. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +0 -301
  89. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +0 -718
  90. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +0 -146
  91. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +0 -91
  92. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +0 -127
  93. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +0 -1069
  94. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +0 -400
  95. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +0 -131
  96. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +0 -88
  97. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +0 -131
  98. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +0 -91
  99. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +0 -346
  100. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +0 -131
  101. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +0 -88
  102. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +0 -307
  103. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +0 -131
  104. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +0 -88
  105. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +0 -214
  106. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +0 -131
  107. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +0 -88
  108. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +0 -220
  109. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +0 -208
  110. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +0 -146
  111. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +0 -91
  112. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +0 -409
  113. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +0 -131
  114. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +0 -88
  115. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +0 -913
  116. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +0 -131
  117. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +0 -88
  118. package/src/artifacts/coverage-jest/lcov-report/base.css +0 -224
  119. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -87
  120. package/src/artifacts/coverage-jest/lcov-report/constants/comparators.js.html +0 -124
  121. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +0 -121
  122. package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +0 -91
  123. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +0 -94
  124. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +0 -161
  125. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +0 -97
  126. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +0 -131
  127. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +0 -91
  128. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  129. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +0 -401
  130. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +0 -142
  131. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +0 -161
  132. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +0 -94
  133. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +0 -292
  134. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +0 -214
  135. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +0 -463
  136. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +0 -161
  137. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +0 -94
  138. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +0 -520
  139. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +0 -181
  140. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +0 -163
  141. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +0 -157
  142. package/src/artifacts/coverage-jest/lcov-report/hooks/useAvailableCustomProperties.js.html +0 -205
  143. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +0 -325
  144. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +0 -295
  145. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +0 -151
  146. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +0 -199
  147. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +0 -118
  148. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +0 -238
  149. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +0 -274
  150. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +0 -196
  151. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +0 -136
  152. package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +0 -226
  153. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +0 -283
  154. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +0 -238
  155. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +0 -274
  156. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +0 -322
  157. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +0 -208
  158. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +0 -265
  159. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +0 -187
  160. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +0 -166
  161. package/src/artifacts/coverage-jest/lcov-report/index.html +0 -641
  162. package/src/artifacts/coverage-jest/lcov-report/prettify.css +0 -1
  163. package/src/artifacts/coverage-jest/lcov-report/prettify.js +0 -2
  164. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +0 -161
  165. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +0 -94
  166. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +0 -292
  167. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +0 -211
  168. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +0 -466
  169. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  170. package/src/artifacts/coverage-jest/lcov-report/sorter.js +0 -196
  171. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +0 -181
  172. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/deparseKiwtQueryFilters.js.html +0 -181
  173. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.html +0 -176
  174. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.js.html +0 -124
  175. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryFilters.js.html +0 -211
  176. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryGroups.js.html +0 -367
  177. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryString.js.html +0 -184
  178. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +0 -109
  179. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +0 -637
  180. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +0 -124
  181. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +0 -211
  182. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +0 -341
  183. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +0 -190
  184. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +0 -127
  185. package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +0 -142
  186. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +0 -142
  187. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +0 -361
  188. package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +0 -130
  189. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +0 -109
  190. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +0 -112
  191. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +0 -166
  192. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +0 -145
  193. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +0 -130
  194. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +0 -127
  195. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +0 -112
  196. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +0 -370
  197. package/src/artifacts/coverage-jest/lcov-report/validators/index.html +0 -131
  198. package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +0 -88
  199. package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +0 -370
  200. package/src/artifacts/coverage-jest/lcov.info +0 -5423
  201. package/yarn-error.log +0 -129
@@ -1,1468 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for ActionList/ActionListFieldArray.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">ActionList</a> ActionListFieldArray.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">6.45% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>8/124</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/93</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/28</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">6.77% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>8/118</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-neutral">&nbsp;</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-yes">20x</span>
540
- <span class="cline-any cline-yes">20x</span>
541
- <span class="cline-any cline-yes">20x</span>
542
- <span class="cline-any cline-neutral">&nbsp;</span>
543
- <span class="cline-any cline-yes">20x</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-yes">20x</span>
570
- <span class="cline-any cline-no">&nbsp;</span>
571
- <span class="cline-any cline-no">&nbsp;</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-neutral">&nbsp;</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">20x</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-yes">20x</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-no">&nbsp;</span>
622
- <span class="cline-any cline-no">&nbsp;</span>
623
- <span class="cline-any cline-no">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-no">&nbsp;</span>
632
- <span class="cline-any cline-no">&nbsp;</span>
633
- <span class="cline-any cline-no">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-no">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-no">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-no">&nbsp;</span>
649
- <span class="cline-any cline-no">&nbsp;</span>
650
- <span class="cline-any cline-no">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-neutral">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-no">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-no">&nbsp;</span>
663
- <span class="cline-any cline-no">&nbsp;</span>
664
- <span class="cline-any cline-neutral">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-no">&nbsp;</span>
668
- <span class="cline-any cline-no">&nbsp;</span>
669
- <span class="cline-any cline-no">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-no">&nbsp;</span>
679
- <span class="cline-any cline-no">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-no">&nbsp;</span>
684
- <span class="cline-any cline-no">&nbsp;</span>
685
- <span class="cline-any cline-no">&nbsp;</span>
686
- <span class="cline-any cline-no">&nbsp;</span>
687
- <span class="cline-any cline-no">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-no">&nbsp;</span>
692
- <span class="cline-any cline-neutral">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-no">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-no">&nbsp;</span>
699
- <span class="cline-any cline-no">&nbsp;</span>
700
- <span class="cline-any cline-no">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-no">&nbsp;</span>
703
- <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-no">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-no">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-no">&nbsp;</span>
715
- <span class="cline-any cline-no">&nbsp;</span>
716
- <span class="cline-any cline-no">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-no">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-no">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-no">&nbsp;</span>
736
- <span class="cline-any cline-no">&nbsp;</span>
737
- <span class="cline-any cline-no">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-no">&nbsp;</span>
740
- <span class="cline-any cline-no">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-neutral">&nbsp;</span>
745
- <span class="cline-any cline-neutral">&nbsp;</span>
746
- <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-neutral">&nbsp;</span>
755
- <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-no">&nbsp;</span>
758
- <span class="cline-any cline-no">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-no">&nbsp;</span>
763
- <span class="cline-any cline-no">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-no">&nbsp;</span>
767
- <span class="cline-any cline-no">&nbsp;</span>
768
- <span class="cline-any cline-no">&nbsp;</span>
769
- <span class="cline-any cline-no">&nbsp;</span>
770
- <span class="cline-any cline-no">&nbsp;</span>
771
- <span class="cline-any cline-no">&nbsp;</span>
772
- <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-no">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-no">&nbsp;</span>
780
- <span class="cline-any cline-no">&nbsp;</span>
781
- <span class="cline-any cline-no">&nbsp;</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-no">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-no">&nbsp;</span>
787
- <span class="cline-any cline-no">&nbsp;</span>
788
- <span class="cline-any cline-no">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-no">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-no">&nbsp;</span>
797
- <span class="cline-any cline-no">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-no">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-no">&nbsp;</span>
814
- <span class="cline-any cline-no">&nbsp;</span>
815
- <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-neutral">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-neutral">&nbsp;</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-no">&nbsp;</span>
828
- <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-neutral">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-no">&nbsp;</span>
835
- <span class="cline-any cline-no">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-no">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-no">&nbsp;</span>
850
- <span class="cline-any cline-no">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-no">&nbsp;</span>
854
- <span class="cline-any cline-no">&nbsp;</span>
855
- <span class="cline-any cline-no">&nbsp;</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-no">&nbsp;</span>
861
- <span class="cline-any cline-no">&nbsp;</span>
862
- <span class="cline-any cline-no">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-no">&nbsp;</span>
867
- <span class="cline-any cline-no">&nbsp;</span>
868
- <span class="cline-any cline-no">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-no">&nbsp;</span>
871
- <span class="cline-any cline-neutral">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-no">&nbsp;</span>
874
- <span class="cline-any cline-neutral">&nbsp;</span>
875
- <span class="cline-any cline-neutral">&nbsp;</span>
876
- <span class="cline-any cline-no">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-neutral">&nbsp;</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-no">&nbsp;</span>
882
- <span class="cline-any cline-no">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-no">&nbsp;</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-neutral">&nbsp;</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-no">&nbsp;</span>
904
- <span class="cline-any cline-no">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-no">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-neutral">&nbsp;</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-neutral">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-neutral">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-no">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-no">&nbsp;</span>
928
- <span class="cline-any cline-neutral">&nbsp;</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-neutral">&nbsp;</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-neutral">&nbsp;</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-neutral">&nbsp;</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-neutral">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-neutral">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-no">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-no">&nbsp;</span>
969
- <span class="cline-any cline-no">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-yes">20x</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { forwardRef, useImperativeHandle, useState } from 'react';
989
- import PropTypes from 'prop-types';
990
- &nbsp;
991
- import get from 'lodash/get';
992
- import cloneDeep from 'lodash/cloneDeep';
993
- &nbsp;
994
- import { Field, useForm, useFormState } from 'react-final-form';
995
- import { Button, Headline, IconButton, MultiColumnList, TextField, Tooltip } from '@folio/stripes/components';
996
- import { useKintIntl } from '../hooks';
997
- &nbsp;
998
- import css from '../../../styles/ActionListFieldArray.css';
999
- &nbsp;
1000
- const EDITING_ACTIONS_WIDTH = 25;
1001
- const NON_EDITING_ACTIONS_WIDTH = 20;
1002
- const TOTAL_WIDTH = 100;
1003
- &nbsp;
1004
- const propTypes = {
1005
- actionAssigner: PropTypes.func,
1006
- columnMapping: PropTypes.object,
1007
- creatableFields: PropTypes.object,
1008
- createCallback: PropTypes.func,
1009
- defaultNewObject: PropTypes.object,
1010
- editableFields: PropTypes.object,
1011
- fields: PropTypes.object,
1012
- fieldComponents: PropTypes.object,
1013
- formatter: PropTypes.object,
1014
- hideActionsColumn: PropTypes.bool,
1015
- hideCreateButton: PropTypes.bool,
1016
- intlKey: PropTypes.string,
1017
- intlNS: PropTypes.string,
1018
- label: PropTypes.oneOfType([
1019
- PropTypes.string,
1020
- PropTypes.node
1021
- ]),
1022
- labelOverrides: PropTypes.object,
1023
- onRowClick: PropTypes.func,
1024
- triggerFormSubmit: PropTypes.func.isRequired,
1025
- validateFields: PropTypes.object,
1026
- visibleFields: PropTypes.arrayOf(PropTypes.string)
1027
- };
1028
- &nbsp;
1029
- // This needs to be outside of the main component for forwardRef to work properly it seems.
1030
- const ActionTrigger = forwardRef(<span class="fstat-no" title="function not covered" >({</span> action, ...actionTriggerProps }, ref) =&gt; {
1031
- <span class="cstat-no" title="statement not covered" > if (action.icon) {</span>
1032
- <span class="cstat-no" title="statement not covered" > return (</span>
1033
- &lt;IconButton
1034
- ref={ref}
1035
- icon={action.icon}
1036
- {...actionTriggerProps}
1037
- /&gt;
1038
- );
1039
- }
1040
- &nbsp;
1041
- <span class="cstat-no" title="statement not covered" > return (</span>
1042
- &lt;Button
1043
- ref={ref}
1044
- marginBottom0
1045
- {...actionTriggerProps}
1046
- &gt;
1047
- {action.label ?? action.name}
1048
- &lt;/Button&gt;
1049
- );
1050
- });
1051
- &nbsp;
1052
- ActionTrigger.propTypes = {
1053
- action: PropTypes.shape({
1054
- icon: PropTypes.string,
1055
- label: PropTypes.string,
1056
- name: PropTypes.string
1057
- })
1058
- };
1059
- &nbsp;
1060
- const ActionListFieldArray = forwardRef(<span class="fstat-no" title="function not covered" >({</span>
1061
- actionAssigner,
1062
- columnMapping,
1063
- creatableFields,
1064
- createCallback,
1065
- defaultNewObject,
1066
- editableFields,
1067
- fields,
1068
- fieldComponents,
1069
- hideActionsColumn = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
1070
- hideCreateButton = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
1071
- intlKey: passedIntlKey,
1072
- intlNS: passedIntlNS,
1073
- label,
1074
- labelOverrides = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
1075
- onRowClick,
1076
- validateFields,
1077
- visibleFields,
1078
- triggerFormSubmit,
1079
- ...mclProps // Assume anything left over is to directly apply to the MCL
1080
- }, ref) =&gt; {
1081
- // Grab finalForm functions/values from form hooks
1082
- const { change } = <span class="cstat-no" title="statement not covered" >useForm();</span>
1083
- const { hasValidationErrors, initialValues, pristine, submitting, values } = <span class="cstat-no" title="statement not covered" >useFormState();</span>
1084
- const kintIntl = <span class="cstat-no" title="statement not covered" >useKintIntl(passedIntlKey, passedIntlNS);</span>
1085
- /*
1086
- Keep track of which field we are editing.
1087
- null for no field, string id if we are editing an existing field and
1088
- 'NEW_ROW' for a new row
1089
- */
1090
- const [editing, setEditing] = <span class="cstat-no" title="statement not covered" >useState(null);</span>
1091
- &nbsp;
1092
- const toggleEditing = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>d) =&gt; {</span>
1093
- <span class="cstat-no" title="statement not covered" > if (editing) {</span>
1094
- <span class="cstat-no" title="statement not covered" > setEditing(null);</span>
1095
- } else {
1096
- <span class="cstat-no" title="statement not covered" > setEditing(id);</span>
1097
- }
1098
- };
1099
- &nbsp;
1100
- const handleSave = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>ndex) =&gt; {</span>
1101
- const {
1102
- actionListActions: _a,
1103
- fieldName: _fn,
1104
- fieldIndex: _fi,
1105
- ...rowData
1106
- } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
1107
- &nbsp;
1108
- // Find "edit" entry in actionAssigner
1109
- const editCallback = <span class="cstat-no" title="statement not covered" >actionAssigner(rowData)?.find(<span class="fstat-no" title="function not covered" >ac</span>t =&gt; <span class="cstat-no" title="statement not covered" >act.name === 'edit')</span>?.callback;</span>
1110
- <span class="cstat-no" title="statement not covered" > if (editCallback) {</span>
1111
- <span class="cstat-no" title="statement not covered" > editCallback(rowData);</span>
1112
- }
1113
- };
1114
- &nbsp;
1115
- const handleCreate = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>ndex) =&gt; {</span>
1116
- const {
1117
- actionListActions: _a,
1118
- fieldName: _fn,
1119
- fieldIndex: _fi,
1120
- ...rowData
1121
- } = <span class="cstat-no" title="statement not covered" >fields.value[index];</span>
1122
- &nbsp;
1123
- <span class="cstat-no" title="statement not covered" > if (createCallback) {</span>
1124
- <span class="cstat-no" title="statement not covered" > createCallback(rowData);</span>
1125
- }
1126
- };
1127
- &nbsp;
1128
- const handleClickCreate = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1129
- <span class="cstat-no" title="statement not covered" > toggleEditing('NEW_ROW');</span>
1130
- <span class="cstat-no" title="statement not covered" > fields.unshift(defaultNewObject);</span>
1131
- };
1132
- &nbsp;
1133
- // Way to go into create mode from external component, and way to tell internal editing state
1134
- <span class="cstat-no" title="statement not covered" > useImperativeHandle(ref, <span class="fstat-no" title="function not covered" >()</span> =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
1135
- create: handleClickCreate,
1136
- editing
1137
- }));
1138
- &nbsp;
1139
- const getColumnWidths = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1140
- const widthNotInUseByActions = <span class="cstat-no" title="statement not covered" >editing ?</span>
1141
- TOTAL_WIDTH - EDITING_ACTIONS_WIDTH :
1142
- TOTAL_WIDTH - NON_EDITING_ACTIONS_WIDTH;
1143
- &nbsp;
1144
- const staticWidth = (<span class="cstat-no" title="statement not covered" >widthNotInUseByActions / (visibleFields.length))</span>;
1145
- const widthsObject = <span class="cstat-no" title="statement not covered" >{};</span>
1146
- <span class="cstat-no" title="statement not covered" > visibleFields.forEach(<span class="fstat-no" title="function not covered" >(f</span>) =&gt; {</span>
1147
- <span class="cstat-no" title="statement not covered" > if (f !== 'actionListActions') {</span>
1148
- <span class="cstat-no" title="statement not covered" > widthsObject[f] = `${staticWidth}%`;</span>
1149
- }
1150
- });
1151
- &nbsp;
1152
- <span class="cstat-no" title="statement not covered" > widthsObject.actionListActions = editing ?</span>
1153
- `${EDITING_ACTIONS_WIDTH}%` :
1154
- `${NON_EDITING_ACTIONS_WIDTH}%`;
1155
- &nbsp;
1156
- <span class="cstat-no" title="statement not covered" > return widthsObject;</span>
1157
- };
1158
- &nbsp;
1159
- const renderActionButtons = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>ata) =&gt; {</span>
1160
- const fieldName = <span class="cstat-no" title="statement not covered" >`contentData[${data.rowIndex}]`;</span>
1161
- const { actionListActions: actions, ...rest } = <span class="cstat-no" title="statement not covered" >data;</span>
1162
- &nbsp;
1163
- <span class="cstat-no" title="statement not covered" > if (data.id === editing || (!data.id &amp;&amp; editing === 'NEW_ROW')) {</span>
1164
- // Render the save/cancel buttons
1165
- <span class="cstat-no" title="statement not covered" > return (</span>
1166
- &lt;div id={`action-button-parent-${data.rowIndex + 1}`}&gt;
1167
- &lt;Button
1168
- key={`save[${data.rowIndex}]`}
1169
- buttonStyle="primary"
1170
- disabled={hasValidationErrors || submitting || pristine}
1171
- marginBottom0
1172
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
1173
- <span class="cstat-no" title="statement not covered" > triggerFormSubmit(); </span>// This is set up as () =&gt; null in ActionList, so essentially only acts here to force validation
1174
- &nbsp;
1175
- <span class="cstat-no" title="statement not covered" > if (!hasValidationErrors) {</span>
1176
- <span class="cstat-no" title="statement not covered" > if (!data.id &amp;&amp; editing === 'NEW_ROW') {</span>
1177
- <span class="cstat-no" title="statement not covered" > handleCreate(data.rowIndex);</span>
1178
- } else {
1179
- <span class="cstat-no" title="statement not covered" > handleSave(data.rowIndex);</span>
1180
- }
1181
- <span class="cstat-no" title="statement not covered" > toggleEditing(data.id);</span>
1182
- }
1183
- }}
1184
- type="submit"
1185
- &gt;
1186
- {kintIntl.formatKintMessage({
1187
- id: 'save',
1188
- overrideValue: labelOverrides?.save
1189
- })}
1190
- &lt;/Button&gt;
1191
- &lt;Button
1192
- key={`cancel[${data.rowIndex}]`}
1193
- data-type-button="cancel"
1194
- marginBottom0
1195
- onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
1196
- <span class="cstat-no" title="statement not covered" > if (!data.id &amp;&amp; editing === 'NEW_ROW') {</span>
1197
- <span class="cstat-no" title="statement not covered" > fields.remove(data.rowIndex);</span>
1198
- <span class="cstat-no" title="statement not covered" > toggleEditing('NEW_ROW');</span>
1199
- } else {
1200
- <span class="cstat-no" title="statement not covered" > change(fieldName, get(initialValues, fieldName));</span>
1201
- <span class="cstat-no" title="statement not covered" > toggleEditing(data.id);</span>
1202
- }
1203
- }}
1204
- &gt;
1205
- {kintIntl.formatKintMessage({
1206
- id: 'cancel',
1207
- overrideValue: labelOverrides?.cancel
1208
- })}
1209
- &lt;/Button&gt;
1210
- &lt;/div&gt;
1211
- );
1212
- }
1213
- &nbsp;
1214
- <span class="cstat-no" title="statement not covered" > return (</span>
1215
- &lt;div id={`action-button-parent-${data.rowIndex + 1}`}&gt;
1216
- {actions?.map(<span class="fstat-no" title="function not covered" >ac</span>tion =&gt; {
1217
- let actionFunction;
1218
- <span class="cstat-no" title="statement not covered" > if (action.callback) {</span>
1219
- <span class="cstat-no" title="statement not covered" > actionFunction = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >action.callback(rest);</span></span>
1220
- }
1221
- &nbsp;
1222
- // Edit has special action functionality, revealing fields etc.
1223
- <span class="cstat-no" title="statement not covered" > if (action.name === 'edit') {</span>
1224
- <span class="cstat-no" title="statement not covered" > actionFunction = <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >toggleEditing(data.id);</span></span>
1225
- }
1226
- &nbsp;
1227
- let ariaLabel = <span class="cstat-no" title="statement not covered" >`action-${action.name}[${data.rowIndex}]`;</span>
1228
- <span class="cstat-no" title="statement not covered" > if (action?.ariaLabel) {</span>
1229
- <span class="cstat-no" title="statement not covered" > if (typeof action.ariaLabel === 'function') {</span>
1230
- <span class="cstat-no" title="statement not covered" > ariaLabel = action.ariaLabel(data);</span>
1231
- } else <span class="cstat-no" title="statement not covered" >if (typeof action.ariaLabel === 'string') {</span>
1232
- <span class="cstat-no" title="statement not covered" > ariaLabel = action.ariaLabel;</span>
1233
- } else {
1234
- <span class="cstat-no" title="statement not covered" > throw new Error(`Provided ariaLabel for action "${action.name}" must be a function or a string.`);</span>
1235
- }
1236
- }
1237
- &nbsp;
1238
- let tooltip;
1239
- let tooltipSub;
1240
- <span class="cstat-no" title="statement not covered" > if (action?.tooltip) {</span>
1241
- <span class="cstat-no" title="statement not covered" > if (typeof action.tooltip === 'function') {</span>
1242
- <span class="cstat-no" title="statement not covered" > tooltip = action.tooltip(data);</span>
1243
- } else {
1244
- <span class="cstat-no" title="statement not covered" > tooltip = action.tooltip;</span>
1245
- }
1246
- &nbsp;
1247
- <span class="cstat-no" title="statement not covered" > if (action?.tooltipSub) {</span>
1248
- <span class="cstat-no" title="statement not covered" > if (typeof action.tooltipSub === 'function') {</span>
1249
- <span class="cstat-no" title="statement not covered" > tooltipSub = action.tooltipSub(data);</span>
1250
- } else {
1251
- <span class="cstat-no" title="statement not covered" > tooltipSub = action.tooltipSub;</span>
1252
- }
1253
- }
1254
- }
1255
- &nbsp;
1256
- // If a tooltip is declared, render that around the actionButton
1257
- <span class="cstat-no" title="statement not covered" > if (tooltip) {</span>
1258
- <span class="cstat-no" title="statement not covered" > return (</span>
1259
- &lt;Tooltip
1260
- id={`action-${action.name}[${data.rowIndex}]-tooltip`}
1261
- sub={tooltipSub}
1262
- text={tooltip}
1263
- &gt;
1264
- {<span class="fstat-no" title="function not covered" >({</span> ref: actionTriggerRef, ariaIds }) =&gt; (
1265
- <span class="cstat-no" title="statement not covered" > &lt;ActionTrigger</span>
1266
- key={`action-${action.name}[${data.rowIndex}]`}
1267
- ref={actionTriggerRef}
1268
- action={action}
1269
- aria-describedby={ariaIds.sub}
1270
- aria-labelledby={ariaIds.text}
1271
- disabled={!!editing}
1272
- onClick={<span class="fstat-no" title="function not covered" >e </span>=&gt; {
1273
- <span class="cstat-no" title="statement not covered" > e.stopPropagation();</span>
1274
- <span class="cstat-no" title="statement not covered" > if (actionFunction) {</span>
1275
- <span class="cstat-no" title="statement not covered" > return actionFunction();</span>
1276
- }
1277
- &nbsp;
1278
- <span class="cstat-no" title="statement not covered" > return null;</span>
1279
- }}
1280
- to={action.to}
1281
- /&gt;
1282
- )}
1283
- &lt;/Tooltip&gt;
1284
- );
1285
- }
1286
- &nbsp;
1287
- // Finally, render the action button itself
1288
- <span class="cstat-no" title="statement not covered" > return (</span>
1289
- &lt;ActionTrigger
1290
- key={`action-${action.name}[${data.rowIndex}]`}
1291
- action={action}
1292
- ariaLabel={ariaLabel}
1293
- disabled={!!editing}
1294
- onClick={<span class="fstat-no" title="function not covered" >e </span>=&gt; {
1295
- <span class="cstat-no" title="statement not covered" > e.stopPropagation();</span>
1296
- <span class="cstat-no" title="statement not covered" > if (actionFunction) {</span>
1297
- <span class="cstat-no" title="statement not covered" > return actionFunction();</span>
1298
- }
1299
- &nbsp;
1300
- <span class="cstat-no" title="statement not covered" > return null;</span>
1301
- }}
1302
- to={action.to}
1303
- /&gt;
1304
- );
1305
- })}
1306
- &lt;/div&gt;
1307
- );
1308
- };
1309
- &nbsp;
1310
- const assignActions = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1311
- <span class="cstat-no" title="statement not covered" > return (</span>
1312
- fields.map(<span class="fstat-no" title="function not covered" >(f</span>ieldName, fieldIndex) =&gt; {
1313
- // Fetch the content from the field Values
1314
- const cd = <span class="cstat-no" title="statement not covered" >cloneDeep(get(values, fieldName));</span>
1315
- <span class="cstat-no" title="statement not covered" > cd.actionListActions = actionAssigner(cd);</span>
1316
- <span class="cstat-no" title="statement not covered" > return { ...cd, fieldName, fieldIndex };</span>
1317
- })
1318
- );
1319
- };
1320
- &nbsp;
1321
- const { formatter, ...restOfMclProps } = <span class="cstat-no" title="statement not covered" >mclProps;</span> // Destructure formatter part of mclProps
1322
- const fieldAwareFormatter = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
1323
- const returnObj = <span class="cstat-no" title="statement not covered" >{};</span>
1324
- // For each visible field, if it's being edited then ignore passed formatters, else use them
1325
- &nbsp;
1326
- // Track whether we've autoFocused on a field yet
1327
- let autoFocus = <span class="cstat-no" title="statement not covered" >true;</span>
1328
- <span class="cstat-no" title="statement not covered" > visibleFields.forEach(<span class="fstat-no" title="function not covered" >ke</span>y =&gt; {</span>
1329
- <span class="cstat-no" title="statement not covered" > returnObj[key] = <span class="fstat-no" title="function not covered" >cd</span> =&gt; {</span>
1330
- // Row is being edited if it has no id, or its id is in the editing string
1331
- const editingRow = <span class="cstat-no" title="statement not covered" >cd.id === editing || !cd.id;</span>
1332
- &nbsp;
1333
- // Default to the passed formatter values
1334
- let returnValue = <span class="cstat-no" title="statement not covered" >formatter?.[key] ? formatter[key](cd) : cd[key];</span>
1335
- &nbsp;
1336
- // If editing, replace values with fields
1337
- <span class="cstat-no" title="statement not covered" > if (editingRow) {</span>
1338
- /*
1339
- Check if the property is a visible field.
1340
- If it is not then we don't allow editing in this component.
1341
- */
1342
- const editFunction = <span class="cstat-no" title="statement not covered" >editableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
1343
- const createFunction = <span class="cstat-no" title="statement not covered" >creatableFields[key] ?? (<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >true)</span>;</span>
1344
- /*
1345
- Next check if this is a new row, if so we should run the createableField function with the data.
1346
- If it is not a new row, then we run the editableField function with the data,
1347
- and it should return true/false
1348
- &nbsp;
1349
- For both checks
1350
- true =&gt; Field, false =&gt; display value
1351
- */
1352
- <span class="cstat-no" title="statement not covered" > if (</span>
1353
- (!cd.id &amp;&amp; createFunction(cd)) ||
1354
- (!!cd.id &amp;&amp; editFunction(cd))
1355
- ) {
1356
- const passedObject = <span class="cstat-no" title="statement not covered" >{</span>
1357
- allValues: values,
1358
- index: cd?.fieldIndex,
1359
- key,
1360
- name: `${cd.fieldName}.${key}`,
1361
- rowFieldName: cd.fieldName
1362
- };
1363
- &nbsp;
1364
- const validateFunction = <span class="cstat-no" title="statement not covered" >validateFields?.[key] ? validateFields?.[key](passedObject) : null;</span>
1365
- <span class="cstat-no" title="statement not covered" > returnValue =</span>
1366
- fieldComponents[key] ?
1367
- fieldComponents[key](passedObject) :
1368
- &lt;Field
1369
- ariaLabel={key} // TODO at the moment the only way to override this is passing in an entire fieldComponent.
1370
- autoFocus={autoFocus}
1371
- component={TextField}
1372
- marginBottom0
1373
- name={`${cd.fieldName}.${key}`}
1374
- parse={<span class="fstat-no" title="function not covered" >v </span>=&gt; <span class="cstat-no" title="statement not covered" >v}</span>
1375
- validate={validateFunction}
1376
- /&gt;;
1377
- // After first field, every other field should not autofocus
1378
- <span class="cstat-no" title="statement not covered" > autoFocus = false;</span>
1379
- }
1380
- }
1381
- &nbsp;
1382
- <span class="cstat-no" title="statement not covered" > return returnValue;</span>
1383
- };
1384
- });
1385
- <span class="cstat-no" title="statement not covered" > return returnObj;</span>
1386
- };
1387
- &nbsp;
1388
- <span class="cstat-no" title="statement not covered" > return (</span>
1389
- &lt;&gt;
1390
- &lt;div className={css.header}&gt;
1391
- &lt;Headline
1392
- className={css.headerText}
1393
- &gt;
1394
- {label}
1395
- &lt;/Headline&gt;
1396
- {!hideCreateButton &amp;&amp;
1397
- &lt;Button
1398
- disabled={!!editing || !createCallback}
1399
- marginBottom0
1400
- onClick={handleClickCreate}
1401
- &gt;
1402
- {kintIntl.formatKintMessage({
1403
- id: 'new',
1404
- overrideValue: labelOverrides?.new
1405
- })}
1406
- &lt;/Button&gt;
1407
- }
1408
- &lt;/div&gt;
1409
- &lt;MultiColumnList
1410
- columnMapping={{
1411
- ...columnMapping,
1412
- actionListActions: kintIntl.formatKintMessage({
1413
- id: 'actions',
1414
- overrideValue: labelOverrides?.actions
1415
- })
1416
- }}
1417
- columnWidths={getColumnWidths()}
1418
- contentData={assignActions()}
1419
- formatter={{
1420
- actionListActions: renderActionButtons,
1421
- ...fieldAwareFormatter()
1422
- }}
1423
- interactive={!!onRowClick}
1424
- onRowClick={onRowClick ? <span class="fstat-no" title="function not covered" >(e</span>, row) =&gt; {
1425
- // Make sure we ONLY fire row click from row, and not from action buttons.
1426
- const targetIsAction = <span class="cstat-no" title="statement not covered" >e.target.closest('[id^=action-button-parent]') !== null;</span>
1427
- &nbsp;
1428
- <span class="cstat-no" title="statement not covered" > if (!targetIsAction) {</span>
1429
- const { actionListActions: _ala, ...rowWithoutActions } = <span class="cstat-no" title="statement not covered" >row;</span>
1430
- <span class="cstat-no" title="statement not covered" > onRowClick(e, rowWithoutActions);</span>
1431
- }
1432
- } : null}
1433
- visibleColumns={(
1434
- !hideActionsColumn ||
1435
- !!editing
1436
- ) ?
1437
- [...visibleFields, 'actionListActions'] :
1438
- visibleFields
1439
- }
1440
- {...restOfMclProps}
1441
- /&gt;
1442
- &lt;/&gt;
1443
- );
1444
- });
1445
- &nbsp;
1446
- ActionListFieldArray.propTypes = propTypes;
1447
- &nbsp;
1448
- export default ActionListFieldArray;
1449
- &nbsp;</pre></td></tr></table></pre>
1450
-
1451
- <div class='push'></div><!-- for sticky footer -->
1452
- </div><!-- /wrapper -->
1453
- <div class='footer quiet pad2 space-top1 center small'>
1454
- Code coverage generated by
1455
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1456
- at 2023-10-18T12:55:05.261Z
1457
- </div>
1458
- <script src="../prettify.js"></script>
1459
- <script>
1460
- window.onload = function () {
1461
- prettyPrint();
1462
- };
1463
- </script>
1464
- <script src="../sorter.js"></script>
1465
- <script src="../block-navigation.js"></script>
1466
- </body>
1467
- </html>
1468
-