@lcap/nasl 3.4.0-beta.8 → 3.4.0-beta.9

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 (407) hide show
  1. package/.nyc_output/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  2. package/.nyc_output/processinfo/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +476 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +718 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1282 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +196 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +4303 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +206 -0
  40. package/coverage/src/common/index.ts.html +97 -0
  41. package/coverage/src/common/utils.ts.html +136 -0
  42. package/coverage/src/concepts/Abort__.ts.html +358 -0
  43. package/coverage/src/concepts/AbstractInterface__.ts.html +280 -0
  44. package/coverage/src/concepts/Anchor__.ts.html +703 -0
  45. package/coverage/src/concepts/AnonymousFunction__.ts.html +2122 -0
  46. package/coverage/src/concepts/App__.ts.html +14305 -0
  47. package/coverage/src/concepts/Argument__.ts.html +1033 -0
  48. package/coverage/src/concepts/Assignee__.ts.html +2326 -0
  49. package/coverage/src/concepts/AssignmentLine__.ts.html +442 -0
  50. package/coverage/src/concepts/Assignment__.ts.html +1201 -0
  51. package/coverage/src/concepts/Attribute__.ts.html +760 -0
  52. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  53. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1948 -0
  54. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  55. package/coverage/src/concepts/BackendVariable__.ts.html +1567 -0
  56. package/coverage/src/concepts/Backend__.ts.html +1243 -0
  57. package/coverage/src/concepts/BatchAssignment__.ts.html +3406 -0
  58. package/coverage/src/concepts/BinaryExpression__.ts.html +1519 -0
  59. package/coverage/src/concepts/BindAttribute__.ts.html +3955 -0
  60. package/coverage/src/concepts/BindDirective__.ts.html +2026 -0
  61. package/coverage/src/concepts/BindEvent__.ts.html +3502 -0
  62. package/coverage/src/concepts/BindStyle__.ts.html +1669 -0
  63. package/coverage/src/concepts/Block__.ts.html +910 -0
  64. package/coverage/src/concepts/BooleanLiteral__.ts.html +445 -0
  65. package/coverage/src/concepts/CallAuthInterface__.ts.html +1672 -0
  66. package/coverage/src/concepts/CallConnector__.ts.html +949 -0
  67. package/coverage/src/concepts/CallFunction__.ts.html +2290 -0
  68. package/coverage/src/concepts/CallInterface__.ts.html +2752 -0
  69. package/coverage/src/concepts/CallLogic__.ts.html +4924 -0
  70. package/coverage/src/concepts/CallQueryComponent__.ts.html +5341 -0
  71. package/coverage/src/concepts/Comment__.ts.html +427 -0
  72. package/coverage/src/concepts/CompletionProperty__.ts.html +952 -0
  73. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  74. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  75. package/coverage/src/concepts/ConfigProperty__.ts.html +1405 -0
  76. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  77. package/coverage/src/concepts/Connection__.ts.html +1435 -0
  78. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  79. package/coverage/src/concepts/Connector__.ts.html +4378 -0
  80. package/coverage/src/concepts/Constant__.ts.html +973 -0
  81. package/coverage/src/concepts/CountersignPolicy__.ts.html +316 -0
  82. package/coverage/src/concepts/DataSource__.ts.html +1825 -0
  83. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  84. package/coverage/src/concepts/DefaultValue__.ts.html +1000 -0
  85. package/coverage/src/concepts/Destination__.ts.html +2773 -0
  86. package/coverage/src/concepts/End__.ts.html +463 -0
  87. package/coverage/src/concepts/EntityIndex__.ts.html +817 -0
  88. package/coverage/src/concepts/EntityProperty__.ts.html +2776 -0
  89. package/coverage/src/concepts/Entity__.ts.html +3028 -0
  90. package/coverage/src/concepts/EnumItem__.ts.html +580 -0
  91. package/coverage/src/concepts/Enum__.ts.html +1291 -0
  92. package/coverage/src/concepts/Event__.ts.html +1111 -0
  93. package/coverage/src/concepts/ExternalDestination__.ts.html +1087 -0
  94. package/coverage/src/concepts/ForEachStatement__.ts.html +2005 -0
  95. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  96. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  97. package/coverage/src/concepts/Frontend__.ts.html +4117 -0
  98. package/coverage/src/concepts/Function__.ts.html +3751 -0
  99. package/coverage/src/concepts/I18nInfo__.ts.html +436 -0
  100. package/coverage/src/concepts/Identifier__.ts.html +1087 -0
  101. package/coverage/src/concepts/IfStatement__.ts.html +1657 -0
  102. package/coverage/src/concepts/ImportedInterface__.ts.html +268 -0
  103. package/coverage/src/concepts/Integration__.ts.html +1279 -0
  104. package/coverage/src/concepts/InterfaceParam__.ts.html +1144 -0
  105. package/coverage/src/concepts/Interface__.ts.html +3496 -0
  106. package/coverage/src/concepts/JSBlock__.ts.html +451 -0
  107. package/coverage/src/concepts/JavaLogic__.ts.html +493 -0
  108. package/coverage/src/concepts/LogicItem__.ts.html +1201 -0
  109. package/coverage/src/concepts/Logic__.ts.html +7495 -0
  110. package/coverage/src/concepts/MatchCase__.ts.html +3013 -0
  111. package/coverage/src/concepts/Match__.ts.html +2527 -0
  112. package/coverage/src/concepts/MemberExpression__.ts.html +1783 -0
  113. package/coverage/src/concepts/MetadataType__.ts.html +2053 -0
  114. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  115. package/coverage/src/concepts/Module__.ts.html +9874 -0
  116. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  117. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  118. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +292 -0
  119. package/coverage/src/concepts/Namespace__.ts.html +8209 -0
  120. package/coverage/src/concepts/NewComposite__.ts.html +4909 -0
  121. package/coverage/src/concepts/NewList__.ts.html +1756 -0
  122. package/coverage/src/concepts/NewMap__.ts.html +2431 -0
  123. package/coverage/src/concepts/New__.ts.html +319 -0
  124. package/coverage/src/concepts/NullLiteral__.ts.html +376 -0
  125. package/coverage/src/concepts/NumericLiteral__.ts.html +730 -0
  126. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1267 -0
  127. package/coverage/src/concepts/OverriddenLogic__.ts.html +6940 -0
  128. package/coverage/src/concepts/Param__.ts.html +1801 -0
  129. package/coverage/src/concepts/Point__.ts.html +334 -0
  130. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  131. package/coverage/src/concepts/ProcessElement__.ts.html +6292 -0
  132. package/coverage/src/concepts/ProcessOutcome__.ts.html +424 -0
  133. package/coverage/src/concepts/ProcessOutcomes__.ts.html +415 -0
  134. package/coverage/src/concepts/Process__.ts.html +4915 -0
  135. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +619 -0
  136. package/coverage/src/concepts/QueryFieldExpression__.ts.html +613 -0
  137. package/coverage/src/concepts/QueryFromExpression__.ts.html +970 -0
  138. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +610 -0
  139. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1627 -0
  140. package/coverage/src/concepts/QueryLimitExpression__.ts.html +694 -0
  141. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +739 -0
  142. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  143. package/coverage/src/concepts/Rect__.ts.html +376 -0
  144. package/coverage/src/concepts/Return__.ts.html +1393 -0
  145. package/coverage/src/concepts/Role__.ts.html +631 -0
  146. package/coverage/src/concepts/SelectMembers__.ts.html +1303 -0
  147. package/coverage/src/concepts/SequentialPolicy__.ts.html +259 -0
  148. package/coverage/src/concepts/Slot__.ts.html +655 -0
  149. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1042 -0
  150. package/coverage/src/concepts/Start__.ts.html +331 -0
  151. package/coverage/src/concepts/StaticString__.ts.html +403 -0
  152. package/coverage/src/concepts/StringInterpolation__.ts.html +1210 -0
  153. package/coverage/src/concepts/StringLiteral__.ts.html +535 -0
  154. package/coverage/src/concepts/StructureProperty__.ts.html +1189 -0
  155. package/coverage/src/concepts/Structure__.ts.html +2176 -0
  156. package/coverage/src/concepts/SwitchCase__.ts.html +1225 -0
  157. package/coverage/src/concepts/SwitchStatement__.ts.html +934 -0
  158. package/coverage/src/concepts/Theme__.ts.html +361 -0
  159. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  160. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  161. package/coverage/src/concepts/TriggerLauncher__.ts.html +808 -0
  162. package/coverage/src/concepts/TypeAnnotation__.ts.html +3949 -0
  163. package/coverage/src/concepts/TypeParam__.ts.html +349 -0
  164. package/coverage/src/concepts/UnaryExpression__.ts.html +775 -0
  165. package/coverage/src/concepts/Unparsed__.ts.html +418 -0
  166. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  167. package/coverage/src/concepts/ValidationRule__.ts.html +1879 -0
  168. package/coverage/src/concepts/Variable__.ts.html +1570 -0
  169. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  170. package/coverage/src/concepts/ViewComponent__.ts.html +4255 -0
  171. package/coverage/src/concepts/ViewElement__.ts.html +9013 -0
  172. package/coverage/src/concepts/View__.ts.html +8932 -0
  173. package/coverage/src/concepts/WhileStatement__.ts.html +1126 -0
  174. package/coverage/src/concepts/basics/constants.ts.html +88 -0
  175. package/coverage/src/concepts/basics/index.html +116 -0
  176. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  177. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  180. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  181. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  182. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  183. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  184. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  185. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  186. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  187. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  188. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  189. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  190. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  191. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  192. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  193. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  194. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  195. package/coverage/src/concepts/basics/types/index.html +131 -0
  196. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  197. package/coverage/src/concepts/index.html +2021 -0
  198. package/coverage/src/concepts/index.ts.html +103 -0
  199. package/coverage/src/concepts/index__.ts.html +463 -0
  200. package/coverage/src/concepts/utils/asserts.ts.html +27967 -0
  201. package/coverage/src/concepts/utils/index.html +116 -0
  202. package/coverage/src/config.ts.html +325 -0
  203. package/coverage/src/decorators/index.html +131 -0
  204. package/coverage/src/decorators/index.ts.html +574 -0
  205. package/coverage/src/decorators/promise.ts.html +169 -0
  206. package/coverage/src/eventBus.ts.html +100 -0
  207. package/coverage/src/generator/compileComponent.ts.html +142 -0
  208. package/coverage/src/generator/genBundleFiles.ts.html +1822 -0
  209. package/coverage/src/generator/genHash.ts.html +124 -0
  210. package/coverage/src/generator/genMetaData.ts.html +1129 -0
  211. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  212. package/coverage/src/generator/icestark.ts.html +226 -0
  213. package/coverage/src/generator/index.html +266 -0
  214. package/coverage/src/generator/index.ts.html +106 -0
  215. package/coverage/src/generator/microApp.ts.html +172 -0
  216. package/coverage/src/generator/permission.ts.html +1108 -0
  217. package/coverage/src/generator/qiankun.ts.html +238 -0
  218. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  219. package/coverage/src/index.html +146 -0
  220. package/coverage/src/index.ts.html +121 -0
  221. package/coverage/src/manager/diagnostic.ts.html +439 -0
  222. package/coverage/src/manager/index.html +131 -0
  223. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  224. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  225. package/coverage/src/natural/index.html +161 -0
  226. package/coverage/src/natural/index.ts.html +91 -0
  227. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  228. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  229. package/coverage/src/sentry/index.html +116 -0
  230. package/coverage/src/sentry/index.ts.html +682 -0
  231. package/coverage/src/server/createUiTs.ts.html +919 -0
  232. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  233. package/coverage/src/server/event.js.html +526 -0
  234. package/coverage/src/server/extendBaseNode.ts.html +1792 -0
  235. package/coverage/src/server/formatTsUtils.ts.html +2692 -0
  236. package/coverage/src/server/getConnector.ts.html +316 -0
  237. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  238. package/coverage/src/server/getFunctions.ts.html +133 -0
  239. package/coverage/src/server/getInterfaces.ts.html +229 -0
  240. package/coverage/src/server/getLogging.ts.html +100 -0
  241. package/coverage/src/server/getLogics.ts.html +1375 -0
  242. package/coverage/src/server/getMemberIdentifier.ts.html +1672 -0
  243. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  244. package/coverage/src/server/getProcesses.ts.html +2173 -0
  245. package/coverage/src/server/getValidates.ts.html +115 -0
  246. package/coverage/src/server/index.html +401 -0
  247. package/coverage/src/server/index.ts.html +232 -0
  248. package/coverage/src/server/naslServer.ts.html +14659 -0
  249. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  250. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  251. package/coverage/src/server/translator.ts.html +2611 -0
  252. package/coverage/src/service/creator/add.configs.js.html +397 -0
  253. package/coverage/src/service/creator/errHandles.js.html +313 -0
  254. package/coverage/src/service/creator/index.html +146 -0
  255. package/coverage/src/service/creator/index.js.html +352 -0
  256. package/coverage/src/service/datasource/api.js.html +118 -0
  257. package/coverage/src/service/datasource/index.html +131 -0
  258. package/coverage/src/service/datasource/index.js.html +103 -0
  259. package/coverage/src/service/logic/api.js.html +109 -0
  260. package/coverage/src/service/logic/index.html +131 -0
  261. package/coverage/src/service/logic/index.js.html +103 -0
  262. package/coverage/src/service/storage/api.js.html +202 -0
  263. package/coverage/src/service/storage/index.html +206 -0
  264. package/coverage/src/service/storage/index.ts.html +103 -0
  265. package/coverage/src/service/storage/init.ts.html +3694 -0
  266. package/coverage/src/service/storage/jsoner.ts.html +565 -0
  267. package/coverage/src/service/storage/map.ts.html +256 -0
  268. package/coverage/src/service/storage/service.ts.html +331 -0
  269. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  270. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  271. package/coverage/src/templator/genCreateBlock.ts.html +1072 -0
  272. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  273. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2236 -0
  274. package/coverage/src/templator/genEditTableBlock.ts.html +1018 -0
  275. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  276. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  277. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  278. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  279. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  280. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  281. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  282. package/coverage/src/templator/genUpdateBlock.ts.html +1195 -0
  283. package/coverage/src/templator/index.html +326 -0
  284. package/coverage/src/templator/index.ts.html +154 -0
  285. package/coverage/src/templator/utils.ts.html +1924 -0
  286. package/coverage/src/translator/constant.ts.html +106 -0
  287. package/coverage/src/translator/index.html +146 -0
  288. package/coverage/src/translator/index.ts.html +94 -0
  289. package/coverage/src/translator/utils.ts.html +757 -0
  290. package/coverage/src/utils/cookie.ts.html +265 -0
  291. package/coverage/src/utils/env.ts.html +91 -0
  292. package/coverage/src/utils/i18nInfo.ts.html +166 -0
  293. package/coverage/src/utils/index.html +221 -0
  294. package/coverage/src/utils/index.ts.html +748 -0
  295. package/coverage/src/utils/logger.ts.html +145 -0
  296. package/coverage/src/utils/sortTsString.ts.html +202 -0
  297. package/coverage/src/utils/string.ts.html +502 -0
  298. package/coverage/src/utils/time-slicing/constant.ts.html +196 -0
  299. package/coverage/src/utils/time-slicing/controller.ts.html +1144 -0
  300. package/coverage/src/utils/time-slicing/index.html +236 -0
  301. package/coverage/src/utils/time-slicing/index.ts.html +103 -0
  302. package/coverage/src/utils/time-slicing/page-state.ts.html +121 -0
  303. package/coverage/src/utils/time-slicing/performance.ts.html +253 -0
  304. package/coverage/src/utils/time-slicing/runner.ts.html +241 -0
  305. package/coverage/src/utils/time-slicing/tool.ts.html +220 -0
  306. package/coverage/src/utils/time-slicing/utils.ts.html +355 -0
  307. package/coverage/src/utils/time-slicing/wrapper.ts.html +259 -0
  308. package/coverage/src/utils/time-slicing.ts.html +418 -0
  309. package/coverage/src/utils/traverse.ts.html +568 -0
  310. package/coverage/src/utils/window.ts.html +112 -0
  311. package/out/concepts/BackendVariable__.js +10 -2
  312. package/out/concepts/BackendVariable__.js.map +1 -1
  313. package/out/concepts/BinaryExpression__.d.ts +2 -0
  314. package/out/concepts/BinaryExpression__.js +4 -0
  315. package/out/concepts/BinaryExpression__.js.map +1 -1
  316. package/out/concepts/CallFunction__.d.ts +2 -0
  317. package/out/concepts/CallFunction__.js +14 -2
  318. package/out/concepts/CallFunction__.js.map +1 -1
  319. package/out/concepts/CallInterface__.d.ts +2 -0
  320. package/out/concepts/CallInterface__.js +5 -1
  321. package/out/concepts/CallInterface__.js.map +1 -1
  322. package/out/concepts/CallLogic__.d.ts +3 -2
  323. package/out/concepts/CallLogic__.js +15 -26
  324. package/out/concepts/CallLogic__.js.map +1 -1
  325. package/out/concepts/Logic__.js +0 -1
  326. package/out/concepts/Logic__.js.map +1 -1
  327. package/out/concepts/MemberExpression__.d.ts +1 -1
  328. package/out/concepts/MemberExpression__.js +3 -3
  329. package/out/concepts/MemberExpression__.js.map +1 -1
  330. package/out/concepts/NewComposite__.d.ts +2 -0
  331. package/out/concepts/NewComposite__.js +4 -0
  332. package/out/concepts/NewComposite__.js.map +1 -1
  333. package/out/concepts/NewList__.d.ts +2 -0
  334. package/out/concepts/NewList__.js +4 -0
  335. package/out/concepts/NewList__.js.map +1 -1
  336. package/out/concepts/NewMap__.d.ts +2 -0
  337. package/out/concepts/NewMap__.js +4 -0
  338. package/out/concepts/NewMap__.js.map +1 -1
  339. package/out/concepts/Param__.js +11 -3
  340. package/out/concepts/Param__.js.map +1 -1
  341. package/out/concepts/Return__.js +10 -2
  342. package/out/concepts/Return__.js.map +1 -1
  343. package/out/concepts/Variable__.js +10 -2
  344. package/out/concepts/Variable__.js.map +1 -1
  345. package/out/concepts/utils/quick-info.d.ts +13 -0
  346. package/out/concepts/utils/quick-info.js +51 -0
  347. package/out/concepts/utils/quick-info.js.map +1 -0
  348. package/out/server/naslServer.js +2 -48
  349. package/out/server/naslServer.js.map +1 -1
  350. package/out/translator/utils.d.ts +2 -2
  351. package/package.json +1 -1
  352. package/src/concepts/BackendVariable__.ts +10 -2
  353. package/src/concepts/BinaryExpression__.ts +5 -1
  354. package/src/concepts/CallFunction__.ts +15 -2
  355. package/src/concepts/CallInterface__.ts +6 -1
  356. package/src/concepts/CallLogic__.ts +15 -30
  357. package/src/concepts/Logic__.ts +0 -1
  358. package/src/concepts/MemberExpression__.ts +3 -3
  359. package/src/concepts/NewComposite__.ts +5 -5
  360. package/src/concepts/NewList__.ts +6 -2
  361. package/src/concepts/NewMap__.ts +6 -3
  362. package/src/concepts/Param__.ts +11 -3
  363. package/src/concepts/Return__.ts +10 -2
  364. package/src/concepts/Variable__.ts +10 -2
  365. package/src/concepts/utils/quick-info.ts +64 -0
  366. package/src/server/naslServer.ts +1 -45
  367. package/src/translator/utils.ts +2 -2
  368. package/test/concepts/binary-expression/__snapshots__/getQuickInfoOffset.spec.ts.snap +25 -0
  369. package/test/concepts/binary-expression/getQuickInfoOffset.spec.ts +19 -0
  370. package/test/concepts/call-function/__snapshots__/getQuickInfoOffset.spec.ts.snap +41 -0
  371. package/test/concepts/call-function/getQuickInfoOffset.spec.ts +19 -0
  372. package/test/concepts/call-interface/__snapshots__/getQuickInfoOffset.spec.ts.snap +86 -0
  373. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  374. package/test/concepts/call-interface/getQuickInfoOffset.spec.ts +19 -0
  375. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -7
  376. package/test/concepts/new-composite/__snapshots__/getQuickInfoOffset.spec.ts.snap +104 -0
  377. package/test/concepts/new-composite/__snapshots__/toEmbeddedTS.spec.ts.snap +97 -0
  378. package/test/concepts/new-composite/__snapshots__/toJS.spec.ts.snap +43 -0
  379. package/test/concepts/new-composite/constant.ts +5 -0
  380. package/test/concepts/new-composite/fixtures/nested-transform.json +241 -0
  381. package/test/concepts/new-composite/fixtures/nested.json +146 -0
  382. package/test/concepts/new-composite/fixtures/normal.json +63 -0
  383. package/test/concepts/new-composite/getQuickInfoOffset.spec.ts +19 -0
  384. package/test/concepts/new-composite/toEmbeddedTS.spec.ts +15 -0
  385. package/test/concepts/new-composite/toJS.spec.ts +14 -0
  386. package/test/concepts/new-list/__snapshots__/getQuickInfoOffset.spec.ts.snap +165 -0
  387. package/test/concepts/new-list/__snapshots__/toEmbeddedTS.spec.ts.snap +207 -0
  388. package/test/concepts/new-list/__snapshots__/toJS.spec.ts.snap +63 -0
  389. package/test/concepts/new-list/constant.ts +5 -0
  390. package/test/concepts/new-list/fixtures/nested-map.json +117 -0
  391. package/test/concepts/new-list/fixtures/nested-tranform.json +140 -0
  392. package/test/concepts/new-list/fixtures/nested.json +107 -0
  393. package/test/concepts/new-list/fixtures/normal.json +95 -0
  394. package/test/concepts/new-list/getQuickInfoOffset.spec.ts +19 -0
  395. package/test/concepts/new-list/toEmbeddedTS.spec.ts +15 -0
  396. package/test/concepts/new-list/toJS.spec.ts +14 -0
  397. package/test/concepts/new-map/__snapshots__/getQuickInfoOffset.spec.ts.snap +115 -0
  398. package/test/concepts/new-map/__snapshots__/toEmbeddedTS.spec.ts.snap +192 -0
  399. package/test/concepts/new-map/__snapshots__/toJS.spec.ts.snap +54 -0
  400. package/test/concepts/new-map/constant.ts +5 -0
  401. package/test/concepts/new-map/fixtures/nested-transform.json +169 -0
  402. package/test/concepts/new-map/fixtures/nested.json +141 -0
  403. package/test/concepts/new-map/fixtures/normal.json +101 -0
  404. package/test/concepts/new-map/getQuickInfoOffset.spec.ts +19 -0
  405. package/test/concepts/new-map/toEmbeddedTS.spec.ts +15 -0
  406. package/test/concepts/new-map/toJS.spec.ts +14 -0
  407. package/test/concepts/utils.ts +17 -0
