@lcap/nasl 3.4.0-beta.5 → 3.4.0-beta.6

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 (831) hide show
  1. package/.nyc_output/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  2. package/.nyc_output/processinfo/b920244d-8d01-4e76-be5a-95132217c5a1.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 +461 -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 +631 -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 +1246 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -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 +4081 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +373 -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 +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +331 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +667 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +2092 -0
  44. package/coverage/src/concepts/App__.ts.html +13651 -0
  45. package/coverage/src/concepts/Argument__.ts.html +907 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2317 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +430 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1174 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +919 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +2011 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1690 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1192 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3376 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1468 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3931 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +2002 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3487 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1645 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +421 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1642 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +925 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +2164 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2776 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4693 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5419 -0
  68. package/coverage/src/concepts/Comment__.ts.html +397 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +946 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1375 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1387 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4390 -0
  77. package/coverage/src/concepts/Constant__.ts.html +1123 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1798 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  80. package/coverage/src/concepts/DefaultValue__.ts.html +946 -0
  81. package/coverage/src/concepts/Destination__.ts.html +2761 -0
  82. package/coverage/src/concepts/End__.ts.html +436 -0
  83. package/coverage/src/concepts/EntityIndex__.ts.html +799 -0
  84. package/coverage/src/concepts/EntityProperty__.ts.html +2866 -0
  85. package/coverage/src/concepts/Entity__.ts.html +3070 -0
  86. package/coverage/src/concepts/EnumItem__.ts.html +553 -0
  87. package/coverage/src/concepts/Enum__.ts.html +1258 -0
  88. package/coverage/src/concepts/Event__.ts.html +1111 -0
  89. package/coverage/src/concepts/ExternalDestination__.ts.html +1060 -0
  90. package/coverage/src/concepts/ForEachStatement__.ts.html +2023 -0
  91. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  92. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  93. package/coverage/src/concepts/Frontend__.ts.html +4078 -0
  94. package/coverage/src/concepts/Function__.ts.html +3718 -0
  95. package/coverage/src/concepts/Identifier__.ts.html +1060 -0
  96. package/coverage/src/concepts/IfStatement__.ts.html +1636 -0
  97. package/coverage/src/concepts/Integration__.ts.html +1273 -0
  98. package/coverage/src/concepts/InterfaceParam__.ts.html +1258 -0
  99. package/coverage/src/concepts/Interface__.ts.html +3463 -0
  100. package/coverage/src/concepts/JSBlock__.ts.html +424 -0
  101. package/coverage/src/concepts/JavaLogic__.ts.html +463 -0
  102. package/coverage/src/concepts/LogicItem__.ts.html +1174 -0
  103. package/coverage/src/concepts/Logic__.ts.html +7732 -0
  104. package/coverage/src/concepts/MatchCase__.ts.html +2974 -0
  105. package/coverage/src/concepts/Match__.ts.html +2494 -0
  106. package/coverage/src/concepts/MemberExpression__.ts.html +1744 -0
  107. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  108. package/coverage/src/concepts/Module__.ts.html +9385 -0
  109. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  110. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  111. package/coverage/src/concepts/Namespace__.ts.html +8221 -0
  112. package/coverage/src/concepts/NewComposite__.ts.html +4765 -0
  113. package/coverage/src/concepts/NewList__.ts.html +1702 -0
  114. package/coverage/src/concepts/NewMap__.ts.html +2470 -0
  115. package/coverage/src/concepts/New__.ts.html +289 -0
  116. package/coverage/src/concepts/NullLiteral__.ts.html +352 -0
  117. package/coverage/src/concepts/NumericLiteral__.ts.html +697 -0
  118. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1237 -0
  119. package/coverage/src/concepts/OverriddenLogic__.ts.html +6970 -0
  120. package/coverage/src/concepts/Param__.ts.html +1798 -0
  121. package/coverage/src/concepts/Point__.ts.html +334 -0
  122. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  123. package/coverage/src/concepts/ProcessElement__.ts.html +6187 -0
  124. package/coverage/src/concepts/ProcessOutcome__.ts.html +355 -0
  125. package/coverage/src/concepts/ProcessOutcomes__.ts.html +355 -0
  126. package/coverage/src/concepts/Process__.ts.html +5071 -0
  127. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +589 -0
  128. package/coverage/src/concepts/QueryFieldExpression__.ts.html +586 -0
  129. package/coverage/src/concepts/QueryFromExpression__.ts.html +937 -0
  130. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +580 -0
  131. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1606 -0
  132. package/coverage/src/concepts/QueryLimitExpression__.ts.html +664 -0
  133. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +706 -0
  134. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  135. package/coverage/src/concepts/Rect__.ts.html +376 -0
  136. package/coverage/src/concepts/Return__.ts.html +1471 -0
  137. package/coverage/src/concepts/Role__.ts.html +604 -0
  138. package/coverage/src/concepts/SelectMembers__.ts.html +1279 -0
  139. package/coverage/src/concepts/Slot__.ts.html +649 -0
  140. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1003 -0
  141. package/coverage/src/concepts/Start__.ts.html +307 -0
  142. package/coverage/src/concepts/StringInterpolation__.ts.html +1156 -0
  143. package/coverage/src/concepts/StringLiteral__.ts.html +508 -0
  144. package/coverage/src/concepts/StructureProperty__.ts.html +1300 -0
  145. package/coverage/src/concepts/Structure__.ts.html +2182 -0
  146. package/coverage/src/concepts/SwitchCase__.ts.html +1204 -0
  147. package/coverage/src/concepts/SwitchStatement__.ts.html +904 -0
  148. package/coverage/src/concepts/Theme__.ts.html +361 -0
  149. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  150. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  151. package/coverage/src/concepts/TriggerLauncher__.ts.html +778 -0
  152. package/coverage/src/concepts/TypeAnnotation__.ts.html +3832 -0
  153. package/coverage/src/concepts/TypeParam__.ts.html +322 -0
  154. package/coverage/src/concepts/UnaryExpression__.ts.html +730 -0
  155. package/coverage/src/concepts/Unparsed__.ts.html +397 -0
  156. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  157. package/coverage/src/concepts/ValidationRule__.ts.html +1876 -0
  158. package/coverage/src/concepts/Variable__.ts.html +1705 -0
  159. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  160. package/coverage/src/concepts/ViewComponent__.ts.html +4327 -0
  161. package/coverage/src/concepts/ViewElement__.ts.html +8992 -0
  162. package/coverage/src/concepts/View__.ts.html +9019 -0
  163. package/coverage/src/concepts/WhileStatement__.ts.html +1105 -0
  164. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  165. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6955 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  180. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  181. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  182. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  183. package/coverage/src/concepts/basics/types/index.html +131 -0
  184. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  185. package/coverage/src/concepts/index.html +1976 -0
  186. package/coverage/src/concepts/index.ts.html +103 -0
  187. package/coverage/src/concepts/index__.ts.html +454 -0
  188. package/coverage/src/config.ts.html +325 -0
  189. package/coverage/src/decorators/index.html +131 -0
  190. package/coverage/src/decorators/index.ts.html +583 -0
  191. package/coverage/src/decorators/promise.ts.html +169 -0
  192. package/coverage/src/eventBus.ts.html +100 -0
  193. package/coverage/src/generator/compileComponent.ts.html +142 -0
  194. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  195. package/coverage/src/generator/genHash.ts.html +124 -0
  196. package/coverage/src/generator/genMetaData.ts.html +1084 -0
  197. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  198. package/coverage/src/generator/icestark.ts.html +220 -0
  199. package/coverage/src/generator/index.html +266 -0
  200. package/coverage/src/generator/index.ts.html +106 -0
  201. package/coverage/src/generator/microApp.ts.html +172 -0
  202. package/coverage/src/generator/permission.ts.html +1036 -0
  203. package/coverage/src/generator/qiankun.ts.html +232 -0
  204. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  205. package/coverage/src/index.html +146 -0
  206. package/coverage/src/index.ts.html +124 -0
  207. package/coverage/src/manager/diagnostic.ts.html +442 -0
  208. package/coverage/src/manager/index.html +131 -0
  209. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  210. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  211. package/coverage/src/natural/index.html +161 -0
  212. package/coverage/src/natural/index.ts.html +91 -0
  213. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  214. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  215. package/coverage/src/sentry/index.html +116 -0
  216. package/coverage/src/sentry/index.ts.html +676 -0
  217. package/coverage/src/server/createUiTs.ts.html +919 -0
  218. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  219. package/coverage/src/server/event.js.html +526 -0
  220. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  221. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  222. package/coverage/src/server/getConnector.ts.html +316 -0
  223. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  224. package/coverage/src/server/getFunctions.ts.html +133 -0
  225. package/coverage/src/server/getInterfaces.ts.html +229 -0
  226. package/coverage/src/server/getLogging.ts.html +100 -0
  227. package/coverage/src/server/getLogics.ts.html +1363 -0
  228. package/coverage/src/server/getMemberIdentifier.ts.html +1606 -0
  229. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  230. package/coverage/src/server/getProcesses.ts.html +2023 -0
  231. package/coverage/src/server/getValidates.ts.html +115 -0
  232. package/coverage/src/server/index.html +401 -0
  233. package/coverage/src/server/index.ts.html +229 -0
  234. package/coverage/src/server/naslServer.ts.html +14356 -0
  235. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  236. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  237. package/coverage/src/server/translator.ts.html +2566 -0
  238. package/coverage/src/service/creator/add.configs.js.html +397 -0
  239. package/coverage/src/service/creator/errHandles.js.html +304 -0
  240. package/coverage/src/service/creator/index.html +146 -0
  241. package/coverage/src/service/creator/index.js.html +352 -0
  242. package/coverage/src/service/datasource/api.js.html +118 -0
  243. package/coverage/src/service/datasource/index.html +131 -0
  244. package/coverage/src/service/datasource/index.js.html +103 -0
  245. package/coverage/src/service/logic/api.js.html +109 -0
  246. package/coverage/src/service/logic/index.html +131 -0
  247. package/coverage/src/service/logic/index.js.html +103 -0
  248. package/coverage/src/service/storage/api.js.html +202 -0
  249. package/coverage/src/service/storage/index.html +206 -0
  250. package/coverage/src/service/storage/index.ts.html +103 -0
  251. package/coverage/src/service/storage/init.ts.html +3721 -0
  252. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  253. package/coverage/src/service/storage/map.ts.html +256 -0
  254. package/coverage/src/service/storage/service.ts.html +331 -0
  255. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  256. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  257. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  258. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  259. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  260. package/coverage/src/templator/genEditTableBlock.ts.html +1021 -0
  261. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  262. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  263. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  264. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  265. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  266. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  267. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  268. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  269. package/coverage/src/templator/index.html +326 -0
  270. package/coverage/src/templator/index.ts.html +154 -0
  271. package/coverage/src/templator/utils.ts.html +1861 -0
  272. package/coverage/src/translator/constant.ts.html +106 -0
  273. package/coverage/src/translator/index.html +146 -0
  274. package/coverage/src/translator/index.ts.html +94 -0
  275. package/coverage/src/translator/utils.ts.html +436 -0
  276. package/coverage/src/utils/cookie.ts.html +265 -0
  277. package/coverage/src/utils/env.ts.html +91 -0
  278. package/coverage/src/utils/index.html +236 -0
  279. package/coverage/src/utils/index.ts.html +694 -0
  280. package/coverage/src/utils/logger.ts.html +145 -0
  281. package/coverage/src/utils/sortTsString.ts.html +187 -0
  282. package/coverage/src/utils/string.ts.html +400 -0
  283. package/coverage/src/utils/time-slicing.ts.html +418 -0
  284. package/coverage/src/utils/traverse.ts.html +568 -0
  285. package/coverage/src/utils/window.ts.html +112 -0
  286. package/out/bak/translator.js +2 -19
  287. package/out/bak/translator.js.map +1 -1
  288. package/out/common/BaseNode.d.ts +11 -0
  289. package/out/common/BaseNode.js +57 -1
  290. package/out/common/BaseNode.js.map +1 -1
  291. package/out/common/index.d.ts +1 -0
  292. package/out/common/index.js +1 -0
  293. package/out/common/index.js.map +1 -1
  294. package/out/common/utils.d.ts +2 -0
  295. package/out/common/utils.js +18 -0
  296. package/out/common/utils.js.map +1 -0
  297. package/out/concepts/Abort__.d.ts +2 -2
  298. package/out/concepts/Abort__.js +6 -2
  299. package/out/concepts/Abort__.js.map +1 -1
  300. package/out/concepts/Anchor__.d.ts +2 -2
  301. package/out/concepts/Anchor__.js +5 -4
  302. package/out/concepts/Anchor__.js.map +1 -1
  303. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  304. package/out/concepts/AnonymousFunction__.js +19 -15
  305. package/out/concepts/AnonymousFunction__.js.map +1 -1
  306. package/out/concepts/Argument__.d.ts +2 -2
  307. package/out/concepts/Argument__.js +12 -13
  308. package/out/concepts/Argument__.js.map +1 -1
  309. package/out/concepts/Assignee__.d.ts +2 -2
  310. package/out/concepts/Assignee__.js +11 -9
  311. package/out/concepts/Assignee__.js.map +1 -1
  312. package/out/concepts/AssignmentLine__.d.ts +2 -2
  313. package/out/concepts/AssignmentLine__.js +3 -2
  314. package/out/concepts/AssignmentLine__.js.map +1 -1
  315. package/out/concepts/Assignment__.d.ts +2 -2
  316. package/out/concepts/Assignment__.js +13 -29
  317. package/out/concepts/Assignment__.js.map +1 -1
  318. package/out/concepts/AuthInterface__.js +1 -1
  319. package/out/concepts/AuthInterface__.js.map +1 -1
  320. package/out/concepts/AuthLogicForCallInterface__.d.ts +2 -2
  321. package/out/concepts/AuthLogicForCallInterface__.js +56 -75
  322. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  323. package/out/concepts/BackendVariable__.d.ts +5 -8
  324. package/out/concepts/BackendVariable__.js +47 -29
  325. package/out/concepts/BackendVariable__.js.map +1 -1
  326. package/out/concepts/Backend__.d.ts +4 -7
  327. package/out/concepts/Backend__.js +7 -6
  328. package/out/concepts/Backend__.js.map +1 -1
  329. package/out/concepts/BatchAssignment__.d.ts +2 -2
  330. package/out/concepts/BatchAssignment__.js +19 -20
  331. package/out/concepts/BatchAssignment__.js.map +1 -1
  332. package/out/concepts/BinaryExpression__.d.ts +2 -2
  333. package/out/concepts/BinaryExpression__.js +37 -38
  334. package/out/concepts/BinaryExpression__.js.map +1 -1
  335. package/out/concepts/BindAttribute__.d.ts +4 -4
  336. package/out/concepts/BindAttribute__.js +39 -32
  337. package/out/concepts/BindAttribute__.js.map +1 -1
  338. package/out/concepts/BindDirective__.d.ts +2 -2
  339. package/out/concepts/BindDirective__.js +10 -8
  340. package/out/concepts/BindDirective__.js.map +1 -1
  341. package/out/concepts/BindEvent__.d.ts +4 -7
  342. package/out/concepts/BindEvent__.js +20 -18
  343. package/out/concepts/BindEvent__.js.map +1 -1
  344. package/out/concepts/BindStyle__.d.ts +2 -2
  345. package/out/concepts/BindStyle__.js +9 -7
  346. package/out/concepts/BindStyle__.js.map +1 -1
  347. package/out/concepts/Block__.d.ts +6 -2
  348. package/out/concepts/Block__.js +36 -5
  349. package/out/concepts/Block__.js.map +1 -1
  350. package/out/concepts/BooleanLiteral__.d.ts +2 -2
  351. package/out/concepts/BooleanLiteral__.js +2 -2
  352. package/out/concepts/BooleanLiteral__.js.map +1 -1
  353. package/out/concepts/CallAuthInterface__.d.ts +3 -2
  354. package/out/concepts/CallAuthInterface__.js +46 -30
  355. package/out/concepts/CallAuthInterface__.js.map +1 -1
  356. package/out/concepts/CallConnector__.d.ts +2 -2
  357. package/out/concepts/CallConnector__.js +25 -23
  358. package/out/concepts/CallConnector__.js.map +1 -1
  359. package/out/concepts/CallFunction__.d.ts +2 -2
  360. package/out/concepts/CallFunction__.js +19 -16
  361. package/out/concepts/CallFunction__.js.map +1 -1
  362. package/out/concepts/CallInterface__.d.ts +3 -2
  363. package/out/concepts/CallInterface__.js +16 -6
  364. package/out/concepts/CallInterface__.js.map +1 -1
  365. package/out/concepts/CallLogic__.d.ts +2 -3
  366. package/out/concepts/CallLogic__.js +26 -20
  367. package/out/concepts/CallLogic__.js.map +1 -1
  368. package/out/concepts/CallQueryComponent__.d.ts +4 -4
  369. package/out/concepts/CallQueryComponent__.js +38 -36
  370. package/out/concepts/CallQueryComponent__.js.map +1 -1
  371. package/out/concepts/Comment__.d.ts +2 -2
  372. package/out/concepts/Comment__.js +3 -2
  373. package/out/concepts/Comment__.js.map +1 -1
  374. package/out/concepts/ConfigProperty__.d.ts +4 -7
  375. package/out/concepts/ConfigProperty__.js +12 -10
  376. package/out/concepts/ConfigProperty__.js.map +1 -1
  377. package/out/concepts/Connection__.d.ts +4 -7
  378. package/out/concepts/Connection__.js +6 -5
  379. package/out/concepts/Connection__.js.map +1 -1
  380. package/out/concepts/Connector__.js.map +1 -1
  381. package/out/concepts/Constant__.d.ts +3 -3
  382. package/out/concepts/Constant__.js +38 -13
  383. package/out/concepts/Constant__.js.map +1 -1
  384. package/out/concepts/DataSource__.d.ts +4 -7
  385. package/out/concepts/DataSource__.js +7 -6
  386. package/out/concepts/DataSource__.js.map +1 -1
  387. package/out/concepts/DefaultValue__.d.ts +6 -2
  388. package/out/concepts/DefaultValue__.js +11 -3
  389. package/out/concepts/DefaultValue__.js.map +1 -1
  390. package/out/concepts/Destination__.d.ts +3 -3
  391. package/out/concepts/Destination__.js +29 -26
  392. package/out/concepts/Destination__.js.map +1 -1
  393. package/out/concepts/End__.d.ts +2 -2
  394. package/out/concepts/End__.js +17 -13
  395. package/out/concepts/End__.js.map +1 -1
  396. package/out/concepts/EntityIndex__.d.ts +2 -2
  397. package/out/concepts/EntityIndex__.js +4 -3
  398. package/out/concepts/EntityIndex__.js.map +1 -1
  399. package/out/concepts/EntityProperty__.d.ts +2 -2
  400. package/out/concepts/EntityProperty__.js +9 -8
  401. package/out/concepts/EntityProperty__.js.map +1 -1
  402. package/out/concepts/Entity__.d.ts +4 -7
  403. package/out/concepts/Entity__.js +22 -22
  404. package/out/concepts/Entity__.js.map +1 -1
  405. package/out/concepts/EnumItem__.d.ts +2 -2
  406. package/out/concepts/EnumItem__.js +4 -3
  407. package/out/concepts/EnumItem__.js.map +1 -1
  408. package/out/concepts/Enum__.d.ts +4 -7
  409. package/out/concepts/Enum__.js +10 -8
  410. package/out/concepts/Enum__.js.map +1 -1
  411. package/out/concepts/ExternalDestination__.d.ts +2 -2
  412. package/out/concepts/ExternalDestination__.js +7 -5
  413. package/out/concepts/ExternalDestination__.js.map +1 -1
  414. package/out/concepts/ForEachStatement__.d.ts +2 -2
  415. package/out/concepts/ForEachStatement__.js +14 -12
  416. package/out/concepts/ForEachStatement__.js.map +1 -1
  417. package/out/concepts/Frontend__.d.ts +4 -7
  418. package/out/concepts/Frontend__.js +7 -6
  419. package/out/concepts/Frontend__.js.map +1 -1
  420. package/out/concepts/Function__.d.ts +3 -3
  421. package/out/concepts/Function__.js +22 -18
  422. package/out/concepts/Function__.js.map +1 -1
  423. package/out/concepts/Identifier__.d.ts +2 -2
  424. package/out/concepts/Identifier__.js +19 -23
  425. package/out/concepts/Identifier__.js.map +1 -1
  426. package/out/concepts/IfStatement__.d.ts +2 -2
  427. package/out/concepts/IfStatement__.js +12 -10
  428. package/out/concepts/IfStatement__.js.map +1 -1
  429. package/out/concepts/ImportedInterface__.d.ts +20 -0
  430. package/out/concepts/ImportedInterface__.js +57 -0
  431. package/out/concepts/ImportedInterface__.js.map +1 -0
  432. package/out/concepts/InterfaceParam__.d.ts +2 -7
  433. package/out/concepts/InterfaceParam__.js +33 -14
  434. package/out/concepts/InterfaceParam__.js.map +1 -1
  435. package/out/concepts/Interface__.d.ts +7 -15
  436. package/out/concepts/Interface__.js +33 -43
  437. package/out/concepts/Interface__.js.map +1 -1
  438. package/out/concepts/JSBlock__.d.ts +2 -2
  439. package/out/concepts/JSBlock__.js +3 -58
  440. package/out/concepts/JSBlock__.js.map +1 -1
  441. package/out/concepts/JavaLogic__.d.ts +2 -2
  442. package/out/concepts/JavaLogic__.js +6 -2
  443. package/out/concepts/JavaLogic__.js.map +1 -1
  444. package/out/concepts/LogicItem__.d.ts +2 -2
  445. package/out/concepts/LogicItem__.js +7 -13
  446. package/out/concepts/LogicItem__.js.map +1 -1
  447. package/out/concepts/Logic__.d.ts +8 -11
  448. package/out/concepts/Logic__.js +124 -157
  449. package/out/concepts/Logic__.js.map +1 -1
  450. package/out/concepts/MatchCase__.d.ts +2 -2
  451. package/out/concepts/MatchCase__.js +23 -22
  452. package/out/concepts/MatchCase__.js.map +1 -1
  453. package/out/concepts/Match__.d.ts +2 -2
  454. package/out/concepts/Match__.js +24 -22
  455. package/out/concepts/Match__.js.map +1 -1
  456. package/out/concepts/MemberExpression__.d.ts +2 -2
  457. package/out/concepts/MemberExpression__.js +28 -24
  458. package/out/concepts/MemberExpression__.js.map +1 -1
  459. package/out/concepts/MetadataType__.d.ts +4 -7
  460. package/out/concepts/MetadataType__.js +11 -9
  461. package/out/concepts/MetadataType__.js.map +1 -1
  462. package/out/concepts/Module__.d.ts +8 -179
  463. package/out/concepts/Module__.js +124 -265
  464. package/out/concepts/Module__.js.map +1 -1
  465. package/out/concepts/NewComposite__.d.ts +5 -5
  466. package/out/concepts/NewComposite__.js +75 -76
  467. package/out/concepts/NewComposite__.js.map +1 -1
  468. package/out/concepts/NewList__.d.ts +5 -5
  469. package/out/concepts/NewList__.js +30 -26
  470. package/out/concepts/NewList__.js.map +1 -1
  471. package/out/concepts/NewMap__.d.ts +4 -4
  472. package/out/concepts/NewMap__.js +39 -35
  473. package/out/concepts/NewMap__.js.map +1 -1
  474. package/out/concepts/New__.d.ts +2 -2
  475. package/out/concepts/New__.js +3 -2
  476. package/out/concepts/New__.js.map +1 -1
  477. package/out/concepts/NullLiteral__.d.ts +2 -2
  478. package/out/concepts/NullLiteral__.js +2 -2
  479. package/out/concepts/NullLiteral__.js.map +1 -1
  480. package/out/concepts/NumericLiteral__.d.ts +2 -2
  481. package/out/concepts/NumericLiteral__.js +6 -5
  482. package/out/concepts/NumericLiteral__.js.map +1 -1
  483. package/out/concepts/OqlQueryComponent__.d.ts +2 -2
  484. package/out/concepts/OqlQueryComponent__.js +16 -14
  485. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  486. package/out/concepts/OverriddenLogic__.d.ts +8 -11
  487. package/out/concepts/OverriddenLogic__.js +99 -112
  488. package/out/concepts/OverriddenLogic__.js.map +1 -1
  489. package/out/concepts/Param__.d.ts +3 -3
  490. package/out/concepts/Param__.js +24 -30
  491. package/out/concepts/Param__.js.map +1 -1
  492. package/out/concepts/ProcessElement__.d.ts +2 -2
  493. package/out/concepts/ProcessElement__.js +54 -68
  494. package/out/concepts/ProcessElement__.js.map +1 -1
  495. package/out/concepts/ProcessOutcome__.d.ts +2 -1
  496. package/out/concepts/ProcessOutcome__.js +5 -4
  497. package/out/concepts/ProcessOutcome__.js.map +1 -1
  498. package/out/concepts/ProcessOutcomes__.d.ts +2 -1
  499. package/out/concepts/ProcessOutcomes__.js +6 -5
  500. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  501. package/out/concepts/Process__.d.ts +4 -7
  502. package/out/concepts/Process__.js +35 -52
  503. package/out/concepts/Process__.js.map +1 -1
  504. package/out/concepts/QueryAggregateExpression__.d.ts +2 -2
  505. package/out/concepts/QueryAggregateExpression__.js +2 -2
  506. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  507. package/out/concepts/QueryFieldExpression__.d.ts +2 -2
  508. package/out/concepts/QueryFieldExpression__.js +5 -4
  509. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  510. package/out/concepts/QueryFromExpression__.d.ts +2 -2
  511. package/out/concepts/QueryFromExpression__.js +8 -6
  512. package/out/concepts/QueryFromExpression__.js.map +1 -1
  513. package/out/concepts/QueryGroupByExpression__.d.ts +2 -1
  514. package/out/concepts/QueryGroupByExpression__.js +6 -5
  515. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  516. package/out/concepts/QueryJoinExpression__.d.ts +2 -2
  517. package/out/concepts/QueryJoinExpression__.js +12 -10
  518. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  519. package/out/concepts/QueryLimitExpression__.d.ts +2 -2
  520. package/out/concepts/QueryLimitExpression__.js +6 -5
  521. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  522. package/out/concepts/QueryOrderByExpression__.d.ts +2 -2
  523. package/out/concepts/QueryOrderByExpression__.js +6 -5
  524. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  525. package/out/concepts/Return__.d.ts +3 -3
  526. package/out/concepts/Return__.js +41 -24
  527. package/out/concepts/Return__.js.map +1 -1
  528. package/out/concepts/Role__.d.ts +4 -7
  529. package/out/concepts/Role__.js +7 -6
  530. package/out/concepts/Role__.js.map +1 -1
  531. package/out/concepts/SelectMembers__.d.ts +2 -2
  532. package/out/concepts/SelectMembers__.js +3 -2
  533. package/out/concepts/SelectMembers__.js.map +1 -1
  534. package/out/concepts/SqlQueryComponent__.d.ts +2 -2
  535. package/out/concepts/SqlQueryComponent__.js +12 -10
  536. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  537. package/out/concepts/Start__.d.ts +2 -2
  538. package/out/concepts/Start__.js +2 -2
  539. package/out/concepts/Start__.js.map +1 -1
  540. package/out/concepts/StringInterpolation__.d.ts +2 -2
  541. package/out/concepts/StringInterpolation__.js +7 -5
  542. package/out/concepts/StringInterpolation__.js.map +1 -1
  543. package/out/concepts/StringLiteral__.d.ts +2 -2
  544. package/out/concepts/StringLiteral__.js +12 -6
  545. package/out/concepts/StringLiteral__.js.map +1 -1
  546. package/out/concepts/StructureProperty__.d.ts +2 -2
  547. package/out/concepts/StructureProperty__.js +6 -5
  548. package/out/concepts/StructureProperty__.js.map +1 -1
  549. package/out/concepts/Structure__.d.ts +4 -7
  550. package/out/concepts/Structure__.js +15 -15
  551. package/out/concepts/Structure__.js.map +1 -1
  552. package/out/concepts/SwitchCase__.d.ts +2 -2
  553. package/out/concepts/SwitchCase__.js +12 -10
  554. package/out/concepts/SwitchCase__.js.map +1 -1
  555. package/out/concepts/SwitchStatement__.d.ts +2 -2
  556. package/out/concepts/SwitchStatement__.js +8 -6
  557. package/out/concepts/SwitchStatement__.js.map +1 -1
  558. package/out/concepts/TriggerLauncher__.d.ts +4 -7
  559. package/out/concepts/TriggerLauncher__.js +7 -6
  560. package/out/concepts/TriggerLauncher__.js.map +1 -1
  561. package/out/concepts/TypeAnnotation__.d.ts +2 -2
  562. package/out/concepts/TypeAnnotation__.js +51 -25
  563. package/out/concepts/TypeAnnotation__.js.map +1 -1
  564. package/out/concepts/TypeParam__.d.ts +2 -2
  565. package/out/concepts/TypeParam__.js +4 -3
  566. package/out/concepts/TypeParam__.js.map +1 -1
  567. package/out/concepts/UnaryExpression__.d.ts +2 -2
  568. package/out/concepts/UnaryExpression__.js +12 -7
  569. package/out/concepts/UnaryExpression__.js.map +1 -1
  570. package/out/concepts/Unparsed__.d.ts +2 -2
  571. package/out/concepts/Unparsed__.js +2 -2
  572. package/out/concepts/Unparsed__.js.map +1 -1
  573. package/out/concepts/ValidationRule__.d.ts +2 -2
  574. package/out/concepts/ValidationRule__.js +11 -9
  575. package/out/concepts/ValidationRule__.js.map +1 -1
  576. package/out/concepts/Variable__.d.ts +5 -8
  577. package/out/concepts/Variable__.js +49 -32
  578. package/out/concepts/Variable__.js.map +1 -1
  579. package/out/concepts/ViewElement__.d.ts +6 -6
  580. package/out/concepts/ViewElement__.js +110 -137
  581. package/out/concepts/ViewElement__.js.map +1 -1
  582. package/out/concepts/View__.d.ts +6 -9
  583. package/out/concepts/View__.js +76 -84
  584. package/out/concepts/View__.js.map +1 -1
  585. package/out/concepts/WhileStatement__.d.ts +2 -2
  586. package/out/concepts/WhileStatement__.js +9 -7
  587. package/out/concepts/WhileStatement__.js.map +1 -1
  588. package/out/concepts/index__.d.ts +1 -1
  589. package/out/concepts/index__.js +1 -1
  590. package/out/concepts/index__.js.map +1 -1
  591. package/out/concepts/types__.d.ts +1 -3
  592. package/out/decorators/index.js +10 -9
  593. package/out/decorators/index.js.map +1 -1
  594. package/out/generator/genMetaData.js +0 -7
  595. package/out/generator/genMetaData.js.map +1 -1
  596. package/out/manager/diagnostic.d.ts +1 -1
  597. package/out/manager/diagnostic.js +2 -3
  598. package/out/manager/diagnostic.js.map +1 -1
  599. package/out/server/extendBaseNode.js +7 -24
  600. package/out/server/extendBaseNode.js.map +1 -1
  601. package/out/server/getConnector.js +8 -3
  602. package/out/server/getConnector.js.map +1 -1
  603. package/out/server/getLogics.js +13 -3
  604. package/out/server/getLogics.js.map +1 -1
  605. package/out/server/naslServer.d.ts +44 -46
  606. package/out/server/naslServer.js +333 -461
  607. package/out/server/naslServer.js.map +1 -1
  608. package/out/server/translator.js +1 -1
  609. package/out/server/translator.js.map +1 -1
  610. package/out/templator/genCreateBlock.js +5 -9
  611. package/out/templator/genCreateBlock.js.map +1 -1
  612. package/out/templator/genCurdEditMultipleKeyBlock.js +12 -18
  613. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  614. package/out/templator/genCurdMultipleKeyBlock.js +8 -10
  615. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  616. package/out/templator/genEditTableBlock.js +2 -3
  617. package/out/templator/genEditTableBlock.js.map +1 -1
  618. package/out/templator/genUpdateBlock.js +9 -12
  619. package/out/templator/genUpdateBlock.js.map +1 -1
  620. package/out/templator/utils.js.map +1 -1
  621. package/out/translator/types.d.ts +16 -3
  622. package/out/translator/utils.d.ts +19 -1
  623. package/out/translator/utils.js +90 -2
  624. package/out/translator/utils.js.map +1 -1
  625. package/out/utils/time-slicing/constant.d.ts +35 -0
  626. package/out/utils/time-slicing/constant.js +40 -0
  627. package/out/utils/time-slicing/constant.js.map +1 -0
  628. package/out/utils/time-slicing/controller.d.ts +53 -0
  629. package/out/utils/time-slicing/controller.js +280 -0
  630. package/out/utils/time-slicing/controller.js.map +1 -0
  631. package/out/utils/time-slicing/index.d.ts +5 -0
  632. package/out/utils/time-slicing/index.js +26 -0
  633. package/out/utils/time-slicing/index.js.map +1 -0
  634. package/out/utils/time-slicing/page-state.d.ts +2 -0
  635. package/out/utils/time-slicing/page-state.js +14 -0
  636. package/out/utils/time-slicing/page-state.js.map +1 -0
  637. package/out/utils/time-slicing/performance.d.ts +11 -0
  638. package/out/utils/time-slicing/performance.js +51 -0
  639. package/out/utils/time-slicing/performance.js.map +1 -0
  640. package/out/utils/time-slicing/runner.d.ts +12 -0
  641. package/out/utils/time-slicing/runner.js +53 -0
  642. package/out/utils/time-slicing/runner.js.map +1 -0
  643. package/out/utils/time-slicing/tool.d.ts +24 -0
  644. package/out/utils/time-slicing/tool.js +47 -0
  645. package/out/utils/time-slicing/tool.js.map +1 -0
  646. package/out/utils/time-slicing/utils.d.ts +62 -0
  647. package/out/utils/time-slicing/utils.js +47 -0
  648. package/out/utils/time-slicing/utils.js.map +1 -0
  649. package/out/utils/time-slicing/wrapper.d.ts +18 -0
  650. package/out/utils/time-slicing/wrapper.js +55 -0
  651. package/out/utils/time-slicing/wrapper.js.map +1 -0
  652. package/out/utils/types.d.ts +7 -0
  653. package/package.json +1 -1
  654. package/sandbox/stdlib/nasl.core.ts +0 -2
  655. package/sandbox/stdlib/nasl.util.ts +1 -1
  656. package/src/bak/translator.js +2 -17
  657. package/src/common/BaseNode.ts +73 -7
  658. package/src/common/index.ts +1 -0
  659. package/src/common/utils.ts +17 -0
  660. package/src/concepts/Abort__.ts +12 -3
  661. package/src/concepts/Anchor__.ts +15 -5
  662. package/src/concepts/AnonymousFunction__.ts +29 -23
  663. package/src/concepts/Argument__.ts +25 -14
  664. package/src/concepts/Assignee__.ts +21 -10
  665. package/src/concepts/AssignmentLine__.ts +13 -3
  666. package/src/concepts/Assignment__.ts +33 -42
  667. package/src/concepts/AuthInterface__.ts +3 -3
  668. package/src/concepts/AuthLogicForCallInterface__.ts +63 -84
  669. package/src/concepts/BackendVariable__.ts +35 -30
  670. package/src/concepts/Backend__.ts +24 -7
  671. package/src/concepts/BatchAssignment__.ts +30 -21
  672. package/src/concepts/BinaryExpression__.ts +47 -38
  673. package/src/concepts/BindAttribute__.ts +43 -39
  674. package/src/concepts/BindDirective__.ts +19 -9
  675. package/src/concepts/BindEvent__.ts +31 -26
  676. package/src/concepts/BindStyle__.ts +18 -8
  677. package/src/concepts/Block__.ts +22 -6
  678. package/src/concepts/BooleanLiteral__.ts +11 -3
  679. package/src/concepts/CallAuthInterface__.ts +58 -33
  680. package/src/concepts/CallConnector__.ts +34 -26
  681. package/src/concepts/CallFunction__.ts +22 -17
  682. package/src/concepts/CallInterface__.ts +30 -12
  683. package/src/concepts/CallLogic__.ts +46 -47
  684. package/src/concepts/CallQueryComponent__.ts +48 -46
  685. package/src/concepts/Comment__.ts +13 -3
  686. package/src/concepts/ConfigProperty__.ts +22 -12
  687. package/src/concepts/Connection__.ts +22 -6
  688. package/src/concepts/Connector__.ts +1 -1
  689. package/src/concepts/Constant__.ts +24 -14
  690. package/src/concepts/DataSource__.ts +16 -7
  691. package/src/concepts/DefaultValue__.ts +13 -4
  692. package/src/concepts/Destination__.ts +39 -33
  693. package/src/concepts/End__.ts +24 -15
  694. package/src/concepts/EntityIndex__.ts +13 -4
  695. package/src/concepts/EntityProperty__.ts +20 -10
  696. package/src/concepts/Entity__.ts +34 -27
  697. package/src/concepts/EnumItem__.ts +13 -4
  698. package/src/concepts/Enum__.ts +21 -10
  699. package/src/concepts/ExternalDestination__.ts +16 -7
  700. package/src/concepts/ForEachStatement__.ts +24 -14
  701. package/src/concepts/Frontend__.ts +18 -7
  702. package/src/concepts/Function__.ts +30 -21
  703. package/src/concepts/Identifier__.ts +32 -34
  704. package/src/concepts/IfStatement__.ts +22 -14
  705. package/src/concepts/ImportedInterface__.ts +61 -0
  706. package/src/concepts/InterfaceParam__.ts +19 -16
  707. package/src/concepts/Interface__.ts +45 -51
  708. package/src/concepts/JSBlock__.ts +12 -61
  709. package/src/concepts/JavaLogic__.ts +13 -3
  710. package/src/concepts/LogicItem__.ts +13 -14
  711. package/src/concepts/Logic__.ts +147 -172
  712. package/src/concepts/MatchCase__.ts +33 -27
  713. package/src/concepts/Match__.ts +34 -26
  714. package/src/concepts/MemberExpression__.ts +37 -25
  715. package/src/concepts/MetadataType__.ts +22 -10
  716. package/src/concepts/Module__.ts +177 -540
  717. package/src/concepts/NewComposite__.ts +86 -80
  718. package/src/concepts/NewList__.ts +40 -32
  719. package/src/concepts/NewMap__.ts +49 -42
  720. package/src/concepts/New__.ts +13 -3
  721. package/src/concepts/NullLiteral__.ts +11 -3
  722. package/src/concepts/NumericLiteral__.ts +15 -6
  723. package/src/concepts/OqlQueryComponent__.ts +26 -18
  724. package/src/concepts/OverriddenLogic__.ts +117 -125
  725. package/src/concepts/Param__.ts +42 -38
  726. package/src/concepts/ProcessElement__.ts +67 -79
  727. package/src/concepts/ProcessOutcome__.ts +14 -6
  728. package/src/concepts/ProcessOutcomes__.ts +15 -7
  729. package/src/concepts/Process__.ts +50 -61
  730. package/src/concepts/QueryAggregateExpression__.ts +11 -3
  731. package/src/concepts/QueryFieldExpression__.ts +14 -5
  732. package/src/concepts/QueryFromExpression__.ts +18 -7
  733. package/src/concepts/QueryGroupByExpression__.ts +14 -6
  734. package/src/concepts/QueryJoinExpression__.ts +22 -11
  735. package/src/concepts/QueryLimitExpression__.ts +16 -6
  736. package/src/concepts/QueryOrderByExpression__.ts +17 -6
  737. package/src/concepts/Return__.ts +27 -25
  738. package/src/concepts/Role__.ts +17 -8
  739. package/src/concepts/SelectMembers__.ts +13 -3
  740. package/src/concepts/SqlQueryComponent__.ts +22 -11
  741. package/src/concepts/Start__.ts +11 -3
  742. package/src/concepts/StringInterpolation__.ts +10 -5
  743. package/src/concepts/StringLiteral__.ts +20 -7
  744. package/src/concepts/StructureProperty__.ts +16 -6
  745. package/src/concepts/Structure__.ts +26 -18
  746. package/src/concepts/SwitchCase__.ts +22 -14
  747. package/src/concepts/SwitchStatement__.ts +17 -7
  748. package/src/concepts/TriggerLauncher__.ts +17 -7
  749. package/src/concepts/TypeAnnotation__.ts +36 -26
  750. package/src/concepts/TypeParam__.ts +13 -4
  751. package/src/concepts/UnaryExpression__.ts +22 -9
  752. package/src/concepts/Unparsed__.ts +11 -3
  753. package/src/concepts/ValidationRule__.ts +21 -17
  754. package/src/concepts/Variable__.ts +37 -33
  755. package/src/concepts/ViewElement__.ts +128 -156
  756. package/src/concepts/View__.ts +101 -101
  757. package/src/concepts/WhileStatement__.ts +19 -10
  758. package/src/concepts/index__.ts +1 -1
  759. package/src/concepts/types__.ts +1 -5
  760. package/src/decorators/index.ts +10 -9
  761. package/src/generator/genMetaData.ts +2 -12
  762. package/src/manager/diagnostic.ts +3 -4
  763. package/src/server/extendBaseNode.ts +8 -24
  764. package/src/server/getConnector.ts +8 -3
  765. package/src/server/getLogics.ts +15 -3
  766. package/src/server/naslServer.ts +717 -749
  767. package/src/server/translator.ts +1 -1
  768. package/src/templator/genCreateBlock.ts +5 -9
  769. package/src/templator/genCurdEditMultipleKeyBlock.ts +13 -19
  770. package/src/templator/genCurdMultipleKeyBlock.ts +11 -14
  771. package/src/templator/genEditTableBlock.ts +2 -4
  772. package/src/templator/genUpdateBlock.ts +12 -15
  773. package/src/templator/utils.ts +7 -8
  774. package/src/translator/types.ts +20 -5
  775. package/src/translator/utils.ts +100 -5
  776. package/src/utils/time-slicing/constant.ts +37 -0
  777. package/src/utils/time-slicing/controller.ts +342 -0
  778. package/src/utils/time-slicing/index.ts +6 -0
  779. package/src/utils/time-slicing/page-state.ts +12 -0
  780. package/src/utils/time-slicing/performance.ts +56 -0
  781. package/src/utils/time-slicing/runner.ts +54 -0
  782. package/src/utils/time-slicing/tool.ts +45 -0
  783. package/src/utils/time-slicing/utils.ts +90 -0
  784. package/src/utils/time-slicing/wrapper.ts +58 -0
  785. package/src/utils/types.ts +9 -0
  786. package/test/concepts/anonymous-function/toEmbeddedTS.spec.ts +2 -1
  787. package/test/concepts/assignment/toEmbeddedTS.spec.ts +2 -1
  788. package/test/concepts/batch-assignment/toEmbeddedTS.spec.ts +2 -1
  789. package/test/concepts/binary-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  790. package/test/concepts/binary-expression/toEmbeddedTS.spec.ts +2 -1
  791. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +2 -1
  792. package/test/concepts/call-function/toEmbeddedTS.spec.ts +2 -1
  793. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +3 -3
  794. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +2 -1
  795. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +5 -5
  796. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -1
  797. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +2 -1
  798. package/test/concepts/data-source/toEmbeddedTS.spec.ts +2 -1
  799. package/test/concepts/data-source/toEmbeddedTSFile.spec.ts +2 -1
  800. package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +19 -19
  801. package/test/concepts/entity/toEmbeddedTS.spec.ts +2 -1
  802. package/test/concepts/identifier/toEmbeddedTS.spec.ts +2 -1
  803. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  804. package/test/concepts/match/toEmbeddedTS.spec.ts +2 -1
  805. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +2 -1
  806. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +2 -1
  807. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  808. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +2 -1
  809. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +2 -1
  810. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  811. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +2 -1
  812. package/test/concepts/validation-rule/validation-rule.spec.ts +2 -1
  813. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  814. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -4
  815. package/test/concepts/view-element/toEmbeddedTS.spec.ts +2 -1
  816. package/test/time-slicing/runner.spec.ts +28 -0
  817. package/test/time-slicing/time-slicing-nodejs.spec.ts +27 -0
  818. package/test/time-slicing/utils.ts +7 -0
  819. package/test/time-slicing/wrapper.spec.ts +92 -0
  820. package/ts-worker/lib/tsserver.js +10 -1
  821. package/ts-worker/package.json +1 -0
  822. package/ts-worker/src/index.js +13 -12
  823. package/ts-worker/webpack.config.js +1 -1
  824. package/out/concepts/InterfaceFromExample__.d.ts +0 -88
  825. package/out/concepts/InterfaceFromExample__.js +0 -183
  826. package/out/concepts/InterfaceFromExample__.js.map +0 -1
  827. package/out/utils/time-slicing.d.ts +0 -41
  828. package/out/utils/time-slicing.js +0 -82
  829. package/out/utils/time-slicing.js.map +0 -1
  830. package/src/concepts/InterfaceFromExample__.ts +0 -205
  831. package/src/utils/time-slicing.ts +0 -111
