@epa-wg/custom-element-dist 0.0.31 → 0.0.33

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 (249) hide show
  1. package/.idea/inspectionProfiles/Project_Default.xml +2 -1
  2. package/.storybook/main.ts +3 -7
  3. package/.storybook/preview.ts +4 -6
  4. package/README.md +4 -4
  5. package/coverage/coverage-final.json +7 -18
  6. package/coverage/index.html +30 -30
  7. package/coverage/src/custom-element/coverage.svg +1 -1
  8. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  9. package/coverage/src/custom-element/custom-element.js.html +719 -473
  10. package/coverage/src/custom-element/http-request.js/coverage.svg +1 -1
  11. package/coverage/src/custom-element/http-request.js.html +6 -6
  12. package/coverage/src/custom-element/index.html +29 -29
  13. package/coverage/src/custom-element/local-storage.js.html +1 -1
  14. package/coverage/src/custom-element/location-element.js.html +31 -31
  15. package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
  16. package/coverage/src/custom-element/module-url.js.html +20 -20
  17. package/coverage/src/index.html +1 -1
  18. package/coverage/src/mocks/handlers.ts.html +1 -1
  19. package/coverage/src/mocks/index.html +1 -1
  20. package/coverage/src/stories/coverage.svg +1 -1
  21. package/coverage/src/stories/{attributes.test.stories.ts → frame.canvas.ts}/coverage.svg +1 -1
  22. package/coverage/src/stories/frame.canvas.ts.html +175 -0
  23. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  24. package/coverage/src/stories/index.html +14 -179
  25. package/coverage/src/stories/testStoryBook.ts.html +8 -8
  26. package/coverage/src/sum.ts.html +1 -1
  27. package/dist/custom-element-6slVaFEs.cjs +97 -0
  28. package/dist/custom-element-WnOqmEOe.js +609 -0
  29. package/dist/custom-element-bundle.cjs +1 -1
  30. package/dist/custom-element-bundle.js +30 -28
  31. package/dist/demo/a.html +51 -38
  32. package/dist/demo/attributes.html +153 -0
  33. package/dist/demo/data-slices.html +2 -2
  34. package/dist/demo/external-template.html +1 -0
  35. package/dist/demo/external-templates-sb-6.html +42 -0
  36. package/dist/demo/external-templates-sb-7.html +42 -0
  37. package/dist/demo/form.html +42 -0
  38. package/dist/demo/hex-grid-dce.html +1 -1
  39. package/dist/demo/hex-grid.html +1 -1
  40. package/dist/demo/html-template.html +1 -1
  41. package/dist/demo/module-url-sb-2.html +46 -0
  42. package/dist/demo/module-url-sb-4.html +48 -0
  43. package/dist/demo/module-url-sb-5.html +53 -0
  44. package/dist/demo/parameters.html +20 -1
  45. package/dist/demo/s.xml +66 -9
  46. package/dist/demo/s.xslt +89 -16
  47. package/dist/demo/ss.html +12 -22
  48. package/dist/mockServiceWorker.js +31 -8
  49. package/package.json +25 -26
  50. package/public/demo/a.html +51 -38
  51. package/public/demo/attributes.html +153 -0
  52. package/public/demo/data-slices.html +2 -2
  53. package/public/demo/external-template.html +1 -0
  54. package/public/demo/external-templates-sb-6.html +42 -0
  55. package/public/demo/external-templates-sb-7.html +42 -0
  56. package/public/demo/form.html +42 -0
  57. package/public/demo/hex-grid-dce.html +1 -1
  58. package/public/demo/hex-grid.html +1 -1
  59. package/public/demo/html-template.html +1 -1
  60. package/public/demo/module-url-sb-2.html +46 -0
  61. package/public/demo/module-url-sb-4.html +48 -0
  62. package/public/demo/module-url-sb-5.html +53 -0
  63. package/public/demo/parameters.html +20 -1
  64. package/public/demo/s.xml +66 -9
  65. package/public/demo/s.xslt +89 -16
  66. package/public/demo/ss.html +12 -22
  67. package/public/mockServiceWorker.js +31 -8
  68. package/src/custom-element/custom-element.d.ts +4 -0
  69. package/src/custom-element/custom-element.js +148 -66
  70. package/src/custom-element/demo/a.html +51 -38
  71. package/src/custom-element/demo/attributes.html +153 -0
  72. package/src/custom-element/demo/data-slices.html +2 -2
  73. package/src/custom-element/demo/external-template.html +1 -0
  74. package/src/custom-element/demo/form.html +42 -0
  75. package/src/custom-element/demo/hex-grid-dce.html +1 -1
  76. package/src/custom-element/demo/hex-grid.html +1 -1
  77. package/src/custom-element/demo/html-template.html +1 -1
  78. package/src/custom-element/demo/parameters.html +20 -1
  79. package/src/custom-element/demo/s.xml +66 -9
  80. package/src/custom-element/demo/s.xslt +89 -16
  81. package/src/custom-element/demo/ss.html +12 -22
  82. package/src/custom-element/ide/web-types-dce.json +1 -1
  83. package/src/custom-element/ide/web-types-xsl.json +1 -1
  84. package/src/custom-element/index.html +1 -1
  85. package/src/material/components/badge.html +240 -0
  86. package/src/material/components/dropdown.html +26 -14
  87. package/src/material/components/icon-link.html +1 -0
  88. package/src/material/components/icon.html +253 -0
  89. package/src/material/components/input.html +571 -0
  90. package/src/material/components/menu.html +7 -5
  91. package/src/material/components.html +48 -11
  92. package/src/material/theme/semantic.css +20 -1
  93. package/src/mocks/versions.mock.ts +1 -1
  94. package/src/stories/__screenshots__/attributes.test.stories.ts +1 -0
  95. package/src/stories/__screenshots__/external-template.test.stories.ts +1 -0
  96. package/src/stories/__screenshots__/module-url.test.stories.ts +1 -0
  97. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-definition-1.png +0 -0
  98. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-runtime-change-1.png +0 -0
  99. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-1.png +0 -0
  100. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-2.png +0 -0
  101. package/src/stories/__screenshots__/stories.test.ts/attributes-cloneAs-el-newTag--1.png +0 -0
  102. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---1.png +0 -0
  103. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---2.png +0 -0
  104. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---3.png +0 -0
  105. package/src/stories/__screenshots__/stories.test.ts/attributes-mix-to-from--1.png +0 -0
  106. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-definition-1.png +0 -0
  107. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-runtime-change-1.png +0 -0
  108. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-1.png +0 -0
  109. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-2.png +0 -0
  110. package/src/stories/__screenshots__/stories.test.ts/http-request-cloneAs-el-newTag--1.png +0 -0
  111. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-headers-and-response-status-and-headers-1.png +0 -0
  112. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-delayed--5-seconds-response-1.png +0 -0
  113. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-error-1.png +0 -0
  114. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---1.png +0 -0
  115. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---2.png +0 -0
  116. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---3.png +0 -0
  117. package/src/stories/__screenshots__/stories.test.ts/http-request-mix-to-from--1.png +0 -0
  118. package/src/stories/__screenshots__/stories.test.ts/http-request-url-and-slice-1.png +0 -0
  119. package/src/stories/__screenshots__/stories.test.ts/http-request-url-change-1.png +0 -0
  120. package/src/stories/attributes.test.stories.ts +177 -11
  121. package/src/stories/external-template.test.stories.ts +17 -15
  122. package/src/stories/frame.canvas.ts +31 -0
  123. package/src/stories/module-url.test.stories.ts +29 -61
  124. package/storybook-static/assets/Color-F6OSRLHC-Cbp293x2.js +1 -0
  125. package/storybook-static/assets/Configure-BrFr4SLE.js +165 -0
  126. package/storybook-static/assets/DocsRenderer-CFRXHY34-DhHzJiIO.js +2 -0
  127. package/storybook-static/assets/attributes.test.stories-CzWkKw0e.js +1 -0
  128. package/storybook-static/assets/attributes.test.stories-Gg9LQTEK.js +349 -0
  129. package/storybook-static/assets/{css.test.stories-Cgn6ICr0.js → css.test.stories-B_3ltOrx.js} +1 -1
  130. package/storybook-static/assets/custom-element-CPnvJnn8.js +97 -0
  131. package/storybook-static/assets/{dom-merge.test.stories-CBObfPWg.js → dom-merge.test.stories-nQxcgLoM.js} +1 -1
  132. package/storybook-static/assets/entry-preview-docs-Dwczwtsc.js +2 -0
  133. package/storybook-static/assets/external-template.test.stories-BivZqBTp.js +1 -0
  134. package/storybook-static/assets/{external-template.test.stories-VfKUQ8eu.js → external-template.test.stories-DZ-rjnfd.js} +39 -41
  135. package/storybook-static/assets/{form.test.stories-CnuGN7Zw.js → form.test.stories-DQhPYtMj.js} +1 -1
  136. package/storybook-static/assets/frame.canvas-ClTqYyMN.js +1 -0
  137. package/storybook-static/assets/{handlers-V_T7WjNK.js → handlers-CLkps6Nz.js} +17 -14
  138. package/storybook-static/assets/{http-request.stories-8NN1Coqm.js → http-request.stories-jo0f73nw.js} +1 -1
  139. package/storybook-static/assets/iframe-CZwRpnn9.js +199 -0
  140. package/storybook-static/assets/index-B68YUdzy.js +621 -0
  141. package/storybook-static/assets/index-BwkS7JH_.js +8 -0
  142. package/storybook-static/assets/index-CJQtnF9V.js +1 -0
  143. package/storybook-static/assets/index-Dr4PwNfd.js +240 -0
  144. package/storybook-static/assets/{local-storage.test.stories-Dk5Yqc7m.js → local-storage.test.stories-uA5EKRPf.js} +1 -1
  145. package/storybook-static/assets/{location-element.test.stories-56um6s5L.js → location-element.test.stories-Cu-6Elcg.js} +1 -1
  146. package/storybook-static/assets/module-url.test.stories-CD_wusXQ.js +142 -0
  147. package/storybook-static/assets/module-url.test.stories-CTjUAk3J.js +1 -0
  148. package/storybook-static/assets/preview-1xJJ3sKE.js +1 -0
  149. package/storybook-static/assets/preview-BFlNN3Wj.js +1 -0
  150. package/storybook-static/assets/preview-CTOeX_lO.js +1 -0
  151. package/storybook-static/assets/preview-Cm4PPhHS.js +50 -0
  152. package/storybook-static/assets/preview-CuCH40jj.js +2 -0
  153. package/storybook-static/assets/preview-DfTudP20.js +1 -0
  154. package/storybook-static/assets/{set-url.test.stories-B4E6hIe-.js → set-url.test.stories-CY7B9BVZ.js} +1 -1
  155. package/storybook-static/assets/{slice-events.test.stories-BR0F-B6I.js → slice-events.test.stories-BVnPXm6e.js} +1 -1
  156. package/storybook-static/assets/{slots.test.stories-CgfJIyCr.js → slots.test.stories-Dxsa9KdA.js} +1 -1
  157. package/storybook-static/assets/{version-select.test.stories-nmxATIwv.js → version-select.test.stories-Buga1PAa.js} +1 -1
  158. package/storybook-static/demo/a.html +51 -38
  159. package/storybook-static/demo/attributes.html +153 -0
  160. package/storybook-static/demo/data-slices.html +2 -2
  161. package/storybook-static/demo/external-template.html +1 -0
  162. package/storybook-static/demo/external-templates-sb-6.html +42 -0
  163. package/storybook-static/demo/external-templates-sb-7.html +42 -0
  164. package/storybook-static/demo/form.html +42 -0
  165. package/storybook-static/demo/hex-grid-dce.html +1 -1
  166. package/storybook-static/demo/hex-grid.html +1 -1
  167. package/storybook-static/demo/html-template.html +1 -1
  168. package/storybook-static/demo/module-url-sb-2.html +46 -0
  169. package/storybook-static/demo/module-url-sb-4.html +48 -0
  170. package/storybook-static/demo/module-url-sb-5.html +53 -0
  171. package/storybook-static/demo/parameters.html +20 -1
  172. package/storybook-static/demo/s.xml +66 -9
  173. package/storybook-static/demo/s.xslt +89 -16
  174. package/storybook-static/demo/ss.html +12 -22
  175. package/storybook-static/iframe.html +1 -1
  176. package/storybook-static/index.html +6 -10
  177. package/storybook-static/index.json +1 -1
  178. package/storybook-static/mockServiceWorker.js +31 -8
  179. package/storybook-static/project.json +1 -1
  180. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  181. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  182. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +391 -0
  183. package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +230 -0
  184. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  185. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  186. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
  187. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  188. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +58 -58
  189. package/storybook-static/sb-manager/globals-module-info.js +9 -0
  190. package/storybook-static/sb-manager/globals-runtime.js +10719 -10473
  191. package/storybook-static/sb-manager/runtime.js +4944 -6321
  192. package/coverage/src/stories/attributes.test.stories.ts.html +0 -514
  193. package/coverage/src/stories/css.test.stories.ts/coverage.svg +0 -10
  194. package/coverage/src/stories/css.test.stories.ts.html +0 -460
  195. package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +0 -10
  196. package/coverage/src/stories/dom-merge.test.stories.ts.html +0 -706
  197. package/coverage/src/stories/external-template.test.stories.ts/coverage.svg +0 -10
  198. package/coverage/src/stories/external-template.test.stories.ts.html +0 -865
  199. package/coverage/src/stories/form.test.stories.ts/coverage.svg +0 -10
  200. package/coverage/src/stories/form.test.stories.ts.html +0 -661
  201. package/coverage/src/stories/local-storage.test.stories.ts/coverage.svg +0 -10
  202. package/coverage/src/stories/local-storage.test.stories.ts.html +0 -1315
  203. package/coverage/src/stories/location-element.test.stories.ts/coverage.svg +0 -10
  204. package/coverage/src/stories/location-element.test.stories.ts.html +0 -523
  205. package/coverage/src/stories/module-url.test.stories.ts/coverage.svg +0 -10
  206. package/coverage/src/stories/module-url.test.stories.ts.html +0 -640
  207. package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +0 -10
  208. package/coverage/src/stories/set-url.test.stories.ts.html +0 -433
  209. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +0 -10
  210. package/coverage/src/stories/slice-events.test.stories.ts.html +0 -952
  211. package/coverage/src/stories/slots.test.stories.ts/coverage.svg +0 -10
  212. package/coverage/src/stories/slots.test.stories.ts.html +0 -742
  213. package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +0 -10
  214. package/coverage/src/stories/version-select.test.stories.ts.html +0 -397
  215. package/dist/custom-element-BbJMY20-.cjs +0 -97
  216. package/dist/custom-element-CoRNKeEP.js +0 -567
  217. package/storybook-static/assets/Color-F6OSRLHC-CFyd3TND.js +0 -1
  218. package/storybook-static/assets/Configure-UGTbPRKK.js +0 -165
  219. package/storybook-static/assets/DocsRenderer-CFRXHY34-Dpr5iB0o.js +0 -2
  220. package/storybook-static/assets/attributes.test.stories-DSOLHHOW.js +0 -152
  221. package/storybook-static/assets/custom-element-D59Fok1f.js +0 -97
  222. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +0 -2
  223. package/storybook-static/assets/iframe-DnhkgdtG.js +0 -2
  224. package/storybook-static/assets/index-3Sfy-t3H.js +0 -769
  225. package/storybook-static/assets/index-BcZLpTeD.js +0 -8
  226. package/storybook-static/assets/index-CIBI7sCB.js +0 -1
  227. package/storybook-static/assets/index-CxRwF5Or.js +0 -234
  228. package/storybook-static/assets/index-D-8MO0q_.js +0 -1
  229. package/storybook-static/assets/index-DN1RoK17.js +0 -1
  230. package/storybook-static/assets/index-DjJD7gkO.js +0 -1
  231. package/storybook-static/assets/module-url.test.stories-DEponQ7l.js +0 -208
  232. package/storybook-static/assets/preview-BhhEZcNS.js +0 -1
  233. package/storybook-static/assets/preview-CNKoaWES.js +0 -1
  234. package/storybook-static/assets/preview-Czc-sw5H.js +0 -2
  235. package/storybook-static/assets/preview-DAeyCMnM.js +0 -1
  236. package/storybook-static/assets/preview-DHPc-V4N.js +0 -1
  237. package/storybook-static/assets/preview-DYzi3Z2p.js +0 -1
  238. package/storybook-static/assets/preview-vbpHsp94.js +0 -52
  239. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -333
  240. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -40
  241. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
  242. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
  243. package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
  244. package/storybook-static/sb-preview/globals.js +0 -33
  245. package/storybook-static/sb-preview/runtime.js +0 -7174
  246. package/test-runner-jest.config.js +0 -15
  247. /package/storybook-static/sb-addons/{essentials-actions-3 → essentials-actions-2}/manager-bundle.js.LEGAL.txt +0 -0
  248. /package/storybook-static/sb-addons/{essentials-controls-2 → essentials-controls-1}/manager-bundle.js.LEGAL.txt +0 -0
  249. /package/storybook-static/sb-addons/{links-1 → essentials-docs-3}/manager-bundle.js.LEGAL.txt +0 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.69% </span>