@@ -0,0 +1,2290 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/CallFunction__.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> CallFunction__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">36.67% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>117/319</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">36.94% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>75/203</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">23.91% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>11/46</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">37.03% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>110/297</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
802
+ <span class="cline-any cline-yes">1x</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-yes">1x</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-yes">1x</span>
817
+ <span class="cline-any cline-yes">1x</span>
818
+ <span class="cline-any cline-yes">1x</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-yes">1x</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-yes">1x</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-yes">1x</span>
832
+ <span class="cline-any cline-yes">1x</span>
833
+ <span class="cline-any cline-yes">1x</span>
834
+ <span class="cline-any cline-yes">1x</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-yes">1x</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-yes">1x</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-yes">1x</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-yes">29x</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-yes">1x</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-yes">1x</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-yes">1x</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-yes">29x</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-yes">29x</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-yes">29x</span>
897
+ <span class="cline-any cline-yes">29x</span>
898
+ <span class="cline-any cline-yes">29x</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-yes">26x</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-no">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-no">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-no">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-no">&nbsp;</span>
955
+ <span class="cline-any cline-no">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-no">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-no">&nbsp;</span>
979
+ <span class="cline-any cline-no">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-no">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-no">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-neutral">&nbsp;</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&nbsp;</span>
1021
+ <span class="cline-any cline-no">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-no">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-no">&nbsp;</span>
1026
+ <span class="cline-any cline-no">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-no">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</span>
1033
+ <span class="cline-any cline-neutral">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-no">&nbsp;</span>
1038
+ <span class="cline-any cline-no">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-no">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-no">&nbsp;</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-neutral">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-no">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-no">&nbsp;</span>
1096
+ <span class="cline-any cline-no">&nbsp;</span>
1097
+ <span class="cline-any cline-no">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-neutral">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-no">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-neutral">&nbsp;</span>
1112
+ <span class="cline-any cline-no">&nbsp;</span>
1113
+ <span class="cline-any cline-no">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-neutral">&nbsp;</span>
1117
+ <span class="cline-any cline-no">&nbsp;</span>
1118
+ <span class="cline-any cline-no">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-neutral">&nbsp;</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-no">&nbsp;</span>
1126
+ <span class="cline-any cline-no">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-no">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-no">&nbsp;</span>
1131
+ <span class="cline-any cline-no">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-no">&nbsp;</span>
1134
+ <span class="cline-any cline-no">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-no">&nbsp;</span>
1138
+ <span class="cline-any cline-no">&nbsp;</span>
1139
+ <span class="cline-any cline-no">&nbsp;</span>
1140
+ <span class="cline-any cline-no">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-no">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-neutral">&nbsp;</span>
1154
+ <span class="cline-any cline-no">&nbsp;</span>
1155
+ <span class="cline-any cline-no">&nbsp;</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-neutral">&nbsp;</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-no">&nbsp;</span>
1160
+ <span class="cline-any cline-no">&nbsp;</span>
1161
+ <span class="cline-any cline-neutral">&nbsp;</span>
1162
+ <span class="cline-any cline-neutral">&nbsp;</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-neutral">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-no">&nbsp;</span>
1168
+ <span class="cline-any cline-no">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-no">&nbsp;</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-neutral">&nbsp;</span>
1175
+ <span class="cline-any cline-no">&nbsp;</span>
1176
+ <span class="cline-any cline-no">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-no">&nbsp;</span>
1180
+ <span class="cline-any cline-no">&nbsp;</span>
1181
+ <span class="cline-any cline-no">&nbsp;</span>
1182
+ <span class="cline-any cline-no">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-neutral">&nbsp;</span>
1186
+ <span class="cline-any cline-no">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-neutral">&nbsp;</span>
1194
+ <span class="cline-any cline-yes">1x</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-neutral">&nbsp;</span>
1197
+ <span class="cline-any cline-yes">1x</span>
1198
+ <span class="cline-any cline-yes">1x</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-yes">1x</span>
1201
+ <span class="cline-any cline-no">&nbsp;</span>
1202
+ <span class="cline-any cline-no">&nbsp;</span>
1203
+ <span class="cline-any cline-yes">1x</span>
1204
+ <span class="cline-any cline-no">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-neutral">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-yes">1x</span>
1210
+ <span class="cline-any cline-no">&nbsp;</span>
1211
+ <span class="cline-any cline-neutral">&nbsp;</span>
1212
+ <span class="cline-any cline-neutral">&nbsp;</span>
1213
+ <span class="cline-any cline-yes">1x</span>
1214
+ <span class="cline-any cline-no">&nbsp;</span>
1215
+ <span class="cline-any cline-no">&nbsp;</span>
1216
+ <span class="cline-any cline-no">&nbsp;</span>
1217
+ <span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-no">&nbsp;</span>
1219
+ <span class="cline-any cline-no">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-no">&nbsp;</span>
1223
+ <span class="cline-any cline-no">&nbsp;</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-no">&nbsp;</span>
1226
+ <span class="cline-any cline-no">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-neutral">&nbsp;</span>
1229
+ <span class="cline-any cline-yes">1x</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-neutral">&nbsp;</span>
1233
+ <span class="cline-any cline-yes">1x</span>
1234
+ <span class="cline-any cline-yes">1x</span>
1235
+ <span class="cline-any cline-yes">1x</span>
1236
+ <span class="cline-any cline-yes">1x</span>
1237
+ <span class="cline-any cline-yes">1x</span>
1238
+ <span class="cline-any cline-yes">1x</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-neutral">&nbsp;</span>
1241
+ <span class="cline-any cline-yes">1x</span>
1242
+ <span class="cline-any cline-yes">1x</span>
1243
+ <span class="cline-any cline-neutral">&nbsp;</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-neutral">&nbsp;</span>
1246
+ <span class="cline-any cline-no">&nbsp;</span>
1247
+ <span class="cline-any cline-no">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-neutral">&nbsp;</span>
1252
+ <span class="cline-any cline-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-no">&nbsp;</span>
1255
+ <span class="cline-any cline-no">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-neutral">&nbsp;</span>
1258
+ <span class="cline-any cline-neutral">&nbsp;</span>
1259
+ <span class="cline-any cline-no">&nbsp;</span>
1260
+ <span class="cline-any cline-no">&nbsp;</span>
1261
+ <span class="cline-any cline-neutral">&nbsp;</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-neutral">&nbsp;</span>
1264
+ <span class="cline-any cline-yes">6x</span>
1265
+ <span class="cline-any cline-yes">6x</span>
1266
+ <span class="cline-any cline-yes">6x</span>
1267
+ <span class="cline-any cline-yes">6x</span>
1268
+ <span class="cline-any cline-yes">1x</span>
1269
+ <span class="cline-any cline-yes">1x</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-yes">6x</span>
1275
+ <span class="cline-any cline-yes">6x</span>
1276
+ <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-neutral">&nbsp;</span>
1278
+ <span class="cline-any cline-yes">6x</span>
1279
+ <span class="cline-any cline-yes">4x</span>
1280
+ <span class="cline-any cline-yes">4x</span>
1281
+ <span class="cline-any cline-yes">2x</span>
1282
+ <span class="cline-any cline-yes">1x</span>
1283
+ <span class="cline-any cline-neutral">&nbsp;</span>
1284
+ <span class="cline-any cline-neutral">&nbsp;</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-neutral">&nbsp;</span>
1287
+ <span class="cline-any cline-yes">6x</span>
1288
+ <span class="cline-any cline-no">&nbsp;</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-yes">6x</span>
1292
+ <span class="cline-any cline-yes">5x</span>
1293
+ <span class="cline-any cline-neutral">&nbsp;</span>
1294
+ <span class="cline-any cline-yes">5x</span>
1295
+ <span class="cline-any cline-yes">8x</span>
1296
+ <span class="cline-any cline-yes">8x</span>
1297
+ <span class="cline-any cline-yes">8x</span>
1298
+ <span class="cline-any cline-yes">8x</span>
1299
+ <span class="cline-any cline-yes">8x</span>
1300
+ <span class="cline-any cline-no">&nbsp;</span>
1301
+ <span class="cline-any cline-yes">8x</span>
1302
+ <span class="cline-any cline-no">&nbsp;</span>
1303
+ <span class="cline-any cline-neutral">&nbsp;</span>
1304
+ <span class="cline-any cline-yes">8x</span>
1305
+ <span class="cline-any cline-yes">8x</span>
1306
+ <span class="cline-any cline-neutral">&nbsp;</span>
1307
+ <span class="cline-any cline-neutral">&nbsp;</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-yes">6x</span>
1310
+ <span class="cline-any cline-yes">1x</span>
1311
+ <span class="cline-any cline-neutral">&nbsp;</span>
1312
+ <span class="cline-any cline-neutral">&nbsp;</span>
1313
+ <span class="cline-any cline-yes">6x</span>
1314
+ <span class="cline-any cline-yes">6x</span>
1315
+ <span class="cline-any cline-yes">1x</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-yes">1x</span>
1320
+ <span class="cline-any cline-neutral">&nbsp;</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-neutral">&nbsp;</span>
1323
+ <span class="cline-any cline-yes">6x</span>
1324
+ <span class="cline-any cline-yes">6x</span>
1325
+ <span class="cline-any cline-yes">6x</span>
1326
+ <span class="cline-any cline-yes">6x</span>
1327
+ <span class="cline-any cline-no">&nbsp;</span>
1328
+ <span class="cline-any cline-no">&nbsp;</span>
1329
+ <span class="cline-any cline-no">&nbsp;</span>
1330
+ <span class="cline-any cline-no">&nbsp;</span>
1331
+ <span class="cline-any cline-no">&nbsp;</span>
1332
+ <span class="cline-any cline-neutral">&nbsp;</span>
1333
+ <span class="cline-any cline-neutral">&nbsp;</span>
1334
+ <span class="cline-any cline-yes">6x</span>
1335
+ <span class="cline-any cline-yes">6x</span>
1336
+ <span class="cline-any cline-no">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-yes">6x</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-no">&nbsp;</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-neutral">&nbsp;</span>
1345
+ <span class="cline-any cline-neutral">&nbsp;</span>
1346
+ <span class="cline-any cline-yes">17x</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-no">&nbsp;</span>
1353
+ <span class="cline-any cline-no">&nbsp;</span>
1354
+ <span class="cline-any cline-no">&nbsp;</span>
1355
+ <span class="cline-any cline-no">&nbsp;</span>
1356
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1362
+ <span class="cline-any cline-no">&nbsp;</span>
1363
+ <span class="cline-any cline-no">&nbsp;</span>
1364
+ <span class="cline-any cline-no">&nbsp;</span>
1365
+ <span class="cline-any cline-no">&nbsp;</span>
1366
+ <span class="cline-any cline-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-neutral">&nbsp;</span>
1371
+ <span class="cline-any cline-no">&nbsp;</span>
1372
+ <span class="cline-any cline-no">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-no">&nbsp;</span>
1375
+ <span class="cline-any cline-no">&nbsp;</span>
1376
+ <span class="cline-any cline-no">&nbsp;</span>
1377
+ <span class="cline-any cline-neutral">&nbsp;</span>
1378
+ <span class="cline-any cline-no">&nbsp;</span>
1379
+ <span class="cline-any cline-no">&nbsp;</span>
1380
+ <span class="cline-any cline-neutral">&nbsp;</span>
1381
+ <span class="cline-any cline-no">&nbsp;</span>
1382
+ <span class="cline-any cline-no">&nbsp;</span>
1383
+ <span class="cline-any cline-no">&nbsp;</span>
1384
+ <span class="cline-any cline-no">&nbsp;</span>
1385
+ <span class="cline-any cline-no">&nbsp;</span>
1386
+ <span class="cline-any cline-no">&nbsp;</span>
1387
+ <span class="cline-any cline-no">&nbsp;</span>
1388
+ <span class="cline-any cline-neutral">&nbsp;</span>
1389
+ <span class="cline-any cline-neutral">&nbsp;</span>
1390
+ <span class="cline-any cline-no">&nbsp;</span>
1391
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1395
+ <span class="cline-any cline-no">&nbsp;</span>
1396
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1403
+ <span class="cline-any cline-no">&nbsp;</span>
1404
+ <span class="cline-any cline-no">&nbsp;</span>
1405
+ <span class="cline-any cline-neutral">&nbsp;</span>
1406
+ <span class="cline-any cline-no">&nbsp;</span>
1407
+ <span class="cline-any cline-no">&nbsp;</span>
1408
+ <span class="cline-any cline-neutral">&nbsp;</span>
1409
+ <span class="cline-any cline-no">&nbsp;</span>
1410
+ <span class="cline-any cline-neutral">&nbsp;</span>
1411
+ <span class="cline-any cline-neutral">&nbsp;</span>
1412
+ <span class="cline-any cline-neutral">&nbsp;</span>
1413
+ <span class="cline-any cline-neutral">&nbsp;</span>
1414
+ <span class="cline-any cline-neutral">&nbsp;</span>
1415
+ <span class="cline-any cline-neutral">&nbsp;</span>
1416
+ <span class="cline-any cline-no">&nbsp;</span>
1417
+ <span class="cline-any cline-neutral">&nbsp;</span>
1418
+ <span class="cline-any cline-neutral">&nbsp;</span>
1419
+ <span class="cline-any cline-neutral">&nbsp;</span>
1420
+ <span class="cline-any cline-neutral">&nbsp;</span>
1421
+ <span class="cline-any cline-no">&nbsp;</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-no">&nbsp;</span>
1424
+ <span class="cline-any cline-no">&nbsp;</span>
1425
+ <span class="cline-any cline-no">&nbsp;</span>
1426
+ <span class="cline-any cline-no">&nbsp;</span>
1427
+ <span class="cline-any cline-no">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-no">&nbsp;</span>
1430
+ <span class="cline-any cline-no">&nbsp;</span>
1431
+ <span class="cline-any cline-no">&nbsp;</span>
1432
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1439
+ <span class="cline-any cline-neutral">&nbsp;</span>
1440
+ <span class="cline-any cline-yes">1x</span>
1441
+ <span class="cline-any cline-yes">9x</span>
1442
+ <span class="cline-any cline-yes">9x</span>
1443
+ <span class="cline-any cline-yes">9x</span>
1444
+ <span class="cline-any cline-yes">9x</span>
1445
+ <span class="cline-any cline-neutral">&nbsp;</span>
1446
+ <span class="cline-any cline-neutral">&nbsp;</span>
1447
+ <span class="cline-any cline-yes">1x</span>
1448
+ <span class="cline-any cline-yes">1x</span>
1449
+ <span class="cline-any cline-yes">1x</span>
1450
+ <span class="cline-any cline-yes">1x</span>
1451
+ <span class="cline-any cline-yes">1x</span>
1452
+ <span class="cline-any cline-neutral">&nbsp;</span>
1453
+ <span class="cline-any cline-yes">1x</span>
1454
+ <span class="cline-any cline-neutral">&nbsp;</span>
1455
+ <span class="cline-any cline-yes">1x</span>
1456
+ <span class="cline-any cline-yes">1x</span>
1457
+ <span class="cline-any cline-yes">1x</span>
1458
+ <span class="cline-any cline-neutral">&nbsp;</span>
1459
+ <span class="cline-any cline-yes">8x</span>
1460
+ <span class="cline-any cline-yes">8x</span>
1461
+ <span class="cline-any cline-neutral">&nbsp;</span>
1462
+ <span class="cline-any cline-yes">2x</span>
1463
+ <span class="cline-any cline-yes">2x</span>
1464
+ <span class="cline-any cline-yes">2x</span>
1465
+ <span class="cline-any cline-neutral">&nbsp;</span>
1466
+ <span class="cline-any cline-yes">8x</span>
1467
+ <span class="cline-any cline-yes">8x</span>
1468
+ <span class="cline-any cline-yes">8x</span>
1469
+ <span class="cline-any cline-yes">9x</span>
1470
+ <span class="cline-any cline-yes">9x</span>
1471
+ <span class="cline-any cline-neutral">&nbsp;</span>
1472
+ <span class="cline-any cline-neutral">&nbsp;</span>
1473
+ <span class="cline-any cline-yes">8x</span>
1474
+ <span class="cline-any cline-neutral">&nbsp;</span>
1475
+ <span class="cline-any cline-yes">9x</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-no">&nbsp;</span>
1481
+ <span class="cline-any cline-no">&nbsp;</span>
1482
+ <span class="cline-any cline-no">&nbsp;</span>
1483
+ <span class="cline-any cline-neutral">&nbsp;</span>
1484
+ <span class="cline-any cline-no">&nbsp;</span>
1485
+ <span class="cline-any cline-no">&nbsp;</span>
1486
+ <span class="cline-any cline-no">&nbsp;</span>
1487
+ <span class="cline-any cline-neutral">&nbsp;</span>
1488
+ <span class="cline-any cline-no">&nbsp;</span>
1489
+ <span class="cline-any cline-no">&nbsp;</span>
1490
+ <span class="cline-any cline-no">&nbsp;</span>
1491
+ <span class="cline-any cline-no">&nbsp;</span>
1492
+ <span class="cline-any cline-no">&nbsp;</span>
1493
+ <span class="cline-any cline-neutral">&nbsp;</span>
1494
+ <span class="cline-any cline-no">&nbsp;</span>
1495
+ <span class="cline-any cline-no">&nbsp;</span>
1496
+ <span class="cline-any cline-no">&nbsp;</span>
1497
+ <span class="cline-any cline-neutral">&nbsp;</span>
1498
+ <span class="cline-any cline-no">&nbsp;</span>
1499
+ <span class="cline-any cline-neutral">&nbsp;</span>
1500
+ <span class="cline-any cline-no">&nbsp;</span>
1501
+ <span class="cline-any cline-no">&nbsp;</span>
1502
+ <span class="cline-any cline-no">&nbsp;</span>
1503
+ <span class="cline-any cline-no">&nbsp;</span>
1504
+ <span class="cline-any cline-no">&nbsp;</span>
1505
+ <span class="cline-any cline-no">&nbsp;</span>
1506
+ <span class="cline-any cline-no">&nbsp;</span>
1507
+ <span class="cline-any cline-neutral">&nbsp;</span>
1508
+ <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span>
1512
+ <span class="cline-any cline-neutral">&nbsp;</span>
1513
+ <span class="cline-any cline-no">&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-neutral">&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-no">&nbsp;</span>
1520
+ <span class="cline-any cline-neutral">&nbsp;</span>
1521
+ <span class="cline-any cline-no">&nbsp;</span>
1522
+ <span class="cline-any cline-no">&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-neutral">&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-neutral">&nbsp;</span>
1530
+ <span class="cline-any cline-neutral">&nbsp;</span>
1531
+ <span class="cline-any cline-yes">1x</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></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
1537
+ import {
1538
+ TranslatorState,
1539
+ shiftState,
1540
+ withSourceMap,
1541
+ indent,
1542
+ createCompilerState,
1543
+ transfromMetadataType,
1544
+ transfromUnionTypeAnnotation,
1545
+ withSourceMapGenerator,
1546
+ withGenerator,
1547
+ TranslatorGenerator,
1548
+ } from '../translator';
1549
+ import Function from './Function__';
1550
+ import { ElementToVueOptions } from './ViewElement__';
1551
+ import Identifier from './Identifier__';
1552
+ import { getBuildInFunction } from '../server/getFunctions';
1553
+ import AnonymousFunction from './AnonymousFunction__';
1554
+ import MemberExpression from './MemberExpression__';
1555
+ import asyncFuncMap from '../common/asyncFuncMap';
1556
+ &nbsp;
1557
+ //================================================================================
1558
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1559
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1560
+ //================================================================================
1561
+ import { EventPayload, Params } from '../common/EventEmitter';
1562
+ import { concept, excludedInJSON, property, className } from '../decorators';
1563
+ &nbsp;
1564
+ import * as utils from '../utils';
1565
+ import { v4 as uuidv4 } from 'uuid';
1566
+ import BaseNode from '../common/BaseNode';
1567
+ import TypeAnnotation from './TypeAnnotation__';
1568
+ import Argument from './Argument__';
1569
+ import LogicItem from './LogicItem__';
1570
+ &nbsp;
1571
+ /**
1572
+ * 调用函数
1573
+ */
1574
+ @className
1575
+ @concept('调用函数')
1576
+ // @ts-ignore
1577
+ export class CallFunction extends LogicItem {
1578
+ /** 类名 */
1579
+ static readonly ConceptName = 'CallFunction';
1580
+ &nbsp;
1581
+ /**
1582
+ * 产品概念
1583
+ */
1584
+ @property('concept')
1585
+ // @ts-ignore
1586
+ readonly concept!: 'CallFunction';
1587
+ &nbsp;
1588
+ /**
1589
+ * 调用函数标题
1590
+ */
1591
+ @property()
1592
+ label: string = '内置函数';
1593
+ &nbsp;
1594
+ /**
1595
+ * calleeNamespace
1596
+ */
1597
+ @property()
1598
+ // @ts-ignore
1599
+ calleeNamespace!: string;
1600
+ &nbsp;
1601
+ /**
1602
+ * calleeName
1603
+ */
1604
+ @property()
1605
+ // @ts-ignore
1606
+ calleeName!: string;
1607
+ &nbsp;
1608
+ /**
1609
+ * shortcut
1610
+ */
1611
+ @property()
1612
+ // @ts-ignore
1613
+ shortcut!: boolean;
1614
+ &nbsp;
1615
+ /**
1616
+ * 类型参数
1617
+ */
1618
+ @property('TypeAnnotation')
1619
+ typeArguments?: Array&lt;TypeAnnotation&gt; = null;
1620
+ &nbsp;
1621
+ /**
1622
+ * 实际参数
1623
+ */
1624
+ @property('Argument')
1625
+ arguments: Array&lt;Argument&gt; = [];
1626
+ &nbsp;
1627
+ /**
1628
+ * @param source 需要合并的部分参数
1629
+ */
1630
+ constructor(source?: Partial&lt;CallFunction&gt;) {
1631
+ source = Object.assign({}, CallFunction.getDefaultOptions(), source);
1632
+ super(source);
1633
+ super.subConstructor(source);
1634
+ }
1635
+ &nbsp;
1636
+ static from(source: any, parentNode?: any, parentKey?: string): CallFunction {
1637
+ return super.from(source, parentNode, parentKey) as CallFunction;
1638
+ }
1639
+ &nbsp;
1640
+ /**
1641
+ * 插入类型标注
1642
+ * @internal
1643
+ * @param typeAnnotationOptions 类型标注参数
1644
+ */
1645
+ _insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
1646
+ &nbsp;
1647
+ /**
1648
+ * 插入类型标注
1649
+ * @internal
1650
+ * @param typeAnnotation 已有的类型标注实例
1651
+ */
1652
+ _insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
1653
+ &nbsp;
1654
+ <span class="fstat-no" title="function not covered" > _insertTypeAnnotationAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
1655
+ const typeAnnotationOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1656
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'typeArguments' };</span>
1657
+ let typeAnnotation: TypeAnnotation;
1658
+ <span class="cstat-no" title="statement not covered" > if (options instanceof TypeAnnotation) {</span>
1659
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1660
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
1661
+ <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
1662
+ } else {
1663
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
1664
+ {
1665
+ ...typeAnnotationOptions,
1666
+ ...options,
1667
+ },
1668
+ this,
1669
+ 'typeArguments',
1670
+ );
1671
+ }
1672
+ <span class="cstat-no" title="statement not covered" > this.typeArguments.splice(index, 0, typeAnnotation);</span>
1673
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
1674
+ }
1675
+ &nbsp;
1676
+ /**
1677
+ * 插入类型标注
1678
+ * @param typeAnnotationOptions 类型标注参数
1679
+ */
1680
+ insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
1681
+ &nbsp;
1682
+ /**
1683
+ * 插入类型标注
1684
+ * @param typeAnnotation 已有的类型标注实例
1685
+ */
1686
+ insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
1687
+ &nbsp;
1688
+ <span class="fstat-no" title="function not covered" > insertTypeAnnotationAt(</span>options: Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
1689
+ const node = <span class="cstat-no" title="statement not covered" >this._insertTypeAnnotationAt(options as any, index);</span>
1690
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1691
+ index,
1692
+ parentNode: this,
1693
+ parentKey: 'typeArguments',
1694
+ });
1695
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1696
+ }
1697
+ &nbsp;
1698
+ /**
1699
+ * 添加类型标注
1700
+ * @internal
1701
+ * @param typeAnnotationOptions 类型标注参数
1702
+ */
1703
+ _addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
1704
+ &nbsp;
1705
+ /**
1706
+ * 添加类型标注
1707
+ * @internal
1708
+ * @param typeAnnotation 已有的类型标注实例
1709
+ */
1710
+ _addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
1711
+ &nbsp;
1712
+ <span class="fstat-no" title="function not covered" > _addTypeAnnotation(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
1713
+ const index = <span class="cstat-no" title="statement not covered" >this.typeArguments.length;</span>
1714
+ <span class="cstat-no" title="statement not covered" > return this._insertTypeAnnotationAt(options as any, index);</span>
1715
+ }
1716
+ &nbsp;
1717
+ /**
1718
+ * 添加类型标注
1719
+ * @param typeAnnotationOptions 类型标注参数
1720
+ */
1721
+ addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
1722
+ &nbsp;
1723
+ /**
1724
+ * 添加类型标注
1725
+ * @param typeAnnotation 已有的类型标注实例
1726
+ */
1727
+ addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
1728
+ &nbsp;
1729
+ <span class="fstat-no" title="function not covered" > addTypeAnnotation(</span>options?: Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
1730
+ const node = <span class="cstat-no" title="statement not covered" >this._addTypeAnnotation(options as any);</span>
1731
+ const index = <span class="cstat-no" title="statement not covered" >this.typeArguments.indexOf(node);</span>
1732
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1733
+ index,
1734
+ parentNode: this,
1735
+ parentKey: 'typeArguments',
1736
+ });
1737
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1738
+ }
1739
+ &nbsp;
1740
+ /**
1741
+ * 插入实际参数
1742
+ * @internal
1743
+ * @param argumentOptions 实际参数参数
1744
+ */
1745
+ _insertArgumentAt(argumentOptions: Partial&lt;Argument&gt;, index: number): Argument;
1746
+ &nbsp;
1747
+ /**
1748
+ * 插入实际参数
1749
+ * @internal
1750
+ * @param argument 已有的实际参数实例
1751
+ */
1752
+ _insertArgumentAt(argument: Argument, index: number): Argument;
1753
+ &nbsp;
1754
+ <span class="fstat-no" title="function not covered" > _insertArgumentAt(</span>options: Partial&lt;Argument&gt; | Argument, index: number) {
1755
+ const argumentOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1756
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'arguments' };</span>
1757
+ let argument: Argument;
1758
+ <span class="cstat-no" title="statement not covered" > if (options instanceof Argument) {</span>
1759
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1760
+ <span class="cstat-no" title="statement not covered" > argument = options;</span>
1761
+ <span class="cstat-no" title="statement not covered" > Object.assign(argument, relationOptions);</span>
1762
+ } else {
1763
+ <span class="cstat-no" title="statement not covered" > argument = Argument.from(</span>
1764
+ {
1765
+ ...argumentOptions,
1766
+ ...options,
1767
+ },
1768
+ this,
1769
+ 'arguments',
1770
+ );
1771
+ }
1772
+ <span class="cstat-no" title="statement not covered" > this.arguments.splice(index, 0, argument);</span>
1773
+ <span class="cstat-no" title="statement not covered" > return argument;</span>
1774
+ }
1775
+ &nbsp;
1776
+ /**
1777
+ * 插入实际参数
1778
+ * @param argumentOptions 实际参数参数
1779
+ */
1780
+ insertArgumentAt(argumentOptions: Partial&lt;Argument&gt;, index: number): Argument;
1781
+ &nbsp;
1782
+ /**
1783
+ * 插入实际参数
1784
+ * @param argument 已有的实际参数实例
1785
+ */
1786
+ insertArgumentAt(argument: Argument, index: number): Argument;
1787
+ &nbsp;
1788
+ <span class="fstat-no" title="function not covered" > insertArgumentAt(</span>options: Partial&lt;Argument&gt; | Argument, index: number) {
1789
+ const node = <span class="cstat-no" title="statement not covered" >this._insertArgumentAt(options as any, index);</span>
1790
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1791
+ index,
1792
+ parentNode: this,
1793
+ parentKey: 'arguments',
1794
+ });
1795
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1796
+ }
1797
+ &nbsp;
1798
+ /**
1799
+ * 添加实际参数
1800
+ * @internal
1801
+ * @param argumentOptions 实际参数参数
1802
+ */
1803
+ _addArgument(argumentOptions: Partial&lt;Argument&gt;): Argument;
1804
+ &nbsp;
1805
+ /**
1806
+ * 添加实际参数
1807
+ * @internal
1808
+ * @param argument 已有的实际参数实例
1809
+ */
1810
+ _addArgument(argument: Argument): Argument;
1811
+ &nbsp;
1812
+ <span class="fstat-no" title="function not covered" > _addArgument(</span>options?: Partial&lt;Argument&gt; | Argument) {
1813
+ const index = <span class="cstat-no" title="statement not covered" >this.arguments.length;</span>
1814
+ <span class="cstat-no" title="statement not covered" > return this._insertArgumentAt(options as any, index);</span>
1815
+ }
1816
+ &nbsp;
1817
+ /**
1818
+ * 添加实际参数
1819
+ * @param argumentOptions 实际参数参数
1820
+ */
1821
+ addArgument(argumentOptions: Partial&lt;Argument&gt;): Argument;
1822
+ &nbsp;
1823
+ /**
1824
+ * 添加实际参数
1825
+ * @param argument 已有的实际参数实例
1826
+ */
1827
+ addArgument(argument: Argument): Argument;
1828
+ &nbsp;
1829
+ <span class="fstat-no" title="function not covered" > addArgument(</span>options?: Partial&lt;Argument&gt; | Argument) {
1830
+ const node = <span class="cstat-no" title="statement not covered" >this._addArgument(options as any);</span>
1831
+ const index = <span class="cstat-no" title="statement not covered" >this.arguments.indexOf(node);</span>
1832
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1833
+ index,
1834
+ parentNode: this,
1835
+ parentKey: 'arguments',
1836
+ });
1837
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1838
+ }
1839
+ &nbsp;
1840
+ /**
1841
+ * 删除类型标注
1842
+ * @param typeAnnotation 已有的类型标注实例
1843
+ */
1844
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
1845
+ &nbsp;
1846
+ <span class="fstat-no" title="function not covered" > removeTypeAnnotation(</span>options: TypeAnnotation) {
1847
+ let typeAnnotation: TypeAnnotation = <span class="cstat-no" title="statement not covered" >options;</span>
1848
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
1849
+ }
1850
+ &nbsp;
1851
+ <span class="fstat-no" title="function not covered" > __removeTypeAnnotation(</span>typeAnnotation: TypeAnnotation) {
1852
+ const parentKey = <span class="cstat-no" title="statement not covered" >typeAnnotation.parentKey;</span>
1853
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1854
+ parentNode: this,
1855
+ parentKey,
1856
+ index: -1,
1857
+ object: null,
1858
+ oldObject: typeAnnotation,
1859
+ };
1860
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1861
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1862
+ // @ts-ignore
1863
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1864
+ // @ts-ignore
1865
+ const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
1866
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1867
+ // @ts-ignore
1868
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
1869
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1870
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1871
+ } else {
1872
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
1873
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
1874
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1875
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1876
+ }
1877
+ }
1878
+ }
1879
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1880
+ }
1881
+ &nbsp;
1882
+ /**
1883
+ * 删除实际参数
1884
+ * @param argument 已有的实际参数实例
1885
+ */
1886
+ removeArgument(argument: Argument): void;
1887
+ &nbsp;
1888
+ <span class="fstat-no" title="function not covered" > removeArgument(</span>options: Argument) {
1889
+ let argument: Argument = <span class="cstat-no" title="statement not covered" >options;</span>
1890
+ <span class="cstat-no" title="statement not covered" > return argument.delete();</span>
1891
+ }
1892
+ &nbsp;
1893
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
1894
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
1895
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1896
+ parentNode: this,
1897
+ parentKey,
1898
+ index: -1,
1899
+ object: null,
1900
+ oldObject: logicItem,
1901
+ };
1902
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1903
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1904
+ // @ts-ignore
1905
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1906
+ // @ts-ignore
1907
+ const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
1908
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1909
+ // @ts-ignore
1910
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
1911
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1912
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1913
+ } else {
1914
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
1915
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
1916
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1917
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1918
+ }
1919
+ }
1920
+ }
1921
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1922
+ }
1923
+ &nbsp;
1924
+ //================================================================================
1925
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1926
+ // 自动生成的代码已结束。下面可以手动编写。
1927
+ //================================================================================
1928
+ toVue(options?: ElementToVueOptions): string {
1929
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (options?.finalCode === false) {
1930
+ <span class="cstat-no" title="statement not covered" > return this.toUI();</span>
1931
+ }
1932
+ let code = `$utils['${this.calleeName}']`;
1933
+ code += '(';
1934
+ let argTyAnno;
1935
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.calleeName === 'ToString') {
1936
+ const arg0 = <span class="cstat-no" title="statement not covered" >this.arguments[0];</span>
1937
+ <span class="cstat-no" title="statement not covered" > argTyAnno = (arg0 as any).typeAnnotation || arg0.__TypeAnnotation;</span>
1938
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (this.calleeName === 'FromString') {
1939
+ <span class="cstat-no" title="statement not covered" > argTyAnno = this.typeArguments?.[0];</span>
1940
+ }
1941
+ &nbsp;
1942
+ // 调整 ToString 的 typeKey 到第一个参数,剩下的以后重构。
1943
+ // 事实上,大部分编译器都会选择把 type tag 放到前端来做运行时匹配,而非末位。
1944
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.calleeName === 'ToString' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >argTyAnno)</span> {
1945
+ <span class="cstat-no" title="statement not covered" > code += `'${argTyAnno?.sortedTypeKey}', `;</span>
1946
+ }
1947
+ &nbsp;
1948
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(this.arguments) &amp;&amp; this.arguments.length) {
1949
+ const needToString = <span class="cstat-no" title="statement not covered" >['Concat'].includes(this.calleeName);</span>
1950
+ <span class="cstat-no" title="statement not covered" > this.arguments?.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg: any, index) =&gt; {</span>
1951
+ let argStr = <span class="cstat-no" title="statement not covered" >arg?.toVue(options);</span>
1952
+ const argTypeAnnotation = <span class="cstat-no" title="statement not covered" >arg.typeAnnotation || arg.__TypeAnnotation;</span>
1953
+ <span class="cstat-no" title="statement not covered" > transfromUnionTypeAnnotation(argTypeAnnotation, this.app);</span>
1954
+ const { sortedTypeKey } = <span class="cstat-no" title="statement not covered" >transfromMetadataType(argTypeAnnotation, this.app);</span>
1955
+ <span class="cstat-no" title="statement not covered" > if (needToString) {</span>
1956
+ <span class="cstat-no" title="statement not covered" > argStr = `$utils['ToString']('${sortedTypeKey}', ${argStr})`;</span>
1957
+ } else <span class="cstat-no" title="statement not covered" >if (['HasValue'].includes(this.calleeName)) {</span>
1958
+ <span class="cstat-no" title="statement not covered" > argStr = `{ type: '${sortedTypeKey}', value: ${argStr} }`;</span>
1959
+ }
1960
+ <span class="cstat-no" title="statement not covered" > code += argStr;</span>
1961
+ <span class="cstat-no" title="statement not covered" > if (index !== this.arguments?.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
1962
+ });
1963
+ }
1964
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.calleeName === 'FromString' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >argTyAnno)</span> {
1965
+ <span class="cstat-no" title="statement not covered" > code += `, '${argTyAnno?.sortedTypeKey}'`;</span>
1966
+ }
1967
+ // 用作做语义控制。后面这段代码没完全理解,需要保持进入条件不变。
1968
+ const flagControl = ['ToString', 'FromString'].includes(this.calleeName) &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >argTyAnno;</span>
1969
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!flagControl &amp;&amp; Array.isArray(this.typeArguments) &amp;&amp; this.typeArguments.length) {
1970
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.arguments?.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span>
1971
+ this.typeArguments?.forEach((arg, index) =&gt; {
1972
+ code += arg?.toJS().replace(/"/g, "'");
1973
+ <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>
1974
+ });
1975
+ }
1976
+ code += ')';
1977
+ return code;
1978
+ }
1979
+ &nbsp;
1980
+ <span class="fstat-no" title="function not covered" > toUI(</span>): string {
1981
+ let code = <span class="cstat-no" title="statement not covered" >this.calleeName;</span>
1982
+ <span class="cstat-no" title="statement not covered" > code += '(';</span>
1983
+ <span class="cstat-no" title="statement not covered" > this.arguments?.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
1984
+ <span class="cstat-no" title="statement not covered" > code += arg?.toUI();</span>
1985
+ <span class="cstat-no" title="statement not covered" > if (index !== this.arguments?.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
1986
+ });
1987
+ <span class="cstat-no" title="statement not covered" > if (this.typeArguments &amp;&amp; this.typeArguments.length) {</span>
1988
+ <span class="cstat-no" title="statement not covered" > if (this.arguments?.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
1989
+ <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>
1990
+ <span class="cstat-no" title="statement not covered" > code += arg?.typeName;</span>
1991
+ <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>
1992
+ });
1993
+ }
1994
+ <span class="cstat-no" title="statement not covered" > code += ')';</span>
1995
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1996
+ }
1997
+ &nbsp;
1998
+ toJS(state?: TranslatorState): string {
1999
+ let calleeName = `${this.calleeName}`;
2000
+ let code = '';
2001
+ const ancestorLogic = this.getAncestor('Logic');
2002
+ if (this.view &amp;&amp; ancestorLogic) {
2003
+ calleeName = asyncFuncMap[this.calleeName] ? <span class="branch-0 cbranch-no" title="branch not covered" >asyncFuncMap[this.calleeName] </span>: calleeName;
2004
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (asyncFuncMap[this.calleeName]) {
2005
+ // 注意有个空格
2006
+ <span class="cstat-no" title="statement not covered" > code += `await `;</span>
2007
+ }
2008
+ }
2009
+ code += `this.$utils['${calleeName}']`;
2010
+ code += '(';
2011
+ &nbsp;
2012
+ let argTyAnno;
2013
+ if (this.calleeName === 'ToString') {
2014
+ const arg0 = this.arguments[0];
2015
+ argTyAnno = (arg0 as any).typeAnnotation || arg0.__TypeAnnotation;
2016
+ } else if (this.calleeName === 'FromString') {
2017
+ argTyAnno = this.typeArguments?.[0];
2018
+ }
2019
+ &nbsp;
2020
+ // 调整 ToString 的 typeKey 到第一个参数,剩下的以后重构。
2021
+ // 事实上,大部分编译器都会选择把 type tag 放到前端来做运行时匹配,而非末位。
2022
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.calleeName === 'ToString' &amp;&amp; argTyAnno) {
2023
+ <span class="cstat-no" title="statement not covered" > code += `'${argTyAnno?.sortedTypeKey}', `;</span>
2024
+ }
2025
+ &nbsp;
2026
+ if (Array.isArray(this.arguments) &amp;&amp; this.arguments.length) {
2027
+ const needToString = ['Concat'].includes(this.calleeName);
2028
+ &nbsp;
2029
+ this.arguments.forEach((arg: any, index) =&gt; {
2030
+ let argStr = arg?.toJS(shiftState(state, code));
2031
+ const argTypeAnnotation = arg.typeAnnotation || arg.__TypeAnnotation;
2032
+ transfromUnionTypeAnnotation(argTypeAnnotation, this.app);
2033
+ const { sortedTypeKey } = transfromMetadataType(argTypeAnnotation, this.app);
2034
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (needToString) {
2035
+ <span class="cstat-no" title="statement not covered" > argStr = `this.$utils['ToString']('${sortedTypeKey}', ${argStr})`;</span>
2036
+ } else <span class="missing-if-branch" title="if path not taken" >I</span>if (['HasValue'].includes(this.calleeName)) {
2037
+ <span class="cstat-no" title="statement not covered" > argStr = `{ type: '${sortedTypeKey}', value: ${argStr} }`;</span>
2038
+ }
2039
+ code += argStr;
2040
+ if (index !== this.arguments?.length - 1) code += ', ';
2041
+ });
2042
+ }
2043
+ &nbsp;
2044
+ if (this.calleeName === 'FromString' &amp;&amp; argTyAnno) {
2045
+ code += `, '${argTyAnno?.sortedTypeKey}'`;
2046
+ }
2047
+ // 用作做语义控制。后面这段代码没完全理解,需要保持进入条件不变。
2048
+ const flagControl = ['ToString', 'FromString'].includes(this.calleeName) &amp;&amp; argTyAnno;
2049
+ if (!flagControl &amp;&amp; Array.isArray(this.typeArguments) &amp;&amp; this.typeArguments.length) {
2050
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.arguments?.length) <span class="cstat-no" title="statement not covered" >code += ', ';</span>
2051
+ &nbsp;
2052
+ this.typeArguments?.forEach((tyArg, index) =&gt; {
2053
+ code += tyArg?.toJS(shiftState(state, code));
2054
+ <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>
2055
+ });
2056
+ }
2057
+ &nbsp;
2058
+ code += ')';
2059
+ const tyAnno = (this as any).typeAnnotation || this.__TypeAnnotation;
2060
+ let { sortedTypeKey, typeKind, typeName, typeNamespace } = tyAnno || {};
2061
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (typeNamespace?.endsWith('.metadataTypes')) {
2062
+ const referenceNode = <span class="cstat-no" title="statement not covered" >this.app.findNodeByCompleteName(typeNamespace + '.' + typeName) || {};</span>
2063
+ const typeAn = <span class="cstat-no" title="statement not covered" >referenceNode.typeAnnotation || {};</span>
2064
+ <span class="cstat-no" title="statement not covered" > sortedTypeKey = `${typeAn.typeNamespace}.${typeAn.typeName}`;</span>
2065
+ <span class="cstat-no" title="statement not covered" > typeKind = typeAn.typeKind;</span>
2066
+ <span class="cstat-no" title="statement not covered" > typeName = typeAn.typeName;</span>
2067
+ }
2068
+ const needGenInitFromSchema =
2069
+ tyAnno &amp;&amp; (<span class="branch-1 cbranch-no" title="branch not covered" >!['primitive', 'union'].includes(typeKind) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >typeName === 'DateTime')</span>;
2070
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (needGenInitFromSchema) {
2071
+ <span class="cstat-no" title="statement not covered" > code = `this.$genInitFromSchema('${sortedTypeKey}', ${code})`;</span>
2072
+ }
2073
+ return code;
2074
+ }
2075
+ &nbsp;
2076
+ <span class="fstat-no" title="function not covered" > toBrief(</span>): string {
2077
+ <span class="cstat-no" title="statement not covered" > return this.arguments.map(<span class="fstat-no" title="function not covered" >(a</span>) =&gt; <span class="cstat-no" title="statement not covered" >a.toBrief())</span>.join('&lt;br /&gt;');</span>
2078
+ }
2079
+ &nbsp;
2080
+ get calleeKey(): string {
2081
+ return this.calleeName
2082
+ ? `${this.calleeNamespace ? `${this.calleeNamespace}.` : <span class="branch-1 cbranch-no" title="branch not covered" >''}</span>${this.calleeName}`
2083
+ : <span class="branch-1 cbranch-no" title="branch not covered" >'__IDENTIFIER__';</span>
2084
+ }
2085
+ &nbsp;
2086
+ <span class="fstat-no" title="function not covered" > _setCallee(</span>func: Function) {
2087
+ <span class="cstat-no" title="statement not covered" > this.calleeNamespace = func?.getNamespace();</span>
2088
+ <span class="cstat-no" title="statement not covered" > this.calleeName = func?.name;</span>
2089
+ <span class="cstat-no" title="statement not covered" > this.arguments = [];</span>
2090
+ <span class="cstat-no" title="statement not covered" > func?.params?.forEach(<span class="fstat-no" title="function not covered" >(p</span>aram) =&gt; {</span>
2091
+ <span class="cstat-no" title="statement not covered" > this._addArgument(undefined);</span>
2092
+ });
2093
+ }
2094
+ &nbsp;
2095
+ <span class="fstat-no" title="function not covered" > setCallee(</span>func: Function) {
2096
+ const calleeNamespace = <span class="cstat-no" title="statement not covered" >func.getNamespace();</span>
2097
+ const calleeName = <span class="cstat-no" title="statement not covered" >func.name;</span>
2098
+ const params = <span class="cstat-no" title="statement not covered" >func.params.map(<span class="fstat-no" title="function not covered" >(p</span>aram) =&gt; {</span>
2099
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'arguments' };</span>
2100
+ const argument = <span class="cstat-no" title="statement not covered" >Argument.from(</span>
2101
+ {
2102
+ keyword: param.name,
2103
+ },
2104
+ this,
2105
+ );
2106
+ <span class="cstat-no" title="statement not covered" > if (param.defaultExpression instanceof Identifier) {</span>
2107
+ <span class="cstat-no" title="statement not covered" > argument.expression = BaseNode.from(param.defaultExpression, argument, 'expression') as Identifier;</span>
2108
+ }
2109
+ <span class="cstat-no" title="statement not covered" > if (param.defaultExpression instanceof Function) {</span>
2110
+ (<span class="cstat-no" title="statement not covered" >param.defaultExpression as Function).returnExpression = null;</span>
2111
+ <span class="cstat-no" title="statement not covered" > argument.expression = BaseNode.from(param.defaultExpression, argument, 'expression') as Identifier;</span>
2112
+ }
2113
+ <span class="cstat-no" title="statement not covered" > Object.assign(argument, relationOptions);</span>
2114
+ <span class="cstat-no" title="statement not covered" > return argument;</span>
2115
+ });
2116
+ let typeArguments = <span class="cstat-no" title="statement not covered" >null;</span>
2117
+ <span class="cstat-no" title="statement not covered" > if (func.typeParams) {</span>
2118
+ <span class="cstat-no" title="statement not covered" > typeArguments = func.typeParams.map(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
2119
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'typeArguments' };</span>
2120
+ const typeArgu = <span class="cstat-no" title="statement not covered" >new TypeAnnotation();</span>
2121
+ <span class="cstat-no" title="statement not covered" > Object.assign(typeArgu, relationOptions);</span>
2122
+ <span class="cstat-no" title="statement not covered" > return typeArgu;</span>
2123
+ });
2124
+ }
2125
+ <span class="cstat-no" title="statement not covered" > if (this.app) {</span>
2126
+ <span class="cstat-no" title="statement not covered" > this.app.emit('collect:start', {</span>
2127
+ actionMsg: `切换内置函数`,
2128
+ });
2129
+ const { parentNode } = <span class="cstat-no" title="statement not covered" >this;</span>
2130
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2131
+ calleeNamespace,
2132
+ calleeName,
2133
+ arguments: params,
2134
+ typeArguments,
2135
+ folded: false,
2136
+ });
2137
+ <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'MemberExpression') {</span>
2138
+ const topNode = (<span class="cstat-no" title="statement not covered" >parentNode as MemberExpression).firstMemberExpressionNode();</span>
2139
+ <span class="cstat-no" title="statement not covered" > topNode.replaceNode(this);</span>
2140
+ }
2141
+ <span class="cstat-no" title="statement not covered" > this.detectArgs();</span>
2142
+ <span class="cstat-no" title="statement not covered" > this.app.emit('collect:end');</span>
2143
+ } else {
2144
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2145
+ calleeNamespace,
2146
+ calleeName,
2147
+ arguments: params,
2148
+ typeArguments,
2149
+ folded: false,
2150
+ });
2151
+ <span class="cstat-no" title="statement not covered" > this.detectArgs();</span>
2152
+ }
2153
+ }
2154
+ &nbsp;
2155
+ <span class="fstat-no" title="function not covered" > detectArgs(</span>obj?: any) {
2156
+ const func = <span class="cstat-no" title="statement not covered" >getBuildInFunction(this.calleeName);</span>
2157
+ const shouldJudge =
2158
+ <span class="cstat-no" title="statement not covered" > !!func &amp;&amp; ['ListDistinctBy', 'MapDistinctBy', 'ListGroupBy', 'ListToMap', 'MapFilter'].includes(this.calleeName);</span>
2159
+ <span class="cstat-no" title="statement not covered" > if (shouldJudge &amp;&amp; Array.isArray(this.arguments)) {</span>
2160
+ const depParamIdx = <span class="cstat-no" title="statement not covered" >func.params.findIndex(<span class="fstat-no" title="function not covered" >(p</span>aram) =&gt; <span class="cstat-no" title="statement not covered" >['list', 'map'].includes(param.name))</span>;</span>
2161
+ <span class="cstat-no" title="statement not covered" > if (depParamIdx !== -1) {</span>
2162
+ const depArgExpression = <span class="cstat-no" title="statement not covered" >this.arguments?.[depParamIdx].expression;</span>
2163
+ <span class="cstat-no" title="statement not covered" > this.arguments.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
2164
+ <span class="cstat-no" title="statement not covered" > if (depParamIdx !== index &amp;&amp; !depArgExpression) {</span>
2165
+ (<span class="cstat-no" title="statement not covered" >arg as any).illegalTip = `请先添加${func.params[depParamIdx].name}`;</span>
2166
+ } else <span class="cstat-no" title="statement not covered" >if ((arg as any).illegalTip) {</span>
2167
+ <span class="cstat-no" title="statement not covered" > delete (arg as any).illegalTip;</span>
2168
+ }
2169
+ });
2170
+ }
2171
+ }
2172
+ }
2173
+ &nbsp;
2174
+ @withSourceMapGenerator
2175
+ *toEmbeddedTS(state = createCompilerState()): TranslatorGenerator {
2176
+ const self = this;
2177
+ let code = '';
2178
+ const { calleeKey } = self;
2179
+ if (['nasl.util.Convert', 'nasl.util.FromString'].includes(calleeKey)) {
2180
+ // nasl.util.Convert(variable1)&lt;nasl.core.String&gt;();
2181
+ // 单独处理
2182
+ code = calleeKey;
2183
+ code += '(';
2184
+ yield* wrapForEach(self.arguments, function* warpForEachGenerator(arg, index) {
2185
+ code += yield* arg.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
2186
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (index !== self.arguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span>
2187
+ });
2188
+ code += ')';
2189
+ // 如果有内容
2190
+ const typeAnnotation = self.typeArguments[0];
2191
+ code += `&lt;`;
2192
+ code += `${yield* typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}&gt;()`;
2193
+ } else {
2194
+ code = self.calleeKey;
2195
+ if (Array.isArray(self.typeArguments) &amp;&amp; self.typeArguments.length) {
2196
+ // 如果有内容
2197
+ const typeAnnotation = self.typeArguments[0];
2198
+ code += `&lt;`;
2199
+ code += `${yield* typeAnnotation.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }))}&gt;`;
2200
+ }
2201
+ code += '(';
2202
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.arguments)) {
2203
+ yield* wrapForEach(self.arguments, function* wrapForEach(arg, index) {
2204
+ code += yield* arg.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));
2205
+ if (index !== self.arguments.length - 1) code += ', ';
2206
+ });
2207
+ }
2208
+ code += ')';
2209
+ }
2210
+ return code;
2211
+ }
2212
+ &nbsp;
2213
+ @withSourceMap()
2214
+ <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
2215
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
2216
+ <span class="cstat-no" title="statement not covered" > code = this.calleeKey;</span>
2217
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.typeArguments) &amp;&amp; this.typeArguments.length) {</span>
2218
+ // 如果有内容
2219
+ const typeAnnotation = <span class="cstat-no" title="statement not covered" >this.typeArguments[0];</span>
2220
+ <span class="cstat-no" title="statement not covered" > code += `&lt;`;</span>
2221
+ <span class="cstat-no" title="statement not covered" > code += `${typeAnnotation.toNaturalTS(shiftState(state, code, { tabSize: 0 }))}&gt;`;</span>
2222
+ }
2223
+ <span class="cstat-no" title="statement not covered" > if (this.arguments.length &lt;= 3) {</span>
2224
+ <span class="cstat-no" title="statement not covered" > code += '(';</span>
2225
+ <span class="cstat-no" title="statement not covered" > this.arguments.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
2226
+ <span class="cstat-no" title="statement not covered" > code += arg.toNaturalTS(shiftState(state, code, { tabSize: 0 }));</span>
2227
+ <span class="cstat-no" title="statement not covered" > if (index !== this.arguments.length - 1) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
2228
+ });
2229
+ <span class="cstat-no" title="statement not covered" > if (this?.typeArguments?.[0]?.typeKind === 'reference') {</span>
2230
+ <span class="cstat-no" title="statement not covered" > if (this.arguments?.length &gt; 0) <span class="cstat-no" title="statement not covered" >code += ', ';</span></span>
2231
+ <span class="cstat-no" title="statement not covered" > code += `{ typeNamespace: '${this.typeArguments[0].typeNamespace}' }`;</span>
2232
+ }
2233
+ <span class="cstat-no" title="statement not covered" > code += `)`;</span>
2234
+ } else {
2235
+ <span class="cstat-no" title="statement not covered" > code += '(\n';</span>
2236
+ <span class="cstat-no" title="statement not covered" > this.arguments.forEach(<span class="fstat-no" title="function not covered" >(a</span>rg, index) =&gt; {</span>
2237
+ <span class="cstat-no" title="statement not covered" > code += arg.toNaturalTS(shiftState(state, code, { tabSize: state.tabSize + 1 }));</span>
2238
+ <span class="cstat-no" title="statement not covered" > if (index !== this.arguments.length - 1) {</span>
2239
+ <span class="cstat-no" title="statement not covered" > code += ',\n';</span>
2240
+ } else <span class="cstat-no" title="statement not covered" >if (this?.typeArguments?.[0]?.typeKind === 'reference') {</span>
2241
+ <span class="cstat-no" title="statement not covered" > code += `,\n{ typeNamespace: '${this.typeArguments[0].typeNamespace}' }`;</span>
2242
+ } else {
2243
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
2244
+ }
2245
+ });
2246
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)})`;</span>
2247
+ }
2248
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2249
+ }
2250
+ &nbsp;
2251
+ <span class="fstat-no" title="function not covered" > checkParamNameOfAnonymousFunction(</span>) {
2252
+ const fns = <span class="cstat-no" title="statement not covered" >this.arguments</span>
2253
+ .map(<span class="fstat-no" title="function not covered" >(a</span>rg) =&gt; <span class="cstat-no" title="statement not covered" >arg.expression)</span>
2254
+ .filter(<span class="fstat-no" title="function not covered" >(e</span>xp) =&gt; <span class="cstat-no" title="statement not covered" >exp instanceof AnonymousFunction)</span> as unknown as AnonymousFunction[];
2255
+ &nbsp;
2256
+ <span class="cstat-no" title="statement not covered" > fns.forEach(<span class="fstat-no" title="function not covered" >(f</span>n) =&gt; {</span>
2257
+ <span class="cstat-no" title="statement not covered" > fn.checkParamName();</span>
2258
+ });
2259
+ }
2260
+ //================================================================================
2261
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2262
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2263
+ //================================================================================
2264
+ }
2265
+ &nbsp;
2266
+ export default CallFunction;
2267
+ //================================================================================
2268
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2269
+ // 自动生成的代码已结束。下面可以手动编写。
2270
+ //================================================================================
2271
+ &nbsp;</pre></td></tr></table></pre>
2272
+
2273
+ <div class='push'></div><!-- for sticky footer -->
2274
+ </div><!-- /wrapper -->
2275
+ <div class='footer quiet pad2 space-top1 center small'>
2276
+ Code coverage generated by
2277
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2278
+ at 2023-12-14T04:42:19.254Z
2279
+ </div>
2280
+ <script src="../../prettify.js"></script>
2281
+ <script>
2282
+ window.onload = function () {
2283
+ prettyPrint();
2284
+ };
2285
+ </script>
2286
+ <script src="../../sorter.js"></script>
2287
+ <script src="../../block-navigation.js"></script>
2288
+ </body>
2289
+ </html>
2290
+