@@ -0,0 +1,1798 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/DataSource__.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> DataSource__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">23.42% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>41/175</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">8.6% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>8/93</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">14.28% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/42</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">23.6% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>38/161</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-yes">1x</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-yes">1x</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-yes">1x</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-yes">1x</span>
650
+ <span class="cline-any cline-yes">1x</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-yes">1x</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-yes">1x</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-yes">1x</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-yes">1x</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-yes">1x</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-yes">15x</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-yes">1x</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-no">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-no">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-yes">15x</span>
720
+ <span class="cline-any cline-yes">15x</span>
721
+ <span class="cline-any cline-yes">15x</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-yes">15x</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
734
+ <span class="cline-any cline-no">&nbsp;</span>
735
+ <span class="cline-any cline-no">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-no">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-no">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-no">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-no">&nbsp;</span>
753
+ <span class="cline-any cline-no">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-no">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-no">&nbsp;</span>
785
+ <span class="cline-any cline-no">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-no">&nbsp;</span>
794
+ <span class="cline-any cline-no">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-no">&nbsp;</span>
805
+ <span class="cline-any cline-no">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-no">&nbsp;</span>
817
+ <span class="cline-any cline-no">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</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-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-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-neutral">&nbsp;</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-no">&nbsp;</span>
871
+ <span class="cline-any cline-no">&nbsp;</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-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-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-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-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-no">&nbsp;</span>
895
+ <span class="cline-any cline-no">&nbsp;</span>
896
+ <span class="cline-any cline-no">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-no">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
919
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-no">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-no">&nbsp;</span>
944
+ <span class="cline-any cline-no">&nbsp;</span>
945
+ <span class="cline-any cline-no">&nbsp;</span>
946
+ <span class="cline-any cline-no">&nbsp;</span>
947
+ <span class="cline-any cline-no">&nbsp;</span>
948
+ <span class="cline-any cline-no">&nbsp;</span>
949
+ <span class="cline-any cline-no">&nbsp;</span>
950
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
969
+ <span class="cline-any cline-no">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-no">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-no">&nbsp;</span>
976
+ <span class="cline-any cline-no">&nbsp;</span>
977
+ <span class="cline-any cline-no">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-no">&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-no">&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-no">&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-yes">218x</span>
995
+ <span class="cline-any cline-yes">218x</span>
996
+ <span class="cline-any cline-yes">218x</span>
997
+ <span class="cline-any cline-yes">218x</span>
998
+ <span class="cline-any cline-yes">218x</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-yes">218x</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1042
+ <span class="cline-any cline-no">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&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-no">&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-no">&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-no">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-neutral">&nbsp;</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-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-yes">2x</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-yes">1x</span>
1072
+ <span class="cline-any cline-yes">2x</span>
1073
+ <span class="cline-any cline-yes">2x</span>
1074
+ <span class="cline-any cline-yes">2x</span>
1075
+ <span class="cline-any cline-yes">2x</span>
1076
+ <span class="cline-any cline-yes">2x</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-yes">1x</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-yes">1x</span>
1083
+ <span class="cline-any cline-yes">1x</span>
1084
+ <span class="cline-any cline-yes">1x</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-no">&nbsp;</span>
1087
+ <span class="cline-any cline-no">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-yes">1x</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1101
+ <span class="cline-any cline-no">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-no">&nbsp;</span>
1105
+ <span class="cline-any cline-no">&nbsp;</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-no">&nbsp;</span>
1109
+ <span class="cline-any cline-no">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-no">&nbsp;</span>
1112
+ <span class="cline-any cline-no">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-no">&nbsp;</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-no">&nbsp;</span>
1135
+ <span class="cline-any cline-neutral">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1143
+ <span class="cline-any cline-no">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-no">&nbsp;</span>
1147
+ <span class="cline-any cline-no">&nbsp;</span>
1148
+ <span class="cline-any cline-no">&nbsp;</span>
1149
+ <span class="cline-any cline-no">&nbsp;</span>
1150
+ <span class="cline-any cline-no">&nbsp;</span>
1151
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-neutral">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1178
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1184
+ <span class="cline-any cline-no">&nbsp;</span>
1185
+ <span class="cline-any cline-no">&nbsp;</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-yes">15x</span>
1197
+ <span class="cline-any cline-neutral">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-neutral">&nbsp;</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-neutral">&nbsp;</span>
1203
+ <span class="cline-any cline-yes">1x</span>
1204
+ <span class="cline-any cline-neutral">&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></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, withSourceMap, createCompilerState } from '../translator';
1209
+ import datasourceService from '../service/datasource';
1210
+ &nbsp;
1211
+ //================================================================================
1212
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1213
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1214
+ //================================================================================
1215
+ import { EventPayload, Params } from '../common/EventEmitter';
1216
+ import { concept, excludedInJSON, property, className } from '../decorators';
1217
+ &nbsp;
1218
+ import * as utils from '../utils';
1219
+ import { v4 as uuidv4 } from 'uuid';
1220
+ import BaseNode from '../common/BaseNode';
1221
+ import Entity from './Entity__';
1222
+ import Module from './Module__';
1223
+ import App from './App__';
1224
+ &nbsp;
1225
+ /**
1226
+ * 数据源
1227
+ */
1228
+ @className
1229
+ @concept('数据源')
1230
+ // @ts-ignore
1231
+ export class DataSource extends BaseNode {
1232
+ /** 类名 */
1233
+ static readonly ConceptName = 'DataSource';
1234
+ &nbsp;
1235
+ /**
1236
+ * 产品概念
1237
+ */
1238
+ @property('concept')
1239
+ // @ts-ignore
1240
+ readonly concept!: 'DataSource';
1241
+ &nbsp;
1242
+ /**
1243
+ * 数据源名称
1244
+ */
1245
+ @property()
1246
+ // @ts-ignore
1247
+ name!: string;
1248
+ &nbsp;
1249
+ /**
1250
+ * 数据源描述
1251
+ */
1252
+ @property()
1253
+ // @ts-ignore
1254
+ description!: string;
1255
+ &nbsp;
1256
+ /**
1257
+ * 实体列表
1258
+ */
1259
+ @property({
1260
+ objectRef: 'Entity',
1261
+ isArray: true,
1262
+ defaultValue: [],
1263
+ })
1264
+ entities: Array&lt;Entity&gt; = [];
1265
+ &nbsp;
1266
+ /**
1267
+ * ddl策略
1268
+ */
1269
+ @property()
1270
+ // @ts-ignore
1271
+ ddlStrategy!: 'all' | 'originNotTable' | 'none';
1272
+ &nbsp;
1273
+ /**
1274
+ * 祖先 Module
1275
+ */
1276
+ <span class="fstat-no" title="function not covered" > get m</span>odule() {
1277
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Module') as Module;</span>
1278
+ }
1279
+ /**
1280
+ * 祖先 App
1281
+ */
1282
+ <span class="fstat-no" title="function not covered" > get a</span>pp() {
1283
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('App') as App;</span>
1284
+ }
1285
+ &nbsp;
1286
+ /**
1287
+ * @param source 需要合并的部分参数
1288
+ */
1289
+ constructor(source?: Partial&lt;DataSource&gt;) {
1290
+ source = Object.assign({}, DataSource.getDefaultOptions(), source);
1291
+ super(source);
1292
+ super.subConstructor(source);
1293
+ }
1294
+ &nbsp;
1295
+ static from(source: any, parentNode?: any, parentKey?: string): DataSource {
1296
+ return super.from(source, parentNode, parentKey) as DataSource;
1297
+ }
1298
+ &nbsp;
1299
+ /**
1300
+ * 从父级删除该节点
1301
+ * @internal
1302
+ */
1303
+ <span class="fstat-no" title="function not covered" > _delete(</span>) {
1304
+ let params: Params = <span class="cstat-no" title="statement not covered" >null;</span>
1305
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
1306
+ <span class="cstat-no" title="statement not covered" > params = (this.parentNode as any)?.__removeDataSource?.(this);</span>
1307
+ }
1308
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1309
+ }
1310
+ /**
1311
+ * 设置数据源描述
1312
+ */
1313
+ <span class="fstat-no" title="function not covered" > setDescription(</span>description: string) {
1314
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1315
+ description,
1316
+ };
1317
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1318
+ ...object,
1319
+ });
1320
+ }
1321
+ &nbsp;
1322
+ <span class="fstat-no" title="function not covered" > getEntityExistingNames(</span>excludedList: Array&lt;Entity&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
1323
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
1324
+ <span class="cstat-no" title="statement not covered" > return ((this.entities as Entity[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name)</span>;</span>
1325
+ }
1326
+ <span class="fstat-no" title="function not covered" > getEntityUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'Entity1')</span> {
1327
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getEntityExistingNames(), undefined, true);</span>
1328
+ }
1329
+ &nbsp;
1330
+ /**
1331
+ * 插入实体
1332
+ * @internal
1333
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
1334
+ */
1335
+ _insertEntityAt(name: string, index: number): Entity;
1336
+ &nbsp;
1337
+ /**
1338
+ * 插入实体
1339
+ * @internal
1340
+ * @param entityOptions 实体参数
1341
+ */
1342
+ _insertEntityAt(entityOptions: Partial&lt;Entity&gt;, index: number): Entity;
1343
+ &nbsp;
1344
+ /**
1345
+ * 插入实体
1346
+ * @internal
1347
+ * @param entity 已有的实体实例
1348
+ */
1349
+ _insertEntityAt(entity: Entity, index: number): Entity;
1350
+ &nbsp;
1351
+ <span class="fstat-no" title="function not covered" > _insertEntityAt(</span>options: string | Partial&lt;Entity&gt; | Entity, index: number) {
1352
+ const entityOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1353
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'entities' };</span>
1354
+ let entity: Entity;
1355
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
1356
+ <span class="cstat-no" title="statement not covered" > entity = Entity.from(</span>
1357
+ {
1358
+ ...entityOptions,
1359
+ name: this.getEntityUniqueName(),
1360
+ },
1361
+ this,
1362
+ 'entities',
1363
+ );
1364
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
1365
+ <span class="cstat-no" title="statement not covered" > entity = Entity.from(</span>
1366
+ {
1367
+ ...entityOptions,
1368
+ name: options,
1369
+ },
1370
+ this,
1371
+ 'entities',
1372
+ );
1373
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof Entity) {</span>
1374
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1375
+ <span class="cstat-no" title="statement not covered" > entity = options;</span>
1376
+ <span class="cstat-no" title="statement not covered" > Object.assign(entity, relationOptions);</span>
1377
+ } else {
1378
+ <span class="cstat-no" title="statement not covered" > entity = Entity.from(</span>
1379
+ {
1380
+ ...entityOptions,
1381
+ ...options,
1382
+ },
1383
+ this,
1384
+ 'entities',
1385
+ );
1386
+ }
1387
+ <span class="cstat-no" title="statement not covered" > this.entities.splice(index, 0, entity);</span>
1388
+ <span class="cstat-no" title="statement not covered" > return entity;</span>
1389
+ }
1390
+ &nbsp;
1391
+ /**
1392
+ * 插入实体
1393
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
1394
+ */
1395
+ insertEntityAt(name: string, index: number): Entity;
1396
+ &nbsp;
1397
+ /**
1398
+ * 插入实体
1399
+ * @param entityOptions 实体参数
1400
+ */
1401
+ insertEntityAt(entityOptions: Partial&lt;Entity&gt;, index: number): Entity;
1402
+ &nbsp;
1403
+ /**
1404
+ * 插入实体
1405
+ * @param entity 已有的实体实例
1406
+ */
1407
+ insertEntityAt(entity: Entity, index: number): Entity;
1408
+ &nbsp;
1409
+ <span class="fstat-no" title="function not covered" > insertEntityAt(</span>options: string | Partial&lt;Entity&gt; | Entity, index: number) {
1410
+ const node = <span class="cstat-no" title="statement not covered" >this._insertEntityAt(options as any, index);</span>
1411
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1412
+ index,
1413
+ parentNode: this,
1414
+ parentKey: 'entities',
1415
+ });
1416
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1417
+ }
1418
+ &nbsp;
1419
+ /**
1420
+ * 添加实体
1421
+ * @internal
1422
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
1423
+ */
1424
+ _addEntity(name?: string): Entity;
1425
+ &nbsp;
1426
+ /**
1427
+ * 添加实体
1428
+ * @internal
1429
+ * @param entityOptions 实体参数
1430
+ */
1431
+ _addEntity(entityOptions: Partial&lt;Entity&gt;): Entity;
1432
+ &nbsp;
1433
+ /**
1434
+ * 添加实体
1435
+ * @internal
1436
+ * @param entity 已有的实体实例
1437
+ */
1438
+ _addEntity(entity: Entity): Entity;
1439
+ &nbsp;
1440
+ <span class="fstat-no" title="function not covered" > _addEntity(</span>options?: string | Partial&lt;Entity&gt; | Entity) {
1441
+ const index = <span class="cstat-no" title="statement not covered" >0;</span>
1442
+ <span class="cstat-no" title="statement not covered" > return this._insertEntityAt(options as any, index);</span>
1443
+ }
1444
+ &nbsp;
1445
+ /**
1446
+ * 添加实体
1447
+ * @internal
1448
+ * @param name 实体名称,如果不填会自动生成一个唯一名称
1449
+ */
1450
+ addEntity(name?: string): Entity;
1451
+ &nbsp;
1452
+ /**
1453
+ * 添加实体
1454
+ * @param entityOptions 实体参数
1455
+ */
1456
+ addEntity(entityOptions: Partial&lt;Entity&gt;): Entity;
1457
+ &nbsp;
1458
+ /**
1459
+ * 添加实体
1460
+ * @param entity 已有的实体实例
1461
+ */
1462
+ addEntity(entity: Entity): Entity;
1463
+ &nbsp;
1464
+ <span class="fstat-no" title="function not covered" > addEntity(</span>options?: string | Partial&lt;Entity&gt; | Entity) {
1465
+ const node = <span class="cstat-no" title="statement not covered" >this._addEntity(options as any);</span>
1466
+ const index = <span class="cstat-no" title="statement not covered" >this.entities.indexOf(node);</span>
1467
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1468
+ index,
1469
+ parentNode: this,
1470
+ parentKey: 'entities',
1471
+ });
1472
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1473
+ }
1474
+ &nbsp;
1475
+ /**
1476
+ * 删除实体
1477
+ * @param name 实体名称
1478
+ */
1479
+ removeEntity(name: string): void;
1480
+ &nbsp;
1481
+ /**
1482
+ * 删除实体
1483
+ * @param entity 已有的实体实例
1484
+ */
1485
+ removeEntity(entity: Entity): void;
1486
+ &nbsp;
1487
+ <span class="fstat-no" title="function not covered" > removeEntity(</span>options: string | Entity) {
1488
+ let entity: Entity;
1489
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1490
+ <span class="cstat-no" title="statement not covered" > entity = (this.entities as Entity[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
1491
+ <span class="cstat-no" title="statement not covered" > if (!entity) {</span>
1492
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到实体 ' + options);</span>
1493
+ }
1494
+ } else {
1495
+ <span class="cstat-no" title="statement not covered" > entity = options;</span>
1496
+ }
1497
+ <span class="cstat-no" title="statement not covered" > return entity.delete();</span>
1498
+ }
1499
+ &nbsp;
1500
+ <span class="fstat-no" title="function not covered" > __removeEntity(</span>entity: Entity) {
1501
+ const parentKey = <span class="cstat-no" title="statement not covered" >entity.parentKey;</span>
1502
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1503
+ parentNode: this,
1504
+ parentKey,
1505
+ index: -1,
1506
+ object: null,
1507
+ oldObject: entity,
1508
+ };
1509
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1510
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1511
+ // @ts-ignore
1512
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1513
+ // @ts-ignore
1514
+ const n = <span class="cstat-no" title="statement not covered" >entity.__v_raw || entity;</span>
1515
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1516
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
1517
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1518
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1519
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
1520
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1521
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1522
+ }
1523
+ }
1524
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1525
+ }
1526
+ &nbsp;
1527
+ //================================================================================
1528
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1529
+ // 自动生成的代码已结束。下面可以手动编写。
1530
+ //================================================================================
1531
+ <span class="fstat-no" title="function not covered" > findEntityByName(</span>name: string) {
1532
+ <span class="cstat-no" title="statement not covered" > return this.entities.find(<span class="fstat-no" title="function not covered" >(e</span>ntity) =&gt; <span class="cstat-no" title="statement not covered" >entity.name === name)</span>;</span>
1533
+ }
1534
+ &nbsp;
1535
+ /**
1536
+ * 设置DataSource的名称
1537
+ */
1538
+ <span class="fstat-no" title="function not covered" > setName(</span>name: string) {
1539
+ const App = <span class="cstat-no" title="statement not covered" >this.rootNode;</span>
1540
+ <span class="cstat-no" title="statement not covered" > App.emit('collect:start', {</span>
1541
+ actionMsg: '修改数据源名称',
1542
+ });
1543
+ // 修改配置对应配置上的 datasource
1544
+ const dataSourceGroup = (<span class="cstat-no" title="statement not covered" >App as App).configuration?.getGroup('dataSource');</span>
1545
+ <span class="cstat-no" title="statement not covered" > if (dataSourceGroup) {</span>
1546
+ const dataSourceConfig = <span class="cstat-no" title="statement not covered" >dataSourceGroup.getProperty(this.name);</span>
1547
+ <span class="cstat-no" title="statement not covered" > if (dataSourceConfig) {</span>
1548
+ <span class="cstat-no" title="statement not covered" > dataSourceConfig.setName(name);</span>
1549
+ }
1550
+ }
1551
+ &nbsp;
1552
+ // 修改自己内部的名称
1553
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1554
+ name,
1555
+ };
1556
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1557
+ ...object,
1558
+ field: 'name',
1559
+ });
1560
+ // 结束修改 ,批量操作
1561
+ <span class="cstat-no" title="statement not covered" > App.emit('collect:end');</span>
1562
+ }
1563
+ &nbsp;
1564
+ getNamespace() {
1565
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.parentNode &amp;&amp; (this.parentNode as App).getNamespace) {
1566
+ const parentNamespace = (this.parentNode as App).getNamespace();
1567
+ const parentName = this.parentNode.name;
1568
+ const arr = [parentNamespace];
1569
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.parentNode.concept !== 'App' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >parentName)</span> {
1570
+ <span class="cstat-no" title="statement not covered" > arr.push(parentName);</span>
1571
+ }
1572
+ return `${arr.join('.')}.dataSources`;
1573
+ }
1574
+ <span class="cstat-no" title="statement not covered" > throw new Error('无法获取命名空间,请设置 parentNode!');</span>
1575
+ }
1576
+ &nbsp;
1577
+ <span class="fstat-no" title="function not covered" > getEntityExistingTableNames(</span>excludedList: Array&lt;Entity&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
1578
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
1579
+ <span class="cstat-no" title="statement not covered" > return ((this.entities as Entity[]) || []).filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.tableName)</span>;</span>
1580
+ }
1581
+ &nbsp;
1582
+ <span class="fstat-no" title="function not covered" > getEntityUniqueTableName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'Entity1',</span> excludedList: Array&lt;Entity&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
1583
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getEntityExistingTableNames(excludedList), undefined, true);</span>
1584
+ }
1585
+ &nbsp;
1586
+ /**
1587
+ * 根据全局设置中的数据库命名规则,生成 实体表名
1588
+ */
1589
+ <span class="fstat-no" title="function not covered" > genFormatEntityTableName(</span>entity: Entity) {
1590
+ // Excel、数据源导入的实体不进行表名格式化
1591
+ <span class="cstat-no" title="statement not covered" > if (entity.isIgnoreFormatTableAndColumnName()) {</span>
1592
+ <span class="cstat-no" title="statement not covered" > return entity.tableName;</span>
1593
+ }
1594
+ &nbsp;
1595
+ const tableNameRule = <span class="cstat-no" title="statement not covered" >this.app.preferenceMap?.['namingConvention.tableName'];</span>
1596
+ // 平台内置生成的实体需特殊处理 LCAP 前缀
1597
+ // 在驼峰规则时,保持 LCAP 前缀为大写
1598
+ // LCAPUser 转驼峰-&gt; LCAPUser
1599
+ // LCAPUser 转下划线-&gt; lcap_user *提前处理成 Lcap
1600
+ // lcap_user 转驼峰-&gt; LCAPUser *转完处理成 LCAP
1601
+ // lcap_user 转下划线-&gt; lcap_user
1602
+ const builtinEntityNames = <span class="cstat-no" title="statement not covered" >[</span>
1603
+ 'LCAPUser',
1604
+ 'LCAPRolePerMapping',
1605
+ 'LCAPLogicViewMapping',
1606
+ 'LCAPPerResMapping',
1607
+ 'LCAPUserRoleMapping',
1608
+ 'LCAPRole',
1609
+ 'LCAPPermission',
1610
+ 'LCAPResource',
1611
+ ];
1612
+ const isBuiltin = <span class="cstat-no" title="statement not covered" >builtinEntityNames.some(<span class="fstat-no" title="function not covered" >(n</span>ame) =&gt; <span class="cstat-no" title="statement not covered" >name === entity.name)</span>;</span>
1613
+ let temTableName = <span class="cstat-no" title="statement not covered" >entity.tableName || entity.name;</span>
1614
+ <span class="cstat-no" title="statement not covered" > if (isBuiltin &amp;&amp; tableNameRule === 'snake_case' &amp;&amp; temTableName.startsWith('LCAP')) {</span>
1615
+ <span class="cstat-no" title="statement not covered" > temTableName = temTableName.replace(/^LCAP/i, 'Lcap');</span>
1616
+ }
1617
+ &nbsp;
1618
+ const formatMap: Record&lt;string, Function&gt; = <span class="cstat-no" title="statement not covered" >{</span>
1619
+ camelCase: utils.snake2Camel,
1620
+ snake_case: utils.Camel2Snake,
1621
+ };
1622
+ &nbsp;
1623
+ // 格式化 entity tableName
1624
+ const tableNameFormatter = <span class="cstat-no" title="statement not covered" >formatMap[tableNameRule];</span>
1625
+ let newTableName = <span class="cstat-no" title="statement not covered" >tableNameFormatter &amp;&amp; tableNameFormatter(temTableName);</span>
1626
+ <span class="cstat-no" title="statement not covered" > if (isBuiltin &amp;&amp; tableNameRule === 'camelCase' &amp;&amp; newTableName.startsWith('Lcap')) {</span>
1627
+ <span class="cstat-no" title="statement not covered" > newTableName = newTableName.replace(/^Lcap/i, 'LCAP');</span>
1628
+ }
1629
+ <span class="cstat-no" title="statement not covered" > newTableName = this.getEntityUniqueTableName(newTableName, [entity]);</span>
1630
+ <span class="cstat-no" title="statement not covered" > return newTableName;</span>
1631
+ }
1632
+ &nbsp;
1633
+ /**
1634
+ * 生成宿主语言的文件路径
1635
+ * @param name 一般不用传,用于 rename
1636
+ */
1637
+ getEmbeddedFilePath(name = this.name) {
1638
+ return `/embedded/${this.rootNode?.name ?? <span class="branch-1 cbranch-no" title="branch not covered" >this.parentNode.name}</span>/datasources/${name}.ts`;
1639
+ }
1640
+ &nbsp;
1641
+ @withSourceMap()
1642
+ toEmbeddedTS(state = createCompilerState()): string {
1643
+ let code = `export namespace ${this.name} {\n`;
1644
+ code += 'const name = ';
1645
+ code += `"${this.name}";\n`;
1646
+ code += '}\n';
1647
+ return code;
1648
+ }
1649
+ &nbsp;
1650
+ toEmbeddedTSFile() {
1651
+ let code = `namespace ${this.getNamespace()} {\n`;
1652
+ &nbsp;
1653
+ const state = createCompilerState(code, { tabSize: 1 });
1654
+ try {
1655
+ code += this.toEmbeddedTS(state);
1656
+ } catch (err) {
1657
+ <span class="cstat-no" title="statement not covered" > code += '';</span>
1658
+ <span class="cstat-no" title="statement not covered" > console.error(err);</span>
1659
+ }
1660
+ code += '}\n';
1661
+ &nbsp;
1662
+ return {
1663
+ code,
1664
+ filePath: this.getEmbeddedFilePath(),
1665
+ sourceMap: state.sourceMap,
1666
+ };
1667
+ }
1668
+ &nbsp;
1669
+ // 测试数据源连通性
1670
+ <span class="fstat-no" title="function not covered" > async </span>pingDatabase(recordEnvConnectError: Function) {
1671
+ const configProperty = <span class="cstat-no" title="statement not covered" >this.app.configuration.getGroup('dataSource').getProperty(this.name);</span>
1672
+ <span class="cstat-no" title="statement not covered" > configProperty &amp;&amp;</span>
1673
+ configProperty.values.forEach(<span class="fstat-no" title="function not covered" >(p</span>rop) =&gt; {
1674
+ // 未配置数据源时,不进行连接测试
1675
+ <span class="cstat-no" title="statement not covered" > if (!prop.value) {</span>
1676
+ <span class="cstat-no" title="statement not covered" > return;</span>
1677
+ }
1678
+ let isRecycled = <span class="cstat-no" title="statement not covered" >false;</span>
1679
+ <span class="cstat-no" title="statement not covered" > try {</span>
1680
+ const value = <span class="cstat-no" title="statement not covered" >JSON.parse(prop.value);</span>
1681
+ // 被回收的数据库不需要 Ping
1682
+ <span class="cstat-no" title="statement not covered" > if (value.dataBaseMode === 'Platform_Generation' &amp;&amp; value.status === 1) {</span>
1683
+ <span class="cstat-no" title="statement not covered" > isRecycled = true;</span>
1684
+ }
1685
+ } catch (e) {}
1686
+ const { env } = <span class="cstat-no" title="statement not covered" >prop;</span>
1687
+ <span class="cstat-no" title="statement not covered" > return isRecycled</span>
1688
+ ? Promise.resolve()
1689
+ : datasourceService
1690
+ .pingDatabase({
1691
+ body: {
1692
+ category: 'sql',
1693
+ appId: this.app.id,
1694
+ dataSource: configProperty.name,
1695
+ env,
1696
+ },
1697
+ })
1698
+ .then(<span class="fstat-no" title="function not covered" >() =</span>&gt; {
1699
+ <span class="cstat-no" title="statement not covered" > Object.assign(this, { [`__${env}ConnectError`]: false });</span>
1700
+ })
1701
+ .catch(<span class="fstat-no" title="function not covered" >() =</span>&gt; {
1702
+ <span class="cstat-no" title="statement not covered" > Object.assign(this, { [`__${env}ConnectError`]: true });</span>
1703
+ })
1704
+ .then(<span class="fstat-no" title="function not covered" >() =</span>&gt; {
1705
+ <span class="cstat-no" title="statement not covered" > recordEnvConnectError(env);</span>
1706
+ });
1707
+ });
1708
+ }
1709
+ &nbsp;
1710
+ <span class="fstat-no" title="function not covered" > recordEnvConnectError(</span>records: any[], env: string) {
1711
+ const target = <span class="cstat-no" title="statement not covered" >records?.find(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item.id === this.id)</span>;</span>
1712
+ // 诊断还未生成,在诊断时生成问题
1713
+ <span class="cstat-no" title="statement not covered" > if (!target) {</span>
1714
+ <span class="cstat-no" title="statement not covered" > return;</span>
1715
+ }
1716
+ // 诊断已生成,手动插入问题
1717
+ const errorKey = <span class="cstat-no" title="statement not covered" >`__${env}ConnectError`;</span>
1718
+ const errorText = <span class="cstat-no" title="statement not covered" >`DataSource ${env} env connect error`;</span>
1719
+ <span class="cstat-no" title="statement not covered" > target.semanticDiagnostics = target.semanticDiagnostics.filter(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item.code !== errorText)</span>;</span>
1720
+ <span class="cstat-no" title="statement not covered" > if ((this as any)[errorKey]) {</span>
1721
+ const envText = <span class="cstat-no" title="statement not covered" >env === 'online' ? '生产' : '开发';</span>
1722
+ <span class="cstat-no" title="statement not covered" > target.semanticDiagnostics.push({</span>
1723
+ text: errorText,
1724
+ node: this,
1725
+ severity: 'warning',
1726
+ message: `数据源配置:数据源 ${this.name} ${envText}环境数据源连接不通,请先检查${envText}环境数据源配置`,
1727
+ originalDiagnostic: {
1728
+ fileName: '',
1729
+ start: null,
1730
+ end: null,
1731
+ category: 'warning',
1732
+ text: `DataSource connection error`,
1733
+ },
1734
+ });
1735
+ }
1736
+ }
1737
+ &nbsp;
1738
+ <span class="fstat-no" title="function not covered" > get d</span>ataSourceSqlType() {
1739
+ <span class="cstat-no" title="statement not covered" > return JSON.parse(this.dataSourceConfig?.devProperty?.value || '{}')?.type;</span>
1740
+ }
1741
+ &nbsp;
1742
+ // 获取datasource对应的数据源配置
1743
+ <span class="fstat-no" title="function not covered" > get d</span>ataSourceConfig() {
1744
+ let devProperty = <span class="cstat-no" title="statement not covered" >null;</span>
1745
+ let onlineProperty = <span class="cstat-no" title="statement not covered" >null;</span>
1746
+ let devValue = <span class="cstat-no" title="statement not covered" >null;</span>
1747
+ let onlineValue = <span class="cstat-no" title="statement not covered" >null;</span>
1748
+ &nbsp;
1749
+ const dataSourceGroup = (<span class="cstat-no" title="statement not covered" >this.rootNode as App).configuration?.getGroup('dataSource');</span>
1750
+ <span class="cstat-no" title="statement not covered" > if (dataSourceGroup) {</span>
1751
+ const property = <span class="cstat-no" title="statement not covered" >dataSourceGroup.getProperty(this.name);</span>
1752
+ <span class="cstat-no" title="statement not covered" > if (property &amp;&amp; property.values) {</span>
1753
+ <span class="cstat-no" title="statement not covered" > devProperty = property.values.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.env === 'dev')</span>;</span>
1754
+ <span class="cstat-no" title="statement not covered" > devValue = { ...devProperty?.toJSON?.(), ...JSON.parse(devProperty.value || '{}') };</span>
1755
+ <span class="cstat-no" title="statement not covered" > onlineProperty = property.values.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.env === 'online')</span>;</span>
1756
+ <span class="cstat-no" title="statement not covered" > onlineValue = { ...onlineProperty?.toJSON?.(), ...JSON.parse(onlineProperty?.value || '{}') };</span>
1757
+ }
1758
+ }
1759
+ <span class="cstat-no" title="statement not covered" > return {</span>
1760
+ devProperty,
1761
+ onlineProperty,
1762
+ devValue,
1763
+ onlineValue,
1764
+ };
1765
+ }
1766
+ &nbsp;
1767
+ __hasDatabaseConfig: Boolean = false;
1768
+ //================================================================================
1769
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1770
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1771
+ //================================================================================
1772
+ }
1773
+ &nbsp;
1774
+ export default DataSource;
1775
+ //================================================================================
1776
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1777
+ // 自动生成的代码已结束。下面可以手动编写。
1778
+ //================================================================================
1779
+ &nbsp;</pre></td></tr></table></pre>
1780
+
1781
+ <div class='push'></div><!-- for sticky footer -->
1782
+ </div><!-- /wrapper -->
1783
+ <div class='footer quiet pad2 space-top1 center small'>
1784
+ Code coverage generated by
1785
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1786
+ at 2023-10-27T11:50:55.546Z
1787
+ </div>
1788
+ <script src="../../prettify.js"></script>
1789
+ <script>
1790
+ window.onload = function () {
1791
+ prettyPrint();
1792
+ };
1793
+ </script>
1794
+ <script src="../../sorter.js"></script>
1795
+ <script src="../../block-navigation.js"></script>
1796
+ </body>
1797
+ </html>
1798
+