@lcap/nasl 3.5.0-alpha.1 → 3.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/out/bak/translator.js +119 -39
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/breakpoint/generator/BreakpointNode.d.ts +3 -0
  4. package/out/breakpoint/generator/BreakpointNode.js +9 -0
  5. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  6. package/out/breakpoint/generator/CallbackNode.js +15 -0
  7. package/out/breakpoint/generator/CallbackNode.js.map +1 -1
  8. package/out/breakpoint/shared/constants.js +1 -0
  9. package/out/breakpoint/shared/constants.js.map +1 -1
  10. package/out/breakpoint/shared/utils.js +12 -6
  11. package/out/breakpoint/shared/utils.js.map +1 -1
  12. package/out/common/BaseNode.d.ts +1 -0
  13. package/out/common/BaseNode.js +23 -34
  14. package/out/common/BaseNode.js.map +1 -1
  15. package/out/concepts/App__.d.ts +51 -51
  16. package/out/concepts/App__.js +87 -92
  17. package/out/concepts/App__.js.map +1 -1
  18. package/out/concepts/BackendVariable__.js +10 -2
  19. package/out/concepts/BackendVariable__.js.map +1 -1
  20. package/out/concepts/BinaryExpression__.d.ts +2 -0
  21. package/out/concepts/BinaryExpression__.js +4 -0
  22. package/out/concepts/BinaryExpression__.js.map +1 -1
  23. package/out/concepts/BindAttribute__.js +16 -6
  24. package/out/concepts/BindAttribute__.js.map +1 -1
  25. package/out/concepts/BindDirective__.d.ts +1 -0
  26. package/out/concepts/BindDirective__.js +19 -4
  27. package/out/concepts/BindDirective__.js.map +1 -1
  28. package/out/concepts/BindEvent__.d.ts +3 -1
  29. package/out/concepts/BindEvent__.js +38 -13
  30. package/out/concepts/BindEvent__.js.map +1 -1
  31. package/out/concepts/BusinessComponent__.d.ts +637 -0
  32. package/out/concepts/BusinessComponent__.js +1892 -0
  33. package/out/concepts/BusinessComponent__.js.map +1 -0
  34. package/out/concepts/BusinessLogic__.d.ts +38 -0
  35. package/out/concepts/BusinessLogic__.js +358 -0
  36. package/out/concepts/BusinessLogic__.js.map +1 -0
  37. package/out/concepts/CallEvent__.d.ts +97 -0
  38. package/out/concepts/CallEvent__.js +263 -0
  39. package/out/concepts/CallEvent__.js.map +1 -0
  40. package/out/concepts/CallFunction__.d.ts +2 -0
  41. package/out/concepts/CallFunction__.js +14 -2
  42. package/out/concepts/CallFunction__.js.map +1 -1
  43. package/out/concepts/CallInterface__.d.ts +2 -0
  44. package/out/concepts/CallInterface__.js +5 -1
  45. package/out/concepts/CallInterface__.js.map +1 -1
  46. package/out/concepts/CallLogic__.d.ts +5 -2
  47. package/out/concepts/CallLogic__.js +43 -50
  48. package/out/concepts/CallLogic__.js.map +1 -1
  49. package/out/concepts/Constant__.js +7 -6
  50. package/out/concepts/Constant__.js.map +1 -1
  51. package/out/concepts/Destination__.js +2 -2
  52. package/out/concepts/Destination__.js.map +1 -1
  53. package/out/concepts/End__.js +2 -1
  54. package/out/concepts/End__.js.map +1 -1
  55. package/out/concepts/Event__.d.ts +10 -0
  56. package/out/concepts/Event__.js +49 -0
  57. package/out/concepts/Event__.js.map +1 -1
  58. package/out/concepts/FrontendType__.d.ts +308 -0
  59. package/out/concepts/FrontendType__.js +605 -0
  60. package/out/concepts/FrontendType__.js.map +1 -0
  61. package/out/concepts/Frontend__.d.ts +0 -88
  62. package/out/concepts/Frontend__.js +1 -143
  63. package/out/concepts/Frontend__.js.map +1 -1
  64. package/out/concepts/Identifier__.d.ts +5 -0
  65. package/out/concepts/Identifier__.js +19 -9
  66. package/out/concepts/Identifier__.js.map +1 -1
  67. package/out/concepts/LogicItem__.d.ts +1 -1
  68. package/out/concepts/LogicItem__.js.map +1 -1
  69. package/out/concepts/Logic__.d.ts +3 -1
  70. package/out/concepts/Logic__.js +16 -13
  71. package/out/concepts/Logic__.js.map +1 -1
  72. package/out/concepts/MemberExpression__.d.ts +1 -1
  73. package/out/concepts/MemberExpression__.js +3 -3
  74. package/out/concepts/MemberExpression__.js.map +1 -1
  75. package/out/concepts/NewComposite__.d.ts +2 -0
  76. package/out/concepts/NewComposite__.js +4 -0
  77. package/out/concepts/NewComposite__.js.map +1 -1
  78. package/out/concepts/NewList__.d.ts +2 -0
  79. package/out/concepts/NewList__.js +4 -0
  80. package/out/concepts/NewList__.js.map +1 -1
  81. package/out/concepts/NewMap__.d.ts +2 -0
  82. package/out/concepts/NewMap__.js +4 -0
  83. package/out/concepts/NewMap__.js.map +1 -1
  84. package/out/concepts/ParamWithGroup__.d.ts +39 -0
  85. package/out/concepts/ParamWithGroup__.js +85 -0
  86. package/out/concepts/ParamWithGroup__.js.map +1 -0
  87. package/out/concepts/Param__.js +11 -3
  88. package/out/concepts/Param__.js.map +1 -1
  89. package/out/concepts/Return__.js +17 -9
  90. package/out/concepts/Return__.js.map +1 -1
  91. package/out/concepts/TypeAnnotation__.js.map +1 -1
  92. package/out/concepts/Variable__.js +17 -8
  93. package/out/concepts/Variable__.js.map +1 -1
  94. package/out/concepts/ViewElement__.d.ts +17 -1
  95. package/out/concepts/ViewElement__.js +141 -15
  96. package/out/concepts/ViewElement__.js.map +1 -1
  97. package/out/concepts/View__.js +4 -4
  98. package/out/concepts/View__.js.map +1 -1
  99. package/out/concepts/index__.d.ts +5 -0
  100. package/out/concepts/index__.js +5 -0
  101. package/out/concepts/index__.js.map +1 -1
  102. package/out/concepts/utils/asserts.d.ts +258 -3
  103. package/out/concepts/utils/asserts.js +351 -13
  104. package/out/concepts/utils/asserts.js.map +1 -1
  105. package/out/concepts/utils/quick-info.d.ts +13 -0
  106. package/out/concepts/utils/quick-info.js +51 -0
  107. package/out/concepts/utils/quick-info.js.map +1 -0
  108. package/out/concepts/utils/types.d.ts +20 -3
  109. package/out/generator/genBundleFiles.js +25 -11
  110. package/out/generator/genBundleFiles.js.map +1 -1
  111. package/out/generator/genReleaseBody.js +12 -3
  112. package/out/generator/genReleaseBody.js.map +1 -1
  113. package/out/generator/permission.js +3 -3
  114. package/out/generator/permission.js.map +1 -1
  115. package/out/server/extendBaseNode.js +6 -4
  116. package/out/server/extendBaseNode.js.map +1 -1
  117. package/out/server/getLogics.js +62 -27
  118. package/out/server/getLogics.js.map +1 -1
  119. package/out/server/getMemberIdentifier.js +6 -1
  120. package/out/server/getMemberIdentifier.js.map +1 -1
  121. package/out/server/naslServer.js +26 -59
  122. package/out/server/naslServer.js.map +1 -1
  123. package/out/server/translator.js +6 -1
  124. package/out/server/translator.js.map +1 -1
  125. package/out/service/storage/init.js +1 -2
  126. package/out/service/storage/init.js.map +1 -1
  127. package/out/templator/genCreateBlock.js +6 -6
  128. package/out/templator/genCreateBlock.js.map +1 -1
  129. package/out/templator/genCurdEditMultipleKeyBlock.js +16 -16
  130. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  131. package/out/templator/genCurdMultipleKeyBlock.js +36 -36
  132. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  133. package/out/templator/genGetBlock.js +4 -4
  134. package/out/templator/genGetBlock.js.map +1 -1
  135. package/out/templator/genGridViewBlock.js +12 -12
  136. package/out/templator/genGridViewBlock.js.map +1 -1
  137. package/out/templator/genListViewBlock.js +4 -4
  138. package/out/templator/genListViewBlock.js.map +1 -1
  139. package/out/templator/genSelectBlock.js +3 -3
  140. package/out/templator/genSelectBlock.js.map +1 -1
  141. package/out/templator/genTableBlock.js +10 -10
  142. package/out/templator/genTableBlock.js.map +1 -1
  143. package/out/templator/genUpdateBlock.js +8 -8
  144. package/out/templator/genUpdateBlock.js.map +1 -1
  145. package/out/templator/utils.d.ts +2 -2
  146. package/out/templator/utils.js.map +1 -1
  147. package/out/translator/utils.d.ts +2 -2
  148. package/out/translator/utils.js +0 -18
  149. package/out/translator/utils.js.map +1 -1
  150. package/out/utils/i18nInfo.js +7 -2
  151. package/out/utils/i18nInfo.js.map +1 -1
  152. package/package.json +1 -1
  153. package/src/bak/translator.js +121 -43
  154. package/src/breakpoint/generator/BreakpointNode.ts +12 -0
  155. package/src/breakpoint/generator/CallbackNode.ts +17 -0
  156. package/src/breakpoint/shared/constants.ts +1 -0
  157. package/src/breakpoint/shared/utils.ts +13 -8
  158. package/src/common/BaseNode.ts +22 -34
  159. package/src/concepts/App__.ts +140 -146
  160. package/src/concepts/BackendVariable__.ts +10 -2
  161. package/src/concepts/BinaryExpression__.ts +5 -1
  162. package/src/concepts/BindAttribute__.ts +15 -6
  163. package/src/concepts/BindDirective__.ts +19 -4
  164. package/src/concepts/BindEvent__.ts +40 -12
  165. package/src/concepts/BusinessComponent__.ts +2659 -0
  166. package/src/concepts/BusinessLogic__.ts +376 -0
  167. package/src/concepts/CallEvent__.ts +334 -0
  168. package/src/concepts/CallFunction__.ts +15 -2
  169. package/src/concepts/CallInterface__.ts +6 -1
  170. package/src/concepts/CallLogic__.ts +50 -58
  171. package/src/concepts/Constant__.ts +5 -7
  172. package/src/concepts/Destination__.ts +2 -2
  173. package/src/concepts/End__.ts +1 -0
  174. package/src/concepts/Event__.ts +57 -0
  175. package/src/concepts/FrontendType__.ts +919 -0
  176. package/src/concepts/Frontend__.ts +3 -251
  177. package/src/concepts/Identifier__.ts +29 -13
  178. package/src/concepts/LogicItem__.ts +1 -0
  179. package/src/concepts/Logic__.ts +21 -14
  180. package/src/concepts/MemberExpression__.ts +3 -3
  181. package/src/concepts/NewComposite__.ts +5 -5
  182. package/src/concepts/NewList__.ts +6 -2
  183. package/src/concepts/NewMap__.ts +6 -3
  184. package/src/concepts/ParamWithGroup__.ts +101 -0
  185. package/src/concepts/Param__.ts +11 -3
  186. package/src/concepts/Return__.ts +15 -12
  187. package/src/concepts/TypeAnnotation__.ts +1 -1
  188. package/src/concepts/Variable__.ts +17 -9
  189. package/src/concepts/ViewElement__.ts +164 -31
  190. package/src/concepts/View__.ts +6 -4
  191. package/src/concepts/index__.ts +5 -0
  192. package/src/concepts/utils/asserts.ts +367 -4
  193. package/src/concepts/utils/quick-info.ts +64 -0
  194. package/src/concepts/utils/types.ts +28 -0
  195. package/src/generator/genBundleFiles.ts +33 -15
  196. package/src/generator/genReleaseBody.ts +14 -3
  197. package/src/generator/permission.ts +8 -6
  198. package/src/server/extendBaseNode.ts +22 -20
  199. package/src/server/getLogics.ts +79 -41
  200. package/src/server/getMemberIdentifier.ts +7 -1
  201. package/src/server/naslServer.ts +28 -57
  202. package/src/server/translator.ts +7 -1
  203. package/src/service/storage/init.ts +1 -2
  204. package/src/templator/genCreateBlock.ts +6 -6
  205. package/src/templator/genCurdEditMultipleKeyBlock.ts +16 -16
  206. package/src/templator/genCurdMultipleKeyBlock.ts +36 -36
  207. package/src/templator/genGetBlock.ts +4 -4
  208. package/src/templator/genGridViewBlock.ts +12 -12
  209. package/src/templator/genListViewBlock.ts +4 -4
  210. package/src/templator/genSelectBlock.ts +3 -3
  211. package/src/templator/genTableBlock.ts +10 -10
  212. package/src/templator/genUpdateBlock.ts +8 -8
  213. package/src/templator/utils.ts +2 -2
  214. package/src/translator/utils.ts +2 -22
  215. package/src/utils/i18nInfo.ts +7 -2
  216. package/test/concepts/binary-expression/__snapshots__/getQuickInfoOffset.spec.ts.snap +25 -0
  217. package/test/concepts/binary-expression/getQuickInfoOffset.spec.ts +19 -0
  218. package/test/concepts/call-function/__snapshots__/getQuickInfoOffset.spec.ts.snap +41 -0
  219. package/test/concepts/call-function/fixtures/from-string.json +68 -59
  220. package/test/concepts/call-function/fixtures/to-string-global-tz.json +67 -58
  221. package/test/concepts/call-function/fixtures/to-string-no-tz.json +57 -48
  222. package/test/concepts/call-function/fixtures/to-string-user-tz.json +69 -60
  223. package/test/concepts/call-function/fixtures/to-string-utc-tz.json +69 -60
  224. package/test/concepts/call-function/getQuickInfoOffset.spec.ts +19 -0
  225. package/test/concepts/call-interface/__snapshots__/getQuickInfoOffset.spec.ts.snap +86 -0
  226. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  227. package/test/concepts/call-interface/fixtures/only-interface.json +81 -72
  228. package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +223 -214
  229. package/test/concepts/call-interface/fixtures/with-body-no-argument.json +85 -76
  230. package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +100 -91
  231. package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +88 -79
  232. package/test/concepts/call-interface/fixtures/with-headers.json +90 -81
  233. package/test/concepts/call-interface/fixtures/with-query-no-argument.json +88 -79
  234. package/test/concepts/call-interface/fixtures/with-query.json +90 -81
  235. package/test/concepts/call-interface/getQuickInfoOffset.spec.ts +19 -0
  236. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +4 -2
  237. package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +104 -95
  238. package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +209 -200
  239. package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +97 -88
  240. package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +124 -115
  241. package/test/concepts/call-logic/fixtures/json-deserialize.json +120 -111
  242. package/test/concepts/call-logic/fixtures/json-serialize-with-string.json +124 -115
  243. package/test/concepts/call-logic/fixtures/json-serialize.json +124 -115
  244. package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +91 -82
  245. package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +88 -79
  246. package/test/concepts/call-logic/fixtures/view-component-with-validation.json +144 -135
  247. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -7
  248. package/test/concepts/identifier/fixtures/view-variable.json +145 -136
  249. package/test/concepts/new-composite/__snapshots__/getQuickInfoOffset.spec.ts.snap +104 -0
  250. package/test/concepts/new-composite/__snapshots__/toEmbeddedTS.spec.ts.snap +97 -0
  251. package/test/concepts/new-composite/__snapshots__/toJS.spec.ts.snap +43 -0
  252. package/test/concepts/new-composite/constant.ts +5 -0
  253. package/test/concepts/new-composite/fixtures/nested-transform.json +241 -0
  254. package/test/concepts/new-composite/fixtures/nested.json +146 -0
  255. package/test/concepts/new-composite/fixtures/normal.json +63 -0
  256. package/test/concepts/new-composite/getQuickInfoOffset.spec.ts +19 -0
  257. package/test/concepts/new-composite/toEmbeddedTS.spec.ts +15 -0
  258. package/test/concepts/new-composite/toJS.spec.ts +14 -0
  259. package/test/concepts/new-list/__snapshots__/getQuickInfoOffset.spec.ts.snap +165 -0
  260. package/test/concepts/new-list/__snapshots__/toEmbeddedTS.spec.ts.snap +207 -0
  261. package/test/concepts/new-list/__snapshots__/toJS.spec.ts.snap +63 -0
  262. package/test/concepts/new-list/constant.ts +5 -0
  263. package/test/concepts/new-list/fixtures/nested-map.json +117 -0
  264. package/test/concepts/new-list/fixtures/nested-tranform.json +140 -0
  265. package/test/concepts/new-list/fixtures/nested.json +107 -0
  266. package/test/concepts/new-list/fixtures/normal.json +95 -0
  267. package/test/concepts/new-list/getQuickInfoOffset.spec.ts +19 -0
  268. package/test/concepts/new-list/toEmbeddedTS.spec.ts +15 -0
  269. package/test/concepts/new-list/toJS.spec.ts +14 -0
  270. package/test/concepts/new-map/__snapshots__/getQuickInfoOffset.spec.ts.snap +115 -0
  271. package/test/concepts/new-map/__snapshots__/toEmbeddedTS.spec.ts.snap +192 -0
  272. package/test/concepts/new-map/__snapshots__/toJS.spec.ts.snap +54 -0
  273. package/test/concepts/new-map/constant.ts +5 -0
  274. package/test/concepts/new-map/fixtures/nested-transform.json +169 -0
  275. package/test/concepts/new-map/fixtures/nested.json +141 -0
  276. package/test/concepts/new-map/fixtures/normal.json +101 -0
  277. package/test/concepts/new-map/getQuickInfoOffset.spec.ts +19 -0
  278. package/test/concepts/new-map/toEmbeddedTS.spec.ts +15 -0
  279. package/test/concepts/new-map/toJS.spec.ts +14 -0
  280. package/test/concepts/utils.ts +17 -0
  281. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +1 -1
  282. package/test/concepts/view-element/fixtures/default-login.json +221 -212
  283. package/test/concepts/view-element/fixtures/default-not-found.json +183 -174
  284. package/test/concepts/view-element/fixtures/with-role-auth.json +91 -82
  285. package/test/concepts/view-element/fixtures/with-table.json +1894 -1885
  286. package/test/concepts/view-element/toVue.spec.ts +1 -0
  287. package/.nyc_output/b920244d-8d01-4e76-be5a-95132217c5a1.json +0 -1
  288. package/.nyc_output/processinfo/b920244d-8d01-4e76-be5a-95132217c5a1.json +0 -1
  289. package/.nyc_output/processinfo/index.json +0 -1
  290. package/coverage/base.css +0 -224
  291. package/coverage/block-navigation.js +0 -87
  292. package/coverage/favicon.png +0 -0
  293. package/coverage/index.html +0 -461
  294. package/coverage/prettify.css +0 -1
  295. package/coverage/prettify.js +0 -2
  296. package/coverage/sort-arrow-sprite.png +0 -0
  297. package/coverage/sorter.js +0 -196
  298. package/coverage/src/automate/engine/index.html +0 -116
  299. package/coverage/src/automate/engine/utils.js.html +0 -1414
  300. package/coverage/src/bak/index.html +0 -116
  301. package/coverage/src/bak/translator.js.html +0 -631
  302. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +0 -175
  303. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +0 -169
  304. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +0 -1246
  305. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +0 -145
  306. package/coverage/src/breakpoint/generator/index.html +0 -176
  307. package/coverage/src/breakpoint/generator/index.ts.html +0 -508
  308. package/coverage/src/breakpoint/index.html +0 -116
  309. package/coverage/src/breakpoint/index.ts.html +0 -94
  310. package/coverage/src/breakpoint/shared/constants.ts.html +0 -436
  311. package/coverage/src/breakpoint/shared/index.html +0 -176
  312. package/coverage/src/breakpoint/shared/index.ts.html +0 -94
  313. package/coverage/src/breakpoint/shared/operations.ts.html +0 -160
  314. package/coverage/src/breakpoint/shared/socket.ts.html +0 -1297
  315. package/coverage/src/breakpoint/shared/utils.ts.html +0 -1087
  316. package/coverage/src/breakpoint/store/core.ts.html +0 -1600
  317. package/coverage/src/breakpoint/store/dock.ts.html +0 -733
  318. package/coverage/src/breakpoint/store/index.html +0 -146
  319. package/coverage/src/breakpoint/store/index.ts.html +0 -91
  320. package/coverage/src/common/BaseNode.ts.html +0 -4081
  321. package/coverage/src/common/Command.ts.html +0 -310
  322. package/coverage/src/common/EventEmitter.ts.html +0 -373
  323. package/coverage/src/common/Messager.ts.html +0 -820
  324. package/coverage/src/common/asyncFuncMap.ts.html +0 -127
  325. package/coverage/src/common/index.html +0 -191
  326. package/coverage/src/common/index.ts.html +0 -94
  327. package/coverage/src/concepts/Abort__.ts.html +0 -331
  328. package/coverage/src/concepts/Anchor__.ts.html +0 -667
  329. package/coverage/src/concepts/AnonymousFunction__.ts.html +0 -2092
  330. package/coverage/src/concepts/App__.ts.html +0 -13651
  331. package/coverage/src/concepts/Argument__.ts.html +0 -907
  332. package/coverage/src/concepts/Assignee__.ts.html +0 -2317
  333. package/coverage/src/concepts/AssignmentLine__.ts.html +0 -430
  334. package/coverage/src/concepts/Assignment__.ts.html +0 -1174
  335. package/coverage/src/concepts/Attribute__.ts.html +0 -919
  336. package/coverage/src/concepts/AuthInterface__.ts.html +0 -370
  337. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +0 -2011
  338. package/coverage/src/concepts/AuthLogic__.ts.html +0 -793
  339. package/coverage/src/concepts/BackendVariable__.ts.html +0 -1690
  340. package/coverage/src/concepts/Backend__.ts.html +0 -1192
  341. package/coverage/src/concepts/BatchAssignment__.ts.html +0 -3376
  342. package/coverage/src/concepts/BinaryExpression__.ts.html +0 -1468
  343. package/coverage/src/concepts/BindAttribute__.ts.html +0 -3931
  344. package/coverage/src/concepts/BindDirective__.ts.html +0 -2002
  345. package/coverage/src/concepts/BindEvent__.ts.html +0 -3487
  346. package/coverage/src/concepts/BindStyle__.ts.html +0 -1645
  347. package/coverage/src/concepts/BooleanLiteral__.ts.html +0 -421
  348. package/coverage/src/concepts/CallAuthInterface__.ts.html +0 -1642
  349. package/coverage/src/concepts/CallConnector__.ts.html +0 -925
  350. package/coverage/src/concepts/CallFunction__.ts.html +0 -2164
  351. package/coverage/src/concepts/CallInterface__.ts.html +0 -2776
  352. package/coverage/src/concepts/CallLogic__.ts.html +0 -4693
  353. package/coverage/src/concepts/CallQueryComponent__.ts.html +0 -5419
  354. package/coverage/src/concepts/Comment__.ts.html +0 -397
  355. package/coverage/src/concepts/CompletionProperty__.ts.html +0 -946
  356. package/coverage/src/concepts/ConfigGroup__.ts.html +0 -1132
  357. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +0 -427
  358. package/coverage/src/concepts/ConfigProperty__.ts.html +0 -1375
  359. package/coverage/src/concepts/Configuration__.ts.html +0 -1054
  360. package/coverage/src/concepts/Connection__.ts.html +0 -1387
  361. package/coverage/src/concepts/ConnectorTrigger__.ts.html +0 -598
  362. package/coverage/src/concepts/Connector__.ts.html +0 -4390
  363. package/coverage/src/concepts/Constant__.ts.html +0 -1123
  364. package/coverage/src/concepts/DataSource__.ts.html +0 -1798
  365. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +0 -334
  366. package/coverage/src/concepts/DefaultValue__.ts.html +0 -946
  367. package/coverage/src/concepts/Destination__.ts.html +0 -2761
  368. package/coverage/src/concepts/End__.ts.html +0 -436
  369. package/coverage/src/concepts/EntityIndex__.ts.html +0 -799
  370. package/coverage/src/concepts/EntityProperty__.ts.html +0 -2866
  371. package/coverage/src/concepts/Entity__.ts.html +0 -3070
  372. package/coverage/src/concepts/EnumItem__.ts.html +0 -553
  373. package/coverage/src/concepts/Enum__.ts.html +0 -1258
  374. package/coverage/src/concepts/Event__.ts.html +0 -1111
  375. package/coverage/src/concepts/ExternalDestination__.ts.html +0 -1060
  376. package/coverage/src/concepts/ForEachStatement__.ts.html +0 -2023
  377. package/coverage/src/concepts/FrontendLibrary__.ts.html +0 -1762
  378. package/coverage/src/concepts/FrontendVariable__.ts.html +0 -292
  379. package/coverage/src/concepts/Frontend__.ts.html +0 -4078
  380. package/coverage/src/concepts/Function__.ts.html +0 -3718
  381. package/coverage/src/concepts/Identifier__.ts.html +0 -1060
  382. package/coverage/src/concepts/IfStatement__.ts.html +0 -1636
  383. package/coverage/src/concepts/Integration__.ts.html +0 -1273
  384. package/coverage/src/concepts/InterfaceParam__.ts.html +0 -1258
  385. package/coverage/src/concepts/Interface__.ts.html +0 -3463
  386. package/coverage/src/concepts/JSBlock__.ts.html +0 -424
  387. package/coverage/src/concepts/JavaLogic__.ts.html +0 -463
  388. package/coverage/src/concepts/LogicItem__.ts.html +0 -1174
  389. package/coverage/src/concepts/Logic__.ts.html +0 -7732
  390. package/coverage/src/concepts/MatchCase__.ts.html +0 -2974
  391. package/coverage/src/concepts/Match__.ts.html +0 -2494
  392. package/coverage/src/concepts/MemberExpression__.ts.html +0 -1744
  393. package/coverage/src/concepts/MicroApp__.ts.html +0 -439
  394. package/coverage/src/concepts/Module__.ts.html +0 -9385
  395. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +0 -1072
  396. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +0 -1045
  397. package/coverage/src/concepts/Namespace__.ts.html +0 -8221
  398. package/coverage/src/concepts/NewComposite__.ts.html +0 -4765
  399. package/coverage/src/concepts/NewList__.ts.html +0 -1702
  400. package/coverage/src/concepts/NewMap__.ts.html +0 -2470
  401. package/coverage/src/concepts/New__.ts.html +0 -289
  402. package/coverage/src/concepts/NullLiteral__.ts.html +0 -352
  403. package/coverage/src/concepts/NumericLiteral__.ts.html +0 -697
  404. package/coverage/src/concepts/OqlQueryComponent__.ts.html +0 -1237
  405. package/coverage/src/concepts/OverriddenLogic__.ts.html +0 -6970
  406. package/coverage/src/concepts/Param__.ts.html +0 -1798
  407. package/coverage/src/concepts/Point__.ts.html +0 -334
  408. package/coverage/src/concepts/ProcessComponent__.ts.html +0 -1717
  409. package/coverage/src/concepts/ProcessElement__.ts.html +0 -6187
  410. package/coverage/src/concepts/ProcessOutcome__.ts.html +0 -355
  411. package/coverage/src/concepts/ProcessOutcomes__.ts.html +0 -355
  412. package/coverage/src/concepts/Process__.ts.html +0 -5071
  413. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +0 -589
  414. package/coverage/src/concepts/QueryFieldExpression__.ts.html +0 -586
  415. package/coverage/src/concepts/QueryFromExpression__.ts.html +0 -937
  416. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +0 -580
  417. package/coverage/src/concepts/QueryJoinExpression__.ts.html +0 -1606
  418. package/coverage/src/concepts/QueryLimitExpression__.ts.html +0 -664
  419. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +0 -706
  420. package/coverage/src/concepts/QuerySelectExpression__.ts.html +0 -1741
  421. package/coverage/src/concepts/Rect__.ts.html +0 -376
  422. package/coverage/src/concepts/Return__.ts.html +0 -1471
  423. package/coverage/src/concepts/Role__.ts.html +0 -604
  424. package/coverage/src/concepts/SelectMembers__.ts.html +0 -1279
  425. package/coverage/src/concepts/Slot__.ts.html +0 -649
  426. package/coverage/src/concepts/SqlQueryComponent__.ts.html +0 -1003
  427. package/coverage/src/concepts/Start__.ts.html +0 -307
  428. package/coverage/src/concepts/StringInterpolation__.ts.html +0 -1156
  429. package/coverage/src/concepts/StringLiteral__.ts.html +0 -508
  430. package/coverage/src/concepts/StructureProperty__.ts.html +0 -1300
  431. package/coverage/src/concepts/Structure__.ts.html +0 -2182
  432. package/coverage/src/concepts/SwitchCase__.ts.html +0 -1204
  433. package/coverage/src/concepts/SwitchStatement__.ts.html +0 -904
  434. package/coverage/src/concepts/Theme__.ts.html +0 -361
  435. package/coverage/src/concepts/Transactional__.ts.html +0 -631
  436. package/coverage/src/concepts/TriggerEvent__.ts.html +0 -1039
  437. package/coverage/src/concepts/TriggerLauncher__.ts.html +0 -778
  438. package/coverage/src/concepts/TypeAnnotation__.ts.html +0 -3832
  439. package/coverage/src/concepts/TypeParam__.ts.html +0 -322
  440. package/coverage/src/concepts/UnaryExpression__.ts.html +0 -730
  441. package/coverage/src/concepts/Unparsed__.ts.html +0 -397
  442. package/coverage/src/concepts/UseComponent__.ts.html +0 -334
  443. package/coverage/src/concepts/ValidationRule__.ts.html +0 -1876
  444. package/coverage/src/concepts/Variable__.ts.html +0 -1705
  445. package/coverage/src/concepts/ViewBlock__.ts.html +0 -355
  446. package/coverage/src/concepts/ViewComponent__.ts.html +0 -4327
  447. package/coverage/src/concepts/ViewElement__.ts.html +0 -8992
  448. package/coverage/src/concepts/View__.ts.html +0 -9019
  449. package/coverage/src/concepts/WhileStatement__.ts.html +0 -1105
  450. package/coverage/src/concepts/basics/stdlib/index.html +0 -356
  451. package/coverage/src/concepts/basics/stdlib/index.ts.html +0 -208
  452. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +0 -565
  453. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +0 -517
  454. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +0 -226
  455. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +0 -172
  456. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +0 -214
  457. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +0 -145
  458. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +0 -589
  459. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +0 -214
  460. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +0 -229
  461. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +0 -268
  462. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +0 -1999
  463. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +0 -3259
  464. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +0 -6955
  465. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +0 -1768
  466. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +0 -163
  467. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +0 -664
  468. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +0 -121
  469. package/coverage/src/concepts/basics/types/index.html +0 -131
  470. package/coverage/src/concepts/basics/types/index.ts.html +0 -160
  471. package/coverage/src/concepts/index.html +0 -1976
  472. package/coverage/src/concepts/index.ts.html +0 -103
  473. package/coverage/src/concepts/index__.ts.html +0 -454
  474. package/coverage/src/config.ts.html +0 -325
  475. package/coverage/src/decorators/index.html +0 -131
  476. package/coverage/src/decorators/index.ts.html +0 -583
  477. package/coverage/src/decorators/promise.ts.html +0 -169
  478. package/coverage/src/eventBus.ts.html +0 -100
  479. package/coverage/src/generator/compileComponent.ts.html +0 -142
  480. package/coverage/src/generator/genBundleFiles.ts.html +0 -1828
  481. package/coverage/src/generator/genHash.ts.html +0 -124
  482. package/coverage/src/generator/genMetaData.ts.html +0 -1084
  483. package/coverage/src/generator/genReleaseBody.ts.html +0 -1282
  484. package/coverage/src/generator/icestark.ts.html +0 -220
  485. package/coverage/src/generator/index.html +0 -266
  486. package/coverage/src/generator/index.ts.html +0 -106
  487. package/coverage/src/generator/microApp.ts.html +0 -172
  488. package/coverage/src/generator/permission.ts.html +0 -1036
  489. package/coverage/src/generator/qiankun.ts.html +0 -232
  490. package/coverage/src/generator/styleReplacer.ts.html +0 -199
  491. package/coverage/src/index.html +0 -146
  492. package/coverage/src/index.ts.html +0 -124
  493. package/coverage/src/manager/diagnostic.ts.html +0 -442
  494. package/coverage/src/manager/index.html +0 -131
  495. package/coverage/src/manager/stepRecorder.ts.html +0 -457
  496. package/coverage/src/natural/genNaturalTS.ts.html +0 -355
  497. package/coverage/src/natural/index.html +0 -161
  498. package/coverage/src/natural/index.ts.html +0 -91
  499. package/coverage/src/natural/naslStdlibMap.ts.html +0 -157
  500. package/coverage/src/natural/transformTSCode.ts.html +0 -2707
  501. package/coverage/src/sentry/index.html +0 -116
  502. package/coverage/src/sentry/index.ts.html +0 -676
  503. package/coverage/src/server/createUiTs.ts.html +0 -919
  504. package/coverage/src/server/entity2LogicNamespace.ts.html +0 -1294
  505. package/coverage/src/server/event.js.html +0 -526
  506. package/coverage/src/server/extendBaseNode.ts.html +0 -1762
  507. package/coverage/src/server/formatTsUtils.ts.html +0 -2689
  508. package/coverage/src/server/getConnector.ts.html +0 -316
  509. package/coverage/src/server/getExtensionModules.ts.html +0 -178
  510. package/coverage/src/server/getFunctions.ts.html +0 -133
  511. package/coverage/src/server/getInterfaces.ts.html +0 -229
  512. package/coverage/src/server/getLogging.ts.html +0 -100
  513. package/coverage/src/server/getLogics.ts.html +0 -1363
  514. package/coverage/src/server/getMemberIdentifier.ts.html +0 -1606
  515. package/coverage/src/server/getProcessComponents.ts.html +0 -112
  516. package/coverage/src/server/getProcesses.ts.html +0 -2023
  517. package/coverage/src/server/getValidates.ts.html +0 -115
  518. package/coverage/src/server/index.html +0 -401
  519. package/coverage/src/server/index.ts.html +0 -229
  520. package/coverage/src/server/naslServer.ts.html +0 -14356
  521. package/coverage/src/server/naslStdlibMap.ts.html +0 -241
  522. package/coverage/src/server/process2LogicNamespace.ts.html +0 -454
  523. package/coverage/src/server/translator.ts.html +0 -2566
  524. package/coverage/src/service/creator/add.configs.js.html +0 -397
  525. package/coverage/src/service/creator/errHandles.js.html +0 -304
  526. package/coverage/src/service/creator/index.html +0 -146
  527. package/coverage/src/service/creator/index.js.html +0 -352
  528. package/coverage/src/service/datasource/api.js.html +0 -118
  529. package/coverage/src/service/datasource/index.html +0 -131
  530. package/coverage/src/service/datasource/index.js.html +0 -103
  531. package/coverage/src/service/logic/api.js.html +0 -109
  532. package/coverage/src/service/logic/index.html +0 -131
  533. package/coverage/src/service/logic/index.js.html +0 -103
  534. package/coverage/src/service/storage/api.js.html +0 -202
  535. package/coverage/src/service/storage/index.html +0 -206
  536. package/coverage/src/service/storage/index.ts.html +0 -103
  537. package/coverage/src/service/storage/init.ts.html +0 -3721
  538. package/coverage/src/service/storage/jsoner.ts.html +0 -502
  539. package/coverage/src/service/storage/map.ts.html +0 -256
  540. package/coverage/src/service/storage/service.ts.html +0 -331
  541. package/coverage/src/service/storage/storagePoint.ts.html +0 -304
  542. package/coverage/src/templator/genCallComponentLogic.ts.html +0 -163
  543. package/coverage/src/templator/genCreateBlock.ts.html +0 -1093
  544. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +0 -1609
  545. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +0 -2254
  546. package/coverage/src/templator/genEditTableBlock.ts.html +0 -1021
  547. package/coverage/src/templator/genEnumSelectBlock.ts.html +0 -178
  548. package/coverage/src/templator/genGetBlock.ts.html +0 -451
  549. package/coverage/src/templator/genGridViewBlock.ts.html +0 -1114
  550. package/coverage/src/templator/genListViewBlock.ts.html +0 -475
  551. package/coverage/src/templator/genQueryComponent.ts.html +0 -1207
  552. package/coverage/src/templator/genSelectBlock.ts.html +0 -1243
  553. package/coverage/src/templator/genTableBlock.ts.html +0 -973
  554. package/coverage/src/templator/genUpdateBlock.ts.html +0 -1192
  555. package/coverage/src/templator/index.html +0 -326
  556. package/coverage/src/templator/index.ts.html +0 -154
  557. package/coverage/src/templator/utils.ts.html +0 -1861
  558. package/coverage/src/translator/constant.ts.html +0 -106
  559. package/coverage/src/translator/index.html +0 -146
  560. package/coverage/src/translator/index.ts.html +0 -94
  561. package/coverage/src/translator/utils.ts.html +0 -436
  562. package/coverage/src/utils/cookie.ts.html +0 -265
  563. package/coverage/src/utils/env.ts.html +0 -91
  564. package/coverage/src/utils/index.html +0 -236
  565. package/coverage/src/utils/index.ts.html +0 -694
  566. package/coverage/src/utils/logger.ts.html +0 -145
  567. package/coverage/src/utils/sortTsString.ts.html +0 -187
  568. package/coverage/src/utils/string.ts.html +0 -400
  569. package/coverage/src/utils/time-slicing.ts.html +0 -418
  570. package/coverage/src/utils/traverse.ts.html +0 -568
  571. package/coverage/src/utils/window.ts.html +0 -112