26
+ <span class="strong">92.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>571/603</span>
28
+ <span class='fraction'>613/661</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">88.46% </span>
33
+ <span class="strong">86.01% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>299/338</span>
35
+ <span class='fraction'>326/379</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">96.12% </span>
40
+ <span class="strong">94.92% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>124/129</span>
42
+ <span class='fraction'>131/138</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.94% </span>
47
+ <span class="strong">92.68% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>507/534</span>
49
+ <span class='fraction'>545/588</span>
50
50
  </div>
51
51
 
52
52
 
@@ -945,40 +945,123 @@
945
945
  <a name='L880'></a><a href='#L880'>880</a>
946
946
  <a name='L881'></a><a href='#L881'>881</a>
947
947
  <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">14x</span>
948
+ <a name='L883'></a><a href='#L883'>883</a>
949
+ <a name='L884'></a><a href='#L884'>884</a>
950
+ <a name='L885'></a><a href='#L885'>885</a>
951
+ <a name='L886'></a><a href='#L886'>886</a>
952
+ <a name='L887'></a><a href='#L887'>887</a>
953
+ <a name='L888'></a><a href='#L888'>888</a>
954
+ <a name='L889'></a><a href='#L889'>889</a>
955
+ <a name='L890'></a><a href='#L890'>890</a>
956
+ <a name='L891'></a><a href='#L891'>891</a>
957
+ <a name='L892'></a><a href='#L892'>892</a>
958
+ <a name='L893'></a><a href='#L893'>893</a>
959
+ <a name='L894'></a><a href='#L894'>894</a>
960
+ <a name='L895'></a><a href='#L895'>895</a>
961
+ <a name='L896'></a><a href='#L896'>896</a>
962
+ <a name='L897'></a><a href='#L897'>897</a>
963
+ <a name='L898'></a><a href='#L898'>898</a>
964
+ <a name='L899'></a><a href='#L899'>899</a>
965
+ <a name='L900'></a><a href='#L900'>900</a>
966
+ <a name='L901'></a><a href='#L901'>901</a>
967
+ <a name='L902'></a><a href='#L902'>902</a>
968
+ <a name='L903'></a><a href='#L903'>903</a>
969
+ <a name='L904'></a><a href='#L904'>904</a>
970
+ <a name='L905'></a><a href='#L905'>905</a>
971
+ <a name='L906'></a><a href='#L906'>906</a>
972
+ <a name='L907'></a><a href='#L907'>907</a>
973
+ <a name='L908'></a><a href='#L908'>908</a>
974
+ <a name='L909'></a><a href='#L909'>909</a>
975
+ <a name='L910'></a><a href='#L910'>910</a>
976
+ <a name='L911'></a><a href='#L911'>911</a>
977
+ <a name='L912'></a><a href='#L912'>912</a>
978
+ <a name='L913'></a><a href='#L913'>913</a>
979
+ <a name='L914'></a><a href='#L914'>914</a>
980
+ <a name='L915'></a><a href='#L915'>915</a>
981
+ <a name='L916'></a><a href='#L916'>916</a>
982
+ <a name='L917'></a><a href='#L917'>917</a>
983
+ <a name='L918'></a><a href='#L918'>918</a>
984
+ <a name='L919'></a><a href='#L919'>919</a>
985
+ <a name='L920'></a><a href='#L920'>920</a>
986
+ <a name='L921'></a><a href='#L921'>921</a>
987
+ <a name='L922'></a><a href='#L922'>922</a>
988
+ <a name='L923'></a><a href='#L923'>923</a>
989
+ <a name='L924'></a><a href='#L924'>924</a>
990
+ <a name='L925'></a><a href='#L925'>925</a>
991
+ <a name='L926'></a><a href='#L926'>926</a>
992
+ <a name='L927'></a><a href='#L927'>927</a>
993
+ <a name='L928'></a><a href='#L928'>928</a>
994
+ <a name='L929'></a><a href='#L929'>929</a>
995
+ <a name='L930'></a><a href='#L930'>930</a>
996
+ <a name='L931'></a><a href='#L931'>931</a>
997
+ <a name='L932'></a><a href='#L932'>932</a>
998
+ <a name='L933'></a><a href='#L933'>933</a>
999
+ <a name='L934'></a><a href='#L934'>934</a>
1000
+ <a name='L935'></a><a href='#L935'>935</a>
1001
+ <a name='L936'></a><a href='#L936'>936</a>
1002
+ <a name='L937'></a><a href='#L937'>937</a>
1003
+ <a name='L938'></a><a href='#L938'>938</a>
1004
+ <a name='L939'></a><a href='#L939'>939</a>
1005
+ <a name='L940'></a><a href='#L940'>940</a>
1006
+ <a name='L941'></a><a href='#L941'>941</a>
1007
+ <a name='L942'></a><a href='#L942'>942</a>
1008
+ <a name='L943'></a><a href='#L943'>943</a>
1009
+ <a name='L944'></a><a href='#L944'>944</a>
1010
+ <a name='L945'></a><a href='#L945'>945</a>
1011
+ <a name='L946'></a><a href='#L946'>946</a>
1012
+ <a name='L947'></a><a href='#L947'>947</a>
1013
+ <a name='L948'></a><a href='#L948'>948</a>
1014
+ <a name='L949'></a><a href='#L949'>949</a>
1015
+ <a name='L950'></a><a href='#L950'>950</a>
1016
+ <a name='L951'></a><a href='#L951'>951</a>
1017
+ <a name='L952'></a><a href='#L952'>952</a>
1018
+ <a name='L953'></a><a href='#L953'>953</a>
1019
+ <a name='L954'></a><a href='#L954'>954</a>
1020
+ <a name='L955'></a><a href='#L955'>955</a>
1021
+ <a name='L956'></a><a href='#L956'>956</a>
1022
+ <a name='L957'></a><a href='#L957'>957</a>
1023
+ <a name='L958'></a><a href='#L958'>958</a>
1024
+ <a name='L959'></a><a href='#L959'>959</a>
1025
+ <a name='L960'></a><a href='#L960'>960</a>
1026
+ <a name='L961'></a><a href='#L961'>961</a>
1027
+ <a name='L962'></a><a href='#L962'>962</a>
1028
+ <a name='L963'></a><a href='#L963'>963</a>
1029
+ <a name='L964'></a><a href='#L964'>964</a>
1030
+ <a name='L965'></a><a href='#L965'>965</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">14x</span>
949
1031
  <span class="cline-any cline-yes">14x</span>
950
1032
  <span class="cline-any cline-yes">14x</span>
951
1033
  <span class="cline-any cline-yes">14x</span>
952
1034
  <span class="cline-any cline-neutral">&nbsp;</span>
953
1035
  <span class="cline-any cline-neutral">&nbsp;</span>
954
1036
  <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-yes">20129x</span>
956
- <span class="cline-any cline-yes">11153x</span>
957
- <span class="cline-any cline-yes">232x</span>
958
- <span class="cline-any cline-yes">7528x</span>
959
- <span class="cline-any cline-yes">2961x</span>
960
- <span class="cline-any cline-yes">56x</span>
961
- <span class="cline-any cline-yes">45x</span>
962
- <span class="cline-any cline-yes">221x</span>
963
- <span class="cline-any cline-yes">147x</span>
964
- <span class="cline-any cline-yes">5435x</span>
1037
+ <span class="cline-any cline-yes">20572x</span>
1038
+ <span class="cline-any cline-yes">11537x</span>
1039
+ <span class="cline-any cline-yes">217x</span>
1040
+ <span class="cline-any cline-yes">7289x</span>
1041
+ <span class="cline-any cline-yes">2794x</span>
1042
+ <span class="cline-any cline-yes">55x</span>
1043
+ <span class="cline-any cline-yes">47x</span>
1044
+ <span class="cline-any cline-yes">219x</span>
1045
+ <span class="cline-any cline-yes">143x</span>
1046
+ <span class="cline-any cline-yes">5258x</span>
1047
+ <span class="cline-any cline-yes">211x</span>
965
1048
  <span class="cline-any cline-yes">14x</span>
966
1049
  <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-yes">893x</span>
1050
+ <span class="cline-any cline-yes">868x</span>
968
1051
  <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-yes">893x</span>
970
- <span class="cline-any cline-yes">893x</span>
1052
+ <span class="cline-any cline-yes">868x</span>
1053
+ <span class="cline-any cline-yes">868x</span>
971
1054
  <span class="cline-any cline-no">&nbsp;</span>
972
1055
  <span class="cline-any cline-no">&nbsp;</span>
973
1056
  <span class="cline-any cline-no">&nbsp;</span>
974
1057
  <span class="cline-any cline-neutral">&nbsp;</span>
975
1058
  <span class="cline-any cline-yes">14x</span>
976
- <span class="cline-any cline-yes">25x</span>
977
- <span class="cline-any cline-yes">25x</span>
978
- <span class="cline-any cline-yes">43x</span>
979
- <span class="cline-any cline-yes">25x</span>
980
- <span class="cline-any cline-yes">7x</span>
981
- <span class="cline-any cline-yes">25x</span>
1059
+ <span class="cline-any cline-yes">41x</span>
1060
+ <span class="cline-any cline-yes">41x</span>
1061
+ <span class="cline-any cline-yes">65x</span>
1062
+ <span class="cline-any cline-yes">41x</span>
1063
+ <span class="cline-any cline-yes">11x</span>
1064
+ <span class="cline-any cline-yes">41x</span>
982
1065
  <span class="cline-any cline-neutral">&nbsp;</span>
983
1066
  <span class="cline-any cline-neutral">&nbsp;</span>
984
1067
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -990,117 +1073,122 @@
990
1073
  <span class="cline-any cline-neutral">&nbsp;</span>
991
1074
  <span class="cline-any cline-neutral">&nbsp;</span>
992
1075
  <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-yes">296x</span>
994
1076
  <span class="cline-any cline-neutral">&nbsp;</span>
995
1077
  <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-yes">11x</span>
1078
+ <span class="cline-any cline-yes">279x</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-yes">5x</span>
997
1082
  <span class="cline-any cline-no">&nbsp;</span>
998
1083
  <span class="cline-any cline-neutral">&nbsp;</span>
999
1084
  <span class="cline-any cline-neutral">&nbsp;</span>
1000
1085
  <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-yes">296x</span>
1002
- <span class="cline-any cline-yes">296x</span>
1003
- <span class="cline-any cline-yes">296x</span>
1004
- <span class="cline-any cline-yes">296x</span>
1086
+ <span class="cline-any cline-yes">304x</span>
1087
+ <span class="cline-any cline-yes">304x</span>
1088
+ <span class="cline-any cline-yes">304x</span>
1089
+ <span class="cline-any cline-yes">304x</span>
1005
1090
  <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-yes">296x</span>
1007
- <span class="cline-any cline-yes">456x</span>
1008
- <span class="cline-any cline-yes">296x</span>
1091
+ <span class="cline-any cline-yes">304x</span>
1092
+ <span class="cline-any cline-yes">450x</span>
1093
+ <span class="cline-any cline-yes">304x</span>
1009
1094
  <span class="cline-any cline-neutral">&nbsp;</span>
1010
1095
  <span class="cline-any cline-neutral">&nbsp;</span>
1011
1096
  <span class="cline-any cline-neutral">&nbsp;</span>
1012
1097
  <span class="cline-any cline-neutral">&nbsp;</span>
1013
1098
  <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-yes">264x</span>
1099
+ <span class="cline-any cline-yes">249x</span>
1015
1100
  <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-yes">261x</span>
1017
- <span class="cline-any cline-yes">47x</span>
1018
- <span class="cline-any cline-yes">261x</span>
1101
+ <span class="cline-any cline-yes">246x</span>
1102
+ <span class="cline-any cline-yes">42x</span>
1103
+ <span class="cline-any cline-yes">246x</span>
1019
1104
  <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-yes">264x</span>
1105
+ <span class="cline-any cline-yes">249x</span>
1021
1106
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
1107
  <span class="cline-any cline-neutral">&nbsp;</span>
1023
1108
  <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">81x</span>
1109
+ <span class="cline-any cline-yes">109x</span>
1025
1110
  <span class="cline-any cline-neutral">&nbsp;</span>
1026
1111
  <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-yes">592x</span>
1112
+ <span class="cline-any cline-yes">559x</span>
1028
1113
  <span class="cline-any cline-neutral">&nbsp;</span>
1029
1114
  <span class="cline-any cline-neutral">&nbsp;</span>
1030
1115
  <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-yes">709x</span>
1032
- <span class="cline-any cline-yes">709x</span>
1033
- <span class="cline-any cline-yes">49x</span>
1034
- <span class="cline-any cline-yes">660x</span>
1116
+ <span class="cline-any cline-yes">700x</span>
1117
+ <span class="cline-any cline-yes">700x</span>
1118
+ <span class="cline-any cline-yes">47x</span>
1119
+ <span class="cline-any cline-yes">653x</span>
1035
1120
  <span class="cline-any cline-yes">22x</span>
1036
1121
  <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-yes">638x</span>
1038
- <span class="cline-any cline-yes">26x</span>
1039
- <span class="cline-any cline-yes">51x</span>
1040
- <span class="cline-any cline-yes">26x</span>
1122
+ <span class="cline-any cline-yes">631x</span>
1123
+ <span class="cline-any cline-yes">24x</span>
1124
+ <span class="cline-any cline-yes">49x</span>
1125
+ <span class="cline-any cline-yes">24x</span>
1041
1126
  <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-yes">612x</span>
1127
+ <span class="cline-any cline-yes">607x</span>
1043
1128
  <span class="cline-any cline-yes">11x</span>
1044
1129
  <span class="cline-any cline-yes">11x</span>
1045
1130
  <span class="cline-any cline-yes">28x</span>
1046
1131
  <span class="cline-any cline-yes">11x</span>
1047
1132
  <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-yes">601x</span>
1049
- <span class="cline-any cline-yes">601x</span>
1050
- <span class="cline-any cline-yes">7528x</span>
1051
- <span class="cline-any cline-yes">2705x</span>
1133
+ <span class="cline-any cline-yes">596x</span>
1134
+ <span class="cline-any cline-yes">596x</span>
1135
+ <span class="cline-any cline-yes">7289x</span>
1136
+ <span class="cline-any cline-yes">2609x</span>
1052
1137
  <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-yes">4823x</span>
1054
- <span class="cline-any cline-yes">4542x</span>
1138
+ <span class="cline-any cline-yes">4680x</span>
1139
+ <span class="cline-any cline-yes">4390x</span>
1055
1140
  <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-yes">281x</span>
1057
- <span class="cline-any cline-yes">601x</span>
1141
+ <span class="cline-any cline-yes">290x</span>
1142
+ <span class="cline-any cline-yes">596x</span>
1058
1143
  <span class="cline-any cline-neutral">&nbsp;</span>
1059
1144
  <span class="cline-any cline-neutral">&nbsp;</span>
1060
1145
  <span class="cline-any cline-neutral">&nbsp;</span>
1061
1146
  <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-yes">2544x</span>
1063
- <span class="cline-any cline-yes">5199x</span>
1147
+ <span class="cline-any cline-yes">2414x</span>
1148
+ <span class="cline-any cline-yes">4884x</span>
1064
1149
  <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-yes">2732x</span>
1066
- <span class="cline-any cline-yes">2732x</span>
1067
- <span class="cline-any cline-yes">2732x</span>
1068
- <span class="cline-any cline-yes">2732x</span>
1069
- <span class="cline-any cline-yes">2732x</span>
1070
- <span class="cline-any cline-yes">2732x</span>
1071
- <span class="cline-any cline-yes">2732x</span>
1072
- <span class="cline-any cline-yes">277x</span>
1073
- <span class="cline-any cline-yes">21x</span>
1074
- <span class="cline-any cline-yes">277x</span>
1075
- <span class="cline-any cline-yes">277x</span>
1076
- <span class="cline-any cline-yes">277x</span>
1077
- <span class="cline-any cline-yes">277x</span>
1150
+ <span class="cline-any cline-yes">2539x</span>
1151
+ <span class="cline-any cline-yes">2539x</span>
1152
+ <span class="cline-any cline-yes">2539x</span>
1153
+ <span class="cline-any cline-yes">2539x</span>
1154
+ <span class="cline-any cline-yes">2539x</span>
1155
+ <span class="cline-any cline-yes">2539x</span>
1156
+ <span class="cline-any cline-yes">2539x</span>
1157
+ <span class="cline-any cline-yes">248x</span>
1158
+ <span class="cline-any cline-yes">23x</span>
1159
+ <span class="cline-any cline-yes">248x</span>
1160
+ <span class="cline-any cline-yes">248x</span>
1161
+ <span class="cline-any cline-yes">248x</span>
1162
+ <span class="cline-any cline-yes">248x</span>
1078
1163
  <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-yes">2732x</span>
1080
- <span class="cline-any cline-yes">2457x</span>
1081
- <span class="cline-any cline-yes">2732x</span>
1082
- <span class="cline-any cline-yes">2732x</span>
1083
- <span class="cline-any cline-yes">2755x</span>
1084
- <span class="cline-any cline-yes">2732x</span>
1164
+ <span class="cline-any cline-yes">2539x</span>
1165
+ <span class="cline-any cline-yes">2295x</span>
1166
+ <span class="cline-any cline-yes">2539x</span>
1167
+ <span class="cline-any cline-yes">2539x</span>
1168
+ <span class="cline-any cline-yes">2566x</span>
1169
+ <span class="cline-any cline-yes">2539x</span>
1085
1170
  <span class="cline-any cline-neutral">&nbsp;</span>
1086
1171
  <span class="cline-any cline-neutral">&nbsp;</span>
1087
1172
  <span class="cline-any cline-neutral">&nbsp;</span>
1088
1173
  <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-yes">73x</span>
1090
- <span class="cline-any cline-yes">72x</span>
1091
- <span class="cline-any cline-yes">72x</span>
1092
- <span class="cline-any cline-yes">2803x</span>
1174
+ <span class="cline-any cline-yes">69x</span>
1175
+ <span class="cline-any cline-yes">69x</span>
1176
+ <span class="cline-any cline-yes">69x</span>
1177
+ <span class="cline-any cline-yes">2662x</span>
1093
1178
  <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-yes">73x</span>
1179
+ <span class="cline-any cline-yes">69x</span>
1095
1180
  <span class="cline-any cline-neutral">&nbsp;</span>
1096
1181
  <span class="cline-any cline-neutral">&nbsp;</span>
1097
1182
  <span class="cline-any cline-neutral">&nbsp;</span>
1098
1183
  <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-yes">77x</span>
1100
- <span class="cline-any cline-yes">3x</span>
1101
- <span class="cline-any cline-yes">74x</span>
1184
+ <span class="cline-any cline-yes">69x</span>
1185
+ <span class="cline-any cline-yes">69x</span>
1186
+ <span class="cline-any cline-yes">69x</span>
1102
1187
  <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-yes">69x</span>
1189
+ <span class="cline-any cline-yes">2x</span>
1103
1190
  <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-yes">67x</span>
1104
1192
  <span class="cline-any cline-neutral">&nbsp;</span>
1105
1193
  <span class="cline-any cline-neutral">&nbsp;</span>
1106
1194
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1155,35 +1243,38 @@
1155
1243
  <span class="cline-any cline-neutral">&nbsp;</span>
1156
1244
  <span class="cline-any cline-neutral">&nbsp;</span>
1157
1245
  <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-yes">74x</span>
1159
- <span class="cline-any cline-yes">74x</span>
1160
1246
  <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-yes">74x</span>
1162
- <span class="cline-any cline-yes">4x</span>
1163
1247
  <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-yes">3x</span>
1165
- <span class="cline-any cline-yes">3x</span>
1248
+ <span class="cline-any cline-yes">67x</span>
1249
+ <span class="cline-any cline-yes">67x</span>
1166
1250
  <span class="cline-any cline-neutral">&nbsp;</span>
1251
+ <span class="cline-any cline-yes">67x</span>
1252
+ <span class="cline-any cline-yes">2x</span>
1167
1253
  <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-yes">73x</span>
1169
- <span class="cline-any cline-yes">73x</span>
1170
- <span class="cline-any cline-yes">2482x</span>
1171
- <span class="cline-any cline-yes">73x</span>
1172
- <span class="cline-any cline-yes">73x</span>
1173
- <span class="cline-any cline-yes">73x</span>
1174
- <span class="cline-any cline-yes">73x</span>
1175
- <span class="cline-any cline-yes">73x</span>
1176
- <span class="cline-any cline-yes">73x</span>
1254
+ <span class="cline-any cline-yes">2x</span>
1255
+ <span class="cline-any cline-yes">2x</span>
1177
1256
  <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-yes">73x</span>
1179
- <span class="cline-any cline-yes">49x</span>
1180
- <span class="cline-any cline-yes">601x</span>
1181
- <span class="cline-any cline-yes">49x</span>
1182
1257
  <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-yes">24x</span>
1258
+ <span class="cline-any cline-yes">67x</span>
1259
+ <span class="cline-any cline-yes">67x</span>
1260
+ <span class="cline-any cline-yes">2278x</span>
1261
+ <span class="cline-any cline-yes">67x</span>
1262
+ <span class="cline-any cline-yes">67x</span>
1263
+ <span class="cline-any cline-yes">67x</span>
1264
+ <span class="cline-any cline-yes">67x</span>
1265
+ <span class="cline-any cline-yes">67x</span>
1266
+ <span class="cline-any cline-yes">67x</span>
1267
+ <span class="cline-any cline-yes">64x</span>
1268
+ <span class="cline-any cline-yes">67x</span>
1269
+ <span class="cline-any cline-neutral">&nbsp;</span>
1270
+ <span class="cline-any cline-yes">67x</span>
1271
+ <span class="cline-any cline-yes">46x</span>
1272
+ <span class="cline-any cline-yes">608x</span>
1273
+ <span class="cline-any cline-yes">46x</span>
1184
1274
  <span class="cline-any cline-neutral">&nbsp;</span>
1185
- <span class="cline-any cline-yes">73x</span>
1275
+ <span class="cline-any cline-yes">21x</span>
1186
1276
  <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-yes">67x</span>
1187
1278
  <span class="cline-any cline-neutral">&nbsp;</span>
1188
1279
  <span class="cline-any cline-neutral">&nbsp;</span>
1189
1280
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1220,61 +1311,91 @@
1220
1311
  <span class="cline-any cline-neutral">&nbsp;</span>
1221
1312
  <span class="cline-any cline-neutral">&nbsp;</span>
1222
1313
  <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-yes">73x</span>
1224
1314
  <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-yes">73x</span>
1226
- <span class="cline-any cline-yes">156x</span>
1227
- <span class="cline-any cline-yes">73x</span>
1228
- <span class="cline-any cline-yes">73x</span>
1229
- <span class="cline-any cline-yes">3x</span>
1230
- <span class="cline-any cline-yes">70x</span>
1315
+ <span class="cline-any cline-yes">67x</span>
1316
+ <span class="cline-any cline-neutral">&nbsp;</span>
1317
+ <span class="cline-any cline-yes">67x</span>
1318
+ <span class="cline-any cline-yes">140x</span>
1319
+ <span class="cline-any cline-yes">67x</span>
1320
+ <span class="cline-any cline-yes">67x</span>
1321
+ <span class="cline-any cline-no">&nbsp;</span>
1322
+ <span class="cline-any cline-yes">67x</span>
1231
1323
  <span class="cline-any cline-no">&nbsp;</span>
1232
1324
  <span class="cline-any cline-no">&nbsp;</span>
1233
1325
  <span class="cline-any cline-no">&nbsp;</span>
1234
1326
  <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-yes">70x</span>
1236
- <span class="cline-any cline-yes">70x</span>
1237
1327
  <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-yes">19x</span>
1239
- <span class="cline-any cline-yes">19x</span>
1240
- <span class="cline-any cline-yes">19x</span>
1241
- <span class="cline-any cline-yes">19x</span>
1242
- <span class="cline-any cline-yes">19x</span>
1243
- <span class="cline-any cline-yes">19x</span>
1244
- <span class="cline-any cline-yes">19x</span>
1245
- <span class="cline-any cline-yes">7x</span>
1246
- <span class="cline-any cline-yes">7x</span>
1247
- <span class="cline-any cline-yes">7x</span>
1328
+ <span class="cline-any cline-yes">67x</span>
1329
+ <span class="cline-any cline-yes">10x</span>
1330
+ <span class="cline-any cline-yes">10x</span>
1331
+ <span class="cline-any cline-neutral">&nbsp;</span>
1332
+ <span class="cline-any cline-no">&nbsp;</span>
1333
+ <span class="cline-any cline-no">&nbsp;</span>
1334
+ <span class="cline-any cline-neutral">&nbsp;</span>
1335
+ <span class="cline-any cline-yes">10x</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-yes">67x</span>
1339
+ <span class="cline-any cline-neutral">&nbsp;</span>
1340
+ <span class="cline-any cline-yes">27x</span>
1341
+ <span class="cline-any cline-yes">27x</span>
1342
+ <span class="cline-any cline-yes">27x</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-yes">27x</span>
1345
+ <span class="cline-any cline-yes">27x</span>
1346
+ <span class="cline-any cline-yes">9x</span>
1347
+ <span class="cline-any cline-neutral">&nbsp;</span>
1348
+ <span class="cline-any cline-yes">27x</span>
1349
+ <span class="cline-any cline-neutral">&nbsp;</span>
1350
+ <span class="cline-any cline-yes">27x</span>
1351
+ <span class="cline-any cline-neutral">&nbsp;</span>
1352
+ <span class="cline-any cline-yes">14x</span>
1353
+ <span class="cline-any cline-yes">14x</span>
1354
+ <span class="cline-any cline-neutral">&nbsp;</span>
1355
+ <span class="cline-any cline-yes">14x</span>
1356
+ <span class="cline-any cline-neutral">&nbsp;</span>
1357
+ <span class="cline-any cline-neutral">&nbsp;</span>
1358
+ <span class="cline-any cline-yes">14x</span>
1359
+ <span class="cline-any cline-yes">6x</span>
1360
+ <span class="cline-any cline-yes">6x</span>
1361
+ <span class="cline-any cline-yes">6x</span>
1362
+ <span class="cline-any cline-yes">6x</span>
1363
+ <span class="cline-any cline-yes">6x</span>
1364
+ <span class="cline-any cline-no">&nbsp;</span>
1365
+ <span class="cline-any cline-no">&nbsp;</span>
1366
+ <span class="cline-any cline-no">&nbsp;</span>
1367
+ <span class="cline-any cline-no">&nbsp;</span>
1368
+ <span class="cline-any cline-neutral">&nbsp;</span>
1369
+ <span class="cline-any cline-yes">6x</span>
1370
+ <span class="cline-any cline-yes">6x</span>
1371
+ <span class="cline-any cline-yes">6x</span>
1372
+ <span class="cline-any cline-neutral">&nbsp;</span>
1373
+ <span class="cline-any cline-yes">8x</span>
1374
+ <span class="cline-any cline-yes">14x</span>
1375
+ <span class="cline-any cline-yes">14x</span>
1376
+ <span class="cline-any cline-yes">14x</span>
1248
1377
  <span class="cline-any cline-neutral">&nbsp;</span>