@@ -1,3832 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/concepts/TypeAnnotation__.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/concepts</a> TypeAnnotation__.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">17.77% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>83/467</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">6.72% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>24/357</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">14.89% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>14/94</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">17.64% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>78/442</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a>
794
- <a name='L729'></a><a href='#L729'>729</a>
795
- <a name='L730'></a><a href='#L730'>730</a>
796
- <a name='L731'></a><a href='#L731'>731</a>
797
- <a name='L732'></a><a href='#L732'>732</a>
798
- <a name='L733'></a><a href='#L733'>733</a>
799
- <a name='L734'></a><a href='#L734'>734</a>
800
- <a name='L735'></a><a href='#L735'>735</a>
801
- <a name='L736'></a><a href='#L736'>736</a>
802
- <a name='L737'></a><a href='#L737'>737</a>
803
- <a name='L738'></a><a href='#L738'>738</a>
804
- <a name='L739'></a><a href='#L739'>739</a>
805
- <a name='L740'></a><a href='#L740'>740</a>
806
- <a name='L741'></a><a href='#L741'>741</a>
807
- <a name='L742'></a><a href='#L742'>742</a>
808
- <a name='L743'></a><a href='#L743'>743</a>
809
- <a name='L744'></a><a href='#L744'>744</a>
810
- <a name='L745'></a><a href='#L745'>745</a>
811
- <a name='L746'></a><a href='#L746'>746</a>
812
- <a name='L747'></a><a href='#L747'>747</a>
813
- <a name='L748'></a><a href='#L748'>748</a>
814
- <a name='L749'></a><a href='#L749'>749</a>
815
- <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a>
817
- <a name='L752'></a><a href='#L752'>752</a>
818
- <a name='L753'></a><a href='#L753'>753</a>
819
- <a name='L754'></a><a href='#L754'>754</a>
820
- <a name='L755'></a><a href='#L755'>755</a>
821
- <a name='L756'></a><a href='#L756'>756</a>
822
- <a name='L757'></a><a href='#L757'>757</a>
823
- <a name='L758'></a><a href='#L758'>758</a>
824
- <a name='L759'></a><a href='#L759'>759</a>
825
- <a name='L760'></a><a href='#L760'>760</a>
826
- <a name='L761'></a><a href='#L761'>761</a>
827
- <a name='L762'></a><a href='#L762'>762</a>
828
- <a name='L763'></a><a href='#L763'>763</a>
829
- <a name='L764'></a><a href='#L764'>764</a>
830
- <a name='L765'></a><a href='#L765'>765</a>
831
- <a name='L766'></a><a href='#L766'>766</a>
832
- <a name='L767'></a><a href='#L767'>767</a>
833
- <a name='L768'></a><a href='#L768'>768</a>
834
- <a name='L769'></a><a href='#L769'>769</a>
835
- <a name='L770'></a><a href='#L770'>770</a>
836
- <a name='L771'></a><a href='#L771'>771</a>
837
- <a name='L772'></a><a href='#L772'>772</a>
838
- <a name='L773'></a><a href='#L773'>773</a>
839
- <a name='L774'></a><a href='#L774'>774</a>
840
- <a name='L775'></a><a href='#L775'>775</a>
841
- <a name='L776'></a><a href='#L776'>776</a>
842
- <a name='L777'></a><a href='#L777'>777</a>
843
- <a name='L778'></a><a href='#L778'>778</a>
844
- <a name='L779'></a><a href='#L779'>779</a>
845
- <a name='L780'></a><a href='#L780'>780</a>
846
- <a name='L781'></a><a href='#L781'>781</a>
847
- <a name='L782'></a><a href='#L782'>782</a>
848
- <a name='L783'></a><a href='#L783'>783</a>
849
- <a name='L784'></a><a href='#L784'>784</a>
850
- <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a>
852
- <a name='L787'></a><a href='#L787'>787</a>
853
- <a name='L788'></a><a href='#L788'>788</a>
854
- <a name='L789'></a><a href='#L789'>789</a>
855
- <a name='L790'></a><a href='#L790'>790</a>
856
- <a name='L791'></a><a href='#L791'>791</a>
857
- <a name='L792'></a><a href='#L792'>792</a>
858
- <a name='L793'></a><a href='#L793'>793</a>
859
- <a name='L794'></a><a href='#L794'>794</a>
860
- <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a>
862
- <a name='L797'></a><a href='#L797'>797</a>
863
- <a name='L798'></a><a href='#L798'>798</a>
864
- <a name='L799'></a><a href='#L799'>799</a>
865
- <a name='L800'></a><a href='#L800'>800</a>
866
- <a name='L801'></a><a href='#L801'>801</a>
867
- <a name='L802'></a><a href='#L802'>802</a>
868
- <a name='L803'></a><a href='#L803'>803</a>
869
- <a name='L804'></a><a href='#L804'>804</a>
870
- <a name='L805'></a><a href='#L805'>805</a>
871
- <a name='L806'></a><a href='#L806'>806</a>
872
- <a name='L807'></a><a href='#L807'>807</a>
873
- <a name='L808'></a><a href='#L808'>808</a>
874
- <a name='L809'></a><a href='#L809'>809</a>
875
- <a name='L810'></a><a href='#L810'>810</a>
876
- <a name='L811'></a><a href='#L811'>811</a>
877
- <a name='L812'></a><a href='#L812'>812</a>
878
- <a name='L813'></a><a href='#L813'>813</a>
879
- <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a>
882
- <a name='L817'></a><a href='#L817'>817</a>
883
- <a name='L818'></a><a href='#L818'>818</a>
884
- <a name='L819'></a><a href='#L819'>819</a>
885
- <a name='L820'></a><a href='#L820'>820</a>
886
- <a name='L821'></a><a href='#L821'>821</a>
887
- <a name='L822'></a><a href='#L822'>822</a>
888
- <a name='L823'></a><a href='#L823'>823</a>
889
- <a name='L824'></a><a href='#L824'>824</a>
890
- <a name='L825'></a><a href='#L825'>825</a>
891
- <a name='L826'></a><a href='#L826'>826</a>
892
- <a name='L827'></a><a href='#L827'>827</a>
893
- <a name='L828'></a><a href='#L828'>828</a>
894
- <a name='L829'></a><a href='#L829'>829</a>
895
- <a name='L830'></a><a href='#L830'>830</a>
896
- <a name='L831'></a><a href='#L831'>831</a>
897
- <a name='L832'></a><a href='#L832'>832</a>
898
- <a name='L833'></a><a href='#L833'>833</a>
899
- <a name='L834'></a><a href='#L834'>834</a>
900
- <a name='L835'></a><a href='#L835'>835</a>
901
- <a name='L836'></a><a href='#L836'>836</a>
902
- <a name='L837'></a><a href='#L837'>837</a>
903
- <a name='L838'></a><a href='#L838'>838</a>
904
- <a name='L839'></a><a href='#L839'>839</a>
905
- <a name='L840'></a><a href='#L840'>840</a>
906
- <a name='L841'></a><a href='#L841'>841</a>
907
- <a name='L842'></a><a href='#L842'>842</a>
908
- <a name='L843'></a><a href='#L843'>843</a>
909
- <a name='L844'></a><a href='#L844'>844</a>
910
- <a name='L845'></a><a href='#L845'>845</a>
911
- <a name='L846'></a><a href='#L846'>846</a>
912
- <a name='L847'></a><a href='#L847'>847</a>
913
- <a name='L848'></a><a href='#L848'>848</a>
914
- <a name='L849'></a><a href='#L849'>849</a>
915
- <a name='L850'></a><a href='#L850'>850</a>
916
- <a name='L851'></a><a href='#L851'>851</a>
917
- <a name='L852'></a><a href='#L852'>852</a>
918
- <a name='L853'></a><a href='#L853'>853</a>
919
- <a name='L854'></a><a href='#L854'>854</a>
920
- <a name='L855'></a><a href='#L855'>855</a>
921
- <a name='L856'></a><a href='#L856'>856</a>
922
- <a name='L857'></a><a href='#L857'>857</a>
923
- <a name='L858'></a><a href='#L858'>858</a>
924
- <a name='L859'></a><a href='#L859'>859</a>
925
- <a name='L860'></a><a href='#L860'>860</a>
926
- <a name='L861'></a><a href='#L861'>861</a>
927
- <a name='L862'></a><a href='#L862'>862</a>
928
- <a name='L863'></a><a href='#L863'>863</a>
929
- <a name='L864'></a><a href='#L864'>864</a>
930
- <a name='L865'></a><a href='#L865'>865</a>
931
- <a name='L866'></a><a href='#L866'>866</a>
932
- <a name='L867'></a><a href='#L867'>867</a>
933
- <a name='L868'></a><a href='#L868'>868</a>
934
- <a name='L869'></a><a href='#L869'>869</a>
935
- <a name='L870'></a><a href='#L870'>870</a>
936
- <a name='L871'></a><a href='#L871'>871</a>
937
- <a name='L872'></a><a href='#L872'>872</a>
938
- <a name='L873'></a><a href='#L873'>873</a>
939
- <a name='L874'></a><a href='#L874'>874</a>
940
- <a name='L875'></a><a href='#L875'>875</a>
941
- <a name='L876'></a><a href='#L876'>876</a>
942
- <a name='L877'></a><a href='#L877'>877</a>
943
- <a name='L878'></a><a href='#L878'>878</a>
944
- <a name='L879'></a><a href='#L879'>879</a>
945
- <a name='L880'></a><a href='#L880'>880</a>
946
- <a name='L881'></a><a href='#L881'>881</a>
947
- <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a>
949
- <a name='L884'></a><a href='#L884'>884</a>
950
- <a name='L885'></a><a href='#L885'>885</a>
951
- <a name='L886'></a><a href='#L886'>886</a>
952
- <a name='L887'></a><a href='#L887'>887</a>
953
- <a name='L888'></a><a href='#L888'>888</a>
954
- <a name='L889'></a><a href='#L889'>889</a>
955
- <a name='L890'></a><a href='#L890'>890</a>
956
- <a name='L891'></a><a href='#L891'>891</a>
957
- <a name='L892'></a><a href='#L892'>892</a>
958
- <a name='L893'></a><a href='#L893'>893</a>
959
- <a name='L894'></a><a href='#L894'>894</a>
960
- <a name='L895'></a><a href='#L895'>895</a>
961
- <a name='L896'></a><a href='#L896'>896</a>
962
- <a name='L897'></a><a href='#L897'>897</a>
963
- <a name='L898'></a><a href='#L898'>898</a>
964
- <a name='L899'></a><a href='#L899'>899</a>
965
- <a name='L900'></a><a href='#L900'>900</a>
966
- <a name='L901'></a><a href='#L901'>901</a>
967
- <a name='L902'></a><a href='#L902'>902</a>
968
- <a name='L903'></a><a href='#L903'>903</a>
969
- <a name='L904'></a><a href='#L904'>904</a>
970
- <a name='L905'></a><a href='#L905'>905</a>
971
- <a name='L906'></a><a href='#L906'>906</a>
972
- <a name='L907'></a><a href='#L907'>907</a>
973
- <a name='L908'></a><a href='#L908'>908</a>
974
- <a name='L909'></a><a href='#L909'>909</a>
975
- <a name='L910'></a><a href='#L910'>910</a>
976
- <a name='L911'></a><a href='#L911'>911</a>
977
- <a name='L912'></a><a href='#L912'>912</a>
978
- <a name='L913'></a><a href='#L913'>913</a>
979
- <a name='L914'></a><a href='#L914'>914</a>
980
- <a name='L915'></a><a href='#L915'>915</a>
981
- <a name='L916'></a><a href='#L916'>916</a>
982
- <a name='L917'></a><a href='#L917'>917</a>
983
- <a name='L918'></a><a href='#L918'>918</a>
984
- <a name='L919'></a><a href='#L919'>919</a>
985
- <a name='L920'></a><a href='#L920'>920</a>
986
- <a name='L921'></a><a href='#L921'>921</a>
987
- <a name='L922'></a><a href='#L922'>922</a>
988
- <a name='L923'></a><a href='#L923'>923</a>
989
- <a name='L924'></a><a href='#L924'>924</a>
990
- <a name='L925'></a><a href='#L925'>925</a>
991
- <a name='L926'></a><a href='#L926'>926</a>
992
- <a name='L927'></a><a href='#L927'>927</a>
993
- <a name='L928'></a><a href='#L928'>928</a>
994
- <a name='L929'></a><a href='#L929'>929</a>
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>
1031
- <a name='L966'></a><a href='#L966'>966</a>
1032
- <a name='L967'></a><a href='#L967'>967</a>
1033
- <a name='L968'></a><a href='#L968'>968</a>
1034
- <a name='L969'></a><a href='#L969'>969</a>
1035
- <a name='L970'></a><a href='#L970'>970</a>
1036
- <a name='L971'></a><a href='#L971'>971</a>
1037
- <a name='L972'></a><a href='#L972'>972</a>
1038
- <a name='L973'></a><a href='#L973'>973</a>
1039
- <a name='L974'></a><a href='#L974'>974</a>
1040
- <a name='L975'></a><a href='#L975'>975</a>
1041
- <a name='L976'></a><a href='#L976'>976</a>
1042
- <a name='L977'></a><a href='#L977'>977</a>
1043
- <a name='L978'></a><a href='#L978'>978</a>
1044
- <a name='L979'></a><a href='#L979'>979</a>
1045
- <a name='L980'></a><a href='#L980'>980</a>
1046
- <a name='L981'></a><a href='#L981'>981</a>
1047
- <a name='L982'></a><a href='#L982'>982</a>
1048
- <a name='L983'></a><a href='#L983'>983</a>
1049
- <a name='L984'></a><a href='#L984'>984</a>
1050
- <a name='L985'></a><a href='#L985'>985</a>
1051
- <a name='L986'></a><a href='#L986'>986</a>
1052
- <a name='L987'></a><a href='#L987'>987</a>
1053
- <a name='L988'></a><a href='#L988'>988</a>
1054
- <a name='L989'></a><a href='#L989'>989</a>
1055
- <a name='L990'></a><a href='#L990'>990</a>
1056
- <a name='L991'></a><a href='#L991'>991</a>
1057
- <a name='L992'></a><a href='#L992'>992</a>
1058
- <a name='L993'></a><a href='#L993'>993</a>
1059
- <a name='L994'></a><a href='#L994'>994</a>
1060
- <a name='L995'></a><a href='#L995'>995</a>
1061
- <a name='L996'></a><a href='#L996'>996</a>
1062
- <a name='L997'></a><a href='#L997'>997</a>
1063
- <a name='L998'></a><a href='#L998'>998</a>
1064
- <a name='L999'></a><a href='#L999'>999</a>
1065
- <a name='L1000'></a><a href='#L1000'>1000</a>
1066
- <a name='L1001'></a><a href='#L1001'>1001</a>
1067
- <a name='L1002'></a><a href='#L1002'>1002</a>
1068
- <a name='L1003'></a><a href='#L1003'>1003</a>
1069
- <a name='L1004'></a><a href='#L1004'>1004</a>
1070
- <a name='L1005'></a><a href='#L1005'>1005</a>
1071
- <a name='L1006'></a><a href='#L1006'>1006</a>
1072
- <a name='L1007'></a><a href='#L1007'>1007</a>
1073
- <a name='L1008'></a><a href='#L1008'>1008</a>
1074
- <a name='L1009'></a><a href='#L1009'>1009</a>
1075
- <a name='L1010'></a><a href='#L1010'>1010</a>
1076
- <a name='L1011'></a><a href='#L1011'>1011</a>
1077
- <a name='L1012'></a><a href='#L1012'>1012</a>
1078
- <a name='L1013'></a><a href='#L1013'>1013</a>
1079
- <a name='L1014'></a><a href='#L1014'>1014</a>
1080
- <a name='L1015'></a><a href='#L1015'>1015</a>
1081
- <a name='L1016'></a><a href='#L1016'>1016</a>
1082
- <a name='L1017'></a><a href='#L1017'>1017</a>
1083
- <a name='L1018'></a><a href='#L1018'>1018</a>
1084
- <a name='L1019'></a><a href='#L1019'>1019</a>
1085
- <a name='L1020'></a><a href='#L1020'>1020</a>
1086
- <a name='L1021'></a><a href='#L1021'>1021</a>
1087
- <a name='L1022'></a><a href='#L1022'>1022</a>
1088
- <a name='L1023'></a><a href='#L1023'>1023</a>
1089
- <a name='L1024'></a><a href='#L1024'>1024</a>
1090
- <a name='L1025'></a><a href='#L1025'>1025</a>
1091
- <a name='L1026'></a><a href='#L1026'>1026</a>
1092
- <a name='L1027'></a><a href='#L1027'>1027</a>
1093
- <a name='L1028'></a><a href='#L1028'>1028</a>
1094
- <a name='L1029'></a><a href='#L1029'>1029</a>
1095
- <a name='L1030'></a><a href='#L1030'>1030</a>
1096
- <a name='L1031'></a><a href='#L1031'>1031</a>
1097
- <a name='L1032'></a><a href='#L1032'>1032</a>
1098
- <a name='L1033'></a><a href='#L1033'>1033</a>
1099
- <a name='L1034'></a><a href='#L1034'>1034</a>
1100
- <a name='L1035'></a><a href='#L1035'>1035</a>
1101
- <a name='L1036'></a><a href='#L1036'>1036</a>
1102
- <a name='L1037'></a><a href='#L1037'>1037</a>
1103
- <a name='L1038'></a><a href='#L1038'>1038</a>
1104
- <a name='L1039'></a><a href='#L1039'>1039</a>
1105
- <a name='L1040'></a><a href='#L1040'>1040</a>
1106
- <a name='L1041'></a><a href='#L1041'>1041</a>
1107
- <a name='L1042'></a><a href='#L1042'>1042</a>
1108
- <a name='L1043'></a><a href='#L1043'>1043</a>
1109
- <a name='L1044'></a><a href='#L1044'>1044</a>
1110
- <a name='L1045'></a><a href='#L1045'>1045</a>
1111
- <a name='L1046'></a><a href='#L1046'>1046</a>
1112
- <a name='L1047'></a><a href='#L1047'>1047</a>
1113
- <a name='L1048'></a><a href='#L1048'>1048</a>
1114
- <a name='L1049'></a><a href='#L1049'>1049</a>
1115
- <a name='L1050'></a><a href='#L1050'>1050</a>
1116
- <a name='L1051'></a><a href='#L1051'>1051</a>
1117
- <a name='L1052'></a><a href='#L1052'>1052</a>
1118
- <a name='L1053'></a><a href='#L1053'>1053</a>
1119
- <a name='L1054'></a><a href='#L1054'>1054</a>
1120
- <a name='L1055'></a><a href='#L1055'>1055</a>
1121
- <a name='L1056'></a><a href='#L1056'>1056</a>
1122
- <a name='L1057'></a><a href='#L1057'>1057</a>
1123
- <a name='L1058'></a><a href='#L1058'>1058</a>
1124
- <a name='L1059'></a><a href='#L1059'>1059</a>
1125
- <a name='L1060'></a><a href='#L1060'>1060</a>
1126
- <a name='L1061'></a><a href='#L1061'>1061</a>
1127
- <a name='L1062'></a><a href='#L1062'>1062</a>
1128
- <a name='L1063'></a><a href='#L1063'>1063</a>
1129
- <a name='L1064'></a><a href='#L1064'>1064</a>
1130
- <a name='L1065'></a><a href='#L1065'>1065</a>
1131
- <a name='L1066'></a><a href='#L1066'>1066</a>
1132
- <a name='L1067'></a><a href='#L1067'>1067</a>
1133
- <a name='L1068'></a><a href='#L1068'>1068</a>
1134
- <a name='L1069'></a><a href='#L1069'>1069</a>
1135
- <a name='L1070'></a><a href='#L1070'>1070</a>
1136
- <a name='L1071'></a><a href='#L1071'>1071</a>
1137
- <a name='L1072'></a><a href='#L1072'>1072</a>
1138
- <a name='L1073'></a><a href='#L1073'>1073</a>
1139
- <a name='L1074'></a><a href='#L1074'>1074</a>
1140
- <a name='L1075'></a><a href='#L1075'>1075</a>
1141
- <a name='L1076'></a><a href='#L1076'>1076</a>
1142
- <a name='L1077'></a><a href='#L1077'>1077</a>
1143
- <a name='L1078'></a><a href='#L1078'>1078</a>
1144
- <a name='L1079'></a><a href='#L1079'>1079</a>
1145
- <a name='L1080'></a><a href='#L1080'>1080</a>
1146
- <a name='L1081'></a><a href='#L1081'>1081</a>
1147
- <a name='L1082'></a><a href='#L1082'>1082</a>
1148
- <a name='L1083'></a><a href='#L1083'>1083</a>
1149
- <a name='L1084'></a><a href='#L1084'>1084</a>
1150
- <a name='L1085'></a><a href='#L1085'>1085</a>
1151
- <a name='L1086'></a><a href='#L1086'>1086</a>
1152
- <a name='L1087'></a><a href='#L1087'>1087</a>
1153
- <a name='L1088'></a><a href='#L1088'>1088</a>
1154
- <a name='L1089'></a><a href='#L1089'>1089</a>
1155
- <a name='L1090'></a><a href='#L1090'>1090</a>
1156
- <a name='L1091'></a><a href='#L1091'>1091</a>
1157
- <a name='L1092'></a><a href='#L1092'>1092</a>
1158
- <a name='L1093'></a><a href='#L1093'>1093</a>
1159
- <a name='L1094'></a><a href='#L1094'>1094</a>
1160
- <a name='L1095'></a><a href='#L1095'>1095</a>
1161
- <a name='L1096'></a><a href='#L1096'>1096</a>
1162
- <a name='L1097'></a><a href='#L1097'>1097</a>
1163
- <a name='L1098'></a><a href='#L1098'>1098</a>
1164
- <a name='L1099'></a><a href='#L1099'>1099</a>
1165
- <a name='L1100'></a><a href='#L1100'>1100</a>
1166
- <a name='L1101'></a><a href='#L1101'>1101</a>
1167
- <a name='L1102'></a><a href='#L1102'>1102</a>
1168
- <a name='L1103'></a><a href='#L1103'>1103</a>
1169
- <a name='L1104'></a><a href='#L1104'>1104</a>
1170
- <a name='L1105'></a><a href='#L1105'>1105</a>
1171
- <a name='L1106'></a><a href='#L1106'>1106</a>
1172
- <a name='L1107'></a><a href='#L1107'>1107</a>
1173
- <a name='L1108'></a><a href='#L1108'>1108</a>
1174
- <a name='L1109'></a><a href='#L1109'>1109</a>
1175
- <a name='L1110'></a><a href='#L1110'>1110</a>
1176
- <a name='L1111'></a><a href='#L1111'>1111</a>
1177
- <a name='L1112'></a><a href='#L1112'>1112</a>
1178
- <a name='L1113'></a><a href='#L1113'>1113</a>
1179
- <a name='L1114'></a><a href='#L1114'>1114</a>
1180
- <a name='L1115'></a><a href='#L1115'>1115</a>
1181
- <a name='L1116'></a><a href='#L1116'>1116</a>
1182
- <a name='L1117'></a><a href='#L1117'>1117</a>
1183
- <a name='L1118'></a><a href='#L1118'>1118</a>
1184
- <a name='L1119'></a><a href='#L1119'>1119</a>
1185
- <a name='L1120'></a><a href='#L1120'>1120</a>
1186
- <a name='L1121'></a><a href='#L1121'>1121</a>
1187
- <a name='L1122'></a><a href='#L1122'>1122</a>
1188
- <a name='L1123'></a><a href='#L1123'>1123</a>
1189
- <a name='L1124'></a><a href='#L1124'>1124</a>
1190
- <a name='L1125'></a><a href='#L1125'>1125</a>
1191
- <a name='L1126'></a><a href='#L1126'>1126</a>
1192
- <a name='L1127'></a><a href='#L1127'>1127</a>
1193
- <a name='L1128'></a><a href='#L1128'>1128</a>
1194
- <a name='L1129'></a><a href='#L1129'>1129</a>
1195
- <a name='L1130'></a><a href='#L1130'>1130</a>
1196
- <a name='L1131'></a><a href='#L1131'>1131</a>
1197
- <a name='L1132'></a><a href='#L1132'>1132</a>
1198
- <a name='L1133'></a><a href='#L1133'>1133</a>
1199
- <a name='L1134'></a><a href='#L1134'>1134</a>
1200
- <a name='L1135'></a><a href='#L1135'>1135</a>
1201
- <a name='L1136'></a><a href='#L1136'>1136</a>
1202
- <a name='L1137'></a><a href='#L1137'>1137</a>
1203
- <a name='L1138'></a><a href='#L1138'>1138</a>
1204
- <a name='L1139'></a><a href='#L1139'>1139</a>
1205
- <a name='L1140'></a><a href='#L1140'>1140</a>
1206
- <a name='L1141'></a><a href='#L1141'>1141</a>
1207
- <a name='L1142'></a><a href='#L1142'>1142</a>
1208
- <a name='L1143'></a><a href='#L1143'>1143</a>
1209
- <a name='L1144'></a><a href='#L1144'>1144</a>
1210
- <a name='L1145'></a><a href='#L1145'>1145</a>
1211
- <a name='L1146'></a><a href='#L1146'>1146</a>
1212
- <a name='L1147'></a><a href='#L1147'>1147</a>
1213
- <a name='L1148'></a><a href='#L1148'>1148</a>
1214
- <a name='L1149'></a><a href='#L1149'>1149</a>
1215
- <a name='L1150'></a><a href='#L1150'>1150</a>
1216
- <a name='L1151'></a><a href='#L1151'>1151</a>
1217
- <a name='L1152'></a><a href='#L1152'>1152</a>
1218
- <a name='L1153'></a><a href='#L1153'>1153</a>
1219
- <a name='L1154'></a><a href='#L1154'>1154</a>
1220
- <a name='L1155'></a><a href='#L1155'>1155</a>
1221
- <a name='L1156'></a><a href='#L1156'>1156</a>
1222
- <a name='L1157'></a><a href='#L1157'>1157</a>
1223
- <a name='L1158'></a><a href='#L1158'>1158</a>
1224
- <a name='L1159'></a><a href='#L1159'>1159</a>
1225
- <a name='L1160'></a><a href='#L1160'>1160</a>
1226
- <a name='L1161'></a><a href='#L1161'>1161</a>
1227
- <a name='L1162'></a><a href='#L1162'>1162</a>
1228
- <a name='L1163'></a><a href='#L1163'>1163</a>
1229
- <a name='L1164'></a><a href='#L1164'>1164</a>
1230
- <a name='L1165'></a><a href='#L1165'>1165</a>
1231
- <a name='L1166'></a><a href='#L1166'>1166</a>
1232
- <a name='L1167'></a><a href='#L1167'>1167</a>
1233
- <a name='L1168'></a><a href='#L1168'>1168</a>
1234
- <a name='L1169'></a><a href='#L1169'>1169</a>
1235
- <a name='L1170'></a><a href='#L1170'>1170</a>
1236
- <a name='L1171'></a><a href='#L1171'>1171</a>
1237
- <a name='L1172'></a><a href='#L1172'>1172</a>
1238
- <a name='L1173'></a><a href='#L1173'>1173</a>
1239
- <a name='L1174'></a><a href='#L1174'>1174</a>
1240
- <a name='L1175'></a><a href='#L1175'>1175</a>
1241
- <a name='L1176'></a><a href='#L1176'>1176</a>
1242
- <a name='L1177'></a><a href='#L1177'>1177</a>
1243
- <a name='L1178'></a><a href='#L1178'>1178</a>
1244
- <a name='L1179'></a><a href='#L1179'>1179</a>
1245
- <a name='L1180'></a><a href='#L1180'>1180</a>
1246
- <a name='L1181'></a><a href='#L1181'>1181</a>
1247
- <a name='L1182'></a><a href='#L1182'>1182</a>
1248
- <a name='L1183'></a><a href='#L1183'>1183</a>
1249
- <a name='L1184'></a><a href='#L1184'>1184</a>
1250
- <a name='L1185'></a><a href='#L1185'>1185</a>
1251
- <a name='L1186'></a><a href='#L1186'>1186</a>
1252
- <a name='L1187'></a><a href='#L1187'>1187</a>
1253
- <a name='L1188'></a><a href='#L1188'>1188</a>
1254
- <a name='L1189'></a><a href='#L1189'>1189</a>
1255
- <a name='L1190'></a><a href='#L1190'>1190</a>
1256
- <a name='L1191'></a><a href='#L1191'>1191</a>
1257
- <a name='L1192'></a><a href='#L1192'>1192</a>
1258
- <a name='L1193'></a><a href='#L1193'>1193</a>
1259
- <a name='L1194'></a><a href='#L1194'>1194</a>
1260
- <a name='L1195'></a><a href='#L1195'>1195</a>
1261
- <a name='L1196'></a><a href='#L1196'>1196</a>
1262
- <a name='L1197'></a><a href='#L1197'>1197</a>
1263
- <a name='L1198'></a><a href='#L1198'>1198</a>
1264
- <a name='L1199'></a><a href='#L1199'>1199</a>
1265
- <a name='L1200'></a><a href='#L1200'>1200</a>
1266
- <a name='L1201'></a><a href='#L1201'>1201</a>
1267
- <a name='L1202'></a><a href='#L1202'>1202</a>
1268
- <a name='L1203'></a><a href='#L1203'>1203</a>
1269
- <a name='L1204'></a><a href='#L1204'>1204</a>
1270
- <a name='L1205'></a><a href='#L1205'>1205</a>
1271
- <a name='L1206'></a><a href='#L1206'>1206</a>
1272
- <a name='L1207'></a><a href='#L1207'>1207</a>
1273
- <a name='L1208'></a><a href='#L1208'>1208</a>
1274
- <a name='L1209'></a><a href='#L1209'>1209</a>
1275
- <a name='L1210'></a><a href='#L1210'>1210</a>
1276
- <a name='L1211'></a><a href='#L1211'>1211</a>
1277
- <a name='L1212'></a><a href='#L1212'>1212</a>
1278
- <a name='L1213'></a><a href='#L1213'>1213</a>
1279
- <a name='L1214'></a><a href='#L1214'>1214</a>
1280
- <a name='L1215'></a><a href='#L1215'>1215</a>
1281
- <a name='L1216'></a><a href='#L1216'>1216</a>
1282
- <a name='L1217'></a><a href='#L1217'>1217</a>
1283
- <a name='L1218'></a><a href='#L1218'>1218</a>
1284
- <a name='L1219'></a><a href='#L1219'>1219</a>
1285
- <a name='L1220'></a><a href='#L1220'>1220</a>
1286
- <a name='L1221'></a><a href='#L1221'>1221</a>
1287
- <a name='L1222'></a><a href='#L1222'>1222</a>
1288
- <a name='L1223'></a><a href='#L1223'>1223</a>
1289
- <a name='L1224'></a><a href='#L1224'>1224</a>
1290
- <a name='L1225'></a><a href='#L1225'>1225</a>
1291
- <a name='L1226'></a><a href='#L1226'>1226</a>
1292
- <a name='L1227'></a><a href='#L1227'>1227</a>
1293
- <a name='L1228'></a><a href='#L1228'>1228</a>
1294
- <a name='L1229'></a><a href='#L1229'>1229</a>
1295
- <a name='L1230'></a><a href='#L1230'>1230</a>
1296
- <a name='L1231'></a><a href='#L1231'>1231</a>
1297
- <a name='L1232'></a><a href='#L1232'>1232</a>
1298
- <a name='L1233'></a><a href='#L1233'>1233</a>
1299
- <a name='L1234'></a><a href='#L1234'>1234</a>
1300
- <a name='L1235'></a><a href='#L1235'>1235</a>
1301
- <a name='L1236'></a><a href='#L1236'>1236</a>
1302
- <a name='L1237'></a><a href='#L1237'>1237</a>
1303
- <a name='L1238'></a><a href='#L1238'>1238</a>
1304
- <a name='L1239'></a><a href='#L1239'>1239</a>
1305
- <a name='L1240'></a><a href='#L1240'>1240</a>
1306
- <a name='L1241'></a><a href='#L1241'>1241</a>
1307
- <a name='L1242'></a><a href='#L1242'>1242</a>
1308
- <a name='L1243'></a><a href='#L1243'>1243</a>
1309
- <a name='L1244'></a><a href='#L1244'>1244</a>
1310
- <a name='L1245'></a><a href='#L1245'>1245</a>
1311
- <a name='L1246'></a><a href='#L1246'>1246</a>
1312
- <a name='L1247'></a><a href='#L1247'>1247</a>
1313
- <a name='L1248'></a><a href='#L1248'>1248</a>
1314
- <a name='L1249'></a><a href='#L1249'>1249</a>
1315
- <a name='L1250'></a><a href='#L1250'>1250</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-yes">1x</span>
1318
- <span class="cline-any cline-yes">1x</span>
1319
- <span class="cline-any cline-neutral">&nbsp;</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-yes">1x</span>
1322
- <span class="cline-any cline-yes">1x</span>
1323
- <span class="cline-any cline-yes">1x</span>
1324
- <span class="cline-any cline-yes">1x</span>
1325
- <span class="cline-any cline-yes">1x</span>
1326
- <span class="cline-any cline-yes">1x</span>
1327
- <span class="cline-any cline-yes">1x</span>
1328
- <span class="cline-any cline-yes">1x</span>
1329
- <span class="cline-any cline-yes">1x</span>
1330
- <span class="cline-any cline-yes">1x</span>
1331
- <span class="cline-any cline-yes">1x</span>
1332
- <span class="cline-any cline-yes">1x</span>
1333
- <span class="cline-any cline-yes">1x</span>
1334
- <span class="cline-any cline-yes">1x</span>
1335
- <span class="cline-any cline-yes">1x</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">1x</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-neutral">&nbsp;</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-neutral">&nbsp;</span>
1343
- <span class="cline-any cline-neutral">&nbsp;</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-neutral">&nbsp;</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-neutral">&nbsp;</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-neutral">&nbsp;</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-yes">1x</span>
1355
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-neutral">&nbsp;</span>
1370
- <span class="cline-any cline-yes">1x</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&nbsp;</span>
1373
- <span class="cline-any cline-neutral">&nbsp;</span>
1374
- <span class="cline-any cline-neutral">&nbsp;</span>
1375
- <span class="cline-any cline-neutral">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-neutral">&nbsp;</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-neutral">&nbsp;</span>
1385
- <span class="cline-any cline-yes">1x</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-neutral">&nbsp;</span>
1389
- <span class="cline-any cline-neutral">&nbsp;</span>
1390
- <span class="cline-any cline-neutral">&nbsp;</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-neutral">&nbsp;</span>
1395
- <span class="cline-any cline-yes">1x</span>
1396
- <span class="cline-any cline-no">&nbsp;</span>
1397
- <span class="cline-any cline-neutral">&nbsp;</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-neutral">&nbsp;</span>
1402
- <span class="cline-any cline-neutral">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-neutral">&nbsp;</span>
1406
- <span class="cline-any cline-neutral">&nbsp;</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-yes">1x</span>
1410
- <span class="cline-any cline-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-yes">1x</span>
1414
- <span class="cline-any cline-yes">1x</span>
1415
- <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-neutral">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</span>
1419
- <span class="cline-any cline-neutral">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-yes">1x</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-yes">1x</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-neutral">&nbsp;</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-neutral">&nbsp;</span>
1430
- <span class="cline-any cline-neutral">&nbsp;</span>
1431
- <span class="cline-any cline-yes">1x</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</span>
1433
- <span class="cline-any cline-neutral">&nbsp;</span>
1434
- <span class="cline-any cline-neutral">&nbsp;</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-neutral">&nbsp;</span>
1438
- <span class="cline-any cline-yes">1x</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-neutral">&nbsp;</span>
1441
- <span class="cline-any cline-neutral">&nbsp;</span>
1442
- <span class="cline-any cline-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-yes">1x</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-neutral">&nbsp;</span>
1449
- <span class="cline-any cline-neutral">&nbsp;</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-yes">1x</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span>
1455
- <span class="cline-any cline-neutral">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-neutral">&nbsp;</span>
1460
- <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-yes">2037x</span>
1463
- <span class="cline-any cline-neutral">&nbsp;</span>
1464
- <span class="cline-any cline-neutral">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-neutral">&nbsp;</span>
1469
- <span class="cline-any cline-neutral">&nbsp;</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-yes">2037x</span>
1473
- <span class="cline-any cline-neutral">&nbsp;</span>
1474
- <span class="cline-any cline-neutral">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-neutral">&nbsp;</span>
1477
- <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-neutral">&nbsp;</span>
1479
- <span class="cline-any cline-yes">1x</span>
1480
- <span class="cline-any cline-neutral">&nbsp;</span>
1481
- <span class="cline-any cline-neutral">&nbsp;</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-neutral">&nbsp;</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-neutral">&nbsp;</span>
1486
- <span class="cline-any cline-neutral">&nbsp;</span>
1487
- <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-neutral">&nbsp;</span>
1489
- <span class="cline-any cline-yes">2037x</span>
1490
- <span class="cline-any cline-neutral">&nbsp;</span>
1491
- <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-neutral">&nbsp;</span>
1493
- <span class="cline-any cline-neutral">&nbsp;</span>
1494
- <span class="cline-any cline-neutral">&nbsp;</span>
1495
- <span class="cline-any cline-neutral">&nbsp;</span>
1496
- <span class="cline-any cline-yes">1x</span>
1497
- <span class="cline-any cline-neutral">&nbsp;</span>
1498
- <span class="cline-any cline-neutral">&nbsp;</span>
1499
- <span class="cline-any cline-neutral">&nbsp;</span>
1500
- <span class="cline-any cline-neutral">&nbsp;</span>
1501
- <span class="cline-any cline-neutral">&nbsp;</span>
1502
- <span class="cline-any cline-yes">2037x</span>
1503
- <span class="cline-any cline-yes">2037x</span>
1504
- <span class="cline-any cline-yes">2037x</span>
1505
- <span class="cline-any cline-neutral">&nbsp;</span>
1506
- <span class="cline-any cline-neutral">&nbsp;</span>
1507
- <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-yes">1783x</span>
1509
- <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-neutral">&nbsp;</span>
1511
- <span class="cline-any cline-neutral">&nbsp;</span>
1512
- <span class="cline-any cline-neutral">&nbsp;</span>
1513
- <span class="cline-any cline-neutral">&nbsp;</span>
1514
- <span class="cline-any cline-neutral">&nbsp;</span>
1515
- <span class="cline-any cline-neutral">&nbsp;</span>
1516
- <span class="cline-any cline-no">&nbsp;</span>
1517
- <span class="cline-any cline-no">&nbsp;</span>
1518
- <span class="cline-any cline-no">&nbsp;</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-no">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-neutral">&nbsp;</span>
1523
- <span class="cline-any cline-neutral">&nbsp;</span>
1524
- <span class="cline-any cline-neutral">&nbsp;</span>
1525
- <span class="cline-any cline-neutral">&nbsp;</span>
1526
- <span class="cline-any cline-no">&nbsp;</span>
1527
- <span class="cline-any cline-neutral">&nbsp;</span>
1528
- <span class="cline-any cline-neutral">&nbsp;</span>
1529
- <span class="cline-any cline-no">&nbsp;</span>
1530
- <span class="cline-any cline-neutral">&nbsp;</span>
1531
- <span class="cline-any cline-neutral">&nbsp;</span>
1532
- <span class="cline-any cline-neutral">&nbsp;</span>
1533
- <span class="cline-any cline-neutral">&nbsp;</span>
1534
- <span class="cline-any cline-neutral">&nbsp;</span>
1535
- <span class="cline-any cline-neutral">&nbsp;</span>
1536
- <span class="cline-any cline-neutral">&nbsp;</span>
1537
- <span class="cline-any cline-neutral">&nbsp;</span>
1538
- <span class="cline-any cline-neutral">&nbsp;</span>
1539
- <span class="cline-any cline-neutral">&nbsp;</span>
1540
- <span class="cline-any cline-neutral">&nbsp;</span>
1541
- <span class="cline-any cline-neutral">&nbsp;</span>
1542
- <span class="cline-any cline-neutral">&nbsp;</span>
1543
- <span class="cline-any cline-neutral">&nbsp;</span>
1544
- <span class="cline-any cline-neutral">&nbsp;</span>
1545
- <span class="cline-any cline-neutral">&nbsp;</span>
1546
- <span class="cline-any cline-neutral">&nbsp;</span>
1547
- <span class="cline-any cline-neutral">&nbsp;</span>
1548
- <span class="cline-any cline-neutral">&nbsp;</span>
1549
- <span class="cline-any cline-no">&nbsp;</span>
1550
- <span class="cline-any cline-no">&nbsp;</span>
1551
- <span class="cline-any cline-neutral">&nbsp;</span>
1552
- <span class="cline-any cline-no">&nbsp;</span>
1553
- <span class="cline-any cline-no">&nbsp;</span>
1554
- <span class="cline-any cline-no">&nbsp;</span>
1555
- <span class="cline-any cline-no">&nbsp;</span>
1556
- <span class="cline-any cline-neutral">&nbsp;</span>
1557
- <span class="cline-any cline-no">&nbsp;</span>
1558
- <span class="cline-any cline-neutral">&nbsp;</span>
1559
- <span class="cline-any cline-neutral">&nbsp;</span>
1560
- <span class="cline-any cline-neutral">&nbsp;</span>
1561
- <span class="cline-any cline-neutral">&nbsp;</span>
1562
- <span class="cline-any cline-neutral">&nbsp;</span>
1563
- <span class="cline-any cline-neutral">&nbsp;</span>
1564
- <span class="cline-any cline-neutral">&nbsp;</span>
1565
- <span class="cline-any cline-neutral">&nbsp;</span>
1566
- <span class="cline-any cline-no">&nbsp;</span>
1567
- <span class="cline-any cline-no">&nbsp;</span>
1568
- <span class="cline-any cline-neutral">&nbsp;</span>
1569
- <span class="cline-any cline-neutral">&nbsp;</span>
1570
- <span class="cline-any cline-neutral">&nbsp;</span>
1571
- <span class="cline-any cline-neutral">&nbsp;</span>
1572
- <span class="cline-any cline-neutral">&nbsp;</span>
1573
- <span class="cline-any cline-neutral">&nbsp;</span>
1574
- <span class="cline-any cline-neutral">&nbsp;</span>
1575
- <span class="cline-any cline-neutral">&nbsp;</span>
1576
- <span class="cline-any cline-neutral">&nbsp;</span>
1577
- <span class="cline-any cline-neutral">&nbsp;</span>
1578
- <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-neutral">&nbsp;</span>
1580
- <span class="cline-any cline-neutral">&nbsp;</span>
1581
- <span class="cline-any cline-neutral">&nbsp;</span>
1582
- <span class="cline-any cline-neutral">&nbsp;</span>
1583
- <span class="cline-any cline-no">&nbsp;</span>
1584
- <span class="cline-any cline-no">&nbsp;</span>
1585
- <span class="cline-any cline-neutral">&nbsp;</span>
1586
- <span class="cline-any cline-neutral">&nbsp;</span>
1587
- <span class="cline-any cline-neutral">&nbsp;</span>
1588
- <span class="cline-any cline-neutral">&nbsp;</span>
1589
- <span class="cline-any cline-no">&nbsp;</span>
1590
- <span class="cline-any cline-neutral">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-neutral">&nbsp;</span>
1593
- <span class="cline-any cline-neutral">&nbsp;</span>
1594
- <span class="cline-any cline-neutral">&nbsp;</span>
1595
- <span class="cline-any cline-neutral">&nbsp;</span>
1596
- <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-neutral">&nbsp;</span>
1598
- <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-neutral">&nbsp;</span>
1600
- <span class="cline-any cline-neutral">&nbsp;</span>
1601
- <span class="cline-any cline-neutral">&nbsp;</span>
1602
- <span class="cline-any cline-neutral">&nbsp;</span>
1603
- <span class="cline-any cline-neutral">&nbsp;</span>
1604
- <span class="cline-any cline-neutral">&nbsp;</span>
1605
- <span class="cline-any cline-neutral">&nbsp;</span>
1606
- <span class="cline-any cline-neutral">&nbsp;</span>
1607
- <span class="cline-any cline-no">&nbsp;</span>
1608
- <span class="cline-any cline-no">&nbsp;</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-neutral">&nbsp;</span>
1612
- <span class="cline-any cline-neutral">&nbsp;</span>
1613
- <span class="cline-any cline-neutral">&nbsp;</span>
1614
- <span class="cline-any cline-neutral">&nbsp;</span>
1615
- <span class="cline-any cline-neutral">&nbsp;</span>
1616
- <span class="cline-any cline-neutral">&nbsp;</span>
1617
- <span class="cline-any cline-neutral">&nbsp;</span>
1618
- <span class="cline-any cline-neutral">&nbsp;</span>
1619
- <span class="cline-any cline-neutral">&nbsp;</span>
1620
- <span class="cline-any cline-neutral">&nbsp;</span>
1621
- <span class="cline-any cline-neutral">&nbsp;</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
- <span class="cline-any cline-neutral">&nbsp;</span>
1624
- <span class="cline-any cline-no">&nbsp;</span>
1625
- <span class="cline-any cline-no">&nbsp;</span>
1626
- <span class="cline-any cline-no">&nbsp;</span>
1627
- <span class="cline-any cline-neutral">&nbsp;</span>
1628
- <span class="cline-any cline-neutral">&nbsp;</span>
1629
- <span class="cline-any cline-neutral">&nbsp;</span>
1630
- <span class="cline-any cline-neutral">&nbsp;</span>
1631
- <span class="cline-any cline-no">&nbsp;</span>
1632
- <span class="cline-any cline-neutral">&nbsp;</span>
1633
- <span class="cline-any cline-neutral">&nbsp;</span>
1634
- <span class="cline-any cline-neutral">&nbsp;</span>
1635
- <span class="cline-any cline-neutral">&nbsp;</span>
1636
- <span class="cline-any cline-neutral">&nbsp;</span>
1637
- <span class="cline-any cline-neutral">&nbsp;</span>
1638
- <span class="cline-any cline-neutral">&nbsp;</span>
1639
- <span class="cline-any cline-neutral">&nbsp;</span>
1640
- <span class="cline-any cline-neutral">&nbsp;</span>
1641
- <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-neutral">&nbsp;</span>
1643
- <span class="cline-any cline-neutral">&nbsp;</span>
1644
- <span class="cline-any cline-neutral">&nbsp;</span>
1645
- <span class="cline-any cline-neutral">&nbsp;</span>
1646
- <span class="cline-any cline-neutral">&nbsp;</span>
1647
- <span class="cline-any cline-neutral">&nbsp;</span>
1648
- <span class="cline-any cline-neutral">&nbsp;</span>
1649
- <span class="cline-any cline-no">&nbsp;</span>
1650
- <span class="cline-any cline-no">&nbsp;</span>
1651
- <span class="cline-any cline-neutral">&nbsp;</span>
1652
- <span class="cline-any cline-no">&nbsp;</span>
1653
- <span class="cline-any cline-no">&nbsp;</span>
1654
- <span class="cline-any cline-no">&nbsp;</span>
1655
- <span class="cline-any cline-no">&nbsp;</span>
1656
- <span class="cline-any cline-neutral">&nbsp;</span>
1657
- <span class="cline-any cline-no">&nbsp;</span>
1658
- <span class="cline-any cline-neutral">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
- <span class="cline-any cline-neutral">&nbsp;</span>
1661
- <span class="cline-any cline-neutral">&nbsp;</span>
1662
- <span class="cline-any cline-neutral">&nbsp;</span>
1663
- <span class="cline-any cline-neutral">&nbsp;</span>
1664
- <span class="cline-any cline-neutral">&nbsp;</span>
1665
- <span class="cline-any cline-neutral">&nbsp;</span>
1666
- <span class="cline-any cline-no">&nbsp;</span>
1667
- <span class="cline-any cline-no">&nbsp;</span>
1668
- <span class="cline-any cline-neutral">&nbsp;</span>
1669
- <span class="cline-any cline-neutral">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-neutral">&nbsp;</span>
1673
- <span class="cline-any cline-neutral">&nbsp;</span>
1674
- <span class="cline-any cline-neutral">&nbsp;</span>
1675
- <span class="cline-any cline-neutral">&nbsp;</span>
1676
- <span class="cline-any cline-neutral">&nbsp;</span>
1677
- <span class="cline-any cline-neutral">&nbsp;</span>
1678
- <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-neutral">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-no">&nbsp;</span>
1684
- <span class="cline-any cline-no">&nbsp;</span>
1685
- <span class="cline-any cline-neutral">&nbsp;</span>
1686
- <span class="cline-any cline-neutral">&nbsp;</span>
1687
- <span class="cline-any cline-neutral">&nbsp;</span>
1688
- <span class="cline-any cline-neutral">&nbsp;</span>
1689
- <span class="cline-any cline-no">&nbsp;</span>
1690
- <span class="cline-any cline-neutral">&nbsp;</span>
1691
- <span class="cline-any cline-neutral">&nbsp;</span>
1692
- <span class="cline-any cline-neutral">&nbsp;</span>
1693
- <span class="cline-any cline-neutral">&nbsp;</span>
1694
- <span class="cline-any cline-neutral">&nbsp;</span>
1695
- <span class="cline-any cline-neutral">&nbsp;</span>
1696
- <span class="cline-any cline-neutral">&nbsp;</span>
1697
- <span class="cline-any cline-neutral">&nbsp;</span>
1698
- <span class="cline-any cline-neutral">&nbsp;</span>
1699
- <span class="cline-any cline-neutral">&nbsp;</span>
1700
- <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-neutral">&nbsp;</span>
1702
- <span class="cline-any cline-neutral">&nbsp;</span>
1703
- <span class="cline-any cline-neutral">&nbsp;</span>
1704
- <span class="cline-any cline-neutral">&nbsp;</span>
1705
- <span class="cline-any cline-neutral">&nbsp;</span>
1706
- <span class="cline-any cline-neutral">&nbsp;</span>
1707
- <span class="cline-any cline-no">&nbsp;</span>
1708
- <span class="cline-any cline-no">&nbsp;</span>
1709
- <span class="cline-any cline-neutral">&nbsp;</span>
1710
- <span class="cline-any cline-neutral">&nbsp;</span>
1711
- <span class="cline-any cline-neutral">&nbsp;</span>
1712
- <span class="cline-any cline-neutral">&nbsp;</span>
1713
- <span class="cline-any cline-neutral">&nbsp;</span>
1714
- <span class="cline-any cline-neutral">&nbsp;</span>
1715
- <span class="cline-any cline-neutral">&nbsp;</span>
1716
- <span class="cline-any cline-neutral">&nbsp;</span>
1717
- <span class="cline-any cline-neutral">&nbsp;</span>
1718
- <span class="cline-any cline-neutral">&nbsp;</span>
1719
- <span class="cline-any cline-neutral">&nbsp;</span>
1720
- <span class="cline-any cline-neutral">&nbsp;</span>
1721
- <span class="cline-any cline-neutral">&nbsp;</span>
1722
- <span class="cline-any cline-neutral">&nbsp;</span>
1723
- <span class="cline-any cline-neutral">&nbsp;</span>
1724
- <span class="cline-any cline-no">&nbsp;</span>
1725
- <span class="cline-any cline-no">&nbsp;</span>
1726
- <span class="cline-any cline-no">&nbsp;</span>
1727
- <span class="cline-any cline-neutral">&nbsp;</span>
1728
- <span class="cline-any cline-neutral">&nbsp;</span>
1729
- <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-neutral">&nbsp;</span>
1731
- <span class="cline-any cline-no">&nbsp;</span>
1732
- <span class="cline-any cline-neutral">&nbsp;</span>
1733
- <span class="cline-any cline-neutral">&nbsp;</span>
1734
- <span class="cline-any cline-neutral">&nbsp;</span>
1735
- <span class="cline-any cline-neutral">&nbsp;</span>
1736
- <span class="cline-any cline-neutral">&nbsp;</span>
1737
- <span class="cline-any cline-neutral">&nbsp;</span>
1738
- <span class="cline-any cline-neutral">&nbsp;</span>
1739
- <span class="cline-any cline-neutral">&nbsp;</span>
1740
- <span class="cline-any cline-neutral">&nbsp;</span>
1741
- <span class="cline-any cline-neutral">&nbsp;</span>
1742
- <span class="cline-any cline-neutral">&nbsp;</span>
1743
- <span class="cline-any cline-neutral">&nbsp;</span>
1744
- <span class="cline-any cline-neutral">&nbsp;</span>
1745
- <span class="cline-any cline-neutral">&nbsp;</span>
1746
- <span class="cline-any cline-neutral">&nbsp;</span>
1747
- <span class="cline-any cline-neutral">&nbsp;</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-no">&nbsp;</span>
1750
- <span class="cline-any cline-no">&nbsp;</span>
1751
- <span class="cline-any cline-neutral">&nbsp;</span>
1752
- <span class="cline-any cline-no">&nbsp;</span>
1753
- <span class="cline-any cline-no">&nbsp;</span>
1754
- <span class="cline-any cline-no">&nbsp;</span>
1755
- <span class="cline-any cline-no">&nbsp;</span>
1756
- <span class="cline-any cline-neutral">&nbsp;</span>
1757
- <span class="cline-any cline-no">&nbsp;</span>
1758
- <span class="cline-any cline-neutral">&nbsp;</span>
1759
- <span class="cline-any cline-neutral">&nbsp;</span>
1760
- <span class="cline-any cline-neutral">&nbsp;</span>
1761
- <span class="cline-any cline-neutral">&nbsp;</span>
1762
- <span class="cline-any cline-neutral">&nbsp;</span>
1763
- <span class="cline-any cline-neutral">&nbsp;</span>
1764
- <span class="cline-any cline-neutral">&nbsp;</span>
1765
- <span class="cline-any cline-neutral">&nbsp;</span>
1766
- <span class="cline-any cline-no">&nbsp;</span>
1767
- <span class="cline-any cline-no">&nbsp;</span>
1768
- <span class="cline-any cline-neutral">&nbsp;</span>
1769
- <span class="cline-any cline-neutral">&nbsp;</span>
1770
- <span class="cline-any cline-neutral">&nbsp;</span>
1771
- <span class="cline-any cline-neutral">&nbsp;</span>
1772
- <span class="cline-any cline-neutral">&nbsp;</span>
1773
- <span class="cline-any cline-neutral">&nbsp;</span>
1774
- <span class="cline-any cline-neutral">&nbsp;</span>
1775
- <span class="cline-any cline-neutral">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-neutral">&nbsp;</span>
1779
- <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-neutral">&nbsp;</span>
1781
- <span class="cline-any cline-neutral">&nbsp;</span>
1782
- <span class="cline-any cline-neutral">&nbsp;</span>
1783
- <span class="cline-any cline-no">&nbsp;</span>
1784
- <span class="cline-any cline-no">&nbsp;</span>
1785
- <span class="cline-any cline-neutral">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-neutral">&nbsp;</span>
1788
- <span class="cline-any cline-neutral">&nbsp;</span>
1789
- <span class="cline-any cline-no">&nbsp;</span>
1790
- <span class="cline-any cline-neutral">&nbsp;</span>
1791
- <span class="cline-any cline-neutral">&nbsp;</span>
1792
- <span class="cline-any cline-neutral">&nbsp;</span>
1793
- <span class="cline-any cline-neutral">&nbsp;</span>
1794
- <span class="cline-any cline-neutral">&nbsp;</span>
1795
- <span class="cline-any cline-neutral">&nbsp;</span>
1796
- <span class="cline-any cline-neutral">&nbsp;</span>
1797
- <span class="cline-any cline-neutral">&nbsp;</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-neutral">&nbsp;</span>
1800
- <span class="cline-any cline-neutral">&nbsp;</span>
1801
- <span class="cline-any cline-neutral">&nbsp;</span>
1802
- <span class="cline-any cline-neutral">&nbsp;</span>
1803
- <span class="cline-any cline-neutral">&nbsp;</span>
1804
- <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-neutral">&nbsp;</span>
1806
- <span class="cline-any cline-neutral">&nbsp;</span>
1807
- <span class="cline-any cline-no">&nbsp;</span>
1808
- <span class="cline-any cline-no">&nbsp;</span>
1809
- <span class="cline-any cline-neutral">&nbsp;</span>
1810
- <span class="cline-any cline-neutral">&nbsp;</span>
1811
- <span class="cline-any cline-neutral">&nbsp;</span>
1812
- <span class="cline-any cline-neutral">&nbsp;</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-neutral">&nbsp;</span>
1815
- <span class="cline-any cline-neutral">&nbsp;</span>
1816
- <span class="cline-any cline-neutral">&nbsp;</span>
1817
- <span class="cline-any cline-neutral">&nbsp;</span>
1818
- <span class="cline-any cline-neutral">&nbsp;</span>
1819
- <span class="cline-any cline-neutral">&nbsp;</span>
1820
- <span class="cline-any cline-neutral">&nbsp;</span>
1821
- <span class="cline-any cline-neutral">&nbsp;</span>
1822
- <span class="cline-any cline-neutral">&nbsp;</span>
1823
- <span class="cline-any cline-neutral">&nbsp;</span>
1824
- <span class="cline-any cline-no">&nbsp;</span>
1825
- <span class="cline-any cline-no">&nbsp;</span>
1826
- <span class="cline-any cline-no">&nbsp;</span>
1827
- <span class="cline-any cline-neutral">&nbsp;</span>
1828
- <span class="cline-any cline-neutral">&nbsp;</span>
1829
- <span class="cline-any cline-neutral">&nbsp;</span>
1830
- <span class="cline-any cline-neutral">&nbsp;</span>
1831
- <span class="cline-any cline-no">&nbsp;</span>
1832
- <span class="cline-any cline-neutral">&nbsp;</span>
1833
- <span class="cline-any cline-neutral">&nbsp;</span>
1834
- <span class="cline-any cline-neutral">&nbsp;</span>
1835
- <span class="cline-any cline-neutral">&nbsp;</span>
1836
- <span class="cline-any cline-neutral">&nbsp;</span>
1837
- <span class="cline-any cline-neutral">&nbsp;</span>
1838
- <span class="cline-any cline-neutral">&nbsp;</span>
1839
- <span class="cline-any cline-neutral">&nbsp;</span>
1840
- <span class="cline-any cline-neutral">&nbsp;</span>
1841
- <span class="cline-any cline-no">&nbsp;</span>
1842
- <span class="cline-any cline-no">&nbsp;</span>
1843
- <span class="cline-any cline-neutral">&nbsp;</span>
1844
- <span class="cline-any cline-neutral">&nbsp;</span>
1845
- <span class="cline-any cline-neutral">&nbsp;</span>
1846
- <span class="cline-any cline-neutral">&nbsp;</span>
1847
- <span class="cline-any cline-neutral">&nbsp;</span>
1848
- <span class="cline-any cline-neutral">&nbsp;</span>
1849
- <span class="cline-any cline-neutral">&nbsp;</span>
1850
- <span class="cline-any cline-neutral">&nbsp;</span>
1851
- <span class="cline-any cline-neutral">&nbsp;</span>
1852
- <span class="cline-any cline-no">&nbsp;</span>
1853
- <span class="cline-any cline-no">&nbsp;</span>
1854
- <span class="cline-any cline-neutral">&nbsp;</span>
1855
- <span class="cline-any cline-neutral">&nbsp;</span>
1856
- <span class="cline-any cline-neutral">&nbsp;</span>
1857
- <span class="cline-any cline-no">&nbsp;</span>
1858
- <span class="cline-any cline-no">&nbsp;</span>
1859
- <span class="cline-any cline-neutral">&nbsp;</span>
1860
- <span class="cline-any cline-neutral">&nbsp;</span>
1861
- <span class="cline-any cline-neutral">&nbsp;</span>
1862
- <span class="cline-any cline-neutral">&nbsp;</span>
1863
- <span class="cline-any cline-neutral">&nbsp;</span>
1864
- <span class="cline-any cline-neutral">&nbsp;</span>
1865
- <span class="cline-any cline-no">&nbsp;</span>
1866
- <span class="cline-any cline-no">&nbsp;</span>
1867
- <span class="cline-any cline-neutral">&nbsp;</span>
1868
- <span class="cline-any cline-no">&nbsp;</span>
1869
- <span class="cline-any cline-neutral">&nbsp;</span>
1870
- <span class="cline-any cline-no">&nbsp;</span>
1871
- <span class="cline-any cline-no">&nbsp;</span>
1872
- <span class="cline-any cline-no">&nbsp;</span>
1873
- <span class="cline-any cline-no">&nbsp;</span>
1874
- <span class="cline-any cline-no">&nbsp;</span>
1875
- <span class="cline-any cline-no">&nbsp;</span>
1876
- <span class="cline-any cline-no">&nbsp;</span>
1877
- <span class="cline-any cline-no">&nbsp;</span>
1878
- <span class="cline-any cline-neutral">&nbsp;</span>
1879
- <span class="cline-any cline-neutral">&nbsp;</span>
1880
- <span class="cline-any cline-no">&nbsp;</span>
1881
- <span class="cline-any cline-neutral">&nbsp;</span>
1882
- <span class="cline-any cline-neutral">&nbsp;</span>
1883
- <span class="cline-any cline-neutral">&nbsp;</span>
1884
- <span class="cline-any cline-neutral">&nbsp;</span>
1885
- <span class="cline-any cline-neutral">&nbsp;</span>
1886
- <span class="cline-any cline-neutral">&nbsp;</span>
1887
- <span class="cline-any cline-neutral">&nbsp;</span>
1888
- <span class="cline-any cline-neutral">&nbsp;</span>
1889
- <span class="cline-any cline-neutral">&nbsp;</span>
1890
- <span class="cline-any cline-no">&nbsp;</span>
1891
- <span class="cline-any cline-no">&nbsp;</span>
1892
- <span class="cline-any cline-neutral">&nbsp;</span>
1893
- <span class="cline-any cline-neutral">&nbsp;</span>
1894
- <span class="cline-any cline-neutral">&nbsp;</span>
1895
- <span class="cline-any cline-no">&nbsp;</span>
1896
- <span class="cline-any cline-no">&nbsp;</span>
1897
- <span class="cline-any cline-neutral">&nbsp;</span>
1898
- <span class="cline-any cline-neutral">&nbsp;</span>
1899
- <span class="cline-any cline-neutral">&nbsp;</span>
1900
- <span class="cline-any cline-neutral">&nbsp;</span>
1901
- <span class="cline-any cline-neutral">&nbsp;</span>
1902
- <span class="cline-any cline-neutral">&nbsp;</span>
1903
- <span class="cline-any cline-no">&nbsp;</span>
1904
- <span class="cline-any cline-no">&nbsp;</span>
1905
- <span class="cline-any cline-neutral">&nbsp;</span>
1906
- <span class="cline-any cline-no">&nbsp;</span>
1907
- <span class="cline-any cline-neutral">&nbsp;</span>
1908
- <span class="cline-any cline-no">&nbsp;</span>
1909
- <span class="cline-any cline-no">&nbsp;</span>
1910
- <span class="cline-any cline-no">&nbsp;</span>
1911
- <span class="cline-any cline-no">&nbsp;</span>
1912
- <span class="cline-any cline-no">&nbsp;</span>
1913
- <span class="cline-any cline-no">&nbsp;</span>
1914
- <span class="cline-any cline-no">&nbsp;</span>
1915
- <span class="cline-any cline-no">&nbsp;</span>
1916
- <span class="cline-any cline-neutral">&nbsp;</span>
1917
- <span class="cline-any cline-neutral">&nbsp;</span>
1918
- <span class="cline-any cline-no">&nbsp;</span>
1919
- <span class="cline-any cline-neutral">&nbsp;</span>
1920
- <span class="cline-any cline-neutral">&nbsp;</span>
1921
- <span class="cline-any cline-neutral">&nbsp;</span>
1922
- <span class="cline-any cline-neutral">&nbsp;</span>
1923
- <span class="cline-any cline-neutral">&nbsp;</span>
1924
- <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-neutral">&nbsp;</span>
1926
- <span class="cline-any cline-neutral">&nbsp;</span>
1927
- <span class="cline-any cline-yes">2037x</span>
1928
- <span class="cline-any cline-neutral">&nbsp;</span>
1929
- <span class="cline-any cline-neutral">&nbsp;</span>
1930
- <span class="cline-any cline-no">&nbsp;</span>
1931
- <span class="cline-any cline-neutral">&nbsp;</span>
1932
- <span class="cline-any cline-neutral">&nbsp;</span>
1933
- <span class="cline-any cline-neutral">&nbsp;</span>
1934
- <span class="cline-any cline-neutral">&nbsp;</span>
1935
- <span class="cline-any cline-neutral">&nbsp;</span>
1936
- <span class="cline-any cline-neutral">&nbsp;</span>
1937
- <span class="cline-any cline-neutral">&nbsp;</span>
1938
- <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-no">&nbsp;</span>
1940
- <span class="cline-any cline-no">&nbsp;</span>
1941
- <span class="cline-any cline-no">&nbsp;</span>
1942
- <span class="cline-any cline-no">&nbsp;</span>
1943
- <span class="cline-any cline-no">&nbsp;</span>
1944
- <span class="cline-any cline-no">&nbsp;</span>
1945
- <span class="cline-any cline-no">&nbsp;</span>
1946
- <span class="cline-any cline-no">&nbsp;</span>
1947
- <span class="cline-any cline-neutral">&nbsp;</span>
1948
- <span class="cline-any cline-neutral">&nbsp;</span>
1949
- <span class="cline-any cline-neutral">&nbsp;</span>
1950
- <span class="cline-any cline-no">&nbsp;</span>
1951
- <span class="cline-any cline-neutral">&nbsp;</span>
1952
- <span class="cline-any cline-neutral">&nbsp;</span>
1953
- <span class="cline-any cline-neutral">&nbsp;</span>
1954
- <span class="cline-any cline-yes">7x</span>
1955
- <span class="cline-any cline-yes">7x</span>
1956
- <span class="cline-any cline-no">&nbsp;</span>
1957
- <span class="cline-any cline-no">&nbsp;</span>
1958
- <span class="cline-any cline-no">&nbsp;</span>
1959
- <span class="cline-any cline-no">&nbsp;</span>
1960
- <span class="cline-any cline-no">&nbsp;</span>
1961
- <span class="cline-any cline-neutral">&nbsp;</span>
1962
- <span class="cline-any cline-no">&nbsp;</span>
1963
- <span class="cline-any cline-no">&nbsp;</span>
1964
- <span class="cline-any cline-neutral">&nbsp;</span>
1965
- <span class="cline-any cline-no">&nbsp;</span>
1966
- <span class="cline-any cline-neutral">&nbsp;</span>
1967
- <span class="cline-any cline-neutral">&nbsp;</span>
1968
- <span class="cline-any cline-neutral">&nbsp;</span>
1969
- <span class="cline-any cline-neutral">&nbsp;</span>
1970
- <span class="cline-any cline-neutral">&nbsp;</span>
1971
- <span class="cline-any cline-yes">22x</span>
1972
- <span class="cline-any cline-neutral">&nbsp;</span>
1973
- <span class="cline-any cline-no">&nbsp;</span>
1974
- <span class="cline-any cline-no">&nbsp;</span>
1975
- <span class="cline-any cline-no">&nbsp;</span>
1976
- <span class="cline-any cline-neutral">&nbsp;</span>
1977
- <span class="cline-any cline-yes">22x</span>
1978
- <span class="cline-any cline-neutral">&nbsp;</span>
1979
- <span class="cline-any cline-no">&nbsp;</span>
1980
- <span class="cline-any cline-no">&nbsp;</span>
1981
- <span class="cline-any cline-no">&nbsp;</span>
1982
- <span class="cline-any cline-neutral">&nbsp;</span>
1983
- <span class="cline-any cline-neutral">&nbsp;</span>
1984
- <span class="cline-any cline-yes">22x</span>
1985
- <span class="cline-any cline-yes">22x</span>
1986
- <span class="cline-any cline-yes">22x</span>
1987
- <span class="cline-any cline-neutral">&nbsp;</span>
1988
- <span class="cline-any cline-yes">22x</span>
1989
- <span class="cline-any cline-yes">22x</span>
1990
- <span class="cline-any cline-neutral">&nbsp;</span>
1991
- <span class="cline-any cline-yes">22x</span>
1992
- <span class="cline-any cline-yes">22x</span>
1993
- <span class="cline-any cline-no">&nbsp;</span>
1994
- <span class="cline-any cline-no">&nbsp;</span>
1995
- <span class="cline-any cline-no">&nbsp;</span>
1996
- <span class="cline-any cline-neutral">&nbsp;</span>
1997
- <span class="cline-any cline-no">&nbsp;</span>
1998
- <span class="cline-any cline-neutral">&nbsp;</span>
1999
- <span class="cline-any cline-no">&nbsp;</span>
2000
- <span class="cline-any cline-no">&nbsp;</span>
2001
- <span class="cline-any cline-neutral">&nbsp;</span>
2002
- <span class="cline-any cline-yes">22x</span>
2003
- <span class="cline-any cline-neutral">&nbsp;</span>
2004
- <span class="cline-any cline-neutral">&nbsp;</span>
2005
- <span class="cline-any cline-neutral">&nbsp;</span>
2006
- <span class="cline-any cline-neutral">&nbsp;</span>
2007
- <span class="cline-any cline-neutral">&nbsp;</span>
2008
- <span class="cline-any cline-neutral">&nbsp;</span>
2009
- <span class="cline-any cline-no">&nbsp;</span>
2010
- <span class="cline-any cline-neutral">&nbsp;</span>
2011
- <span class="cline-any cline-no">&nbsp;</span>
2012
- <span class="cline-any cline-no">&nbsp;</span>
2013
- <span class="cline-any cline-neutral">&nbsp;</span>
2014
- <span class="cline-any cline-no">&nbsp;</span>
2015
- <span class="cline-any cline-no">&nbsp;</span>
2016
- <span class="cline-any cline-no">&nbsp;</span>
2017
- <span class="cline-any cline-no">&nbsp;</span>
2018
- <span class="cline-any cline-no">&nbsp;</span>
2019
- <span class="cline-any cline-no">&nbsp;</span>
2020
- <span class="cline-any cline-no">&nbsp;</span>
2021
- <span class="cline-any cline-no">&nbsp;</span>
2022
- <span class="cline-any cline-no">&nbsp;</span>
2023
- <span class="cline-any cline-no">&nbsp;</span>
2024
- <span class="cline-any cline-neutral">&nbsp;</span>
2025
- <span class="cline-any cline-neutral">&nbsp;</span>
2026
- <span class="cline-any cline-neutral">&nbsp;</span>
2027
- <span class="cline-any cline-no">&nbsp;</span>
2028
- <span class="cline-any cline-no">&nbsp;</span>
2029
- <span class="cline-any cline-no">&nbsp;</span>
2030
- <span class="cline-any cline-no">&nbsp;</span>
2031
- <span class="cline-any cline-no">&nbsp;</span>
2032
- <span class="cline-any cline-neutral">&nbsp;</span>
2033
- <span class="cline-any cline-no">&nbsp;</span>
2034
- <span class="cline-any cline-no">&nbsp;</span>
2035
- <span class="cline-any cline-no">&nbsp;</span>
2036
- <span class="cline-any cline-no">&nbsp;</span>
2037
- <span class="cline-any cline-neutral">&nbsp;</span>
2038
- <span class="cline-any cline-no">&nbsp;</span>
2039
- <span class="cline-any cline-no">&nbsp;</span>
2040
- <span class="cline-any cline-neutral">&nbsp;</span>
2041
- <span class="cline-any cline-no">&nbsp;</span>
2042
- <span class="cline-any cline-neutral">&nbsp;</span>
2043
- <span class="cline-any cline-neutral">&nbsp;</span>
2044
- <span class="cline-any cline-neutral">&nbsp;</span>
2045
- <span class="cline-any cline-neutral">&nbsp;</span>
2046
- <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-neutral">&nbsp;</span>
2048
- <span class="cline-any cline-neutral">&nbsp;</span>
2049
- <span class="cline-any cline-no">&nbsp;</span>
2050
- <span class="cline-any cline-no">&nbsp;</span>
2051
- <span class="cline-any cline-no">&nbsp;</span>
2052
- <span class="cline-any cline-neutral">&nbsp;</span>
2053
- <span class="cline-any cline-no">&nbsp;</span>
2054
- <span class="cline-any cline-no">&nbsp;</span>
2055
- <span class="cline-any cline-no">&nbsp;</span>
2056
- <span class="cline-any cline-no">&nbsp;</span>
2057
- <span class="cline-any cline-no">&nbsp;</span>
2058
- <span class="cline-any cline-no">&nbsp;</span>
2059
- <span class="cline-any cline-neutral">&nbsp;</span>
2060
- <span class="cline-any cline-no">&nbsp;</span>
2061
- <span class="cline-any cline-no">&nbsp;</span>
2062
- <span class="cline-any cline-no">&nbsp;</span>
2063
- <span class="cline-any cline-neutral">&nbsp;</span>
2064
- <span class="cline-any cline-no">&nbsp;</span>
2065
- <span class="cline-any cline-no">&nbsp;</span>
2066
- <span class="cline-any cline-neutral">&nbsp;</span>
2067
- <span class="cline-any cline-no">&nbsp;</span>
2068
- <span class="cline-any cline-neutral">&nbsp;</span>
2069
- <span class="cline-any cline-neutral">&nbsp;</span>
2070
- <span class="cline-any cline-neutral">&nbsp;</span>
2071
- <span class="cline-any cline-neutral">&nbsp;</span>
2072
- <span class="cline-any cline-neutral">&nbsp;</span>
2073
- <span class="cline-any cline-neutral">&nbsp;</span>
2074
- <span class="cline-any cline-neutral">&nbsp;</span>
2075
- <span class="cline-any cline-no">&nbsp;</span>
2076
- <span class="cline-any cline-no">&nbsp;</span>
2077
- <span class="cline-any cline-no">&nbsp;</span>
2078
- <span class="cline-any cline-neutral">&nbsp;</span>
2079
- <span class="cline-any cline-no">&nbsp;</span>
2080
- <span class="cline-any cline-no">&nbsp;</span>
2081
- <span class="cline-any cline-no">&nbsp;</span>
2082
- <span class="cline-any cline-no">&nbsp;</span>
2083
- <span class="cline-any cline-no">&nbsp;</span>
2084
- <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-neutral">&nbsp;</span>
2086
- <span class="cline-any cline-no">&nbsp;</span>
2087
- <span class="cline-any cline-neutral">&nbsp;</span>
2088
- <span class="cline-any cline-no">&nbsp;</span>
2089
- <span class="cline-any cline-no">&nbsp;</span>
2090
- <span class="cline-any cline-no">&nbsp;</span>
2091
- <span class="cline-any cline-neutral">&nbsp;</span>
2092
- <span class="cline-any cline-no">&nbsp;</span>
2093
- <span class="cline-any cline-no">&nbsp;</span>
2094
- <span class="cline-any cline-neutral">&nbsp;</span>
2095
- <span class="cline-any cline-no">&nbsp;</span>
2096
- <span class="cline-any cline-neutral">&nbsp;</span>
2097
- <span class="cline-any cline-neutral">&nbsp;</span>
2098
- <span class="cline-any cline-neutral">&nbsp;</span>
2099
- <span class="cline-any cline-neutral">&nbsp;</span>
2100
- <span class="cline-any cline-neutral">&nbsp;</span>
2101
- <span class="cline-any cline-neutral">&nbsp;</span>
2102
- <span class="cline-any cline-neutral">&nbsp;</span>
2103
- <span class="cline-any cline-no">&nbsp;</span>
2104
- <span class="cline-any cline-no">&nbsp;</span>
2105
- <span class="cline-any cline-no">&nbsp;</span>
2106
- <span class="cline-any cline-no">&nbsp;</span>
2107
- <span class="cline-any cline-no">&nbsp;</span>
2108
- <span class="cline-any cline-no">&nbsp;</span>
2109
- <span class="cline-any cline-no">&nbsp;</span>
2110
- <span class="cline-any cline-no">&nbsp;</span>
2111
- <span class="cline-any cline-no">&nbsp;</span>
2112
- <span class="cline-any cline-neutral">&nbsp;</span>
2113
- <span class="cline-any cline-no">&nbsp;</span>
2114
- <span class="cline-any cline-no">&nbsp;</span>
2115
- <span class="cline-any cline-neutral">&nbsp;</span>
2116
- <span class="cline-any cline-no">&nbsp;</span>
2117
- <span class="cline-any cline-neutral">&nbsp;</span>
2118
- <span class="cline-any cline-neutral">&nbsp;</span>
2119
- <span class="cline-any cline-neutral">&nbsp;</span>
2120
- <span class="cline-any cline-neutral">&nbsp;</span>
2121
- <span class="cline-any cline-no">&nbsp;</span>
2122
- <span class="cline-any cline-no">&nbsp;</span>
2123
- <span class="cline-any cline-no">&nbsp;</span>
2124
- <span class="cline-any cline-no">&nbsp;</span>
2125
- <span class="cline-any cline-no">&nbsp;</span>
2126
- <span class="cline-any cline-no">&nbsp;</span>
2127
- <span class="cline-any cline-no">&nbsp;</span>
2128
- <span class="cline-any cline-neutral">&nbsp;</span>
2129
- <span class="cline-any cline-no">&nbsp;</span>
2130
- <span class="cline-any cline-neutral">&nbsp;</span>
2131
- <span class="cline-any cline-neutral">&nbsp;</span>
2132
- <span class="cline-any cline-no">&nbsp;</span>
2133
- <span class="cline-any cline-no">&nbsp;</span>
2134
- <span class="cline-any cline-no">&nbsp;</span>
2135
- <span class="cline-any cline-no">&nbsp;</span>
2136
- <span class="cline-any cline-neutral">&nbsp;</span>
2137
- <span class="cline-any cline-no">&nbsp;</span>
2138
- <span class="cline-any cline-no">&nbsp;</span>
2139
- <span class="cline-any cline-no">&nbsp;</span>
2140
- <span class="cline-any cline-neutral">&nbsp;</span>
2141
- <span class="cline-any cline-no">&nbsp;</span>
2142
- <span class="cline-any cline-neutral">&nbsp;</span>
2143
- <span class="cline-any cline-no">&nbsp;</span>
2144
- <span class="cline-any cline-no">&nbsp;</span>
2145
- <span class="cline-any cline-no">&nbsp;</span>
2146
- <span class="cline-any cline-neutral">&nbsp;</span>
2147
- <span class="cline-any cline-no">&nbsp;</span>
2148
- <span class="cline-any cline-neutral">&nbsp;</span>
2149
- <span class="cline-any cline-neutral">&nbsp;</span>
2150
- <span class="cline-any cline-neutral">&nbsp;</span>
2151
- <span class="cline-any cline-no">&nbsp;</span>
2152
- <span class="cline-any cline-neutral">&nbsp;</span>
2153
- <span class="cline-any cline-no">&nbsp;</span>
2154
- <span class="cline-any cline-neutral">&nbsp;</span>
2155
- <span class="cline-any cline-neutral">&nbsp;</span>
2156
- <span class="cline-any cline-neutral">&nbsp;</span>
2157
- <span class="cline-any cline-yes">604x</span>
2158
- <span class="cline-any cline-yes">596x</span>
2159
- <span class="cline-any cline-neutral">&nbsp;</span>
2160
- <span class="cline-any cline-neutral">&nbsp;</span>
2161
- <span class="cline-any cline-neutral">&nbsp;</span>
2162
- <span class="cline-any cline-neutral">&nbsp;</span>
2163
- <span class="cline-any cline-neutral">&nbsp;</span>
2164
- <span class="cline-any cline-neutral">&nbsp;</span>
2165
- <span class="cline-any cline-neutral">&nbsp;</span>
2166
- <span class="cline-any cline-neutral">&nbsp;</span>
2167
- <span class="cline-any cline-neutral">&nbsp;</span>
2168
- <span class="cline-any cline-neutral">&nbsp;</span>
2169
- <span class="cline-any cline-neutral">&nbsp;</span>
2170
- <span class="cline-any cline-neutral">&nbsp;</span>
2171
- <span class="cline-any cline-neutral">&nbsp;</span>
2172
- <span class="cline-any cline-yes">54x</span>
2173
- <span class="cline-any cline-neutral">&nbsp;</span>
2174
- <span class="cline-any cline-neutral">&nbsp;</span>
2175
- <span class="cline-any cline-neutral">&nbsp;</span>
2176
- <span class="cline-any cline-neutral">&nbsp;</span>
2177
- <span class="cline-any cline-neutral">&nbsp;</span>
2178
- <span class="cline-any cline-neutral">&nbsp;</span>
2179
- <span class="cline-any cline-neutral">&nbsp;</span>
2180
- <span class="cline-any cline-neutral">&nbsp;</span>
2181
- <span class="cline-any cline-neutral">&nbsp;</span>
2182
- <span class="cline-any cline-neutral">&nbsp;</span>
2183
- <span class="cline-any cline-neutral">&nbsp;</span>
2184
- <span class="cline-any cline-neutral">&nbsp;</span>
2185
- <span class="cline-any cline-yes">149x</span>
2186
- <span class="cline-any cline-neutral">&nbsp;</span>
2187
- <span class="cline-any cline-neutral">&nbsp;</span>
2188
- <span class="cline-any cline-neutral">&nbsp;</span>
2189
- <span class="cline-any cline-neutral">&nbsp;</span>
2190
- <span class="cline-any cline-neutral">&nbsp;</span>
2191
- <span class="cline-any cline-neutral">&nbsp;</span>
2192
- <span class="cline-any cline-neutral">&nbsp;</span>
2193
- <span class="cline-any cline-neutral">&nbsp;</span>
2194
- <span class="cline-any cline-neutral">&nbsp;</span>
2195
- <span class="cline-any cline-neutral">&nbsp;</span>
2196
- <span class="cline-any cline-neutral">&nbsp;</span>
2197
- <span class="cline-any cline-neutral">&nbsp;</span>
2198
- <span class="cline-any cline-yes">134x</span>
2199
- <span class="cline-any cline-neutral">&nbsp;</span>
2200
- <span class="cline-any cline-neutral">&nbsp;</span>
2201
- <span class="cline-any cline-neutral">&nbsp;</span>
2202
- <span class="cline-any cline-neutral">&nbsp;</span>
2203
- <span class="cline-any cline-neutral">&nbsp;</span>
2204
- <span class="cline-any cline-neutral">&nbsp;</span>
2205
- <span class="cline-any cline-neutral">&nbsp;</span>
2206
- <span class="cline-any cline-neutral">&nbsp;</span>
2207
- <span class="cline-any cline-neutral">&nbsp;</span>
2208
- <span class="cline-any cline-neutral">&nbsp;</span>
2209
- <span class="cline-any cline-neutral">&nbsp;</span>
2210
- <span class="cline-any cline-yes">2x</span>
2211
- <span class="cline-any cline-neutral">&nbsp;</span>
2212
- <span class="cline-any cline-neutral">&nbsp;</span>
2213
- <span class="cline-any cline-neutral">&nbsp;</span>
2214
- <span class="cline-any cline-neutral">&nbsp;</span>
2215
- <span class="cline-any cline-neutral">&nbsp;</span>
2216
- <span class="cline-any cline-neutral">&nbsp;</span>
2217
- <span class="cline-any cline-neutral">&nbsp;</span>
2218
- <span class="cline-any cline-neutral">&nbsp;</span>
2219
- <span class="cline-any cline-neutral">&nbsp;</span>
2220
- <span class="cline-any cline-neutral">&nbsp;</span>
2221
- <span class="cline-any cline-neutral">&nbsp;</span>
2222
- <span class="cline-any cline-neutral">&nbsp;</span>
2223
- <span class="cline-any cline-neutral">&nbsp;</span>
2224
- <span class="cline-any cline-no">&nbsp;</span>
2225
- <span class="cline-any cline-neutral">&nbsp;</span>
2226
- <span class="cline-any cline-neutral">&nbsp;</span>
2227
- <span class="cline-any cline-no">&nbsp;</span>
2228
- <span class="cline-any cline-neutral">&nbsp;</span>
2229
- <span class="cline-any cline-neutral">&nbsp;</span>
2230
- <span class="cline-any cline-neutral">&nbsp;</span>
2231
- <span class="cline-any cline-neutral">&nbsp;</span>
2232
- <span class="cline-any cline-neutral">&nbsp;</span>
2233
- <span class="cline-any cline-neutral">&nbsp;</span>
2234
- <span class="cline-any cline-neutral">&nbsp;</span>
2235
- <span class="cline-any cline-neutral">&nbsp;</span>
2236
- <span class="cline-any cline-no">&nbsp;</span>
2237
- <span class="cline-any cline-neutral">&nbsp;</span>
2238
- <span class="cline-any cline-neutral">&nbsp;</span>
2239
- <span class="cline-any cline-no">&nbsp;</span>
2240
- <span class="cline-any cline-neutral">&nbsp;</span>
2241
- <span class="cline-any cline-neutral">&nbsp;</span>
2242
- <span class="cline-any cline-neutral">&nbsp;</span>
2243
- <span class="cline-any cline-neutral">&nbsp;</span>
2244
- <span class="cline-any cline-neutral">&nbsp;</span>
2245
- <span class="cline-any cline-yes">60x</span>
2246
- <span class="cline-any cline-yes">60x</span>
2247
- <span class="cline-any cline-yes">60x</span>
2248
- <span class="cline-any cline-yes">60x</span>
2249
- <span class="cline-any cline-yes">60x</span>
2250
- <span class="cline-any cline-neutral">&nbsp;</span>
2251
- <span class="cline-any cline-no">&nbsp;</span>
2252
- <span class="cline-any cline-neutral">&nbsp;</span>
2253
- <span class="cline-any cline-neutral">&nbsp;</span>
2254
- <span class="cline-any cline-neutral">&nbsp;</span>
2255
- <span class="cline-any cline-no">&nbsp;</span>
2256
- <span class="cline-any cline-neutral">&nbsp;</span>
2257
- <span class="cline-any cline-neutral">&nbsp;</span>
2258
- <span class="cline-any cline-neutral">&nbsp;</span>
2259
- <span class="cline-any cline-yes">3x</span>
2260
- <span class="cline-any cline-neutral">&nbsp;</span>
2261
- <span class="cline-any cline-neutral">&nbsp;</span>
2262
- <span class="cline-any cline-neutral">&nbsp;</span>
2263
- <span class="cline-any cline-yes">1x</span>
2264
- <span class="cline-any cline-yes">60x</span>
2265
- <span class="cline-any cline-yes">53x</span>
2266
- <span class="cline-any cline-no">&nbsp;</span>
2267
- <span class="cline-any cline-neutral">&nbsp;</span>
2268
- <span class="cline-any cline-yes">53x</span>
2269
- <span class="cline-any cline-yes">7x</span>
2270
- <span class="cline-any cline-yes">7x</span>
2271
- <span class="cline-any cline-yes">7x</span>
2272
- <span class="cline-any cline-yes">7x</span>
2273
- <span class="cline-any cline-yes">7x</span>
2274
- <span class="cline-any cline-neutral">&nbsp;</span>
2275
- <span class="cline-any cline-yes">7x</span>
2276
- <span class="cline-any cline-yes">7x</span>
2277
- <span class="cline-any cline-no">&nbsp;</span>
2278
- <span class="cline-any cline-no">&nbsp;</span>
2279
- <span class="cline-any cline-no">&nbsp;</span>
2280
- <span class="cline-any cline-no">&nbsp;</span>
2281
- <span class="cline-any cline-no">&nbsp;</span>
2282
- <span class="cline-any cline-neutral">&nbsp;</span>
2283
- <span class="cline-any cline-no">&nbsp;</span>
2284
- <span class="cline-any cline-no">&nbsp;</span>
2285
- <span class="cline-any cline-no">&nbsp;</span>
2286
- <span class="cline-any cline-no">&nbsp;</span>
2287
- <span class="cline-any cline-no">&nbsp;</span>
2288
- <span class="cline-any cline-no">&nbsp;</span>
2289
- <span class="cline-any cline-neutral">&nbsp;</span>
2290
- <span class="cline-any cline-neutral">&nbsp;</span>
2291
- <span class="cline-any cline-neutral">&nbsp;</span>
2292
- <span class="cline-any cline-neutral">&nbsp;</span>
2293
- <span class="cline-any cline-neutral">&nbsp;</span>
2294
- <span class="cline-any cline-neutral">&nbsp;</span>
2295
- <span class="cline-any cline-no">&nbsp;</span>
2296
- <span class="cline-any cline-neutral">&nbsp;</span>
2297
- <span class="cline-any cline-no">&nbsp;</span>
2298
- <span class="cline-any cline-no">&nbsp;</span>
2299
- <span class="cline-any cline-no">&nbsp;</span>
2300
- <span class="cline-any cline-neutral">&nbsp;</span>
2301
- <span class="cline-any cline-no">&nbsp;</span>
2302
- <span class="cline-any cline-no">&nbsp;</span>
2303
- <span class="cline-any cline-no">&nbsp;</span>
2304
- <span class="cline-any cline-no">&nbsp;</span>
2305
- <span class="cline-any cline-neutral">&nbsp;</span>
2306
- <span class="cline-any cline-no">&nbsp;</span>
2307
- <span class="cline-any cline-neutral">&nbsp;</span>
2308
- <span class="cline-any cline-neutral">&nbsp;</span>
2309
- <span class="cline-any cline-neutral">&nbsp;</span>
2310
- <span class="cline-any cline-neutral">&nbsp;</span>
2311
- <span class="cline-any cline-neutral">&nbsp;</span>
2312
- <span class="cline-any cline-yes">1x</span>
2313
- <span class="cline-any cline-no">&nbsp;</span>
2314
- <span class="cline-any cline-no">&nbsp;</span>
2315
- <span class="cline-any cline-no">&nbsp;</span>
2316
- <span class="cline-any cline-neutral">&nbsp;</span>
2317
- <span class="cline-any cline-neutral">&nbsp;</span>
2318
- <span class="cline-any cline-neutral">&nbsp;</span>
2319
- <span class="cline-any cline-no">&nbsp;</span>
2320
- <span class="cline-any cline-neutral">&nbsp;</span>
2321
- <span class="cline-any cline-neutral">&nbsp;</span>
2322
- <span class="cline-any cline-neutral">&nbsp;</span>
2323
- <span class="cline-any cline-no">&nbsp;</span>
2324
- <span class="cline-any cline-no">&nbsp;</span>
2325
- <span class="cline-any cline-no">&nbsp;</span>
2326
- <span class="cline-any cline-no">&nbsp;</span>
2327
- <span class="cline-any cline-no">&nbsp;</span>
2328
- <span class="cline-any cline-neutral">&nbsp;</span>
2329
- <span class="cline-any cline-no">&nbsp;</span>
2330
- <span class="cline-any cline-no">&nbsp;</span>
2331
- <span class="cline-any cline-neutral">&nbsp;</span>
2332
- <span class="cline-any cline-no">&nbsp;</span>
2333
- <span class="cline-any cline-no">&nbsp;</span>
2334
- <span class="cline-any cline-no">&nbsp;</span>
2335
- <span class="cline-any cline-no">&nbsp;</span>
2336
- <span class="cline-any cline-no">&nbsp;</span>
2337
- <span class="cline-any cline-neutral">&nbsp;</span>
2338
- <span class="cline-any cline-no">&nbsp;</span>
2339
- <span class="cline-any cline-neutral">&nbsp;</span>
2340
- <span class="cline-any cline-no">&nbsp;</span>
2341
- <span class="cline-any cline-no">&nbsp;</span>
2342
- <span class="cline-any cline-no">&nbsp;</span>
2343
- <span class="cline-any cline-no">&nbsp;</span>
2344
- <span class="cline-any cline-no">&nbsp;</span>
2345
- <span class="cline-any cline-neutral">&nbsp;</span>
2346
- <span class="cline-any cline-neutral">&nbsp;</span>
2347
- <span class="cline-any cline-no">&nbsp;</span>
2348
- <span class="cline-any cline-neutral">&nbsp;</span>
2349
- <span class="cline-any cline-no">&nbsp;</span>
2350
- <span class="cline-any cline-neutral">&nbsp;</span>
2351
- <span class="cline-any cline-no">&nbsp;</span>
2352
- <span class="cline-any cline-no">&nbsp;</span>
2353
- <span class="cline-any cline-neutral">&nbsp;</span>
2354
- <span class="cline-any cline-no">&nbsp;</span>
2355
- <span class="cline-any cline-no">&nbsp;</span>
2356
- <span class="cline-any cline-neutral">&nbsp;</span>
2357
- <span class="cline-any cline-no">&nbsp;</span>
2358
- <span class="cline-any cline-neutral">&nbsp;</span>
2359
- <span class="cline-any cline-neutral">&nbsp;</span>
2360
- <span class="cline-any cline-neutral">&nbsp;</span>
2361
- <span class="cline-any cline-neutral">&nbsp;</span>
2362
- <span class="cline-any cline-neutral">&nbsp;</span>
2363
- <span class="cline-any cline-neutral">&nbsp;</span>
2364
- <span class="cline-any cline-no">&nbsp;</span>
2365
- <span class="cline-any cline-no">&nbsp;</span>
2366
- <span class="cline-any cline-no">&nbsp;</span>
2367
- <span class="cline-any cline-neutral">&nbsp;</span>
2368
- <span class="cline-any cline-no">&nbsp;</span>
2369
- <span class="cline-any cline-no">&nbsp;</span>
2370
- <span class="cline-any cline-neutral">&nbsp;</span>
2371
- <span class="cline-any cline-no">&nbsp;</span>
2372
- <span class="cline-any cline-no">&nbsp;</span>
2373
- <span class="cline-any cline-neutral">&nbsp;</span>
2374
- <span class="cline-any cline-neutral">&nbsp;</span>
2375
- <span class="cline-any cline-neutral">&nbsp;</span>
2376
- <span class="cline-any cline-no">&nbsp;</span>
2377
- <span class="cline-any cline-neutral">&nbsp;</span>
2378
- <span class="cline-any cline-neutral">&nbsp;</span>
2379
- <span class="cline-any cline-neutral">&nbsp;</span>
2380
- <span class="cline-any cline-no">&nbsp;</span>
2381
- <span class="cline-any cline-neutral">&nbsp;</span>
2382
- <span class="cline-any cline-neutral">&nbsp;</span>
2383
- <span class="cline-any cline-neutral">&nbsp;</span>
2384
- <span class="cline-any cline-neutral">&nbsp;</span>
2385
- <span class="cline-any cline-neutral">&nbsp;</span>
2386
- <span class="cline-any cline-neutral">&nbsp;</span>
2387
- <span class="cline-any cline-neutral">&nbsp;</span>
2388
- <span class="cline-any cline-no">&nbsp;</span>
2389
- <span class="cline-any cline-neutral">&nbsp;</span>
2390
- <span class="cline-any cline-neutral">&nbsp;</span>
2391
- <span class="cline-any cline-neutral">&nbsp;</span>
2392
- <span class="cline-any cline-no">&nbsp;</span>
2393
- <span class="cline-any cline-no">&nbsp;</span>
2394
- <span class="cline-any cline-no">&nbsp;</span>
2395
- <span class="cline-any cline-no">&nbsp;</span>
2396
- <span class="cline-any cline-neutral">&nbsp;</span>
2397
- <span class="cline-any cline-no">&nbsp;</span>
2398
- <span class="cline-any cline-no">&nbsp;</span>
2399
- <span class="cline-any cline-no">&nbsp;</span>
2400
- <span class="cline-any cline-no">&nbsp;</span>
2401
- <span class="cline-any cline-neutral">&nbsp;</span>
2402
- <span class="cline-any cline-no">&nbsp;</span>
2403
- <span class="cline-any cline-neutral">&nbsp;</span>
2404
- <span class="cline-any cline-neutral">&nbsp;</span>
2405
- <span class="cline-any cline-neutral">&nbsp;</span>
2406
- <span class="cline-any cline-no">&nbsp;</span>
2407
- <span class="cline-any cline-neutral">&nbsp;</span>
2408
- <span class="cline-any cline-neutral">&nbsp;</span>
2409
- <span class="cline-any cline-no">&nbsp;</span>
2410
- <span class="cline-any cline-neutral">&nbsp;</span>
2411
- <span class="cline-any cline-neutral">&nbsp;</span>
2412
- <span class="cline-any cline-neutral">&nbsp;</span>
2413
- <span class="cline-any cline-neutral">&nbsp;</span>
2414
- <span class="cline-any cline-neutral">&nbsp;</span>
2415
- <span class="cline-any cline-neutral">&nbsp;</span>
2416
- <span class="cline-any cline-neutral">&nbsp;</span>
2417
- <span class="cline-any cline-neutral">&nbsp;</span>
2418
- <span class="cline-any cline-no">&nbsp;</span>
2419
- <span class="cline-any cline-no">&nbsp;</span>
2420
- <span class="cline-any cline-no">&nbsp;</span>
2421
- <span class="cline-any cline-no">&nbsp;</span>
2422
- <span class="cline-any cline-no">&nbsp;</span>
2423
- <span class="cline-any cline-no">&nbsp;</span>
2424
- <span class="cline-any cline-no">&nbsp;</span>
2425
- <span class="cline-any cline-no">&nbsp;</span>
2426
- <span class="cline-any cline-no">&nbsp;</span>
2427
- <span class="cline-any cline-no">&nbsp;</span>
2428
- <span class="cline-any cline-no">&nbsp;</span>
2429
- <span class="cline-any cline-no">&nbsp;</span>
2430
- <span class="cline-any cline-no">&nbsp;</span>
2431
- <span class="cline-any cline-no">&nbsp;</span>
2432
- <span class="cline-any cline-no">&nbsp;</span>
2433
- <span class="cline-any cline-no">&nbsp;</span>
2434
- <span class="cline-any cline-no">&nbsp;</span>
2435
- <span class="cline-any cline-no">&nbsp;</span>
2436
- <span class="cline-any cline-no">&nbsp;</span>
2437
- <span class="cline-any cline-neutral">&nbsp;</span>
2438
- <span class="cline-any cline-neutral">&nbsp;</span>
2439
- <span class="cline-any cline-no">&nbsp;</span>
2440
- <span class="cline-any cline-no">&nbsp;</span>
2441
- <span class="cline-any cline-neutral">&nbsp;</span>
2442
- <span class="cline-any cline-no">&nbsp;</span>
2443
- <span class="cline-any cline-no">&nbsp;</span>
2444
- <span class="cline-any cline-no">&nbsp;</span>
2445
- <span class="cline-any cline-neutral">&nbsp;</span>
2446
- <span class="cline-any cline-no">&nbsp;</span>
2447
- <span class="cline-any cline-neutral">&nbsp;</span>
2448
- <span class="cline-any cline-no">&nbsp;</span>
2449
- <span class="cline-any cline-neutral">&nbsp;</span>
2450
- <span class="cline-any cline-neutral">&nbsp;</span>
2451
- <span class="cline-any cline-neutral">&nbsp;</span>
2452
- <span class="cline-any cline-neutral">&nbsp;</span>
2453
- <span class="cline-any cline-no">&nbsp;</span>
2454
- <span class="cline-any cline-no">&nbsp;</span>
2455
- <span class="cline-any cline-neutral">&nbsp;</span>
2456
- <span class="cline-any cline-neutral">&nbsp;</span>
2457
- <span class="cline-any cline-neutral">&nbsp;</span>
2458
- <span class="cline-any cline-neutral">&nbsp;</span>
2459
- <span class="cline-any cline-neutral">&nbsp;</span>
2460
- <span class="cline-any cline-neutral">&nbsp;</span>
2461
- <span class="cline-any cline-neutral">&nbsp;</span>
2462
- <span class="cline-any cline-neutral">&nbsp;</span>
2463
- <span class="cline-any cline-neutral">&nbsp;</span>
2464
- <span class="cline-any cline-neutral">&nbsp;</span>
2465
- <span class="cline-any cline-no">&nbsp;</span>
2466
- <span class="cline-any cline-no">&nbsp;</span>
2467
- <span class="cline-any cline-neutral">&nbsp;</span>
2468
- <span class="cline-any cline-neutral">&nbsp;</span>
2469
- <span class="cline-any cline-neutral">&nbsp;</span>
2470
- <span class="cline-any cline-neutral">&nbsp;</span>
2471
- <span class="cline-any cline-neutral">&nbsp;</span>
2472
- <span class="cline-any cline-neutral">&nbsp;</span>
2473
- <span class="cline-any cline-no">&nbsp;</span>
2474
- <span class="cline-any cline-no">&nbsp;</span>
2475
- <span class="cline-any cline-no">&nbsp;</span>
2476
- <span class="cline-any cline-no">&nbsp;</span>
2477
- <span class="cline-any cline-no">&nbsp;</span>
2478
- <span class="cline-any cline-no">&nbsp;</span>
2479
- <span class="cline-any cline-no">&nbsp;</span>
2480
- <span class="cline-any cline-neutral">&nbsp;</span>
2481
- <span class="cline-any cline-neutral">&nbsp;</span>
2482
- <span class="cline-any cline-no">&nbsp;</span>
2483
- <span class="cline-any cline-neutral">&nbsp;</span>
2484
- <span class="cline-any cline-no">&nbsp;</span>
2485
- <span class="cline-any cline-neutral">&nbsp;</span>
2486
- <span class="cline-any cline-no">&nbsp;</span>
2487
- <span class="cline-any cline-neutral">&nbsp;</span>
2488
- <span class="cline-any cline-neutral">&nbsp;</span>
2489
- <span class="cline-any cline-neutral">&nbsp;</span>
2490
- <span class="cline-any cline-neutral">&nbsp;</span>
2491
- <span class="cline-any cline-no">&nbsp;</span>
2492
- <span class="cline-any cline-no">&nbsp;</span>
2493
- <span class="cline-any cline-no">&nbsp;</span>
2494
- <span class="cline-any cline-no">&nbsp;</span>
2495
- <span class="cline-any cline-no">&nbsp;</span>
2496
- <span class="cline-any cline-neutral">&nbsp;</span>
2497
- <span class="cline-any cline-no">&nbsp;</span>
2498
- <span class="cline-any cline-no">&nbsp;</span>
2499
- <span class="cline-any cline-neutral">&nbsp;</span>
2500
- <span class="cline-any cline-no">&nbsp;</span>
2501
- <span class="cline-any cline-neutral">&nbsp;</span>
2502
- <span class="cline-any cline-neutral">&nbsp;</span>
2503
- <span class="cline-any cline-neutral">&nbsp;</span>
2504
- <span class="cline-any cline-neutral">&nbsp;</span>
2505
- <span class="cline-any cline-no">&nbsp;</span>
2506
- <span class="cline-any cline-neutral">&nbsp;</span>
2507
- <span class="cline-any cline-neutral">&nbsp;</span>
2508
- <span class="cline-any cline-neutral">&nbsp;</span>
2509
- <span class="cline-any cline-neutral">&nbsp;</span>
2510
- <span class="cline-any cline-neutral">&nbsp;</span>
2511
- <span class="cline-any cline-no">&nbsp;</span>
2512
- <span class="cline-any cline-neutral">&nbsp;</span>
2513
- <span class="cline-any cline-no">&nbsp;</span>
2514
- <span class="cline-any cline-no">&nbsp;</span>
2515
- <span class="cline-any cline-no">&nbsp;</span>
2516
- <span class="cline-any cline-no">&nbsp;</span>
2517
- <span class="cline-any cline-no">&nbsp;</span>
2518
- <span class="cline-any cline-neutral">&nbsp;</span>
2519
- <span class="cline-any cline-no">&nbsp;</span>
2520
- <span class="cline-any cline-no">&nbsp;</span>
2521
- <span class="cline-any cline-neutral">&nbsp;</span>
2522
- <span class="cline-any cline-neutral">&nbsp;</span>
2523
- <span class="cline-any cline-neutral">&nbsp;</span>
2524
- <span class="cline-any cline-neutral">&nbsp;</span>
2525
- <span class="cline-any cline-no">&nbsp;</span>
2526
- <span class="cline-any cline-neutral">&nbsp;</span>
2527
- <span class="cline-any cline-no">&nbsp;</span>
2528
- <span class="cline-any cline-neutral">&nbsp;</span>
2529
- <span class="cline-any cline-no">&nbsp;</span>
2530
- <span class="cline-any cline-no">&nbsp;</span>
2531
- <span class="cline-any cline-neutral">&nbsp;</span>
2532
- <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-no">&nbsp;</span>
2534
- <span class="cline-any cline-neutral">&nbsp;</span>
2535
- <span class="cline-any cline-no">&nbsp;</span>
2536
- <span class="cline-any cline-no">&nbsp;</span>
2537
- <span class="cline-any cline-neutral">&nbsp;</span>
2538
- <span class="cline-any cline-no">&nbsp;</span>
2539
- <span class="cline-any cline-no">&nbsp;</span>
2540
- <span class="cline-any cline-no">&nbsp;</span>
2541
- <span class="cline-any cline-neutral">&nbsp;</span>
2542
- <span class="cline-any cline-no">&nbsp;</span>
2543
- <span class="cline-any cline-neutral">&nbsp;</span>
2544
- <span class="cline-any cline-neutral">&nbsp;</span>
2545
- <span class="cline-any cline-no">&nbsp;</span>
2546
- <span class="cline-any cline-no">&nbsp;</span>
2547
- <span class="cline-any cline-no">&nbsp;</span>
2548
- <span class="cline-any cline-neutral">&nbsp;</span>
2549
- <span class="cline-any cline-neutral">&nbsp;</span>
2550
- <span class="cline-any cline-no">&nbsp;</span>
2551
- <span class="cline-any cline-neutral">&nbsp;</span>
2552
- <span class="cline-any cline-neutral">&nbsp;</span>
2553
- <span class="cline-any cline-neutral">&nbsp;</span>
2554
- <span class="cline-any cline-neutral">&nbsp;</span>
2555
- <span class="cline-any cline-neutral">&nbsp;</span>
2556
- <span class="cline-any cline-neutral">&nbsp;</span>
2557
- <span class="cline-any cline-neutral">&nbsp;</span>
2558
- <span class="cline-any cline-neutral">&nbsp;</span>
2559
- <span class="cline-any cline-yes">1x</span>
2560
- <span class="cline-any cline-neutral">&nbsp;</span>
2561
- <span class="cline-any cline-neutral">&nbsp;</span>
2562
- <span class="cline-any cline-neutral">&nbsp;</span>
2563
- <span class="cline-any cline-neutral">&nbsp;</span>
2564
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import App from './App__';
2565
- import Structure from './Structure__';
2566
- import { TranslatorState, shiftState, withSourceMap, createCompilerState } from '../translator';
2567
- import { genHash } from '../generator';
2568
- import { firstUpperCase } from '../utils/string';
2569
- &nbsp;
2570
- export enum PRIMITIVE_TYPE {
2571
- Boolean = 'Boolean',
2572
- Integer = 'Integer',
2573
- Long = 'Long',
2574
- Double = 'Double',
2575
- Decimal = 'Decimal',
2576
- String = 'String',
2577
- Text = 'Text',
2578
- Binary = 'Binary',
2579
- Date = 'Date',
2580
- Time = 'Time',
2581
- DateTime = 'DateTime',
2582
- Email = 'Email',
2583
- Union = 'Union',
2584
- Null = 'Null',
2585
- }
2586
- &nbsp;
2587
- export const PRIMITIVE_TITLE: Record&lt;string, string&gt; = {
2588
- Boolean: '布尔值',
2589
- Integer: '整数',
2590
- Long: '整数',
2591
- Double: '小数',
2592
- Decimal: '小数',
2593
- String: '文本',
2594
- Text: '长文本',
2595
- Binary: '二进制流',
2596
- Date: '日期',
2597
- Time: '时间',
2598
- DateTime: '日期时间',
2599
- Email: '电子邮箱',
2600
- Union: '联合类型',
2601
- };
2602
- &nbsp;
2603
- export const OLD_PRIMITIVE_TITLE: Record&lt;string, string&gt; = {
2604
- Boolean: '布尔值',
2605
- Integer: '整数',
2606
- Long: '长整数',
2607
- Double: '小数',
2608
- Decimal: '精准小数',
2609
- String: '字符串',
2610
- Text: '长文本',
2611
- Binary: '二进制流',
2612
- Date: '日期',
2613
- Time: '时间',
2614
- DateTime: '日期时间',
2615
- Email: '电子邮箱',
2616
- Union: '联合类型',
2617
- };
2618
- &nbsp;
2619
- export const PRIMITIVE_DESC: Record&lt;string, string&gt; = {
2620
- Integer: '可表示最大长度约 10 个数字的正负整数(将被删除)',
2621
- Double: '小数,有效数字约 16 个左右(将被删除)',
2622
- Text: '底层与String相同,可存储更长的内容(将被删除)',
2623
- Binary: '用于二进制流的存储',
2624
- Email: '表示一个邮箱,底层与String相同(将被删除)',
2625
- Boolean: '包含真(true)、假(false)两个值',
2626
- Long: '可表示最大长度约 19 个数字的正负整数',
2627
- Decimal: '可表示 31 个有效数字以内的小数',
2628
- String: '表示汉语、英语、数字等文本内容',
2629
- Date: '通常用于仅日期处理和数据存储',
2630
- Time: '通常用于仅时间处理和数据存储',
2631
- DateTime: '通常用于日期和时间的处理和数据存储',
2632
- };
2633
- &nbsp;
2634
- export const GENERIC_DESC: Record&lt;string, string&gt; = {
2635
- List: 'T类型的数据构成的列表',
2636
- Map: '从K类型到V类型的映射',
2637
- };
2638
- &nbsp;
2639
- /**
2640
- * 判断是否是联合类型
2641
- * @param typeAnnotation
2642
- * @returns
2643
- */
2644
- export function <span class="fstat-no" title="function not covered" >isUnion(</span>typeAnnotation: TypeAnnotation): boolean {
2645
- <span class="cstat-no" title="statement not covered" > return (</span>
2646
- typeAnnotation &amp;&amp;
2647
- typeAnnotation.typeKind === 'union' &amp;&amp;
2648
- typeAnnotation.typeNamespace === 'nasl.core' &amp;&amp;
2649
- typeAnnotation.typeName === 'Union'
2650
- );
2651
- }
2652
- &nbsp;
2653
- //================================================================================
2654
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2655
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2656
- //================================================================================
2657
- import { EventPayload, Params } from '../common/EventEmitter';
2658
- import { concept, excludedInJSON, property, className } from '../decorators';
2659
- &nbsp;
2660
- import * as utils from '../utils';
2661
- import { v4 as uuidv4 } from 'uuid';
2662
- import BaseNode from '../common/BaseNode';
2663
- import StructureProperty from './StructureProperty__';
2664
- &nbsp;
2665
- /**
2666
- * 类型标注
2667
- */
2668
- @className
2669
- @concept('类型标注')
2670
- // @ts-ignore
2671
- export class TypeAnnotation extends BaseNode {
2672
- /** 类名 */
2673
- static readonly ConceptName = 'TypeAnnotation';
2674
- &nbsp;
2675
- /**
2676
- * 产品概念
2677
- */
2678
- @property('concept')
2679
- // @ts-ignore
2680
- readonly concept!: 'TypeAnnotation';
2681
- &nbsp;
2682
- /**
2683
- * 类型种类
2684
- */
2685
- @property()
2686
- // @ts-ignore
2687
- typeKind!: 'primitive' | 'reference' | 'generic' | 'typeParam' | 'function' | 'union' | 'anonymousStructure';
2688
- &nbsp;
2689
- /**
2690
- * 类型命名空间
2691
- */
2692
- @property()
2693
- // @ts-ignore
2694
- typeNamespace!: string;
2695
- &nbsp;
2696
- /**
2697
- * 类型名称
2698
- */
2699
- @property()
2700
- // @ts-ignore
2701
- typeName!: string;
2702
- &nbsp;
2703
- /**
2704
- * 类型参数
2705
- */
2706
- @property({
2707
- objectRef: 'TypeAnnotation',
2708
- isArray: true,
2709
- defaultValue: null,
2710
- })
2711
- typeArguments?: Array&lt;TypeAnnotation&gt; = null;
2712
- &nbsp;
2713
- /**
2714
- * 返回类型
2715
- */
2716
- @property({
2717
- objectRef: 'TypeAnnotation',
2718
- isArray: true,
2719
- defaultValue: null,
2720
- })
2721
- returnType?: Array&lt;TypeAnnotation&gt; = null;
2722
- &nbsp;
2723
- /**
2724
- * 是否是推断出来的
2725
- */
2726
- @property()
2727
- // @ts-ignore
2728
- inferred!: boolean;
2729
- &nbsp;
2730
- /**
2731
- * 匿名数据结构属性
2732
- */
2733
- @property({
2734
- objectRef: 'StructureProperty',
2735
- isArray: true,
2736
- defaultValue: null,
2737
- })
2738
- properties?: Array&lt;StructureProperty&gt; = null;
2739
- &nbsp;
2740
- /**
2741
- * 规则对象
2742
- */
2743
- @property()
2744
- // @ts-ignore
2745
- ruleMap!: Object;
2746
- &nbsp;
2747
- /**
2748
- * @param source 需要合并的部分参数
2749
- */
2750
- constructor(source?: Partial&lt;TypeAnnotation&gt;) {
2751
- source = Object.assign({}, TypeAnnotation.getDefaultOptions(), source);
2752
- super(source);
2753
- super.subConstructor(source);
2754
- }
2755
- &nbsp;
2756
- static from(source: any, parentNode?: any, parentKey?: string): TypeAnnotation {
2757
- return super.from(source, parentNode, parentKey) as TypeAnnotation;
2758
- }
2759
- &nbsp;
2760
- /**
2761
- * 从父级删除该节点
2762
- * @internal
2763
- */
2764
- <span class="fstat-no" title="function not covered" > _delete(</span>) {
2765
- let params: Params = <span class="cstat-no" title="statement not covered" >null;</span>
2766
- <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
2767
- <span class="cstat-no" title="statement not covered" > params = (this.parentNode as any)?.__removeTypeAnnotation?.(this);</span>
2768
- }
2769
- <span class="cstat-no" title="statement not covered" > return params;</span>
2770
- }
2771
- /**
2772
- * 设置规则对象
2773
- */
2774
- <span class="fstat-no" title="function not covered" > setRuleMap(</span>ruleMap: Object) {
2775
- const object = <span class="cstat-no" title="statement not covered" >{</span>
2776
- ruleMap,
2777
- };
2778
- <span class="cstat-no" title="statement not covered" > this.update({</span>
2779
- ...object,
2780
- });
2781
- }
2782
- &nbsp;
2783
- /**
2784
- * 插入类型标注
2785
- * @internal
2786
- * @param typeAnnotationOptions 类型标注参数
2787
- */
2788
- _insertTypeAnnotationInTypeArgumentsAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2789
- &nbsp;
2790
- /**
2791
- * 插入类型标注
2792
- * @internal
2793
- * @param typeAnnotation 已有的类型标注实例
2794
- */
2795
- _insertTypeAnnotationInTypeArgumentsAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2796
- &nbsp;
2797
- <span class="fstat-no" title="function not covered" > _insertTypeAnnotationInTypeArgumentsAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2798
- const typeAnnotationOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2799
- const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'typeArguments' };</span>
2800
- let typeAnnotation: TypeAnnotation;
2801
- <span class="cstat-no" title="statement not covered" > if (options instanceof TypeAnnotation) {</span>
2802
- <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2803
- <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2804
- <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
2805
- } else {
2806
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2807
- {
2808
- ...typeAnnotationOptions,
2809
- ...options,
2810
- },
2811
- this,
2812
- 'typeArguments',
2813
- );
2814
- }
2815
- <span class="cstat-no" title="statement not covered" > this.typeArguments.splice(index, 0, typeAnnotation);</span>
2816
- <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
2817
- }
2818
- &nbsp;
2819
- /**
2820
- * 插入类型标注
2821
- * @param typeAnnotationOptions 类型标注参数
2822
- */
2823
- insertTypeAnnotationInTypeArgumentsAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2824
- &nbsp;
2825
- /**
2826
- * 插入类型标注
2827
- * @param typeAnnotation 已有的类型标注实例
2828
- */
2829
- insertTypeAnnotationInTypeArgumentsAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2830
- &nbsp;
2831
- <span class="fstat-no" title="function not covered" > insertTypeAnnotationInTypeArgumentsAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2832
- const node = <span class="cstat-no" title="statement not covered" >this._insertTypeAnnotationInTypeArgumentsAt(options as any, index);</span>
2833
- <span class="cstat-no" title="statement not covered" > node.create({</span>
2834
- index,
2835
- parentNode: this,
2836
- parentKey: 'typeArguments',
2837
- });
2838
- <span class="cstat-no" title="statement not covered" > return node;</span>
2839
- }
2840
- &nbsp;
2841
- /**
2842
- * 添加类型标注
2843
- * @internal
2844
- * @param typeAnnotationOptions 类型标注参数
2845
- */
2846
- _addTypeAnnotationInTypeArguments(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2847
- &nbsp;
2848
- /**
2849
- * 添加类型标注
2850
- * @internal
2851
- * @param typeAnnotation 已有的类型标注实例
2852
- */
2853
- _addTypeAnnotationInTypeArguments(typeAnnotation: TypeAnnotation): TypeAnnotation;
2854
- &nbsp;
2855
- <span class="fstat-no" title="function not covered" > _addTypeAnnotationInTypeArguments(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2856
- const index = <span class="cstat-no" title="statement not covered" >this.typeArguments.length;</span>
2857
- <span class="cstat-no" title="statement not covered" > return this._insertTypeAnnotationInTypeArgumentsAt(options as any, index);</span>
2858
- }
2859
- &nbsp;
2860
- /**
2861
- * 添加类型标注
2862
- * @param typeAnnotationOptions 类型标注参数
2863
- */
2864
- addTypeAnnotationInTypeArguments(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2865
- &nbsp;
2866
- /**
2867
- * 添加类型标注
2868
- * @param typeAnnotation 已有的类型标注实例
2869
- */
2870
- addTypeAnnotationInTypeArguments(typeAnnotation: TypeAnnotation): TypeAnnotation;
2871
- &nbsp;
2872
- <span class="fstat-no" title="function not covered" > addTypeAnnotationInTypeArguments(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2873
- const node = <span class="cstat-no" title="statement not covered" >this._addTypeAnnotationInTypeArguments(options as any);</span>
2874
- const index = <span class="cstat-no" title="statement not covered" >this.typeArguments.indexOf(node);</span>
2875
- <span class="cstat-no" title="statement not covered" > node.create({</span>
2876
- index,
2877
- parentNode: this,
2878
- parentKey: 'typeArguments',
2879
- });
2880
- <span class="cstat-no" title="statement not covered" > return node;</span>
2881
- }
2882
- &nbsp;
2883
- /**
2884
- * 插入类型标注
2885
- * @internal
2886
- * @param typeAnnotationOptions 类型标注参数
2887
- */
2888
- _insertTypeAnnotationInReturnTypeAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2889
- &nbsp;
2890
- /**
2891
- * 插入类型标注
2892
- * @internal
2893
- * @param typeAnnotation 已有的类型标注实例
2894
- */
2895
- _insertTypeAnnotationInReturnTypeAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2896
- &nbsp;
2897
- <span class="fstat-no" title="function not covered" > _insertTypeAnnotationInReturnTypeAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2898
- const typeAnnotationOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2899
- const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'returnType' };</span>
2900
- let typeAnnotation: TypeAnnotation;
2901
- <span class="cstat-no" title="statement not covered" > if (options instanceof TypeAnnotation) {</span>
2902
- <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2903
- <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2904
- <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
2905
- } else {
2906
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2907
- {
2908
- ...typeAnnotationOptions,
2909
- ...options,
2910
- },
2911
- this,
2912
- 'returnType',
2913
- );
2914
- }
2915
- <span class="cstat-no" title="statement not covered" > this.returnType.splice(index, 0, typeAnnotation);</span>
2916
- <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
2917
- }
2918
- &nbsp;
2919
- /**
2920
- * 插入类型标注
2921
- * @param typeAnnotationOptions 类型标注参数
2922
- */
2923
- insertTypeAnnotationInReturnTypeAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2924
- &nbsp;
2925
- /**
2926
- * 插入类型标注
2927
- * @param typeAnnotation 已有的类型标注实例
2928
- */
2929
- insertTypeAnnotationInReturnTypeAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2930
- &nbsp;
2931
- <span class="fstat-no" title="function not covered" > insertTypeAnnotationInReturnTypeAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2932
- const node = <span class="cstat-no" title="statement not covered" >this._insertTypeAnnotationInReturnTypeAt(options as any, index);</span>
2933
- <span class="cstat-no" title="statement not covered" > node.create({</span>
2934
- index,
2935
- parentNode: this,
2936
- parentKey: 'returnType',
2937
- });
2938
- <span class="cstat-no" title="statement not covered" > return node;</span>
2939
- }
2940
- &nbsp;
2941
- /**
2942
- * 添加类型标注
2943
- * @internal
2944
- * @param typeAnnotationOptions 类型标注参数
2945
- */
2946
- _addTypeAnnotationInReturnType(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2947
- &nbsp;
2948
- /**
2949
- * 添加类型标注
2950
- * @internal
2951
- * @param typeAnnotation 已有的类型标注实例
2952
- */
2953
- _addTypeAnnotationInReturnType(typeAnnotation: TypeAnnotation): TypeAnnotation;
2954
- &nbsp;
2955
- <span class="fstat-no" title="function not covered" > _addTypeAnnotationInReturnType(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2956
- const index = <span class="cstat-no" title="statement not covered" >this.returnType.length;</span>
2957
- <span class="cstat-no" title="statement not covered" > return this._insertTypeAnnotationInReturnTypeAt(options as any, index);</span>
2958
- }
2959
- &nbsp;
2960
- /**
2961
- * 添加类型标注
2962
- * @param typeAnnotationOptions 类型标注参数
2963
- */
2964
- addTypeAnnotationInReturnType(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2965
- &nbsp;
2966
- /**
2967
- * 添加类型标注
2968
- * @param typeAnnotation 已有的类型标注实例
2969
- */
2970
- addTypeAnnotationInReturnType(typeAnnotation: TypeAnnotation): TypeAnnotation;
2971
- &nbsp;
2972
- <span class="fstat-no" title="function not covered" > addTypeAnnotationInReturnType(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2973
- const node = <span class="cstat-no" title="statement not covered" >this._addTypeAnnotationInReturnType(options as any);</span>
2974
- const index = <span class="cstat-no" title="statement not covered" >this.returnType.indexOf(node);</span>
2975
- <span class="cstat-no" title="statement not covered" > node.create({</span>
2976
- index,
2977
- parentNode: this,
2978
- parentKey: 'returnType',
2979
- });
2980
- <span class="cstat-no" title="statement not covered" > return node;</span>
2981
- }
2982
- &nbsp;
2983
- /**
2984
- * 插入数据结构属性
2985
- * @internal
2986
- * @param structurePropertyOptions 数据结构属性参数
2987
- */
2988
- _insertStructurePropertyAt(structurePropertyOptions: Partial&lt;StructureProperty&gt;, index: number): StructureProperty;
2989
- &nbsp;
2990
- /**
2991
- * 插入数据结构属性
2992
- * @internal
2993
- * @param structureProperty 已有的数据结构属性实例
2994
- */
2995
- _insertStructurePropertyAt(structureProperty: StructureProperty, index: number): StructureProperty;
2996
- &nbsp;
2997
- <span class="fstat-no" title="function not covered" > _insertStructurePropertyAt(</span>options: Partial&lt;StructureProperty&gt; | StructureProperty, index: number) {
2998
- const structurePropertyOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2999
- const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'properties' };</span>
3000
- let structureProperty: StructureProperty;
3001
- <span class="cstat-no" title="statement not covered" > if (options instanceof StructureProperty) {</span>
3002
- <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
3003
- <span class="cstat-no" title="statement not covered" > structureProperty = options;</span>
3004
- <span class="cstat-no" title="statement not covered" > Object.assign(structureProperty, relationOptions);</span>
3005
- } else {
3006
- <span class="cstat-no" title="statement not covered" > structureProperty = StructureProperty.from(</span>
3007
- {
3008
- ...structurePropertyOptions,
3009
- ...options,
3010
- },
3011
- this,
3012
- 'properties',
3013
- );
3014
- }
3015
- <span class="cstat-no" title="statement not covered" > this.properties.splice(index, 0, structureProperty);</span>
3016
- <span class="cstat-no" title="statement not covered" > return structureProperty;</span>
3017
- }
3018
- &nbsp;
3019
- /**
3020
- * 插入数据结构属性
3021
- * @param structurePropertyOptions 数据结构属性参数
3022
- */
3023
- insertStructurePropertyAt(structurePropertyOptions: Partial&lt;StructureProperty&gt;, index: number): StructureProperty;
3024
- &nbsp;
3025
- /**
3026
- * 插入数据结构属性
3027
- * @param structureProperty 已有的数据结构属性实例
3028
- */
3029
- insertStructurePropertyAt(structureProperty: StructureProperty, index: number): StructureProperty;
3030
- &nbsp;
3031
- <span class="fstat-no" title="function not covered" > insertStructurePropertyAt(</span>options: Partial&lt;StructureProperty&gt; | StructureProperty, index: number) {
3032
- const node = <span class="cstat-no" title="statement not covered" >this._insertStructurePropertyAt(options as any, index);</span>
3033
- <span class="cstat-no" title="statement not covered" > node.create({</span>
3034
- index,
3035
- parentNode: this,
3036
- parentKey: 'properties',
3037
- });
3038
- <span class="cstat-no" title="statement not covered" > return node;</span>
3039
- }
3040
- &nbsp;
3041
- /**
3042
- * 添加数据结构属性
3043
- * @internal
3044
- * @param structurePropertyOptions 数据结构属性参数
3045
- */
3046
- _addStructureProperty(structurePropertyOptions: Partial&lt;StructureProperty&gt;): StructureProperty;
3047
- &nbsp;
3048
- /**
3049
- * 添加数据结构属性
3050
- * @internal
3051
- * @param structureProperty 已有的数据结构属性实例
3052
- */
3053
- _addStructureProperty(structureProperty: StructureProperty): StructureProperty;
3054
- &nbsp;
3055
- <span class="fstat-no" title="function not covered" > _addStructureProperty(</span>options?: Partial&lt;StructureProperty&gt; | StructureProperty) {
3056
- const index = <span class="cstat-no" title="statement not covered" >this.properties.length;</span>
3057
- <span class="cstat-no" title="statement not covered" > return this._insertStructurePropertyAt(options as any, index);</span>
3058
- }
3059
- &nbsp;
3060
- /**
3061
- * 添加数据结构属性
3062
- * @param structurePropertyOptions 数据结构属性参数
3063
- */
3064
- addStructureProperty(structurePropertyOptions: Partial&lt;StructureProperty&gt;): StructureProperty;
3065
- &nbsp;
3066
- /**
3067
- * 添加数据结构属性
3068
- * @param structureProperty 已有的数据结构属性实例
3069
- */
3070
- addStructureProperty(structureProperty: StructureProperty): StructureProperty;
3071
- &nbsp;
3072
- <span class="fstat-no" title="function not covered" > addStructureProperty(</span>options?: Partial&lt;StructureProperty&gt; | StructureProperty) {
3073
- const node = <span class="cstat-no" title="statement not covered" >this._addStructureProperty(options as any);</span>
3074
- const index = <span class="cstat-no" title="statement not covered" >this.properties.indexOf(node);</span>
3075
- <span class="cstat-no" title="statement not covered" > node.create({</span>
3076
- index,
3077
- parentNode: this,
3078
- parentKey: 'properties',
3079
- });
3080
- <span class="cstat-no" title="statement not covered" > return node;</span>
3081
- }
3082
- &nbsp;
3083
- /**
3084
- * 删除类型标注
3085
- * @param typeAnnotation 已有的类型标注实例
3086
- */
3087
- removeTypeAnnotationInTypeArguments(typeAnnotation: TypeAnnotation): void;
3088
- &nbsp;
3089
- <span class="fstat-no" title="function not covered" > removeTypeAnnotationInTypeArguments(</span>options: TypeAnnotation) {
3090
- let typeAnnotation: TypeAnnotation = <span class="cstat-no" title="statement not covered" >options;</span>
3091
- <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
3092
- }
3093
- &nbsp;
3094
- /**
3095
- * 删除类型标注
3096
- * @param typeAnnotation 已有的类型标注实例
3097
- */
3098
- removeTypeAnnotationInReturnType(typeAnnotation: TypeAnnotation): void;
3099
- &nbsp;
3100
- <span class="fstat-no" title="function not covered" > removeTypeAnnotationInReturnType(</span>options: TypeAnnotation) {
3101
- let typeAnnotation: TypeAnnotation = <span class="cstat-no" title="statement not covered" >options;</span>
3102
- <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
3103
- }
3104
- &nbsp;
3105
- <span class="fstat-no" title="function not covered" > __removeTypeAnnotation(</span>typeAnnotation: TypeAnnotation) {
3106
- const parentKey = <span class="cstat-no" title="statement not covered" >typeAnnotation.parentKey;</span>
3107
- const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
3108
- parentNode: this,
3109
- parentKey,
3110
- index: -1,
3111
- object: null,
3112
- oldObject: typeAnnotation,
3113
- };
3114
- <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
3115
- <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
3116
- // @ts-ignore
3117
- const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
3118
- // @ts-ignore
3119
- const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
3120
- <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
3121
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
3122
- <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
3123
- <span class="cstat-no" title="statement not covered" > params.index = index;</span>
3124
- } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
3125
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3126
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
3127
- }
3128
- }
3129
- <span class="cstat-no" title="statement not covered" > return params;</span>
3130
- }
3131
- &nbsp;
3132
- /**
3133
- * 删除数据结构属性
3134
- * @param structureProperty 已有的数据结构属性实例
3135
- */
3136
- removeStructureProperty(structureProperty: StructureProperty): void;
3137
- &nbsp;
3138
- <span class="fstat-no" title="function not covered" > removeStructureProperty(</span>options: StructureProperty) {
3139
- let structureProperty: StructureProperty = <span class="cstat-no" title="statement not covered" >options;</span>
3140
- <span class="cstat-no" title="statement not covered" > return structureProperty.delete();</span>
3141
- }
3142
- &nbsp;
3143
- <span class="fstat-no" title="function not covered" > __removeStructureProperty(</span>structureProperty: StructureProperty) {
3144
- const parentKey = <span class="cstat-no" title="statement not covered" >structureProperty.parentKey;</span>
3145
- const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
3146
- parentNode: this,
3147
- parentKey,
3148
- index: -1,
3149
- object: null,
3150
- oldObject: structureProperty,
3151
- };
3152
- <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
3153
- <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
3154
- // @ts-ignore
3155
- const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
3156
- // @ts-ignore
3157
- const n = <span class="cstat-no" title="statement not covered" >structureProperty.__v_raw || structureProperty;</span>
3158
- <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
3159
- const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
3160
- <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
3161
- <span class="cstat-no" title="statement not covered" > params.index = index;</span>
3162
- } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
3163
- <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
3164
- (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
3165
- }
3166
- }
3167
- <span class="cstat-no" title="statement not covered" > return params;</span>
3168
- }
3169
- &nbsp;
3170
- //================================================================================
3171
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
3172
- // 自动生成的代码已结束。下面可以手动编写。
3173
- //================================================================================
3174
- &nbsp;
3175
- // 兼容 long 需要显示为 long 的情况,默认 undefined
3176
- longNotInteger: boolean = undefined;
3177
- &nbsp;
3178
- <span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState): string {
3179
- <span class="cstat-no" title="statement not covered" > return this.headTitle;</span>
3180
- }
3181
- &nbsp;
3182
- <span class="fstat-no" title="function not covered" > traverse(</span>
3183
- callback: (arg: TypeAnnotation) =&gt; void,
3184
- enter: (arg: TypeAnnotation) =&gt; void,
3185
- leave: (arg: TypeAnnotation) =&gt; void,
3186
- onJoin: (arg: TypeAnnotation, arg2: TypeAnnotation) =&gt; void,
3187
- ) {
3188
- <span class="cstat-no" title="statement not covered" > enter(this);</span>
3189
- <span class="cstat-no" title="statement not covered" > callback(this);</span>
3190
- <span class="cstat-no" title="statement not covered" > if (this.typeArguments &amp;&amp; ['generic', 'union'].includes(this.typeKind)) {</span>
3191
- const l = <span class="cstat-no" title="statement not covered" >this.typeArguments.length;</span>
3192
- <span class="cstat-no" title="statement not covered" > this.typeArguments.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, idx) =&gt; {</span>
3193
- <span class="cstat-no" title="statement not covered" > arg.traverse(callback, enter, leave, onJoin);</span>
3194
- <span class="cstat-no" title="statement not covered" > if (idx &lt; l - 1) {</span>
3195
- <span class="cstat-no" title="statement not covered" > onJoin(this, arg);</span>
3196
- }
3197
- });
3198
- }
3199
- <span class="cstat-no" title="statement not covered" > leave(this);</span>
3200
- }
3201
- &nbsp;
3202
- get typeKey(): string {
3203
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeKind === 'primitive' || <span class="branch-1 cbranch-no" title="branch not covered" >this.typeKind === 'reference')</span> {
3204
- return `${this.typeNamespace}.${this.typeName}`;
3205
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'generic') {</span>
3206
- <span class="cstat-no" title="statement not covered" > return `${this.typeNamespace}.${this.typeName}&lt;${(this.typeArguments || []).map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeKey)</span>}&gt;`;</span>
3207
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3208
- <span class="cstat-no" title="statement not covered" > return `{ ${this.properties</span>
3209
- .map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation ? typeAnnotation?.typeKey : '未知'}`)</span>
3210
- .join(', ')} }`;
3211
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3212
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeKey)</span>.join(' | ')}`;</span>
3213
- } else {
3214
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3215
- }
3216
- }
3217
- &nbsp;
3218
- // 排过序的类型标识
3219
- get sortedTypeKey(): string {
3220
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.typeKind === 'anonymousStructure') {
3221
- // 按匿名数据结构的key排序
3222
- <span class="cstat-no" title="statement not covered" > return `{${[...this.properties]</span>
3223
- .sort(<span class="fstat-no" title="function not covered" >({</span> name: name1 }, { name: name2 }) =&gt; (<span class="cstat-no" title="statement not covered" >name1 &gt; name2 ? 1 : -1)</span>)
3224
- .map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation ? typeAnnotation?.sortedTypeKey : '未知'}`)</span>
3225
- .join(', ')}}`;
3226
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (this.typeKind === 'union') {
3227
- // 按返回的每个具体项排序
3228
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments</span>
3229
- .map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.sortedTypeKey)</span>
3230
- .sort(<span class="fstat-no" title="function not covered" >(n</span>ame1, name2) =&gt; (<span class="cstat-no" title="statement not covered" >name1 &gt; name2 ? 1 : -1)</span>)
3231
- .join(' | ')}`;
3232
- }
3233
- const typeArr = [];
3234
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeNamespace) {
3235
- typeArr.push(this.typeNamespace);
3236
- }
3237
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeName) {
3238
- typeArr.push(this.typeName);
3239
- }
3240
- const typeKey = typeArr.join('.');
3241
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.typeKind === 'generic') {
3242
- let code = <span class="cstat-no" title="statement not covered" >typeKey;</span>
3243
- <span class="cstat-no" title="statement not covered" > code += '&lt;';</span>
3244
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.typeArguments) &amp;&amp; this.typeArguments.length) {</span>
3245
- // 必须按typeArguments定义的顺序,否则实参位置不对
3246
- <span class="cstat-no" title="statement not covered" > code += `${(this.typeArguments || []).map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.sortedTypeKey)</span>.join(', ')}`;</span>
3247
- }
3248
- <span class="cstat-no" title="statement not covered" > code += '&gt;';</span>
3249
- <span class="cstat-no" title="statement not covered" > return code;</span>
3250
- }
3251
- return typeKey;
3252
- }
3253
- &nbsp;
3254
- /**
3255
- * 用于展示的 type 标题
3256
- */
3257
- <span class="fstat-no" title="function not covered" > get h</span>eadTitle(): string {
3258
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive') {</span>
3259
- // longNotInteger: 兼容 long 需要显示为 long 的情况,默认 undefined
3260
- <span class="cstat-no" title="statement not covered" > if (this.typeName === 'Long' &amp;&amp; !this.longNotInteger) {</span>
3261
- <span class="cstat-no" title="statement not covered" > return `Integer ${PRIMITIVE_TITLE[this.typeName] || ''}`;</span>
3262
- }
3263
- <span class="cstat-no" title="statement not covered" > return `${this.typeName} ${PRIMITIVE_TITLE[this.typeName] || ''}`;</span>
3264
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'reference') {</span>
3265
- const typeNamespace = <span class="cstat-no" title="statement not covered" >this?.typeNamespace;</span>
3266
- let typeTitle = <span class="cstat-no" title="statement not covered" >this.typeName;</span>
3267
- <span class="cstat-no" title="statement not covered" > if (typeNamespace &amp;&amp; this.rootNode) {</span>
3268
- const entity = (<span class="cstat-no" title="statement not covered" >this.rootNode as any).findNodeByCompleteName?.([typeNamespace, this?.typeName].join('.'));</span>
3269
- <span class="cstat-no" title="statement not covered" > if (entity?.concept === 'Entity') {</span>
3270
- const dataSourceName = <span class="cstat-no" title="statement not covered" >entity.dataSource?.name;</span>
3271
- <span class="cstat-no" title="statement not covered" > if (dataSourceName) {</span>
3272
- <span class="cstat-no" title="statement not covered" > typeTitle += `(${dataSourceName})`;</span>
3273
- }
3274
- }
3275
- }
3276
- <span class="cstat-no" title="statement not covered" > return typeTitle;</span>
3277
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'generic') {</span>
3278
- <span class="cstat-no" title="statement not covered" > if (this.typeArguments &amp;&amp; this.typeArguments.length)</span>
3279
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}&lt;${(this.typeArguments || [])</span>
3280
- .map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg.headTitle || arg.name || 'T')</span>
3281
- .join(', ')}&gt;`;
3282
- else <span class="cstat-no" title="statement not covered" >return this.typeName;</span>
3283
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3284
- <span class="cstat-no" title="statement not covered" > return `{ ${this.properties</span>
3285
- ?.map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation.headTitle}`)</span>
3286
- .join(', ')} }`;
3287
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3288
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg.typeTitle || arg.name)</span>.join(' 或 ')}`;</span>
3289
- } else {
3290
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3291
- }
3292
- }
3293
- &nbsp;
3294
- /**
3295
- * 用于展示的 type 标题
3296
- */
3297
- <span class="fstat-no" title="function not covered" > get t</span>ypeTitle(): string {
3298
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive') {</span>
3299
- <span class="cstat-no" title="statement not covered" > if (this.typeName === 'Long') {</span>
3300
- <span class="cstat-no" title="statement not covered" > return `Integer ${PRIMITIVE_TITLE[this.typeName] || ''}`;</span>
3301
- }
3302
- <span class="cstat-no" title="statement not covered" > return `${this.typeName} ${PRIMITIVE_TITLE[this.typeName] || ''}`;</span>
3303
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'reference') {</span>
3304
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3305
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'generic') {</span>
3306
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}&lt;${</span>
3307
- !this.typeArguments.length ? 'T' : this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeTitle || arg?.name || 'T')</span>.join(', ')
3308
- }&gt;`;
3309
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3310
- <span class="cstat-no" title="statement not covered" > return `{ ${this.properties</span>
3311
- ?.map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation ? typeAnnotation?.typeTitle : '未知'}`)</span>
3312
- .join(', ')} }`;
3313
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3314
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeTitle || arg?.name)</span>.join(' 或 ')}`;</span>
3315
- } else {
3316
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3317
- }
3318
- }
3319
- &nbsp;
3320
- /**
3321
- * 用于展示的 无中文的精简type标题
3322
- */
3323
- <span class="fstat-no" title="function not covered" > get t</span>ypeInlineTitle(): string {
3324
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive') {</span>
3325
- <span class="cstat-no" title="statement not covered" > if (this.typeName === 'Long') {</span>
3326
- <span class="cstat-no" title="statement not covered" > return 'Integer';</span>
3327
- }
3328
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3329
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'reference') {</span>
3330
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3331
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'generic') {</span>
3332
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}&lt;${</span>
3333
- !this.typeArguments.length
3334
- ? 'T'
3335
- : this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeInlineTitle || arg?.name || 'T')</span>.join(', ')
3336
- }&gt;`;
3337
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3338
- <span class="cstat-no" title="statement not covered" > return `{ ${this.properties</span>
3339
- ?.map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation ? typeAnnotation?.typeInlineTitle : '未知'}`)</span>
3340
- .join(', ')} }`;
3341
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3342
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeInlineTitle || arg?.name)</span>.join(' 或 ')}`;</span>
3343
- } else {
3344
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3345
- }
3346
- }
3347
- &nbsp;
3348
- /**
3349
- * 用于展示的 纯中文的type 标题
3350
- */
3351
- <span class="fstat-no" title="function not covered" > get t</span>ypeChineseTitle(): string {
3352
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive') {</span>
3353
- <span class="cstat-no" title="statement not covered" > return `${PRIMITIVE_TITLE[this.typeName] || ''}`;</span>
3354
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'reference') {</span>
3355
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3356
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'generic') {</span>
3357
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}&lt;${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeChineseTitle || arg?.name || 'T')</span>.join(', ')}&gt;`;</span>
3358
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3359
- <span class="cstat-no" title="statement not covered" > return `{ ${this.properties</span>
3360
- ?.map(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }) =&gt; <span class="cstat-no" title="statement not covered" >`${name}: ${typeAnnotation ? typeAnnotation.typeChineseTitle : '未知'}`)</span>
3361
- .join(', ')} }`;
3362
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3363
- <span class="cstat-no" title="statement not covered" > return `${this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg?.typeChineseTitle || arg?.name)</span>.join(' 或 ')}`;</span>
3364
- } else {
3365
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3366
- }
3367
- }
3368
- &nbsp;
3369
- <span class="fstat-no" title="function not covered" > get t</span>ypeTitleList() {
3370
- const typeTitleList: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
3371
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'anonymousStructure') {</span>
3372
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: '{' });</span>
3373
- const length = <span class="cstat-no" title="statement not covered" >this.properties?.length;</span>
3374
- <span class="cstat-no" title="statement not covered" > this.properties?.forEach(<span class="fstat-no" title="function not covered" >({</span> name, typeAnnotation }, index) =&gt; {</span>
3375
- <span class="cstat-no" title="statement not covered" > if (index === length - 1) {</span>
3376
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: name, value: `${typeAnnotation ? typeAnnotation.typeTitle : '未知'}` });</span>
3377
- } else {
3378
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: name, value: `${typeAnnotation ? typeAnnotation.typeTitle : '未知'}`, dot: ',' });</span>
3379
- }
3380
- });
3381
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: '}' });</span>
3382
- } else <span class="cstat-no" title="statement not covered" >if (this.typeName === 'List' &amp;&amp; this.typeArguments?.length) {</span>
3383
- <span class="cstat-no" title="statement not covered" > if (this.typeArguments.every(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.typeKind !== 'anonymousStructure')</span>) {</span>
3384
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: this.typeTitle });</span>
3385
- } else {
3386
- const propsTypeList = <span class="cstat-no" title="statement not covered" >[].concat(...this.typeArguments.map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg.typeTitleList)</span>);</span>
3387
- <span class="cstat-no" title="statement not covered" > if (propsTypeList[0]?.key === '{') {</span>
3388
- <span class="cstat-no" title="statement not covered" > propsTypeList[0].key = 'List&lt;{';</span>
3389
- } else {
3390
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: 'List&lt;' });</span>
3391
- }
3392
- <span class="cstat-no" title="statement not covered" > typeTitleList.push(...propsTypeList);</span>
3393
- <span class="cstat-no" title="statement not covered" > if (propsTypeList[propsTypeList.length - 1]?.key === '}') {</span>
3394
- <span class="cstat-no" title="statement not covered" > propsTypeList[propsTypeList.length - 1].key = '}&gt;';</span>
3395
- } else {
3396
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: '&gt;' });</span>
3397
- }
3398
- }
3399
- } else {
3400
- <span class="cstat-no" title="statement not covered" > typeTitleList.push({ key: this.typeTitle });</span>
3401
- }
3402
- <span class="cstat-no" title="statement not covered" > return typeTitleList;</span>
3403
- }
3404
- &nbsp;
3405
- static createPrimitive(typeName: string, source?: Partial&lt;TypeAnnotation&gt;) {
3406
- if ((PRIMITIVE_TYPE as any)[typeName]) {
3407
- return this.from(
3408
- Object.assign(
3409
- {
3410
- typeKind: typeName === 'Union' ? <span class="branch-0 cbranch-no" title="branch not covered" >'union' </span>: 'primitive',
3411
- typeName,
3412
- typeNamespace: 'nasl.core',
3413
- },
3414
- source,
3415
- ),
3416
- );
3417
- }
3418
- }
3419
- &nbsp;
3420
- static createReference(typeName: string, source?: Partial&lt;TypeAnnotation&gt;) {
3421
- return this.from(
3422
- Object.assign(
3423
- {
3424
- typeKind: 'reference',
3425
- typeName,
3426
- typeNamespace: 'nasl.core',
3427
- },
3428
- source,
3429
- ),
3430
- );
3431
- }
3432
- &nbsp;
3433
- static createGeneric(typeName: string, source?: Partial&lt;TypeAnnotation&gt;) {
3434
- return this.from(
3435
- Object.assign(
3436
- {
3437
- typeKind: 'generic',
3438
- typeName,
3439
- typeNamespace: 'nasl.collection',
3440
- },
3441
- source,
3442
- ),
3443
- );
3444
- }
3445
- &nbsp;
3446
- static createTypeParam(typeName: string, source?: Partial&lt;TypeAnnotation&gt;) {
3447
- return this.from(
3448
- Object.assign(
3449
- {
3450
- typeKind: 'typeParam',
3451
- typeName,
3452
- },
3453
- source,
3454
- ),
3455
- );
3456
- }
3457
- &nbsp;
3458
- static createTypeAnonymousStructure(properties: Array&lt;StructureProperty&gt;, source?: Partial&lt;TypeAnnotation&gt;) {
3459
- return this.from(
3460
- Object.assign(
3461
- {
3462
- typeKind: 'anonymousStructure',
3463
- properties,
3464
- },
3465
- source,
3466
- ),
3467
- );
3468
- }
3469
- /**
3470
- * 设置类型属性名称
3471
- */
3472
- <span class="fstat-no" title="function not covered" > setTypeName(</span>typeName: string) {
3473
- const object = <span class="cstat-no" title="statement not covered" >{</span>
3474
- typeName,
3475
- };
3476
- <span class="cstat-no" title="statement not covered" > this.update({</span>
3477
- ...object,
3478
- });
3479
- }
3480
- &nbsp;
3481
- /**
3482
- * 设置类型属性名称
3483
- */
3484
- <span class="fstat-no" title="function not covered" > setTypeNamespace(</span>typeNamespace: string) {
3485
- const object = <span class="cstat-no" title="statement not covered" >{</span>
3486
- typeNamespace,
3487
- };
3488
- <span class="cstat-no" title="statement not covered" > this.update({</span>
3489
- ...object,
3490
- });
3491
- }
3492
- &nbsp;
3493
- get tsCalleeNamespace() {
3494
- <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeNamespace) {
3495
- let tsCalleeNamespace = this.typeNamespace;
3496
- tsCalleeNamespace = tsCalleeNamespace.replace(/\.[0-9]/g, <span class="fstat-no" title="function not covered" >(m</span>) =&gt; <span class="cstat-no" title="statement not covered" >m.replace('.', '.$'))</span>;
3497
- tsCalleeNamespace = tsCalleeNamespace.replace(/-/g, '_');
3498
- return tsCalleeNamespace;
3499
- }
3500
- <span class="cstat-no" title="statement not covered" > return '';</span>
3501
- }
3502
- &nbsp;
3503
- <span class="fstat-no" title="function not covered" > toVue(</span>state?: TranslatorState): string {
3504
- <span class="cstat-no" title="statement not covered" > return JSON.stringify(this);</span>
3505
- }
3506
- &nbsp;
3507
- toJS(state?: TranslatorState): string {
3508
- return JSON.stringify(this);
3509
- }
3510
- &nbsp;
3511
- @withSourceMap()
3512
- toEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
3513
- if (this.typeKind === 'primitive' || this.typeKind === 'reference') {
3514
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.typeKind === 'reference' &amp;&amp; this.typeNamespace &amp;&amp; this.typeNamespace.endsWith('enums')) {
3515
- <span class="cstat-no" title="statement not covered" > return `${this.tsCalleeNamespace}.${this.typeName}`;</span>
3516
- }
3517
- return `${this.tsCalleeNamespace}.${this.typeName}`;
3518
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (this.typeKind === 'generic') {
3519
- let code = `${this.tsCalleeNamespace}.${this.typeName}&lt;`;
3520
- (this.typeArguments || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.forEach((arg, index) =&gt; {
3521
- code += arg?.toEmbeddedTS(shiftState(state, code, { inline: true }));
3522
- <span class="missing-if-branch" title="if path not taken" >I</span>if (index !== this.typeArguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span>
3523
- });
3524
- code += '&gt;';
3525
- return code;
3526
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'union') {</span>
3527
- let code = <span class="cstat-no" title="statement not covered" >'';</span>
3528
- <span class="cstat-no" title="statement not covered" > (this.typeArguments || []).forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
3529
- <span class="cstat-no" title="statement not covered" > code += arg?.toEmbeddedTS(shiftState(state, code, { inline: true }));</span>
3530
- <span class="cstat-no" title="statement not covered" > if (index !== this.typeArguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ' | ';</span></span>
3531
- });
3532
- <span class="cstat-no" title="statement not covered" > return code;</span>
3533
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3534
- let code = <span class="cstat-no" title="statement not covered" >`{ `;</span>
3535
- <span class="cstat-no" title="statement not covered" > (this.properties || []).forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty, i) =&gt; {</span>
3536
- <span class="cstat-no" title="statement not covered" > code += `${property.name}: `;</span>
3537
- <span class="cstat-no" title="statement not covered" > code += `${</span>
3538
- property.typeAnnotation
3539
- ? property.typeAnnotation?.toEmbeddedTS(
3540
- shiftState(state, code, { inline: true, tabSize: (state?.tabSize || 0) + 1 }),
3541
- )
3542
- : '`未知`'
3543
- }`;
3544
- <span class="cstat-no" title="statement not covered" > code += ', ';</span>
3545
- });
3546
- <span class="cstat-no" title="statement not covered" > code += `__name: "AStructure_${this.hash}" `;</span>
3547
- <span class="cstat-no" title="statement not covered" > code += ' }';</span>
3548
- <span class="cstat-no" title="statement not covered" > return code;</span>
3549
- } else {
3550
- <span class="cstat-no" title="statement not covered" > if (this.tsCalleeNamespace &amp;&amp; this.typeName) {</span>
3551
- <span class="cstat-no" title="statement not covered" > return `${this.tsCalleeNamespace}.${this.typeName}`;</span>
3552
- } else <span class="cstat-no" title="statement not covered" >if (this.typeName) {</span>
3553
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3554
- } else {
3555
- <span class="cstat-no" title="statement not covered" > return '__IDENTIFIER__';</span>
3556
- }
3557
- }
3558
- }
3559
- &nbsp;
3560
- @withSourceMap()
3561
- <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
3562
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive' || this.typeKind === 'reference') {</span>
3563
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'reference' &amp;&amp; this.typeNamespace &amp;&amp; this.typeNamespace.endsWith('enums')) {</span>
3564
- <span class="cstat-no" title="statement not covered" > return this.tsCalleeNamespace.startsWith('nasl.ui')</span>
3565
- ? `${this.tsCalleeNamespace}.${this.typeName}`
3566
- : `${this.typeName}`;
3567
- }
3568
- <span class="cstat-no" title="statement not covered" > return this.tsCalleeNamespace.startsWith('nasl.ui')</span>
3569
- ? `${this.tsCalleeNamespace}.${this.typeName}`
3570
- : `${this.typeName}`;
3571
- }
3572
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'generic') {</span>
3573
- let code = <span class="cstat-no" title="statement not covered" >`${this.typeName}&lt;`;</span>
3574
- <span class="cstat-no" title="statement not covered" > (this.typeArguments || []).forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
3575
- <span class="cstat-no" title="statement not covered" > code += arg.toNaturalTS(shiftState(state, code, { inline: true }));</span>
3576
- <span class="cstat-no" title="statement not covered" > if (index !== this.typeArguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
3577
- });
3578
- <span class="cstat-no" title="statement not covered" > code += '&gt;';</span>
3579
- <span class="cstat-no" title="statement not covered" > return code;</span>
3580
- }
3581
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'union') {</span>
3582
- let code = <span class="cstat-no" title="statement not covered" >'';</span>
3583
- <span class="cstat-no" title="statement not covered" > (this.typeArguments || []).forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
3584
- <span class="cstat-no" title="statement not covered" > code += arg.toNaturalTS(shiftState(state, code, { inline: true }));</span>
3585
- <span class="cstat-no" title="statement not covered" > if (index !== this.typeArguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ' | ';</span></span>
3586
- });
3587
- <span class="cstat-no" title="statement not covered" > return code;</span>
3588
- }
3589
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'anonymousStructure') {</span>
3590
- let code = <span class="cstat-no" title="statement not covered" >`{ `;</span>
3591
- <span class="cstat-no" title="statement not covered" > (this.properties || []).forEach(<span class="fstat-no" title="function not covered" >(p</span>roperty, i) =&gt; {</span>
3592
- <span class="cstat-no" title="statement not covered" > code += `${property.name}: `;</span>
3593
- <span class="cstat-no" title="statement not covered" > code += `${property.typeAnnotation.toNaturalTS(</span>
3594
- shiftState(state, code, { inline: true, tabSize: state.tabSize + 1 }),
3595
- )}`;
3596
- <span class="cstat-no" title="statement not covered" > code += i &lt; this.properties?.length - 1 ? ', ' : ' }';</span>
3597
- });
3598
- <span class="cstat-no" title="statement not covered" > return code;</span>
3599
- }
3600
- <span class="cstat-no" title="statement not covered" > if (this.tsCalleeNamespace &amp;&amp; this.typeName) {</span>
3601
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}`;</span>
3602
- }
3603
- <span class="cstat-no" title="statement not covered" > if (this.typeName) {</span>
3604
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3605
- }
3606
- <span class="cstat-no" title="statement not covered" > return '__IDENTIFIER__';</span>
3607
- }
3608
- &nbsp;
3609
- /**
3610
- * 用于标准化数据结构,便于计算 anonymousStructure 的 __name
3611
- */
3612
- <span class="fstat-no" title="function not covered" > get a</span>nonymousStructureTypeDesc(): string {
3613
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'generic') {</span>
3614
- <span class="cstat-no" title="statement not covered" > return `${this.typeName}&lt;${this.typeArguments</span>
3615
- .map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg.anonymousStructureTypeDesc || arg.name || 'T')</span>
3616
- .join(', ')}&gt;`;
3617
- } else <span class="cstat-no" title="statement not covered" >if (this.typeKind === 'anonymousStructure') {</span>
3618
- <span class="cstat-no" title="statement not covered" > return `{ ${[...this.properties]</span>
3619
- .sort(<span class="fstat-no" title="function not covered" >({</span> name: aName }, { name: bName }) =&gt; {
3620
- <span class="cstat-no" title="statement not covered" > if (aName &gt; bName) <span class="cstat-no" title="statement not covered" >return 1;</span></span>
3621
- <span class="cstat-no" title="statement not covered" > return aName &lt; bName ? -1 : 0;</span>
3622
- })
3623
- .map(
3624
- <span class="fstat-no" title="function not covered" > ({</span> name, typeAnnotation }) =&gt;
3625
- <span class="cstat-no" title="statement not covered" > `${name}: ${typeAnnotation ? typeAnnotation.anonymousStructureTypeDesc : '未知'}`,</span>
3626
- )
3627
- .join(', ')} }`;
3628
- } else {
3629
- <span class="cstat-no" title="statement not covered" > return this.typeName;</span>
3630
- }
3631
- }
3632
- &nbsp;
3633
- /**
3634
- * hash 用于比较 anonymousStructure 是否相同
3635
- */
3636
- <span class="fstat-no" title="function not covered" > get h</span>ash(): string {
3637
- <span class="cstat-no" title="statement not covered" > return genHash(this.anonymousStructureTypeDesc);</span>
3638
- }
3639
- &nbsp;
3640
- <span class="fstat-no" title="function not covered" > getDefaultValue(</span>value: string) {
3641
- let code = <span class="cstat-no" title="statement not covered" >'';</span>
3642
- <span class="cstat-no" title="statement not covered" > if (this.typeKind === 'primitive') {</span>
3643
- <span class="cstat-no" title="statement not covered" > if (this.typeName === 'String') {</span>
3644
- <span class="cstat-no" title="statement not covered" > code = ` new nasl.core.String("${value}") `;</span>
3645
- } else {
3646
- <span class="cstat-no" title="statement not covered" > if (['Text'].includes(this.typeName)) {</span>
3647
- <span class="cstat-no" title="statement not covered" > code = ` new ${this.typeNamespace}.${this.typeName}("${value}")`;</span>
3648
- } else <span class="cstat-no" title="statement not covered" >if (['Boolean'].includes(this.typeName)) {</span>
3649
- <span class="cstat-no" title="statement not covered" > code = value;</span>
3650
- } else {
3651
- <span class="cstat-no" title="statement not covered" > code = ` new ${this.typeNamespace}.${this.typeName}(${value})`;</span>
3652
- }
3653
- }
3654
- } else {
3655
- <span class="cstat-no" title="statement not covered" > code = ` ${this.typeNamespace}.${this.typeName}['${value}']`;</span>
3656
- }
3657
- &nbsp;
3658
- <span class="cstat-no" title="statement not covered" > return code;</span>
3659
- }
3660
- &nbsp;
3661
- /**
3662
- *
3663
- * @param code 233
3664
- *
3665
- */
3666
- <span class="fstat-no" title="function not covered" > static </span>recognize(code: string | number): TypeAnnotation {
3667
- <span class="cstat-no" title="statement not covered" > if (typeof code === 'string') {</span>
3668
- const EmailReg = <span class="cstat-no" title="statement not covered" >/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;</span>
3669
- const TimeReg = <span class="cstat-no" title="statement not covered" >/^(\d{1,2})(:\d{1,2})?:(\d{1,2})$/;</span>
3670
- const DateReg = <span class="cstat-no" title="statement not covered" >/^\d{1,4}(\/|-)\d{1,2}(\/|-)\d{1,2}$/;</span>
3671
- const DateTimeReg = <span class="cstat-no" title="statement not covered" >/^\d{1,4}(\/|-)\d{1,2}(\/|-)\d{1,2}\s(\d{1,2})(:\d{1,2})?:(\d{1,2})$/;</span>
3672
- const BooleanReg = <span class="cstat-no" title="statement not covered" >/(false|true|\u662f|\u5426)/i;</span>
3673
- <span class="cstat-no" title="statement not covered" > if (EmailReg.test(code)) {</span>
3674
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('String');</span>
3675
- } else <span class="cstat-no" title="statement not covered" >if (TimeReg.test(code)) {</span>
3676
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Time');</span>
3677
- } else <span class="cstat-no" title="statement not covered" >if (BooleanReg.test(code)) {</span>
3678
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Boolean');</span>
3679
- } else <span class="cstat-no" title="statement not covered" >if (DateReg.test(code)) {</span>
3680
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Date');</span>
3681
- } else <span class="cstat-no" title="statement not covered" >if (DateTimeReg.test(code)) {</span>
3682
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('DateTime');</span>
3683
- } else <span class="cstat-no" title="statement not covered" >if (!isNaN(Number(code))) {</span>
3684
- <span class="cstat-no" title="statement not covered" > if (code.indexOf('.') !== -1) {</span>
3685
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Decimal');</span>
3686
- // return this.createPrimitive('Decimal');
3687
- }
3688
- <span class="cstat-no" title="statement not covered" > if (code.length &gt; 8) {</span>
3689
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Long');</span>
3690
- }
3691
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Long');</span>
3692
- } else <span class="cstat-no" title="statement not covered" >if (code.length &gt; 255) {</span>
3693
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('String');</span>
3694
- }
3695
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('String');</span>
3696
- } else {
3697
- <span class="cstat-no" title="statement not covered" > return this.createPrimitive('Long');</span>
3698
- }
3699
- }
3700
- // 增加插入泛型子类型
3701
- <span class="fstat-no" title="function not covered" > typeArgumentsPush(</span>typeItem: TypeAnnotation) {
3702
- <span class="cstat-no" title="statement not covered" > if (typeItem instanceof TypeAnnotation) {</span>
3703
- <span class="cstat-no" title="statement not covered" > this.typeArguments.push(</span>
3704
- TypeAnnotation.from(typeItem, {
3705
- parentNode: this,
3706
- parentKey: 'typeArguments',
3707
- }),
3708
- );
3709
- }
3710
- }
3711
- &nbsp;
3712
- // 是否是复合类型 List|Map|entities|structures
3713
- <span class="fstat-no" title="function not covered" > isComplexType(</span>) {
3714
- const namespaceType = <span class="cstat-no" title="statement not covered" >this.typeNamespace?.split('.').pop();</span>
3715
- <span class="cstat-no" title="statement not covered" > return (</span>
3716
- ['Map', 'List'].includes(this.typeName) ||
3717
- (this.typeKind === 'reference' &amp;&amp; ['entities', 'structures'].includes(namespaceType))
3718
- );
3719
- }
3720
- /* 类型签名 */
3721
- <span class="fstat-no" title="function not covered" > get s</span>ign() {
3722
- let str: string = <span class="cstat-no" title="statement not covered" >'';</span>
3723
- <span class="cstat-no" title="statement not covered" > if (['Map', 'List'].includes(this.typeName)) {</span>
3724
- <span class="cstat-no" title="statement not covered" > str += this.typeName + '&lt;';</span>
3725
- <span class="cstat-no" title="statement not covered" > (this.typeArguments || []).forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) =&gt; {</span>
3726
- <span class="cstat-no" title="statement not covered" > str += item.sign;</span>
3727
- <span class="cstat-no" title="statement not covered" > if (index + 1 !== this.typeArguments.length) {</span>
3728
- <span class="cstat-no" title="statement not covered" > str += ',';</span>
3729
- }
3730
- });
3731
- <span class="cstat-no" title="statement not covered" > str += '&gt;';</span>
3732
- } else {
3733
- <span class="cstat-no" title="statement not covered" > str += this.typeName;</span>
3734
- }
3735
- <span class="cstat-no" title="statement not covered" > return str;</span>
3736
- }
3737
- &nbsp;
3738
- /* 判断2个类型是否一致 */
3739
- <span class="fstat-no" title="function not covered" > isSame(</span>typeAnnotation: TypeAnnotation) {
3740
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments;</span>
3741
- const typeAnnotation1 = <span class="cstat-no" title="statement not covered" >this.toJSON();</span>
3742
- const typeAnnotation2 = <span class="cstat-no" title="statement not covered" >typeAnnotation.toJSON();</span>
3743
- <span class="cstat-no" title="statement not covered" > if (typeAnnotation1.typeArguments) {</span>
3744
- <span class="cstat-no" title="statement not covered" > typeAnnotation1.typeArguments = this.sortedTypeKey;</span>
3745
- }
3746
- <span class="cstat-no" title="statement not covered" > if (typeAnnotation2.typeArguments) {</span>
3747
- <span class="cstat-no" title="statement not covered" > typeAnnotation2.typeArguments = typeAnnotation?.sortedTypeKey;</span>
3748
- }
3749
- <span class="cstat-no" title="statement not covered" > return JSON.stringify(typeAnnotation1) === JSON.stringify(typeAnnotation2);</span>
3750
- }
3751
- &nbsp;
3752
- // 是否是系统类型
3753
- <span class="fstat-no" title="function not covered" > isSystemType(</span>) {
3754
- <span class="cstat-no" title="statement not covered" > return ['nasl.ui', 'nasl.auth', 'nasl.http', 'nasl.process'].includes(this.typeNamespace);</span>
3755
- }
3756
- &nbsp;
3757
- // 是否包含系统类型
3758
- <span class="fstat-no" title="function not covered" > hasSystemType(</span>app: App, structureCache: Set&lt;Structure&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >new Set())</span> {
3759
- // 遍历子节点
3760
- const traverseChild = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>tem: TypeAnnotation, cb: (arg: TypeAnnotation) =&gt; boolean | void): boolean =&gt; {</span>
3761
- // cb 返回 false 则终止遍历
3762
- const res = <span class="cstat-no" title="statement not covered" >cb(item);</span>
3763
- <span class="cstat-no" title="statement not covered" > if (res === false) <span class="cstat-no" title="statement not covered" >return true;</span></span>
3764
- <span class="cstat-no" title="statement not covered" > if (item &amp;&amp; item.concept === 'TypeAnnotation') {</span>
3765
- <span class="cstat-no" title="statement not covered" > if (item.typeKind === 'anonymousStructure') {</span>
3766
- <span class="cstat-no" title="statement not covered" > return item.properties.some(<span class="fstat-no" title="function not covered" >(p</span>rop) =&gt; <span class="cstat-no" title="statement not covered" >traverseChild(prop.typeAnnotation, cb))</span>;</span>
3767
- }
3768
- <span class="cstat-no" title="statement not covered" > if (item.typeArguments &amp;&amp; ['generic', 'union'].includes(item.typeKind)) {</span>
3769
- <span class="cstat-no" title="statement not covered" > return item.typeArguments.some(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >traverseChild(arg, cb))</span>;</span>
3770
- }
3771
- }
3772
- };
3773
- // hasSystemType 的最终结果
3774
- let result = <span class="cstat-no" title="statement not covered" >false;</span>
3775
- // 遍历所有的类型标注
3776
- <span class="cstat-no" title="statement not covered" > traverseChild(this, <span class="fstat-no" title="function not covered" >(n</span>ode: TypeAnnotation): boolean =&gt; {</span>
3777
- // 回调函数 返回 false 则终止遍历,返回 true 则继续遍历
3778
- <span class="cstat-no" title="statement not covered" > if (node.typeNamespace?.endsWith('.structures')) {</span>
3779
- const structure = <span class="cstat-no" title="statement not covered" >app.findNodeByCompleteName(`${node.typeNamespace}.${node.typeName}`);</span>
3780
- // 处理循环引用
3781
- <span class="cstat-no" title="statement not covered" > if (structureCache.has(structure)) {</span>
3782
- <span class="cstat-no" title="statement not covered" > return true;</span>
3783
- }
3784
- <span class="cstat-no" title="statement not covered" > structureCache.add(structure)</span>
3785
- const res = <span class="cstat-no" title="statement not covered" >structure?.properties.some(<span class="fstat-no" title="function not covered" >(p</span>rop: StructureProperty) =&gt; <span class="cstat-no" title="statement not covered" >prop.typeAnnotation.hasSystemType(app, structureCache))</span>;</span>
3786
- // 如果有系统类型,则终止遍历
3787
- <span class="cstat-no" title="statement not covered" > if (res === true) {</span>
3788
- <span class="cstat-no" title="statement not covered" > result = true;</span>
3789
- <span class="cstat-no" title="statement not covered" > return false</span>
3790
- }
3791
- <span class="cstat-no" title="statement not covered" > return true</span>
3792
- }
3793
- // 如果是系统类型,则终止遍历
3794
- <span class="cstat-no" title="statement not covered" > if (node.isSystemType()) {</span>
3795
- <span class="cstat-no" title="statement not covered" > result = true;</span>
3796
- <span class="cstat-no" title="statement not covered" > return false;</span>
3797
- }
3798
- });
3799
- <span class="cstat-no" title="statement not covered" > return result;</span>
3800
- }
3801
- &nbsp;
3802
- //================================================================================
3803
- // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
3804
- // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
3805
- //================================================================================
3806
- }
3807
- &nbsp;
3808
- export default TypeAnnotation;
3809
- //================================================================================
3810
- // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
3811
- // 自动生成的代码已结束。下面可以手动编写。
3812
- //================================================================================
3813
- &nbsp;</pre></td></tr></table></pre>
3814
-
3815
- <div class='push'></div><!-- for sticky footer -->
3816
- </div><!-- /wrapper -->
3817
- <div class='footer quiet pad2 space-top1 center small'>
3818
- Code coverage generated by
3819
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3820
- at 2023-10-27T11:50:55.546Z
3821
- </div>
3822
- <script src="../../prettify.js"></script>
3823
- <script>
3824
- window.onload = function () {
3825
- prettyPrint();
3826
- };
3827
- </script>
3828
- <script src="../../sorter.js"></script>
3829
- <script src="../../block-navigation.js"></script>
3830
- </body>
3831
- </html>
3832
-