1249
1378
  <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-yes">19x</span>
1251
- <span class="cline-any cline-yes">13x</span>
1252
- <span class="cline-any cline-yes">13x</span>
1253
- <span class="cline-any cline-yes">13x</span>
1254
- <span class="cline-any cline-yes">13x</span>
1255
1379
  <span class="cline-any cline-yes">13x</span>
1256
1380
  <span class="cline-any cline-yes">13x</span>
1381
+ <span class="cline-any cline-neutral">&nbsp;</span>
1257
1382
  <span class="cline-any cline-yes">13x</span>
1383
+ <span class="cline-any cline-yes">4x</span>
1258
1384
  <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-yes">6x</span>
1260
- <span class="cline-any cline-yes">19x</span>
1261
- <span class="cline-any cline-yes">19x</span>
1262
- <span class="cline-any cline-yes">19x</span>
1263
- <span class="cline-any cline-yes">19x</span>
1264
1385
  <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-yes">70x</span>
1386
+ <span class="cline-any cline-yes">67x</span>
1266
1387
  <span class="cline-any cline-yes">7x</span>
1267
1388
  <span class="cline-any cline-yes">7x</span>
1268
1389
  <span class="cline-any cline-yes">7x</span>
1269
1390
  <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">70x</span>
1271
- <span class="cline-any cline-yes">70x</span>
1391
+ <span class="cline-any cline-yes">67x</span>
1392
+ <span class="cline-any cline-yes">67x</span>
1272
1393
  <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-yes">70x</span>
1274
- <span class="cline-any cline-yes">70x</span>
1394
+ <span class="cline-any cline-yes">67x</span>
1395
+ <span class="cline-any cline-yes">67x</span>
1275
1396
  <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-yes">70x</span>
1277
- <span class="cline-any cline-yes">70x</span>
1397
+ <span class="cline-any cline-yes">67x</span>
1398
+ <span class="cline-any cline-yes">67x</span>
1278
1399
  <span class="cline-any cline-yes">13x</span>
1279
1400
  <span class="cline-any cline-yes">13x</span>
1280
1401
  <span class="cline-any cline-yes">13x</span>
@@ -1283,31 +1404,31 @@
1283
1404
  <span class="cline-any cline-yes">13x</span>
1284
1405
  <span class="cline-any cline-neutral">&nbsp;</span>
1285
1406
  <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-yes">70x</span>
1407
+ <span class="cline-any cline-yes">67x</span>
1287
1408
  <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-yes">70x</span>
1289
- <span class="cline-any cline-yes">70x</span>
1290
- <span class="cline-any cline-yes">70x</span>
1409
+ <span class="cline-any cline-yes">67x</span>
1410
+ <span class="cline-any cline-yes">67x</span>
1411
+ <span class="cline-any cline-yes">67x</span>
1291
1412
  <span class="cline-any cline-neutral">&nbsp;</span>
1292
1413
  <span class="cline-any cline-neutral">&nbsp;</span>
1293
1414
  <span class="cline-any cline-neutral">&nbsp;</span>
1294
1415
  <span class="cline-any cline-neutral">&nbsp;</span>
1295
- <span class="cline-any cline-yes">19x</span>
1296
- <span class="cline-any cline-yes">19x</span>
1297
- <span class="cline-any cline-yes">19x</span>
1298
- <span class="cline-any cline-yes">19x</span>
1416
+ <span class="cline-any cline-yes">13x</span>
1417
+ <span class="cline-any cline-yes">13x</span>
1418
+ <span class="cline-any cline-yes">13x</span>
1419
+ <span class="cline-any cline-yes">13x</span>
1299
1420
  <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-yes">19x</span>
1301
- <span class="cline-any cline-yes">19x</span>
1302
- <span class="cline-any cline-yes">19x</span>
1421
+ <span class="cline-any cline-yes">13x</span>
1422
+ <span class="cline-any cline-yes">13x</span>
1423
+ <span class="cline-any cline-yes">13x</span>
1303
1424
  <span class="cline-any cline-neutral">&nbsp;</span>
1304
1425
  <span class="cline-any cline-no">&nbsp;</span>
1305
1426
  <span class="cline-any cline-neutral">&nbsp;</span>
1306
- <span class="cline-any cline-yes">19x</span>
1427
+ <span class="cline-any cline-yes">13x</span>
1307
1428
  <span class="cline-any cline-neutral">&nbsp;</span>
1308
- <span class="cline-any cline-yes">19x</span>
1429
+ <span class="cline-any cline-yes">13x</span>
1309
1430
  <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-yes">19x</span>
1431
+ <span class="cline-any cline-yes">13x</span>
1311
1432
  <span class="cline-any cline-neutral">&nbsp;</span>
1312
1433
  <span class="cline-any cline-neutral">&nbsp;</span>
1313
1434
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1324,20 +1445,20 @@
1324
1445
  <span class="cline-any cline-yes">1x</span>
1325
1446
  <span class="cline-any cline-yes">1x</span>
1326
1447
  <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-yes">322x</span>
1448
+ <span class="cline-any cline-yes">305x</span>
1328
1449
  <span class="cline-any cline-neutral">&nbsp;</span>
1329
1450
  <span class="cline-any cline-neutral">&nbsp;</span>
1330
1451
  <span class="cline-any cline-yes">14x</span>
1331
- <span class="cline-any cline-yes">268x</span>
1332
- <span class="cline-any cline-yes">272x</span>
1333
- <span class="cline-any cline-yes">272x</span>
1334
- <span class="cline-any cline-yes">272x</span>
1452
+ <span class="cline-any cline-yes">253x</span>
1453
+ <span class="cline-any cline-yes">257x</span>
1454
+ <span class="cline-any cline-yes">257x</span>
1455
+ <span class="cline-any cline-yes">257x</span>
1335
1456
  <span class="cline-any cline-yes">2x</span>
1336
1457
  <span class="cline-any cline-yes">2x</span>
1337
1458
  <span class="cline-any cline-yes">2x</span>
1338
1459
  <span class="cline-any cline-yes">2x</span>
1339
1460
  <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-yes">630x</span>
1461
+ <span class="cline-any cline-yes">614x</span>
1341
1462
  <span class="cline-any cline-neutral">&nbsp;</span>
1342
1463
  <span class="cline-any cline-neutral">&nbsp;</span>
1343
1464
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1350,28 +1471,28 @@
1350
1471
  <span class="cline-any cline-neutral">&nbsp;</span>
1351
1472
  <span class="cline-any cline-neutral">&nbsp;</span>
1352
1473
  <span class="cline-any cline-neutral">&nbsp;</span>
1353
- <span class="cline-any cline-yes">483x</span>
1354
- <span class="cline-any cline-yes">215x</span>
1355
- <span class="cline-any cline-yes">268x</span>
1474
+ <span class="cline-any cline-yes">463x</span>
1475
+ <span class="cline-any cline-yes">210x</span>
1476
+ <span class="cline-any cline-yes">253x</span>
1356
1477
  <span class="cline-any cline-neutral">&nbsp;</span>
1357
1478
  <span class="cline-any cline-neutral">&nbsp;</span>
1358
1479
  <span class="cline-any cline-neutral">&nbsp;</span>
1359
1480
  <span class="cline-any cline-neutral">&nbsp;</span>
1360
1481
  <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-yes">268x</span>
1482
+ <span class="cline-any cline-yes">253x</span>
1362
1483
  <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-yes">272x</span>
1364
- <span class="cline-any cline-yes">272x</span>
1365
- <span class="cline-any cline-yes">272x</span>
1366
- <span class="cline-any cline-yes">482x</span>
1367
- <span class="cline-any cline-yes">1489x</span>
1368
- <span class="cline-any cline-yes">429x</span>
1369
- <span class="cline-any cline-yes">272x</span>
1370
- <span class="cline-any cline-yes">92x</span>
1371
- <span class="cline-any cline-yes">272x</span>
1372
- <span class="cline-any cline-yes">272x</span>
1373
- <span class="cline-any cline-yes">272x</span>
1374
- <span class="cline-any cline-yes">272x</span>
1484
+ <span class="cline-any cline-yes">257x</span>
1485
+ <span class="cline-any cline-yes">257x</span>
1486
+ <span class="cline-any cline-yes">257x</span>
1487
+ <span class="cline-any cline-yes">456x</span>
1488
+ <span class="cline-any cline-yes">1406x</span>
1489
+ <span class="cline-any cline-yes">408x</span>
1490
+ <span class="cline-any cline-yes">257x</span>
1491
+ <span class="cline-any cline-yes">98x</span>
1492
+ <span class="cline-any cline-yes">257x</span>
1493
+ <span class="cline-any cline-yes">257x</span>
1494
+ <span class="cline-any cline-yes">257x</span>
1495
+ <span class="cline-any cline-yes">257x</span>
1375
1496
  <span class="cline-any cline-yes">18x</span>
1376
1497
  <span class="cline-any cline-yes">4x</span>
1377
1498
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1380,136 +1501,154 @@
1380
1501
  <span class="cline-any cline-yes">18x</span>
1381
1502
  <span class="cline-any cline-yes">18x</span>
1382
1503
  <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-yes">254x</span>
1504
+ <span class="cline-any cline-yes">239x</span>
1384
1505
  <span class="cline-any cline-yes">11x</span>
1385
1506
  <span class="cline-any cline-yes">11x</span>
1386
1507
  <span class="cline-any cline-yes">11x</span>
1387
1508
  <span class="cline-any cline-neutral">&nbsp;</span>
1388
1509
  <span class="cline-any cline-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-yes">243x</span>
1390
- <span class="cline-any cline-yes">243x</span>
1391
- <span class="cline-any cline-yes">243x</span>
1510
+ <span class="cline-any cline-yes">228x</span>
1511
+ <span class="cline-any cline-yes">228x</span>
1512
+ <span class="cline-any cline-yes">228x</span>
1513
+ <span class="cline-any cline-neutral">&nbsp;</span>
1514
+ <span class="cline-any cline-yes">11x</span>
1392
1515
  <span class="cline-any cline-yes">11x</span>
1393
1516
  <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-yes">232x</span>
1395
- <span class="cline-any cline-yes">170x</span>
1396
1517
  <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-yes">62x</span>
1518
+ <span class="cline-any cline-yes">217x</span>
1519
+ <span class="cline-any cline-yes">217x</span>
1520
+ <span class="cline-any cline-yes">217x</span>
1398
1521
  <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-yes">261x</span>
1522
+ <span class="cline-any cline-neutral">&nbsp;</span>
1523
+ <span class="cline-any cline-yes">246x</span>
1400
1524
  <span class="cline-any cline-neutral">&nbsp;</span>
1401
1525
  <span class="cline-any cline-neutral">&nbsp;</span>
1402
1526
  <span class="cline-any cline-neutral">&nbsp;</span>
1403
1527
  <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-yes">3334x</span>
1405
- <span class="cline-any cline-yes">3334x</span>
1528
+ <span class="cline-any cline-yes">3086x</span>
1529
+ <span class="cline-any cline-yes">3086x</span>
1406
1530
  <span class="cline-any cline-neutral">&nbsp;</span>
1407
1531
  <span class="cline-any cline-yes">14x</span>
1408
1532
  <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-yes">78x</span>
1410
- <span class="cline-any cline-yes">55x</span>
1411
- <span class="cline-any cline-yes">23x</span>
1412
- <span class="cline-any cline-yes">4x</span>
1413
- <span class="cline-any cline-yes">4x</span>
1414
- <span class="cline-any cline-yes">4x</span>
1533
+ <span class="cline-any cline-yes">69x</span>
1534
+ <span class="cline-any cline-yes">53x</span>
1535
+ <span class="cline-any cline-yes">16x</span>
1536
+ <span class="cline-any cline-yes">3x</span>
1537
+ <span class="cline-any cline-yes">3x</span>
1538
+ <span class="cline-any cline-yes">3x</span>
1415
1539
  <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-yes">19x</span>
1417
- <span class="cline-any cline-yes">19x</span>
1418
- <span class="cline-any cline-yes">19x</span>
1419
- <span class="cline-any cline-yes">2x</span>
1540
+ <span class="cline-any cline-yes">13x</span>
1541
+ <span class="cline-any cline-yes">13x</span>
1542
+ <span class="cline-any cline-yes">13x</span>
1543
+ <span class="cline-any cline-no">&nbsp;</span>
1420
1544
  <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-yes">17x</span>
1422
- <span class="cline-any cline-yes">17x</span>
1423
- <span class="cline-any cline-yes">14x</span>
1424
- <span class="cline-any cline-yes">8x</span>
1545
+ <span class="cline-any cline-yes">13x</span>
1546
+ <span class="cline-any cline-yes">13x</span>
1547
+ <span class="cline-any cline-yes">11x</span>
1548
+ <span class="cline-any cline-yes">3x</span>
1425
1549
  <span class="cline-any cline-neutral">&nbsp;</span>
1426
1550
  <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-yes">3x</span>
1551
+ <span class="cline-any cline-yes">2x</span>
1428
1552
  <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-yes">19x</span>
1430
- <span class="cline-any cline-yes">19x</span>
1553
+ <span class="cline-any cline-yes">13x</span>
1554
+ <span class="cline-any cline-yes">13x</span>
1431
1555
  <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-yes">19x</span>
1433
- <span class="cline-any cline-yes">9x</span>
1434
- <span class="cline-any cline-yes">9x</span>
1435
- <span class="cline-any cline-yes">7x</span>
1556
+ <span class="cline-any cline-yes">13x</span>
1557
+ <span class="cline-any cline-yes">4x</span>
1558
+ <span class="cline-any cline-yes">4x</span>
1559
+ <span class="cline-any cline-yes">2x</span>
1436
1560
  <span class="cline-any cline-yes">2x</span>
1437
1561
  <span class="cline-any cline-yes">2x</span>
1438
1562
  <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-yes">10x</span>
1563
+ <span class="cline-any cline-yes">9x</span>
1440
1564
  <span class="cline-any cline-no">&nbsp;</span>
1441
1565
  <span class="cline-any cline-neutral">&nbsp;</span>
1442
1566
  <span class="cline-any cline-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-yes">3046x</span>
1444
- <span class="cline-any cline-yes">7668x</span>
1445
- <span class="cline-any cline-yes">7668x</span>
1446
- <span class="cline-any cline-yes">137x</span>
1567
+ <span class="cline-any cline-yes">3282x</span>
1568
+ <span class="cline-any cline-yes">8280x</span>
1569
+ <span class="cline-any cline-yes">8280x</span>
1570
+ <span class="cline-any cline-yes">8280x</span>
1571
+ <span class="cline-any cline-no">&nbsp;</span>
1572
+ <span class="cline-any cline-no">&nbsp;</span>
1447
1573
  <span class="cline-any cline-neutral">&nbsp;</span>
1574
+ <span class="cline-any cline-yes">8280x</span>
1575
+ <span class="cline-any cline-yes">214x</span>
1448
1576
  <span class="cline-any cline-neutral">&nbsp;</span>
1577
+ <span class="cline-any cline-yes">8280x</span>
1578
+ <span class="cline-any cline-yes">139x</span>
1449
1579
  <span class="cline-any cline-neutral">&nbsp;</span>
1580
+ <span class="cline-any cline-no">&nbsp;</span>
1581
+ <span class="cline-any cline-yes">3282x</span>
1582
+ <span class="cline-any cline-yes">3282x</span>
1583
+ <span class="cline-any cline-yes">3282x</span>
1584
+ <span class="cline-any cline-yes">3282x</span>
1585
+ <span class="cline-any cline-yes">8300x</span>
1586
+ <span class="cline-any cline-yes">16x</span>
1450
1587
  <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-yes">3615x</span>
1452
- <span class="cline-any cline-yes">3615x</span>
1453
1588
  <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-yes">8003x</span>
1455
- <span class="cline-any cline-yes">8003x</span>
1456
- <span class="cline-any cline-yes">6964x</span>
1457
- <span class="cline-any cline-yes">2922x</span>
1458
- <span class="cline-any cline-yes">2922x</span>
1459
- <span class="cline-any cline-yes">29x</span>
1460
1589
  <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-yes">4042x</span>
1590
+ <span class="cline-any cline-yes">3628x</span>
1591
+ <span class="cline-any cline-yes">3628x</span>
1462
1592
  <span class="cline-any cline-neutral">&nbsp;</span>
1463
- <span class="cline-any cline-yes">1039x</span>
1464
- <span class="cline-any cline-yes">1039x</span>
1465
- <span class="cline-any cline-yes">258x</span>
1593
+ <span class="cline-any cline-yes">8151x</span>
1594
+ <span class="cline-any cline-yes">8151x</span>
1595
+ <span class="cline-any cline-yes">7159x</span>
1596
+ <span class="cline-any cline-yes">2928x</span>
1597
+ <span class="cline-any cline-yes">2928x</span>
1598
+ <span class="cline-any cline-yes">10x</span>
1466
1599
  <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-yes">8003x</span>
1600
+ <span class="cline-any cline-yes">4231x</span>
1468
1601
  <span class="cline-any cline-neutral">&nbsp;</span>
1602
+ <span class="cline-any cline-yes">992x</span>
1603
+ <span class="cline-any cline-yes">992x</span>
1604
+ <span class="cline-any cline-yes">249x</span>
1469
1605
  <span class="cline-any cline-neutral">&nbsp;</span>
1606
+ <span class="cline-any cline-yes">8151x</span>
1470
1607
  <span class="cline-any cline-neutral">&nbsp;</span>
1471
1608
  <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-yes">226x</span>
1473
- <span class="cline-any cline-yes">226x</span>
1474
- <span class="cline-any cline-yes">1372x</span>
1609
+ <span class="cline-any cline-neutral">&nbsp;</span>
1610
+ <span class="cline-any cline-neutral">&nbsp;</span>
1611
+ <span class="cline-any cline-yes">229x</span>
1612
+ <span class="cline-any cline-yes">229x</span>
1613
+ <span class="cline-any cline-yes">1347x</span>
1475
1614
  <span class="cline-any cline-yes">16x</span>
1476
- <span class="cline-any cline-yes">210x</span>
1615
+ <span class="cline-any cline-yes">213x</span>
1477
1616
  <span class="cline-any cline-neutral">&nbsp;</span>
1478
1617
  <span class="cline-any cline-neutral">&nbsp;</span>
1479
1618
  <span class="cline-any cline-neutral">&nbsp;</span>
1480
- <span class="cline-any cline-yes">2599x</span>
1619
+ <span class="cline-any cline-yes">2669x</span>
1481
1620
  <span class="cline-any cline-no">&nbsp;</span>
1482
- <span class="cline-any cline-yes">2599x</span>
1483
- <span class="cline-any cline-yes">9x</span>
1621
+ <span class="cline-any cline-yes">2669x</span>
1622
+ <span class="cline-any cline-yes">8x</span>
1484
1623
  <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-yes">2590x</span>
1486
- <span class="cline-any cline-yes">2590x</span>
1487
- <span class="cline-any cline-yes">5591x</span>
1488
- <span class="cline-any cline-yes">5591x</span>
1489
- <span class="cline-any cline-yes">2523x</span>
1490
- <span class="cline-any cline-yes">2523x</span>
1624
+ <span class="cline-any cline-yes">2661x</span>
1625
+ <span class="cline-any cline-yes">2661x</span>
1626
+ <span class="cline-any cline-yes">5782x</span>
1627
+ <span class="cline-any cline-yes">5782x</span>
1628
+ <span class="cline-any cline-yes">2561x</span>
1629
+ <span class="cline-any cline-yes">2561x</span>
1491
1630
  <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-yes">3068x</span>
1631
+ <span class="cline-any cline-yes">3221x</span>
1493
1632
  <span class="cline-any cline-neutral">&nbsp;</span>
1494
- <span class="cline-any cline-yes">2590x</span>
1495
- <span class="cline-any cline-yes">5788x</span>
1496
- <span class="cline-any cline-yes">5788x</span>
1497
- <span class="cline-any cline-yes">5788x</span>
1498
- <span class="cline-any cline-yes">5562x</span>
1499
- <span class="cline-any cline-yes">2516x</span>
1500
- <span class="cline-any cline-yes">170x</span>
1633
+ <span class="cline-any cline-yes">2661x</span>
1634
+ <span class="cline-any cline-yes">5984x</span>
1635
+ <span class="cline-any cline-yes">5984x</span>
1636
+ <span class="cline-any cline-yes">5984x</span>
1637
+ <span class="cline-any cline-yes">5755x</span>
1638
+ <span class="cline-any cline-yes">2555x</span>
1639
+ <span class="cline-any cline-yes">175x</span>
1501
1640
  <span class="cline-any cline-neutral">&nbsp;</span>
1502
- <span class="cline-any cline-yes">3046x</span>
1503
- <span class="cline-any cline-yes">3046x</span>
1504
- <span class="cline-any cline-yes">2354x</span>
1641
+ <span class="cline-any cline-yes">3200x</span>
1642
+ <span class="cline-any cline-yes">3200x</span>
1643
+ <span class="cline-any cline-yes">2411x</span>
1505
1644
  <span class="cline-any cline-neutral">&nbsp;</span>
1506
- <span class="cline-any cline-yes">5562x</span>
1645
+ <span class="cline-any cline-yes">5755x</span>
1507
1646
  <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-yes">226x</span>
1647
+ <span class="cline-any cline-yes">229x</span>
1509
1648
  <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-yes">2590x</span>
1511
- <span class="cline-any cline-yes">29x</span>
1512
- <span class="cline-any cline-yes">29x</span>
1649
+ <span class="cline-any cline-yes">2661x</span>
1650
+ <span class="cline-any cline-yes">27x</span>
1651
+ <span class="cline-any cline-yes">27x</span>
1513
1652
  <span class="cline-any cline-neutral">&nbsp;</span>
1514
1653
  <span class="cline-any cline-neutral">&nbsp;</span>
1515
1654
  <span class="cline-any cline-yes">1x</span>
@@ -1552,21 +1691,21 @@
1552
1691
  <span class="cline-any cline-neutral">&nbsp;</span>
1553
1692
  <span class="cline-any cline-yes">14x</span>
1554
1693
  <span class="cline-any cline-yes">14x</span>
1555
- <span class="cline-any cline-yes">74x</span>
1556
- <span class="cline-any cline-yes">74x</span>
1557
- <span class="cline-any cline-yes">94x</span>
1558
- <span class="cline-any cline-yes">74x</span>
1559
- <span class="cline-any cline-yes">118x</span>
1560
- <span class="cline-any cline-yes">74x</span>
1694
+ <span class="cline-any cline-yes">79x</span>
1695
+ <span class="cline-any cline-yes">79x</span>
1696
+ <span class="cline-any cline-yes">101x</span>
1697
+ <span class="cline-any cline-yes">79x</span>
1698
+ <span class="cline-any cline-yes">111x</span>
1699
+ <span class="cline-any cline-yes">79x</span>
1561
1700
  <span class="cline-any cline-yes">36x</span>
1562
1701
  <span class="cline-any cline-neutral">&nbsp;</span>
1563
- <span class="cline-any cline-yes">38x</span>
1564
- <span class="cline-any cline-yes">38x</span>
1565
- <span class="cline-any cline-yes">38x</span>
1566
- <span class="cline-any cline-yes">718x</span>
1567
- <span class="cline-any cline-yes">38x</span>
1702
+ <span class="cline-any cline-yes">43x</span>
1703
+ <span class="cline-any cline-yes">43x</span>
1704
+ <span class="cline-any cline-yes">43x</span>
1705
+ <span class="cline-any cline-yes">875x</span>
1706
+ <span class="cline-any cline-yes">43x</span>
1568
1707
  <span class="cline-any cline-neutral">&nbsp;</span>
1569
- <span class="cline-any cline-yes">38x</span>
1708
+ <span class="cline-any cline-yes">43x</span>
1570
1709
  <span class="cline-any cline-neutral">&nbsp;</span>
1571
1710
  <span class="cline-any cline-neutral">&nbsp;</span>
1572
1711
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1576,130 +1715,153 @@
1576
1715
  <span class="cline-any cline-yes">14x</span>
1577
1716
  <span class="cline-any cline-neutral">&nbsp;</span>
1578
1717
  <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-yes">78x</span>
1580
- <span class="cline-any cline-yes">13x</span>
1581
- <span class="cline-any cline-yes">78x</span>
1582
- <span class="cline-any cline-yes">78x</span>
1583
- <span class="cline-any cline-yes">78x</span>
1718
+ <span class="cline-any cline-yes">69x</span>
1719
+ <span class="cline-any cline-yes">12x</span>
1720
+ <span class="cline-any cline-yes">69x</span>
1721
+ <span class="cline-any cline-yes">69x</span>
1722
+ <span class="cline-any cline-yes">69x</span>
1584
1723
  <span class="cline-any cline-neutral">&nbsp;</span>
1585
- <span class="cline-any cline-yes">78x</span>
1586
- <span class="cline-any cline-yes">77x</span>
1724
+ <span class="cline-any cline-yes">69x</span>
1725
+ <span class="cline-any cline-yes">69x</span>
1587
1726
  <span class="cline-any cline-yes">7x</span>
1588
1727
  <span class="cline-any cline-yes">7x</span>
1589
1728
  <span class="cline-any cline-yes">7x</span>
1590
1729
  <span class="cline-any cline-yes">7x</span>
1591
1730
  <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-yes">78x</span>
1593
- <span class="cline-any cline-yes">77x</span>
1594
- <span class="cline-any cline-yes">76x</span>
1595
- <span class="cline-any cline-yes">76x</span>
1731
+ <span class="cline-any cline-yes">69x</span>
1732
+ <span class="cline-any cline-yes">69x</span>
1733
+ <span class="cline-any cline-yes">69x</span>
1734
+ <span class="cline-any cline-yes">69x</span>
1596
1735
  <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-yes">3x</span>
1598
- <span class="cline-any cline-yes">73x</span>
1736
+ <span class="cline-any cline-no">&nbsp;</span>
1737
+ <span class="cline-any cline-yes">69x</span>
1599
1738
  <span class="cline-any cline-neutral">&nbsp;</span>
1600
1739
  <span class="cline-any cline-neutral">&nbsp;</span>
1601
- <span class="cline-any cline-yes">74x</span>
1740
+ <span class="cline-any cline-yes">69x</span>
1602
1741
  <span class="cline-any cline-neutral">&nbsp;</span>
1603
- <span class="cline-any cline-yes">74x</span>
1604
- <span class="cline-any cline-yes">74x</span>
1605
- <span class="cline-any cline-yes">80x</span>
1606
- <span class="cline-any cline-yes">80x</span>
1607
- <span class="cline-any cline-yes">79x</span>
1742
+ <span class="cline-any cline-yes">69x</span>
1743
+ <span class="cline-any cline-yes">69x</span>
1744
+ <span class="cline-any cline-yes">78x</span>
1745
+ <span class="cline-any cline-yes">78x</span>
1746
+ <span class="cline-any cline-yes">77x</span>
1608
1747
  <span class="cline-any cline-neutral">&nbsp;</span>
1609
- <span class="cline-any cline-yes">74x</span>
1610
1748
  <span class="cline-any cline-neutral">&nbsp;</span>
1749
+ <span class="cline-any cline-yes">69x</span>
1750
+ <span class="cline-any cline-yes">69x</span>
1611
1751
  <span class="cline-any cline-neutral">&nbsp;</span>
1612
1752
  <span class="cline-any cline-neutral">&nbsp;</span>
1613
- <span class="cline-any cline-yes">320x</span>
1614
- <span class="cline-any cline-yes">77x</span>
1615
1753
  <span class="cline-any cline-neutral">&nbsp;</span>
1616
- <span class="cline-any cline-yes">74x</span>
1617
- <span class="cline-any cline-yes">74x</span>
1754
+ <span class="cline-any cline-yes">69x</span>
1755
+ <span class="cline-any cline-yes">76x</span>
1756
+ <span class="cline-any cline-no">&nbsp;</span>
1757
+ <span class="cline-any cline-neutral">&nbsp;</span>
1758
+ <span class="cline-any cline-yes">76x</span>
1759
+ <span class="cline-any cline-yes">76x</span>
1618
1760
  <span class="cline-any cline-neutral">&nbsp;</span>
1619
- <span class="cline-any cline-yes">38x</span>
1761
+ <span class="cline-any cline-yes">34x</span>
1620
1762
  <span class="cline-any cline-no">&nbsp;</span>
1621
- <span class="cline-any cline-yes">38x</span>
1622
- <span class="cline-any cline-yes">38x</span>
1623
- <span class="cline-any cline-yes">38x</span>
1763
+ <span class="cline-any cline-yes">34x</span>
1764
+ <span class="cline-any cline-yes">34x</span>
1765
+ <span class="cline-any cline-yes">34x</span>
1624
1766
  <span class="cline-any cline-neutral">&nbsp;</span>
1625
- <span class="cline-any cline-yes">38x</span>
1626
- <span class="cline-any cline-yes">242x</span>
1767
+ <span class="cline-any cline-yes">34x</span>
1768
+ <span class="cline-any cline-yes">226x</span>
1627
1769
  <span class="cline-any cline-yes">1x</span>
1628
1770
  <span class="cline-any cline-yes">1x</span>
1629
1771
  <span class="cline-any cline-yes">1x</span>
1630
1772
  <span class="cline-any cline-neutral">&nbsp;</span>
1631
- <span class="cline-any cline-yes">241x</span>
1632
- <span class="cline-any cline-yes">205x</span>
1633
- <span class="cline-any cline-yes">36x</span>
1634
- <span class="cline-any cline-yes">24x</span>
1773
+ <span class="cline-any cline-yes">225x</span>
1774
+ <span class="cline-any cline-yes">193x</span>
1775
+ <span class="cline-any cline-yes">32x</span>
1776
+ <span class="cline-any cline-yes">20x</span>
1635
1777
  <span class="cline-any cline-neutral">&nbsp;</span>
1636
- <span class="cline-any cline-yes">74x</span>
1637
- <span class="cline-any cline-yes">192x</span>
1638
- <span class="cline-any cline-yes">192x</span>
1639
- <span class="cline-any cline-yes">132x</span>
1640
- <span class="cline-any cline-yes">192x</span>
1778
+ <span class="cline-any cline-yes">76x</span>
1779
+ <span class="cline-any cline-yes">220x</span>
1780
+ <span class="cline-any cline-yes">220x</span>
1781
+ <span class="cline-any cline-yes">148x</span>
1782
+ <span class="cline-any cline-yes">220x</span>
1641
1783
  <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-yes">74x</span>
1643
- <span class="cline-any cline-yes">74x</span>
1644
- <span class="cline-any cline-yes">74x</span>
1645
- <span class="cline-any cline-yes">74x</span>
1646
- <span class="cline-any cline-yes">127x</span>
1647
- <span class="cline-any cline-yes">74x</span>
1648
- <span class="cline-any cline-yes">74x</span>
1649
- <span class="cline-any cline-yes">74x</span>
1650
- <span class="cline-any cline-yes">74x</span>
1784
+ <span class="cline-any cline-yes">76x</span>
1785
+ <span class="cline-any cline-yes">76x</span>
1786
+ <span class="cline-any cline-yes">76x</span>
1787
+ <span class="cline-any cline-yes">76x</span>
1788
+ <span class="cline-any cline-yes">128x</span>
1789
+ <span class="cline-any cline-yes">76x</span>
1790
+ <span class="cline-any cline-yes">76x</span>
1791
+ <span class="cline-any cline-yes">76x</span>
1792
+ <span class="cline-any cline-yes">76x</span>
1651
1793
  <span class="cline-any cline-neutral">&nbsp;</span>
1652
- <span class="cline-any cline-yes">74x</span>
1653
- <span class="cline-any cline-yes">74x</span>
1654
- <span class="cline-any cline-yes">215x</span>
1794
+ <span class="cline-any cline-yes">76x</span>
1795
+ <span class="cline-any cline-yes">76x</span>
1796
+ <span class="cline-any cline-yes">76x</span>
1797
+ <span class="cline-any cline-yes">76x</span>
1655
1798
  <span class="cline-any cline-neutral">&nbsp;</span>
1656
- <span class="cline-any cline-yes">215x</span>
1657
- <span class="cline-any cline-yes">259x</span>
1658
- <span class="cline-any cline-yes">259x</span>
1659
- <span class="cline-any cline-yes">15x</span>
1660
- <span class="cline-any cline-yes">244x</span>
1661
- <span class="cline-any cline-yes">244x</span>
1799
+ <span class="cline-any cline-yes">76x</span>
1800
+ <span class="cline-any cline-yes">76x</span>
1801
+ <span class="cline-any cline-yes">214x</span>
1662
1802
  <span class="cline-any cline-neutral">&nbsp;</span>
1663
- <span class="cline-any cline-yes">215x</span>
1803
+ <span class="cline-any cline-yes">214x</span>
1804
+ <span class="cline-any cline-yes">251x</span>
1805
+ <span class="cline-any cline-yes">251x</span>
1806
+ <span class="cline-any cline-yes">18x</span>
1807
+ <span class="cline-any cline-yes">233x</span>
1808
+ <span class="cline-any cline-yes">233x</span>
1664
1809
  <span class="cline-any cline-neutral">&nbsp;</span>
1810
+ <span class="cline-any cline-yes">214x</span>
1665
1811
  <span class="cline-any cline-neutral">&nbsp;</span>
1666
1812
  <span class="cline-any cline-neutral">&nbsp;</span>
1667
- <span class="cline-any cline-yes">74x</span>
1668
- <span class="cline-any cline-yes">267x</span>
1669
- <span class="cline-any cline-yes">267x</span>
1670
- <span class="cline-any cline-yes">141x</span>
1671
- <span class="cline-any cline-yes">141x</span>
1672
- <span class="cline-any cline-yes">141x</span>
1673
1813
  <span class="cline-any cline-neutral">&nbsp;</span>
1814
+ <span class="cline-any cline-yes">76x</span>
1815
+ <span class="cline-any cline-yes">252x</span>
1816
+ <span class="cline-any cline-yes">252x</span>
1817
+ <span class="cline-any cline-yes">138x</span>
1818
+ <span class="cline-any cline-yes">138x</span>
1819
+ <span class="cline-any cline-yes">138x</span>
1674
1820
  <span class="cline-any cline-neutral">&nbsp;</span>
1675
- <span class="cline-any cline-yes">74x</span>
1676
- <span class="cline-any cline-yes">246x</span>
1677
- <span class="cline-any cline-yes">246x</span>
1678
1821
  <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-yes">246x</span>
1680
- <span class="cline-any cline-yes">245x</span>
1681
- <span class="cline-any cline-yes">245x</span>
1822
+ <span class="cline-any cline-yes">76x</span>
1823
+ <span class="cline-any cline-yes">239x</span>
1824
+ <span class="cline-any cline-yes">239x</span>
1825
+ <span class="cline-any cline-yes">239x</span>
1826
+ <span class="cline-any cline-neutral">&nbsp;</span>
1827
+ <span class="cline-any cline-yes">258x</span>
1828
+ <span class="cline-any cline-yes">258x</span>
1829
+ <span class="cline-any cline-yes">258x</span>
1682
1830
  <span class="cline-any cline-no">&nbsp;</span>
1683
- <span class="cline-any cline-yes">245x</span>
1831
+ <span class="cline-any cline-yes">258x</span>
1684
1832
  <span class="cline-any cline-neutral">&nbsp;</span>
1685
- <span class="cline-any cline-yes">246x</span>
1686
- <span class="cline-any cline-yes">245x</span>
1833
+ <span class="cline-any cline-yes">258x</span>
1834
+ <span class="cline-any cline-yes">258x</span>
1687
1835
  <span class="cline-any cline-no">&nbsp;</span>
1688
- <span class="cline-any cline-yes">245x</span>
1689
- <span class="cline-any cline-yes">245x</span>
1836
+ <span class="cline-any cline-yes">258x</span>
1837
+ <span class="cline-any cline-yes">258x</span>
1838
+ <span class="cline-any cline-neutral">&nbsp;</span>
1839
+ <span class="cline-any cline-yes">258x</span>
1840
+ <span class="cline-any cline-yes">258x</span>
1841
+ <span class="cline-any cline-yes">44x</span>
1842
+ <span class="cline-any cline-yes">7x</span>
1843
+ <span class="cline-any cline-yes">7x</span>
1844
+ <span class="cline-any cline-yes">7x</span>
1690
1845
  <span class="cline-any cline-neutral">&nbsp;</span>
1691
1846
  <span class="cline-any cline-neutral">&nbsp;</span>
1692
- <span class="cline-any cline-yes">246x</span>
1693
- <span class="cline-any cline-yes">39x</span>
1694
- <span class="cline-any cline-yes">39x</span>
1695
- <span class="cline-any cline-yes">17x</span>
1696
- <span class="cline-any cline-yes">17x</span>
1697
1847
  <span class="cline-any cline-neutral">&nbsp;</span>
1848
+ <span class="cline-any cline-yes">258x</span>
1849
+ <span class="cline-any cline-yes">60x</span>
1850
+ <span class="cline-any cline-yes">60x</span>
1851
+ <span class="cline-any cline-yes">22x</span>
1852
+ <span class="cline-any cline-yes">22x</span>
1853
+ <span class="cline-any cline-yes">22x</span>
1854
+ <span class="cline-any cline-neutral">&nbsp;</span>
1855
+ <span class="cline-any cline-neutral">&nbsp;</span>
1856
+ <span class="cline-any cline-yes">258x</span>
1698
1857
  <span class="cline-any cline-neutral">&nbsp;</span>
1858
+ <span class="cline-any cline-yes">239x</span>
1859
+ <span class="cline-any cline-yes">19x</span>
1860
+ <span class="cline-any cline-no">&nbsp;</span>
1699
1861
  <span class="cline-any cline-neutral">&nbsp;</span>
1700
1862
  <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-yes">565x</span>
1702
- <span class="cline-any cline-yes">565x</span>
1863
+ <span class="cline-any cline-yes">560x</span>
1864
+ <span class="cline-any cline-yes">560x</span>
1703
1865
  <span class="cline-any cline-no">&nbsp;</span>
1704
1866
  <span class="cline-any cline-no">&nbsp;</span>
1705
1867
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1713,13 +1875,13 @@
1713
1875
  <span class="cline-any cline-no">&nbsp;</span>
1714
1876
  <span class="cline-any cline-no">&nbsp;</span>
1715
1877
  <span class="cline-any cline-neutral">&nbsp;</span>
1716
- <span class="cline-any cline-yes">565x</span>
1878
+ <span class="cline-any cline-yes">560x</span>
1717
1879
  <span class="cline-any cline-neutral">&nbsp;</span>
1718
- <span class="cline-any cline-yes">246x</span>
1719
- <span class="cline-any cline-yes">565x</span>
1720
- <span class="cline-any cline-yes">565x</span>
1721
- <span class="cline-any cline-yes">565x</span>
1722
- <span class="cline-any cline-yes">565x</span>
1880
+ <span class="cline-any cline-yes">239x</span>
1881
+ <span class="cline-any cline-yes">560x</span>
1882
+ <span class="cline-any cline-yes">560x</span>
1883
+ <span class="cline-any cline-yes">560x</span>
1884
+ <span class="cline-any cline-yes">560x</span>
1723
1885
  <span class="cline-any cline-yes">82x</span>
1724
1886
  <span class="cline-any cline-yes">82x</span>
1725
1887
  <span class="cline-any cline-yes">3x</span>
@@ -1727,12 +1889,12 @@
1727
1889
  <span class="cline-any cline-yes">82x</span>
1728
1890
  <span class="cline-any cline-neutral">&nbsp;</span>
1729
1891
  <span class="cline-any cline-yes">92x</span>
1730
- <span class="cline-any cline-yes">239x</span>
1731
- <span class="cline-any cline-yes">239x</span>
1732
- <span class="cline-any cline-yes">239x</span>
1733
- <span class="cline-any cline-yes">239x</span>
1892
+ <span class="cline-any cline-yes">230x</span>
1893
+ <span class="cline-any cline-yes">230x</span>
1894
+ <span class="cline-any cline-yes">230x</span>
1895
+ <span class="cline-any cline-yes">230x</span>
1734
1896
  <span class="cline-any cline-neutral">&nbsp;</span>
1735
- <span class="cline-any cline-yes">239x</span>
1897
+ <span class="cline-any cline-yes">230x</span>
1736
1898
  <span class="cline-any cline-yes">11x</span>
1737
1899
  <span class="cline-any cline-yes">4x</span>
1738
1900
  <span class="cline-any cline-yes">7x</span>
@@ -1742,11 +1904,11 @@
1742
1904
  <span class="cline-any cline-neutral">&nbsp;</span>
1743
1905
  <span class="cline-any cline-no">&nbsp;</span>
1744
1906
  <span class="cline-any cline-neutral">&nbsp;</span>
1745
- <span class="cline-any cline-yes">239x</span>
1746
- <span class="cline-any cline-yes">239x</span>
1747
- <span class="cline-any cline-yes">239x</span>
1907
+ <span class="cline-any cline-yes">230x</span>
1908
+ <span class="cline-any cline-yes">230x</span>
1909
+ <span class="cline-any cline-yes">230x</span>
1748
1910
  <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-yes">239x</span>
1911
+ <span class="cline-any cline-yes">230x</span>
1750
1912
  <span class="cline-any cline-yes">11x</span>
1751
1913
  <span class="cline-any cline-yes">11x</span>
1752
1914
  <span class="cline-any cline-yes">11x</span>
@@ -1765,61 +1927,63 @@
1765
1927
  <span class="cline-any cline-neutral">&nbsp;</span>
1766
1928
  <span class="cline-any cline-yes">9x</span>
1767
1929
  <span class="cline-any cline-neutral">&nbsp;</span>
1768
- <span class="cline-any cline-yes">237x</span>
1930
+ <span class="cline-any cline-yes">228x</span>
1769
1931
  <span class="cline-any cline-neutral">&nbsp;</span>
1770
1932
  <span class="cline-any cline-yes">82x</span>
1771
- <span class="cline-any cline-yes">42x</span>
1772
- <span class="cline-any cline-yes">30x</span>
1933
+ <span class="cline-any cline-yes">36x</span>
1934
+ <span class="cline-any cline-yes">24x</span>
1773
1935
  <span class="cline-any cline-neutral">&nbsp;</span>
1774
1936
  <span class="cline-any cline-yes">12x</span>
1775
1937
  <span class="cline-any cline-neutral">&nbsp;</span>
1776
1938
  <span class="cline-any cline-neutral">&nbsp;</span>
1777
1939
  <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-yes">246x</span>
1940
+ <span class="cline-any cline-yes">239x</span>
1779
1941
  <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-yes">74x</span>
1781
- <span class="cline-any cline-yes">74x</span>
1942
+ <span class="cline-any cline-yes">76x</span>
1943
+ <span class="cline-any cline-yes">76x</span>
1782
1944
  <span class="cline-any cline-neutral">&nbsp;</span>
1783
1945
  <span class="cline-any cline-neutral">&nbsp;</span>
1784
- <span class="cline-any cline-yes">23x</span>
1946
+ <span class="cline-any cline-yes">35x</span>
1785
1947
  <span class="cline-any cline-no">&nbsp;</span>
1786
- <span class="cline-any cline-yes">23x</span>
1787
- <span class="cline-any cline-yes">23x</span>
1788
- <span class="cline-any cline-yes">12x</span>
1948
+ <span class="cline-any cline-yes">35x</span>
1949
+ <span class="cline-any cline-yes">35x</span>
1950
+ <span class="cline-any cline-yes">35x</span>
1951
+ <span class="cline-any cline-yes">35x</span>
1789
1952
  <span class="cline-any cline-neutral">&nbsp;</span>
1790
- <span class="cline-any cline-yes">11x</span>
1791
- <span class="cline-any cline-yes">11x</span>
1953
+ <span class="cline-any cline-no">&nbsp;</span>
1954
+ <span class="cline-any cline-no">&nbsp;</span>
1792
1955
  <span class="cline-any cline-neutral">&nbsp;</span>
1956
+ <span class="cline-any cline-yes">35x</span>
1793
1957
  <span class="cline-any cline-neutral">&nbsp;</span>
1794
- <span class="cline-any cline-yes">23x</span>
1958
+ <span class="cline-any cline-yes">35x</span>
1795
1959
  <span class="cline-any cline-neutral">&nbsp;</span>
1796
1960
  <span class="cline-any cline-neutral">&nbsp;</span>
1797
- <span class="cline-any cline-yes">31x</span>
1798
- <span class="cline-any cline-yes">25x</span>
1961
+ <span class="cline-any cline-yes">55x</span>
1962
+ <span class="cline-any cline-yes">49x</span>
1799
1963
  <span class="cline-any cline-yes">6x</span>
1800
1964
  <span class="cline-any cline-yes">6x</span>
1801
1965
  <span class="cline-any cline-neutral">&nbsp;</span>
1802
1966
  <span class="cline-any cline-neutral">&nbsp;</span>
1803
1967
  <span class="cline-any cline-no">&nbsp;</span>
1804
1968
  <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-yes">74x</span>
1969
+ <span class="cline-any cline-yes">69x</span>
1806
1970
  <span class="cline-any cline-neutral">&nbsp;</span>
1807
- <span class="cline-any cline-yes">74x</span>
1808
- <span class="cline-any cline-yes">74x</span>
1971
+ <span class="cline-any cline-yes">69x</span>
1972
+ <span class="cline-any cline-yes">69x</span>
1809
1973
  <span class="cline-any cline-neutral">&nbsp;</span>
1810
- <span class="cline-any cline-yes">74x</span>
1811
- <span class="cline-any cline-yes">20x</span>
1974
+ <span class="cline-any cline-yes">69x</span>
1975
+ <span class="cline-any cline-yes">22x</span>
1812
1976
  <span class="cline-any cline-neutral">&nbsp;</span>
1813
- <span class="cline-any cline-yes">54x</span>
1814
- <span class="cline-any cline-yes">54x</span>
1815
- <span class="cline-any cline-yes">54x</span>
1816
- <span class="cline-any cline-yes">54x</span>
1817
- <span class="cline-any cline-yes">103x</span>
1818
- <span class="cline-any cline-yes">142x</span>
1819
- <span class="cline-any cline-yes">54x</span>
1977
+ <span class="cline-any cline-yes">47x</span>
1978
+ <span class="cline-any cline-yes">47x</span>
1979
+ <span class="cline-any cline-yes">47x</span>
1980
+ <span class="cline-any cline-yes">47x</span>
1981
+ <span class="cline-any cline-yes">80x</span>
1982
+ <span class="cline-any cline-yes">128x</span>
1983
+ <span class="cline-any cline-yes">47x</span>
1820
1984
  <span class="cline-any cline-neutral">&nbsp;</span>
1821
1985
  <span class="cline-any cline-neutral">&nbsp;</span>
1822
- <span class="cline-any cline-yes">131x</span>
1986
+ <span class="cline-any cline-yes">124x</span>
1823
1987
  <span class="cline-any cline-yes">3x</span>
1824
1988
  <span class="cline-any cline-neutral">&nbsp;</span>
1825
1989
  <span class="cline-any cline-yes">1x</span>
@@ -1834,7 +1998,7 @@
1834
1998
  &nbsp;
1835
1999
  // const log = x =&gt; console.debug( new XMLSerializer().serializeToString( x ) );
1836
2000
  &nbsp;
1837
- const attr = (el, attr)=&gt; el.getAttribute?.(attr)
2001
+ const attr = (el, attr)=&gt; el?.getAttribute?.(attr)
1838
2002
  , isText = e =&gt; e.nodeType === 3
1839
2003
  , isString = s =&gt; typeof s === 'string'
1840
2004
  , isNode = e =&gt; e &amp;&amp; typeof e.nodeType === 'number'
@@ -1844,6 +2008,7 @@ const attr = (el, attr)=&gt; el.getAttribute?.(attr)
1844
2008
  , xslNs = x =&gt; ( x?.setAttribute('xmlns:xsl', XSL_NS_URL ), x )
1845
2009
  , xslHtmlNs = x =&gt; ( x?.setAttribute('xmlns:xhtml', HTML_NS_URL ), xslNs(x) )
1846
2010
  , isValidTagName = tag=&gt; ( /^[_a-zA-Z][-_:a-zA-Z0-9]*$/ .test(tag) )
2011
+ , mix = (o,kv) =&gt; { Object.keys(kv).map(k=&gt; o[k] = kv[k] ) ; return o}
1847
2012
  , create = ( tag, t = '', d=document ) =&gt;
1848
2013
  {
1849
2014
  const create = tag =&gt; ( e =&gt; ((t &amp;&amp; e.append(createText(d.ownerDocument||d, t))),e) )((d.ownerDocument || d ).createElement( tag ))
@@ -1858,10 +2023,12 @@ const attr = (el, attr)=&gt; el.getAttribute?.(attr)
1858
2023
  { const px = p.ownerDocument.createElementNS(p.namespaceURI,tag);
1859
2024
  for( let a of p.attributes)
1860
2025
  px.setAttribute(a.name, a.value);
1861
- while( p.firstChild )
1862
- px.append(p.firstChild);
2026
+ for( let c of p.childNodes )
2027
+ px.append(c.cloneNode(true));
1863
2028
  return px;
1864
2029
  };
2030
+ &nbsp;
2031
+ export {cloneAs,mix};
1865
2032
  &nbsp;
1866
2033
  function
1867
2034
  ASSERT(x)
@@ -1968,7 +2135,7 @@ tagUid( node )
1968
2135
  }
1969
2136
  }));
1970
2137
  &nbsp;
1971
- if( 'all' in node ) {
2138
+ <span class="missing-if-branch" title="else path not taken" >E</span>if( 'all' in node ) {
1972
2139
  let i= 1;
1973
2140
  for( let e of node.all )
1974
2141
  e.setAttribute &amp;&amp; !e.tagName.startsWith('xsl:') &amp;&amp; e.setAttribute('data-dce-id', '' + i++)
@@ -1978,8 +2145,13 @@ tagUid( node )
1978
2145
  export function
1979
2146
  createXsltFromDom( templateNode, S = 'xsl:stylesheet' )
1980
2147
  {
2148
+ const declaredAttributes = []
2149
+ , hardcodedAttributes = {}
2150
+ , exposedAttributes={};
2151
+ &nbsp;
1981
2152
  if( templateNode.tagName === S || templateNode.documentElement?.tagName === S )
1982
- return tagUid(templateNode)
2153
+ return tagUid(mix( templateNode, { declaredAttributes, hardcodedAttributes, exposedAttributes } ));
2154
+ &nbsp;
1983
2155
  const sanitizeXsl = xml2dom(`&lt;xsl:stylesheet version="1.0" xmlns:xsl="${ XSL_NS_URL }" xmlns:xhtml="${ HTML_NS_URL }" xmlns:exsl="${EXSL_NS_URL}" exclude-result-prefixes="exsl" &gt;
1984
2156
  &lt;xsl:output method="xml"/&gt;
1985
2157
  &lt;xsl:template match="/"&gt;&lt;dce-root xmlns="${ HTML_NS_URL }"&gt;&lt;xsl:apply-templates select="*" /&gt;&lt;/dce-root&gt;&lt;/xsl:template&gt;
@@ -2027,9 +2199,9 @@ createXsltFromDom( templateNode, S = 'xsl:stylesheet' )
2027
2199
  &lt;/xsl:template&gt;
2028
2200
  &lt;xsl:template mode="sanitize" match="xhtml:input"&gt;
2029
2201
  &lt;xsl:element name="{local-name()}"&gt;
2030
- &lt;xsl:apply-templates mode="sanitize" select="*|@*|text()"/&gt;
2202
+ &lt;xsl:apply-templates mode="sanitize" select="*[not(name()='slice')]|@*|text()"/&gt;
2031
2203
  &lt;/xsl:element&gt;
2032
- &lt;xsl:for-each select="*"&gt;
2204
+ &lt;xsl:for-each select="slice"&gt;
2033
2205
  &lt;xsl:copy&gt;
2034
2206
  &lt;xsl:attribute name="for" &gt;^&lt;/xsl:attribute&gt;
2035
2207
  &lt;xsl:apply-templates mode="sanitize" select="*|@*|text()"/&gt;
@@ -2055,6 +2227,8 @@ createXsltFromDom( templateNode, S = 'xsl:stylesheet' )
2055
2227
  const d = xml2dom( '&lt;xhtml/&gt;' )
2056
2228
  , n = d.importNode(r, true);
2057
2229
  d.replaceChild(n,d.documentElement);
2230
+ if( n.namespaceURI === HTML_NS_URL &amp;&amp; !attr(n,'xmlns'))
2231
+ n.setAttribute('xmlns',HTML_NS_URL);
2058
2232
  return xslHtmlNs(n);
2059
2233
  };
2060
2234
  if( e )
@@ -2107,42 +2281,71 @@ createXsltFromDom( templateNode, S = 'xsl:stylesheet' )
2107
2281
  const fr = sanitizeProcessor.transformToFragment(tc, document)
2108
2282
  , $ = (e,css) =&gt; e.querySelector(css)
2109
2283
  , payload = $( xslDom, 'template[mode="payload"]');
2110
- if( !fr )
2111
- return console.error("transformation error",{ xml:tc.outerHTML, xsl: xmlString( sanitizeXsl ) });
2284
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( !fr )
2285
+ <span class="cstat-no" title="statement not covered" > return console.error("transformation error",{ xml:tc.outerHTML, xsl: xmlString( sanitizeXsl ) });</span>
2112
2286
  <span class="missing-if-branch" title="if path not taken" >I</span>if( 'dce-root'!==fr.firstElementChild.localName )
2113
2287
  { const r = <span class="cstat-no" title="statement not covered" >fr.ownerDocument.createElement('dce-root');</span>
2114
2288
  <span class="cstat-no" title="statement not covered" > [...fr.childNodes].forEach(<span class="fstat-no" title="function not covered" >n=</span>&gt;<span class="cstat-no" title="statement not covered" >r.append(n))</span>;</span>
2115
2289
  <span class="cstat-no" title="statement not covered" > fr.append(r)</span>
2116
2290
  }
2117
- const params = [];
2291
+ &nbsp;
2292
+ [...fr.querySelectorAll('[test]')].forEach( n=&gt;{
2293
+ const t = attr(n,'test')
2294
+ , r = t.replace(/hasBoolAttribute\((.*?)\)/g,
2295
+ <span class="fstat-no" title="function not covered" > (m</span>atch, p1, p2,p3,p4)=&gt;
2296
+ { const a = <span class="cstat-no" title="statement not covered" >p1.substring(1);</span>
2297
+ <span class="cstat-no" title="statement not covered" > return `(not($${a} = \'false\') and ($${a} = '' or $${a} = '${a}' or $${a} = 'true' ))`</span>
2298
+ });
2299
+ t!== r &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >n.setAttribute('test',r);</span>
2300
+ });
2301
+ &nbsp;
2118
2302
  [...fr.querySelectorAll('dce-root&gt;attribute')].forEach( a=&gt;
2119
2303
  {
2120
2304
  keepAttributes(a,'namespace,name,select');
2121
2305
  const p = cloneAs(a,'xsl:param')
2122
2306
  , name = attr(a,'name');
2307
+ &nbsp;
2308
+ declaredAttributes.push(name);
2309
+ if( a.childNodes.length)
2310
+ hardcodedAttributes[name] = a.textContent;
2311
+ &nbsp;
2123
2312
  payload.append(p);
2124
- keepAttributes(p,'select,name');
2125
- let select = attr(p,'select')?.split('??')
2126
- if( !select)
2127
- { select = ['//'+name, `'${p.textContent}'`];
2128
- emptyNode(p);
2129
- p.setAttribute('name',name);
2130
- }
2131
- let val;
2132
- if( select?.length&gt;1 )
2133
- { p.removeAttribute('select');
2134
- const c = $( xslDom, 'template[match="ignore"]&gt;choose').cloneNode(true);
2135
- emptyNode(c.firstElementChild).append( createText(c,'{'+select[0]+'}'));
2136
- emptyNode(c.lastElementChild ).append( createText(c,'{'+select[1]+'}'));
2137
- c.firstElementChild.setAttribute('test',select[0]);
2138
- p.append(c);
2139
- val = c.cloneNode(true);
2313
+ &nbsp;
2314
+ if( a.hasAttribute('select') )
2315
+ {
2316
+ exposedAttributes[ name ] = attr( a, 'select' );
2317
+ keepAttributes( p, 'select,name' );
2318
+ &nbsp;
2319
+ let select = attr(a,'select').split('??');
2320
+ &nbsp;
2321
+ let val;
2322
+ if( select?.length&gt;1 )
2323
+ { p.removeAttribute('select');
2324
+ const c = $( xslDom, 'template[match="ignore"]&gt;choose').cloneNode(true);
2325
+ emptyNode(c.firstElementChild).append( createText(c,'{'+select[0]+'}'));
2326
+ c.firstElementChild.setAttribute('test',select[0]);
2327
+ for( let i=1; i&lt;select.length-1; i++)
2328
+ { const when = <span class="cstat-no" title="statement not covered" >c.firstElementChild.cloneNode(true);</span>
2329
+ <span class="cstat-no" title="statement not covered" > emptyNode(when).append( createText(c,'{'+select[i]+'}'));</span>
2330
+ <span class="cstat-no" title="statement not covered" > when.setAttribute('test',select[i]);</span>
2331
+ <span class="cstat-no" title="statement not covered" > c.insertBefore(when, c.lastElementChild);</span>
2332
+ }
2333
+ emptyNode(c.lastElementChild ).append( createText(c,'{'+select[select.length-1]+'}'));
2334
+ p.append(c);
2335
+ val = c.cloneNode(true);
2336
+ }else
2337
+ val = cloneAs(a,'xsl:value-of');
2338
+ val.removeAttribute('name');
2339
+ a.append(val);
2340
+ a.removeAttribute('select');
2140
2341
  }else
2141
- val=cloneAs(a,'xsl:value-of');
2142
- val.removeAttribute('name');
2143
- a.append(val);
2144
- a.removeAttribute('select');
2145
- params.push(p)
2342
+ {
2343
+ keepAttributes( p, 'name' );
2344
+ p.setAttribute('select','/datadom/attributes/'+name)
2345
+ &nbsp;
2346
+ if( !hardcodedAttributes[name] )
2347
+ a.remove();
2348
+ }
2146
2349
  });
2147
2350
  [...fr.querySelectorAll('[value]')].filter(el=&gt;el.getAttribute('value').match( /\{(.*)\?\?(.*)\}/g )).forEach(el=&gt;
2148
2351
  { const v = attr(el,'value');
@@ -2167,8 +2370,8 @@ createXsltFromDom( templateNode, S = 'xsl:stylesheet' )
2167
2370
  &nbsp;
2168
2371
  forEach$( payload,'slot', s =&gt; s.parentNode.replaceChild( slot2xsl(s), s ) )
2169
2372
  &nbsp;
2170
- const ret = tagUid(xslDom)
2171
- ret.params = params;
2373
+ const ret = tagUid(xslDom);
2374
+ mix( ret, { declaredAttributes, hardcodedAttributes, exposedAttributes } );
2172
2375
  return ret;
2173
2376
  }
2174
2377
  export async function
@@ -2271,12 +2474,15 @@ event2slice( x, sliceNames, ev, dce )
2271
2474
  const v = notChecked? '' : el.value ?? attr( el, 'value' );
2272
2475
  cleanSliceValue();
2273
2476
  if( v === null || v === undefined )
2477
+ {
2274
2478
  [...s.childNodes].filter(n=&gt;n.localName!=='event').map(<span class="fstat-no" title="function not covered" >n=</span>&gt;<span class="cstat-no" title="statement not covered" >n.remove())</span>;
2479
+ s.removeAttribute('value');
2480
+ }
2275
2481
  else
2276
- if( isString(v) )
2277
- s.append( createText( d, v) );
2278
- else
2279
- s.append( obj2node(v,'value',s.ownerDocument) )
2482
+ { const ve = isString(v) ? createText( d, v) : obj2node(v,'value',s.ownerDocument);
2483
+ s.append( ve );
2484
+ s.setAttribute('value',v);
2485
+ }
2280
2486
  }
2281
2487
  return s
2282
2488
  })
@@ -2293,12 +2499,12 @@ const loadTemplateRoots = async ( src, dce )=&gt;
2293
2499
  if( src.startsWith('#') )
2294
2500
  return ( n =&gt;
2295
2501
  { const a = n.querySelectorAll(src)
2296
- return [...( a.length ? a : n.getRootNode().querySelectorAll(src) )]
2502
+ return [...( a.length ? a : <span class="branch-1 cbranch-no" title="branch not covered" >n.getRootNode().querySelectorAll(src) </span>)]
2297
2503
  })(dce.parentElement)
2298
2504
  try
2299
2505
  { const [path, hash] = src.split('#');
2300
- if( '.' === src.charAt(0))
2301
- src = new URL(path, dce.closest('[base]')?.getAttribute('base') || location ).href;
2506
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( '.' === src.charAt(0))
2507
+ <span class="cstat-no" title="statement not covered" > src = new URL(path, dce.closest('[base]')?.getAttribute('base') || location ).href;</span>
2302
2508
  else
2303
2509
  try
2304
2510
  { src = import.meta.resolve( path );
@@ -2323,10 +2529,25 @@ const loadTemplateRoots = async ( src, dce )=&gt;
2323
2529
  }
2324
2530
  export function mergeAttr( from, to )
2325
2531
  { for( let a of from.attributes)
2326
- { a.namespaceURI? <span class="branch-0 cbranch-no" title="branch not covered" >to.setAttributeNS( a.namespaceURI, a.name, a.value ) </span>: to.setAttribute( a.name, a.value )
2327
- if( a.name === 'value')
2328
- to.value = a.value
2329
- }
2532
+ try
2533
+ { const name = a.name;
2534
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( a.namespaceURI )
2535
+ { <span class="cstat-no" title="statement not covered" >if( !to.hasAttributeNS(a.namespaceURI, name) || to.getAttributeNS(a.namespaceURI, name) !== a.value )</span>
2536
+ <span class="cstat-no" title="statement not covered" > to.setAttributeNS( a.namespaceURI, name, a.value )</span>
2537
+ }else
2538
+ { if( !to.hasAttribute(name) || to.getAttribute(name) !== a.value )
2539
+ to.setAttribute( a.name, a.value )
2540
+ }
2541
+ if( a.name === 'value')
2542
+ to.value = a.value
2543
+ }catch(e)
2544
+ { <span class="cstat-no" title="statement not covered" >console.warn('attribute assignment error',e?.message || e); </span>}
2545
+ const ea = to.dceExportedAttributes
2546
+ , aa = to.getAttribute('dce-exported-attributes')
2547
+ , em = aa ? new Set( aa.split(' ') ) : null;
2548
+ for( let a of to.getAttributeNames() )
2549
+ if( !from.hasAttribute(a) &amp;&amp; !ea?.has(a) &amp;&amp; !em?.has(a) )
2550
+ to.removeAttribute(a)
2330
2551
  }
2331
2552
  export function assureUnique(n, id=0)
2332
2553
  {
@@ -2359,7 +2580,7 @@ export function appendByDceId(parent,e,k)
2359
2580
  }
2360
2581
  export function merge( parent, fromArr )
2361
2582
  {
2362
- <span class="missing-if-branch" title="if path not taken" >I</span>if( 'dce-root' === parent.firstElementChild?.localName &amp;&amp; 'dce-root' !== fromArr[0].localName)
2583
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( 'dce-root' === parent.firstElementChild?.localName &amp;&amp; 'dce-root' !== fromArr[0]?.localName)
2363
2584
  <span class="cstat-no" title="statement not covered" > return;</span>
2364
2585
  if( !fromArr.length )
2365
2586
  return 'dce-root' !== parent.firstElementChild?.localName &amp;&amp; removeChildren(parent);
@@ -2459,7 +2680,7 @@ CustomElement extends HTMLElement
2459
2680
  async connectedCallback()
2460
2681
  {
2461
2682
  if(this.firstElementChild &amp;&amp; this.firstElementChild.localName !== 'template')
2462
- console.warn('custom-element used without template wrapping content\n', this.outerHTML);
2683
+ console.log('custom-element used without template wrapping content\n', this.outerHTML);
2463
2684
  const templateRoots = await loadTemplateRoots( attr( this, 'src' ), this )
2464
2685
  , tag = attr( this, 'tag' )
2465
2686
  , tagName = tag ? tag : 'dce-'+crypto.randomUUID();
@@ -2476,7 +2697,7 @@ CustomElement extends HTMLElement
2476
2697
  { p = new XSLTProcessor();
2477
2698
  try{ p.importStylesheet( td ) }
2478
2699
  catch( e )
2479
- { console.error(e, xmlString(td)) }
2700
+ { <span class="cstat-no" title="statement not covered" >console.error(e, xmlString(td)) </span>}
2480
2701
  return p
2481
2702
  })
2482
2703
  &nbsp;
@@ -2487,13 +2708,16 @@ CustomElement extends HTMLElement
2487
2708
  , sliceNames = sliceNodes.map(e=&gt;attr(e,'slice'))
2488
2709
  .filter(n=&gt;!n.includes('/'))
2489
2710
  .filter((v, i, a)=&gt;a.indexOf(v) === i)
2490
- .map(splitSliceNames).flat()
2491
- , declaredAttributes = templateDocs.reduce( (ret,t) =&gt; { if( t.params ) ret.push( ...t.params ); return ret; }, [] );
2711
+ .map(splitSliceNames).flat();
2712
+ &nbsp;
2713
+ const { declaredAttributes, hardcodedAttributes, exposedAttributes } = templateDocs[0];
2714
+ const dceExportedAttributes = new Set([...Object.keys(hardcodedAttributes), ...Object.keys(exposedAttributes)]);
2492
2715
  &nbsp;
2493
2716
  class DceElement extends HTMLElement
2494
2717
  {
2495
- static get observedAttributes(){ return declaredAttributes.map( a=&gt;attr(a,'name')); }
2718
+ static get observedAttributes(){ return declaredAttributes; }
2496
2719
  #inTransform = 0;
2720
+ <span class="fstat-no" title="function not covered" > get </span>dceExportedAttributes(){ <span class="cstat-no" title="statement not covered" >return dceExportedAttributes; </span>}
2497
2721
  connectedCallback()
2498
2722
  { let payload = sanitizeBlankText(this.childNodes);
2499
2723
  if( this.firstElementChild?.tagName === 'TEMPLATE' )
@@ -2516,7 +2740,7 @@ CustomElement extends HTMLElement
2516
2740
  t.insertAdjacentText('beforebegin',n.data);
2517
2741
  }
2518
2742
  const x = xml2dom( '&lt;datadom/&gt;' ).documentElement;
2519
- const createXmlNode = ( tag, t = <span class="branch-0 cbranch-no" title="branch not covered" >'' </span>) =&gt; ( e =&gt;
2743
+ const createXmlNode = ( tag, t = '' ) =&gt; ( e =&gt;
2520
2744
  { if( t )
2521
2745
  e.append( createText( x, t ))
2522
2746
  return e;
@@ -2525,7 +2749,12 @@ CustomElement extends HTMLElement
2525
2749
  xslNs(payloadNode);
2526
2750
  xslHtmlNs(payloadNode);
2527
2751
  this.innerHTML='';
2528
- const attrsRoot = injectData( x, 'attributes' , this.attributes, e =&gt; createXmlNode( e.nodeName, e.value ) );
2752
+ const attrsRoot = injectData( x, 'attributes' , this.attributes, e =&gt; createXmlNode( e.nodeName, e.value ) )
2753
+ , inAttrs = a=&gt; this.hasAttribute(a) || [...attrsRoot.children].find(e=&gt;e.localName === a);
2754
+ mergeAttr( this, attrsRoot );
2755
+ Object.keys(hardcodedAttributes).map(a=&gt; inAttrs(a) || attrsRoot.append(createXmlNode(a,hardcodedAttributes[a])) );
2756
+ Object.keys(exposedAttributes).map(a=&gt; inAttrs(a) || attrsRoot.append(createXmlNode(a)) );
2757
+ &nbsp;
2529
2758
  injectData( x, 'dataset', Object.keys( this.dataset ), k =&gt; createXmlNode( k, this.dataset[ k ] ) );
2530
2759
  const sliceRoot = injectData( x, 'slice', sliceNames, k =&gt; createXmlNode( k, '' ) )
2531
2760
  , sliceXPath = x =&gt; xPath(x, sliceRoot);
@@ -2557,27 +2786,42 @@ CustomElement extends HTMLElement
2557
2786
  const transform = this.transform = ()=&gt;
2558
2787
  { <span class="missing-if-branch" title="if path not taken" >I</span>if(this.#inTransform){ <span class="cstat-no" title="statement not covered" >debugger </span>}
2559
2788
  this.#inTransform = 1;
2789
+ const renderModel = ()=&gt;
2790
+ {
2791
+ const ff = xp.map( (p,i) =&gt;
2792
+ { const f = p.transformToFragment(x.ownerDocument, document)
2793
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( !f )
2794
+ <span class="cstat-no" title="statement not covered" > console.error( "XSLT transformation error. xsl:\n", xmlString(templateDocs[i]), '\nxml:\n', xmlString(x) );</span>
2795
+ return f
2796
+ });
2797
+ ff.map( f =&gt;
2798
+ { <span class="missing-if-branch" title="if path not taken" >I</span>if( !f )
2799
+ <span class="cstat-no" title="statement not covered" > return;</span>
2800
+ assureUnique(f);
2801
+ merge( this, f.childNodes )
2802
+ })
2803
+ let attrChangedCount = 0;
2804
+ Object.entries(hardcodedAttributes).map(( [a,v] )=&gt;
2805
+ { if( !this.hasAttribute(a) &amp;&amp; v !== attr(this,a) )
2806
+ { this.setAttribute( a, v );
2807
+ this.#applyAttribute( a, v );
2808
+ attrChangedCount++;
2809
+ }
2810
+ });
2560
2811
  &nbsp;
2561
- const ff = xp.map( (p,i) =&gt;
2562
- { const f = p.transformToFragment(x.ownerDocument, document)
2563
- <span class="missing-if-branch" title="if path not taken" >I</span>if( !f )
2564
- <span class="cstat-no" title="statement not covered" > console.error( "XSLT transformation error. xsl:\n", xmlString(templateDocs[i]), '\nxml:\n', xmlString(x) );</span>
2565
- return f
2566
- });
2567
- ff.map( f =&gt;
2568
- { <span class="missing-if-branch" title="if path not taken" >I</span>if( !f )
2569
- <span class="cstat-no" title="statement not covered" > return;</span>
2570
- assureUnique(f);
2571
- merge( this, f.childNodes )
2572
- })
2573
- &nbsp;
2574
- DceElement.observedAttributes.map( a =&gt;
2575
- { let v = attr(this.firstElementChild,a);
2576
- if( v !== attr(this,a) )
2577
- { this.setAttribute( a, v );
2578
- this.#applyAttribute( a, v );
2579
- }
2580
- })
2812
+ Object.keys(exposedAttributes).map( a =&gt;
2813
+ { let v = attr(this.firstElementChild,a);
2814
+ if( v !== attr(this,a) )
2815
+ { this.setAttribute( a, v );
2816
+ this.#applyAttribute( a, v );
2817
+ attrChangedCount++;
2818
+ }
2819
+ });
2820
+ return attrChangedCount;
2821
+ };
2822
+ if( renderModel() )
2823
+ <span class="missing-if-branch" title="if path not taken" >I</span>if( renderModel() )
2824
+ <span class="cstat-no" title="statement not covered" > console.warn("model update should not be the result of transform more than once");</span>
2581
2825
  &nbsp;
2582
2826
  function getSliceTarget(el)
2583
2827
  { let r = el;
@@ -2665,13 +2909,15 @@ CustomElement extends HTMLElement
2665
2909
  #applyAttribute(name, newValue)
2666
2910
  { <span class="missing-if-branch" title="if path not taken" >I</span>if( 'value' === name )
2667
2911
  <span class="cstat-no" title="statement not covered" > this.value = newValue;</span>
2912
+ const attrs = this.xml.querySelector('attributes');
2668
2913
  let a = this.xml.querySelector(`attributes&gt;${name}`);
2669
2914
  if( a )
2670
2915
  emptyNode(a).append( createText(a,newValue) );
2671
2916
  else
2672
- { a = create( name, newValue, this.xml );
2673
- this.xml.querySelector('attributes').append( a );
2917
+ <span class="missing-if-branch" title="else path not taken" >E</span>{ <span class="cstat-no" title="statement not covered" >a = create( name, newValue, this.xml );</span>
2918
+ <span class="cstat-no" title="statement not covered" > attrs.append( a );</span>
2674
2919
  }
2920
+ this.#inTransform || attrs.setAttribute(name,newValue);
2675
2921
  &nbsp;
2676
2922
  this.dispatchEvent(new CustomEvent('change', { bubbles: true,detail: { [name]: newValue }}))
2677
2923
  }
@@ -2716,7 +2962,7 @@ export default CustomElement;
2716
2962
  <div class='footer quiet pad2 space-top1 center small'>
2717
2963
  Code coverage generated by
2718
2964
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2719
- at 2024-11-12T04:15:02.299Z
2965
+ at 2025-03-06T04:47:40.965Z
2720
2966
  </div>
2721
2967
  <script src="../../prettify.js"></script>
2722
2968
  <script>