@lcap/nasl 3.3.3-beta.3 → 3.3.3-beta.4

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 (320) hide show
  1. package/coverage/base.css +224 -0
  2. package/coverage/block-navigation.js +87 -0
  3. package/coverage/favicon.png +0 -0
  4. package/coverage/index.html +461 -0
  5. package/coverage/prettify.css +1 -0
  6. package/coverage/prettify.js +2 -0
  7. package/coverage/sort-arrow-sprite.png +0 -0
  8. package/coverage/sorter.js +196 -0
  9. package/coverage/src/automate/engine/index.html +116 -0
  10. package/coverage/src/automate/engine/utils.js.html +1414 -0
  11. package/coverage/src/bak/index.html +116 -0
  12. package/coverage/src/bak/translator.js.html +745 -0
  13. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  14. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  15. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
  16. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  17. package/coverage/src/breakpoint/generator/index.html +176 -0
  18. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  19. package/coverage/src/breakpoint/index.html +116 -0
  20. package/coverage/src/breakpoint/index.ts.html +94 -0
  21. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  22. package/coverage/src/breakpoint/shared/index.html +176 -0
  23. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  25. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  26. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  27. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  28. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  29. package/coverage/src/breakpoint/store/index.html +146 -0
  30. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  31. package/coverage/src/common/BaseNode.ts.html +3904 -0
  32. package/coverage/src/common/Command.ts.html +310 -0
  33. package/coverage/src/common/EventEmitter.ts.html +370 -0
  34. package/coverage/src/common/Messager.ts.html +820 -0
  35. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  36. package/coverage/src/common/index.html +191 -0
  37. package/coverage/src/common/index.ts.html +94 -0
  38. package/coverage/src/concepts/Abort__.ts.html +331 -0
  39. package/coverage/src/concepts/Anchor__.ts.html +661 -0
  40. package/coverage/src/concepts/AnonymousFunction__.ts.html +2071 -0
  41. package/coverage/src/concepts/App__.ts.html +14095 -0
  42. package/coverage/src/concepts/Argument__.ts.html +979 -0
  43. package/coverage/src/concepts/Assignee__.ts.html +2263 -0
  44. package/coverage/src/concepts/AssignmentLine__.ts.html +412 -0
  45. package/coverage/src/concepts/Assignment__.ts.html +1162 -0
  46. package/coverage/src/concepts/Attribute__.ts.html +748 -0
  47. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  48. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1999 -0
  49. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  50. package/coverage/src/concepts/BackendVariable__.ts.html +1498 -0
  51. package/coverage/src/concepts/Backend__.ts.html +1180 -0
  52. package/coverage/src/concepts/BatchAssignment__.ts.html +3346 -0
  53. package/coverage/src/concepts/BinaryExpression__.ts.html +1543 -0
  54. package/coverage/src/concepts/BindAttribute__.ts.html +3928 -0
  55. package/coverage/src/concepts/BindDirective__.ts.html +1984 -0
  56. package/coverage/src/concepts/BindEvent__.ts.html +3463 -0
  57. package/coverage/src/concepts/BindStyle__.ts.html +1627 -0
  58. package/coverage/src/concepts/BooleanLiteral__.ts.html +421 -0
  59. package/coverage/src/concepts/CallAuthInterface__.ts.html +1630 -0
  60. package/coverage/src/concepts/CallConnector__.ts.html +925 -0
  61. package/coverage/src/concepts/CallFunction__.ts.html +2140 -0
  62. package/coverage/src/concepts/CallInterface__.ts.html +2764 -0
  63. package/coverage/src/concepts/CallLogic__.ts.html +4738 -0
  64. package/coverage/src/concepts/CallQueryComponent__.ts.html +5335 -0
  65. package/coverage/src/concepts/Comment__.ts.html +397 -0
  66. package/coverage/src/concepts/CompletionProperty__.ts.html +940 -0
  67. package/coverage/src/concepts/ConfigGroup__.ts.html +1120 -0
  68. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  69. package/coverage/src/concepts/ConfigProperty__.ts.html +1363 -0
  70. package/coverage/src/concepts/Configuration__.ts.html +1042 -0
  71. package/coverage/src/concepts/Connection__.ts.html +1375 -0
  72. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  73. package/coverage/src/concepts/Connector__.ts.html +4318 -0
  74. package/coverage/src/concepts/Constant__.ts.html +928 -0
  75. package/coverage/src/concepts/DataSource__.ts.html +1786 -0
  76. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  77. package/coverage/src/concepts/Destination__.ts.html +2743 -0
  78. package/coverage/src/concepts/End__.ts.html +436 -0
  79. package/coverage/src/concepts/EntityIndex__.ts.html +790 -0
  80. package/coverage/src/concepts/EntityProperty__.ts.html +2716 -0
  81. package/coverage/src/concepts/Entity__.ts.html +2977 -0
  82. package/coverage/src/concepts/EnumItem__.ts.html +553 -0
  83. package/coverage/src/concepts/Enum__.ts.html +1246 -0
  84. package/coverage/src/concepts/Event__.ts.html +1099 -0
  85. package/coverage/src/concepts/ExternalDestination__.ts.html +1048 -0
  86. package/coverage/src/concepts/ForEachStatement__.ts.html +1978 -0
  87. package/coverage/src/concepts/FrontendLibrary__.ts.html +1738 -0
  88. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  89. package/coverage/src/concepts/Frontend__.ts.html +4024 -0
  90. package/coverage/src/concepts/Function__.ts.html +3664 -0
  91. package/coverage/src/concepts/Identifier__.ts.html +1060 -0
  92. package/coverage/src/concepts/IfStatement__.ts.html +1621 -0
  93. package/coverage/src/concepts/Integration__.ts.html +1255 -0
  94. package/coverage/src/concepts/InterfaceParam__.ts.html +1102 -0
  95. package/coverage/src/concepts/Interface__.ts.html +3433 -0
  96. package/coverage/src/concepts/JSBlock__.ts.html +601 -0
  97. package/coverage/src/concepts/JavaLogic__.ts.html +463 -0
  98. package/coverage/src/concepts/LogicItem__.ts.html +1174 -0
  99. package/coverage/src/concepts/Logic__.ts.html +7444 -0
  100. package/coverage/src/concepts/MatchCase__.ts.html +2968 -0
  101. package/coverage/src/concepts/Match__.ts.html +2476 -0
  102. package/coverage/src/concepts/MemberExpression__.ts.html +1732 -0
  103. package/coverage/src/concepts/MetadataType__.ts.html +1996 -0
  104. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  105. package/coverage/src/concepts/Module__.ts.html +9874 -0
  106. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1060 -0
  107. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1033 -0
  108. package/coverage/src/concepts/Namespace__.ts.html +8077 -0
  109. package/coverage/src/concepts/NewComposite__.ts.html +4795 -0
  110. package/coverage/src/concepts/NewList__.ts.html +1648 -0
  111. package/coverage/src/concepts/NewMap__.ts.html +2356 -0
  112. package/coverage/src/concepts/New__.ts.html +289 -0
  113. package/coverage/src/concepts/NullLiteral__.ts.html +352 -0
  114. package/coverage/src/concepts/NumericLiteral__.ts.html +691 -0
  115. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1231 -0
  116. package/coverage/src/concepts/OverriddenLogic__.ts.html +6892 -0
  117. package/coverage/src/concepts/Param__.ts.html +1735 -0
  118. package/coverage/src/concepts/Point__.ts.html +334 -0
  119. package/coverage/src/concepts/ProcessComponent__.ts.html +1693 -0
  120. package/coverage/src/concepts/ProcessElement__.ts.html +5983 -0
  121. package/coverage/src/concepts/ProcessOutcome__.ts.html +355 -0
  122. package/coverage/src/concepts/ProcessOutcomes__.ts.html +346 -0
  123. package/coverage/src/concepts/Process__.ts.html +4831 -0
  124. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +583 -0
  125. package/coverage/src/concepts/QueryFieldExpression__.ts.html +586 -0
  126. package/coverage/src/concepts/QueryFromExpression__.ts.html +925 -0
  127. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +574 -0
  128. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1582 -0
  129. package/coverage/src/concepts/QueryLimitExpression__.ts.html +652 -0
  130. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +694 -0
  131. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1729 -0
  132. package/coverage/src/concepts/Rect__.ts.html +376 -0
  133. package/coverage/src/concepts/Return__.ts.html +1327 -0
  134. package/coverage/src/concepts/Role__.ts.html +604 -0
  135. package/coverage/src/concepts/SelectMembers__.ts.html +1261 -0
  136. package/coverage/src/concepts/Slot__.ts.html +643 -0
  137. package/coverage/src/concepts/SqlQueryComponent__.ts.html +997 -0
  138. package/coverage/src/concepts/Start__.ts.html +307 -0
  139. package/coverage/src/concepts/StringInterpolation__.ts.html +1150 -0
  140. package/coverage/src/concepts/StringLiteral__.ts.html +508 -0
  141. package/coverage/src/concepts/StructureProperty__.ts.html +1147 -0
  142. package/coverage/src/concepts/Structure__.ts.html +2119 -0
  143. package/coverage/src/concepts/SwitchCase__.ts.html +1189 -0
  144. package/coverage/src/concepts/SwitchStatement__.ts.html +892 -0
  145. package/coverage/src/concepts/Theme__.ts.html +361 -0
  146. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  147. package/coverage/src/concepts/TriggerEvent__.ts.html +1027 -0
  148. package/coverage/src/concepts/TriggerLauncher__.ts.html +778 -0
  149. package/coverage/src/concepts/TypeAnnotation__.ts.html +3880 -0
  150. package/coverage/src/concepts/TypeParam__.ts.html +322 -0
  151. package/coverage/src/concepts/UnaryExpression__.ts.html +724 -0
  152. package/coverage/src/concepts/Unparsed__.ts.html +397 -0
  153. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  154. package/coverage/src/concepts/ValidationRule__.ts.html +1855 -0
  155. package/coverage/src/concepts/Variable__.ts.html +1534 -0
  156. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  157. package/coverage/src/concepts/ViewComponent__.ts.html +4255 -0
  158. package/coverage/src/concepts/ViewElement__.ts.html +8956 -0
  159. package/coverage/src/concepts/View__.ts.html +8875 -0
  160. package/coverage/src/concepts/WhileStatement__.ts.html +1096 -0
  161. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  162. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  163. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  164. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  165. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  177. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  178. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  179. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  180. package/coverage/src/concepts/basics/types/index.html +131 -0
  181. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  182. package/coverage/src/concepts/index.html +1976 -0
  183. package/coverage/src/concepts/index.ts.html +103 -0
  184. package/coverage/src/concepts/index__.ts.html +454 -0
  185. package/coverage/src/config.ts.html +325 -0
  186. package/coverage/src/decorators/index.html +131 -0
  187. package/coverage/src/decorators/index.ts.html +574 -0
  188. package/coverage/src/decorators/promise.ts.html +169 -0
  189. package/coverage/src/eventBus.ts.html +100 -0
  190. package/coverage/src/generator/compileComponent.ts.html +142 -0
  191. package/coverage/src/generator/genBundleFiles.ts.html +1822 -0
  192. package/coverage/src/generator/genHash.ts.html +124 -0
  193. package/coverage/src/generator/genMetaData.ts.html +1129 -0
  194. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  195. package/coverage/src/generator/icestark.ts.html +220 -0
  196. package/coverage/src/generator/index.html +266 -0
  197. package/coverage/src/generator/index.ts.html +106 -0
  198. package/coverage/src/generator/microApp.ts.html +172 -0
  199. package/coverage/src/generator/permission.ts.html +1036 -0
  200. package/coverage/src/generator/qiankun.ts.html +232 -0
  201. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  202. package/coverage/src/index.html +146 -0
  203. package/coverage/src/index.ts.html +121 -0
  204. package/coverage/src/manager/diagnostic.ts.html +442 -0
  205. package/coverage/src/manager/index.html +131 -0
  206. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  207. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  208. package/coverage/src/natural/index.html +161 -0
  209. package/coverage/src/natural/index.ts.html +91 -0
  210. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  211. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  212. package/coverage/src/sentry/index.html +116 -0
  213. package/coverage/src/sentry/index.ts.html +676 -0
  214. package/coverage/src/server/createUiTs.ts.html +919 -0
  215. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  216. package/coverage/src/server/event.js.html +526 -0
  217. package/coverage/src/server/extendBaseNode.ts.html +1765 -0
  218. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  219. package/coverage/src/server/getConnector.ts.html +316 -0
  220. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  221. package/coverage/src/server/getFunctions.ts.html +133 -0
  222. package/coverage/src/server/getInterfaces.ts.html +229 -0
  223. package/coverage/src/server/getLogging.ts.html +100 -0
  224. package/coverage/src/server/getLogics.ts.html +1363 -0
  225. package/coverage/src/server/getMemberIdentifier.ts.html +1609 -0
  226. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  227. package/coverage/src/server/getProcesses.ts.html +2023 -0
  228. package/coverage/src/server/getValidates.ts.html +115 -0
  229. package/coverage/src/server/index.html +401 -0
  230. package/coverage/src/server/index.ts.html +229 -0
  231. package/coverage/src/server/naslServer.ts.html +14812 -0
  232. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  233. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  234. package/coverage/src/server/translator.ts.html +2566 -0
  235. package/coverage/src/service/creator/add.configs.js.html +397 -0
  236. package/coverage/src/service/creator/errHandles.js.html +304 -0
  237. package/coverage/src/service/creator/index.html +146 -0
  238. package/coverage/src/service/creator/index.js.html +352 -0
  239. package/coverage/src/service/datasource/api.js.html +118 -0
  240. package/coverage/src/service/datasource/index.html +131 -0
  241. package/coverage/src/service/datasource/index.js.html +103 -0
  242. package/coverage/src/service/logic/api.js.html +109 -0
  243. package/coverage/src/service/logic/index.html +131 -0
  244. package/coverage/src/service/logic/index.js.html +103 -0
  245. package/coverage/src/service/storage/api.js.html +202 -0
  246. package/coverage/src/service/storage/index.html +206 -0
  247. package/coverage/src/service/storage/index.ts.html +103 -0
  248. package/coverage/src/service/storage/init.ts.html +3661 -0
  249. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  250. package/coverage/src/service/storage/map.ts.html +256 -0
  251. package/coverage/src/service/storage/service.ts.html +331 -0
  252. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  253. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  254. package/coverage/src/templator/genCreateBlock.ts.html +1084 -0
  255. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1627 -0
  256. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2242 -0
  257. package/coverage/src/templator/genEditTableBlock.ts.html +1024 -0
  258. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  259. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  260. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  261. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  262. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  263. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  264. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  265. package/coverage/src/templator/genUpdateBlock.ts.html +1204 -0
  266. package/coverage/src/templator/index.html +326 -0
  267. package/coverage/src/templator/index.ts.html +154 -0
  268. package/coverage/src/templator/utils.ts.html +1927 -0
  269. package/coverage/src/translator/constant.ts.html +106 -0
  270. package/coverage/src/translator/index.html +146 -0
  271. package/coverage/src/translator/index.ts.html +94 -0
  272. package/coverage/src/translator/utils.ts.html +493 -0
  273. package/coverage/src/utils/cookie.ts.html +265 -0
  274. package/coverage/src/utils/env.ts.html +91 -0
  275. package/coverage/src/utils/index.html +236 -0
  276. package/coverage/src/utils/index.ts.html +748 -0
  277. package/coverage/src/utils/logger.ts.html +145 -0
  278. package/coverage/src/utils/sortTsString.ts.html +187 -0
  279. package/coverage/src/utils/string.ts.html +502 -0
  280. package/coverage/src/utils/time-slicing.ts.html +418 -0
  281. package/coverage/src/utils/traverse.ts.html +568 -0
  282. package/coverage/src/utils/window.ts.html +112 -0
  283. package/out/common/BaseNode.d.ts +22 -11
  284. package/out/common/BaseNode.js +20 -0
  285. package/out/common/BaseNode.js.map +1 -1
  286. package/out/concepts/CallInterface__.js +12 -8
  287. package/out/concepts/CallInterface__.js.map +1 -1
  288. package/out/concepts/CallQueryComponent__.js +4 -13
  289. package/out/concepts/CallQueryComponent__.js.map +1 -1
  290. package/out/concepts/NewComposite__.js +16 -7
  291. package/out/concepts/NewComposite__.js.map +1 -1
  292. package/out/concepts/View__.js +9 -4
  293. package/out/concepts/View__.js.map +1 -1
  294. package/out/concepts/types__.d.ts +2 -3
  295. package/out/decorators/index.d.ts +3 -3
  296. package/out/generator/genMetaData.js +4 -4
  297. package/out/generator/genMetaData.js.map +1 -1
  298. package/out/generator/genReleaseBody.js +7 -5
  299. package/out/generator/genReleaseBody.js.map +1 -1
  300. package/out/server/formatTsUtils.d.ts +3 -3
  301. package/out/server/getMemberIdentifier.d.ts +4 -4
  302. package/out/server/getMemberIdentifier.js +2 -2
  303. package/out/server/getMemberIdentifier.js.map +1 -1
  304. package/out/server/naslServer.js +2 -2
  305. package/out/server/naslServer.js.map +1 -1
  306. package/package.json +1 -1
  307. package/sandbox/stdlib/nasl.util.ts +142 -142
  308. package/src/common/BaseNode.ts +45 -23
  309. package/src/concepts/CallInterface__.ts +16 -12
  310. package/src/concepts/CallQueryComponent__.ts +4 -12
  311. package/src/concepts/NewComposite__.ts +16 -7
  312. package/src/concepts/View__.ts +12 -7
  313. package/src/concepts/types__.ts +2 -4
  314. package/src/decorators/index.ts +4 -4
  315. package/src/generator/genMetaData.ts +4 -4
  316. package/src/generator/genReleaseBody.ts +8 -4
  317. package/src/server/formatTsUtils.ts +8 -8
  318. package/src/server/getMemberIdentifier.ts +6 -6
  319. package/src/server/naslServer.ts +4 -4
  320. package/src/service/storage/init.ts +2 -2
@@ -0,0 +1,1174 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/LogicItem__.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> LogicItem__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">35.48% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>22/62</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/10</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">17.24% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>5/29</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">33.92% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>19/56</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-yes">1x</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-yes">1x</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-yes">1x</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-yes">1x</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-yes">1x</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-yes">1x</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-yes">1x</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-yes">1382x</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-yes">1x</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-yes">1x</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-no">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-no">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-yes">81x</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-yes">100x</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-no">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-no">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-no">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-yes">7x</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-no">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-no">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-no">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-yes">1382x</span>
634
+ <span class="cline-any cline-yes">1382x</span>
635
+ <span class="cline-any cline-yes">1382x</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-yes">1195x</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-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-no">&nbsp;</span>
648
+ <span class="cline-any cline-no">&nbsp;</span>
649
+ <span class="cline-any cline-no">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-no">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</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-no">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</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-no">&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-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-no">&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-neutral">&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-no">&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-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-no">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-no">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-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-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-no">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&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-no">&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-no">&nbsp;</span>
769
+ <span class="cline-any cline-no">&nbsp;</span>
770
+ <span class="cline-any cline-no">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-no">&nbsp;</span>
774
+ <span class="cline-any cline-no">&nbsp;</span>
775
+ <span class="cline-any cline-no">&nbsp;</span>
776
+ <span class="cline-any cline-no">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-yes">1x</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></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, createCompilerState } from '../translator';
793
+ import { ElementToVueOptions } from './ViewElement__';
794
+ import CallQueryComponent from './CallQueryComponent__';
795
+ import CallInterface from './CallInterface__';
796
+ &nbsp;
797
+ //================================================================================
798
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
799
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
800
+ //================================================================================
801
+ import { EventPayload, Params } from '../common/EventEmitter';
802
+ import { concept, excludedInJSON, property, className } from '../decorators';
803
+ &nbsp;
804
+ import * as utils from '../utils';
805
+ import { v4 as uuidv4 } from 'uuid';
806
+ import BaseNode from '../common/BaseNode';
807
+ import OverriddenLogic from './OverriddenLogic__';
808
+ import Logic from './Logic__';
809
+ import AuthLogic from './AuthLogic__';
810
+ import AuthLogicForCallInterface from './AuthLogicForCallInterface__';
811
+ import Module from './Module__';
812
+ import App from './App__';
813
+ import View from './View__';
814
+ import Frontend from './Frontend__';
815
+ import ProcessElement from './ProcessElement__';
816
+ import Process from './Process__';
817
+ import Connector from './Connector__';
818
+ &nbsp;
819
+ /**
820
+ * 逻辑项
821
+ */
822
+ @className
823
+ @concept('逻辑项')
824
+ // @ts-ignore
825
+ export class LogicItem extends BaseNode {
826
+ /** 类名 */
827
+ static readonly ConceptName = 'LogicItem';
828
+ &nbsp;
829
+ /**
830
+ * 产品概念
831
+ */
832
+ @property('concept')
833
+ // @ts-ignore
834
+ readonly concept!:
835
+ | 'LogicItem'
836
+ | 'AnonymousFunction'
837
+ | 'Abort'
838
+ | 'Start'
839
+ | 'End'
840
+ | 'IfStatement'
841
+ | 'SwitchStatement'
842
+ | 'SwitchCase'
843
+ | 'ForEachStatement'
844
+ | 'WhileStatement'
845
+ | 'Assignment'
846
+ | 'BatchAssignment'
847
+ | 'Comment'
848
+ | 'CallLogic'
849
+ | 'CallConnector'
850
+ | 'CallFunction'
851
+ | 'CallInterface'
852
+ | 'CallAuthInterface'
853
+ | 'Destination'
854
+ | 'ExternalDestination'
855
+ | 'ValidationRule'
856
+ | 'Argument'
857
+ | 'Anchor'
858
+ | 'JSBlock'
859
+ | 'JavaLogic'
860
+ | 'Identifier'
861
+ | 'NullLiteral'
862
+ | 'BooleanLiteral'
863
+ | 'StringLiteral'
864
+ | 'StringInterpolation'
865
+ | 'NumericLiteral'
866
+ | 'BinaryExpression'
867
+ | 'MatchCase'
868
+ | 'Match'
869
+ | 'UnaryExpression'
870
+ | 'MemberExpression'
871
+ | 'Unparsed'
872
+ | 'New'
873
+ | 'NewComposite'
874
+ | 'NewList'
875
+ | 'NewMap'
876
+ | 'CallQueryComponent'
877
+ | 'QueryFromExpression'
878
+ | 'QueryJoinExpression'
879
+ | 'QueryFieldExpression'
880
+ | 'QueryAggregateExpression'
881
+ | 'QueryOrderByExpression'
882
+ | 'QueryGroupByExpression'
883
+ | 'QuerySelectExpression'
884
+ | 'QueryLimitExpression'
885
+ | 'SqlQueryComponent'
886
+ | 'OqlQueryComponent'
887
+ | 'ProcessOutcome'
888
+ | 'Assignee'
889
+ | 'ProcessOutcomes';
890
+ &nbsp;
891
+ /**
892
+ * 逻辑项标题
893
+ */
894
+ @property()
895
+ // @ts-ignore
896
+ label!: string;
897
+ &nbsp;
898
+ /**
899
+ * 逻辑项描述
900
+ */
901
+ @property()
902
+ // @ts-ignore
903
+ description!: string;
904
+ &nbsp;
905
+ /**
906
+ * 是否折叠
907
+ */
908
+ @property()
909
+ folded: boolean = false;
910
+ &nbsp;
911
+ /**
912
+ * offsetX
913
+ */
914
+ @property()
915
+ // @ts-ignore
916
+ offsetX!: number;
917
+ &nbsp;
918
+ /**
919
+ * offsetY
920
+ */
921
+ @property()
922
+ // @ts-ignore
923
+ offsetY!: number;
924
+ &nbsp;
925
+ /**
926
+ * 祖先 OverriddenLogic
927
+ */
928
+ <span class="fstat-no" title="function not covered" > get O</span>verriddenLogic() {
929
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('OverriddenLogic') as OverriddenLogic;</span>
930
+ }
931
+ /**
932
+ * 祖先 Module
933
+ */
934
+ <span class="fstat-no" title="function not covered" > get m</span>odule() {
935
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Module') as Module;</span>
936
+ }
937
+ /**
938
+ * 祖先 App
939
+ */
940
+ get app() {
941
+ return this.getAncestor('App') as App;
942
+ }
943
+ /**
944
+ * 祖先 View
945
+ */
946
+ get view() {
947
+ return this.getAncestor('View') as View;
948
+ }
949
+ /**
950
+ * 祖先 Frontend
951
+ */
952
+ <span class="fstat-no" title="function not covered" > get f</span>rontend() {
953
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Frontend') as Frontend;</span>
954
+ }
955
+ /**
956
+ * 祖先 ProcessElement
957
+ */
958
+ <span class="fstat-no" title="function not covered" > get p</span>rocessElement() {
959
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('ProcessElement') as ProcessElement;</span>
960
+ }
961
+ /**
962
+ * 祖先 Process
963
+ */
964
+ <span class="fstat-no" title="function not covered" > get p</span>rocess() {
965
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Process') as Process;</span>
966
+ }
967
+ /**
968
+ * 祖先 Logic
969
+ */
970
+ get logic() {
971
+ return this.getAncestor('Logic') as Logic;
972
+ }
973
+ /**
974
+ * 祖先 Connector
975
+ */
976
+ <span class="fstat-no" title="function not covered" > get c</span>onnector() {
977
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Connector') as Connector;</span>
978
+ }
979
+ /**
980
+ * 祖先 AuthLogic
981
+ */
982
+ <span class="fstat-no" title="function not covered" > get A</span>uthLogic() {
983
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('AuthLogic') as AuthLogic;</span>
984
+ }
985
+ /**
986
+ * 祖先 AuthLogicForCallInterface
987
+ */
988
+ <span class="fstat-no" title="function not covered" > get A</span>uthLogicForCallInterface() {
989
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('AuthLogicForCallInterface') as AuthLogicForCallInterface;</span>
990
+ }
991
+ &nbsp;
992
+ /**
993
+ * @param source 需要合并的部分参数
994
+ */
995
+ constructor(source?: Partial&lt;LogicItem&gt;) {
996
+ source = Object.assign({}, LogicItem.getDefaultOptions(), source);
997
+ super(source);
998
+ super.subConstructor(source);
999
+ }
1000
+ &nbsp;
1001
+ static from(source: any, parentNode?: any, parentKey?: string): LogicItem {
1002
+ return super.from(source, parentNode, parentKey) as LogicItem;
1003
+ }
1004
+ &nbsp;
1005
+ /**
1006
+ * 从父级删除该节点
1007
+ * @internal
1008
+ */
1009
+ <span class="fstat-no" title="function not covered" > _delete(</span>) {
1010
+ let params: Params = <span class="cstat-no" title="statement not covered" >null;</span>
1011
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
1012
+ <span class="cstat-no" title="statement not covered" > params = (this.parentNode as any)?.__removeLogicItem?.(this);</span>
1013
+ }
1014
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1015
+ }
1016
+ /**
1017
+ * 设置逻辑项标题
1018
+ */
1019
+ <span class="fstat-no" title="function not covered" > setLabel(</span>label: string) {
1020
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1021
+ label,
1022
+ };
1023
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1024
+ ...object,
1025
+ });
1026
+ }
1027
+ &nbsp;
1028
+ /**
1029
+ * 设置逻辑项描述
1030
+ */
1031
+ <span class="fstat-no" title="function not covered" > setDescription(</span>description: string) {
1032
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1033
+ description,
1034
+ };
1035
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1036
+ ...object,
1037
+ });
1038
+ }
1039
+ &nbsp;
1040
+ /**
1041
+ * 设置是否折叠
1042
+ */
1043
+ <span class="fstat-no" title="function not covered" > setFolded(</span>folded: boolean) {
1044
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1045
+ folded,
1046
+ };
1047
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1048
+ ...object,
1049
+ });
1050
+ }
1051
+ &nbsp;
1052
+ //================================================================================
1053
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1054
+ // 自动生成的代码已结束。下面可以手动编写。
1055
+ //================================================================================
1056
+ <span class="fstat-no" title="function not covered" > get c</span>ompleteName() {
1057
+ <span class="cstat-no" title="statement not covered" > return this.name;</span>
1058
+ }
1059
+ &nbsp;
1060
+ /**
1061
+ * 设置逻辑节点位置
1062
+ * @param offsetX
1063
+ * @param offsetY
1064
+ */
1065
+ <span class="fstat-no" title="function not covered" > async </span>setPosition(offsetX: number, offsetY: number) {
1066
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1067
+ offsetX,
1068
+ offsetY,
1069
+ };
1070
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1071
+ ...object,
1072
+ });
1073
+ }
1074
+ &nbsp;
1075
+ /**
1076
+ * 生成概要信息
1077
+ */
1078
+ <span class="fstat-no" title="function not covered" > toSummary(</span>) {
1079
+ <span class="cstat-no" title="statement not covered" > return '[编译方法未实现]';</span>
1080
+ }
1081
+ &nbsp;
1082
+ <span class="fstat-no" title="function not covered" > toVue(</span>options?: ElementToVueOptions) {
1083
+ <span class="cstat-no" title="statement not covered" > return '[编译方法未实现]';</span>
1084
+ }
1085
+ &nbsp;
1086
+ <span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState, isLast?: boolean): string {
1087
+ <span class="cstat-no" title="statement not covered" > return '[编译方法未实现]';</span>
1088
+ }
1089
+ &nbsp;
1090
+ /**
1091
+ * 生成 JS 代码
1092
+ * @param state 编译状态
1093
+ * @returns 生成的代码
1094
+ */
1095
+ <span class="fstat-no" title="function not covered" > toJS(</span>state?: TranslatorState): string {
1096
+ <span class="cstat-no" title="statement not covered" > return '[编译方法未实现]';</span>
1097
+ }
1098
+ &nbsp;
1099
+ /**
1100
+ * 生成 TS 代码
1101
+ * @param state 编译状态
1102
+ * @returns 生成的代码
1103
+ */
1104
+ <span class="fstat-no" title="function not covered" > toTS(</span>state?: TranslatorState): string {
1105
+ <span class="cstat-no" title="statement not covered" > return this.toJS(state);</span>
1106
+ }
1107
+ &nbsp;
1108
+ <span class="fstat-no" title="function not covered" > toBrief(</span>): string {
1109
+ <span class="cstat-no" title="statement not covered" > return '-';</span>
1110
+ }
1111
+ &nbsp;
1112
+ /**
1113
+ * 生成 TS 宿主语言代码
1114
+ * @param state 编译状态
1115
+ * @returns 生成的代码
1116
+ */
1117
+ <span class="fstat-no" title="function not covered" > toEmbeddedTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
1118
+ <span class="cstat-no" title="statement not covered" > return this.toJS(state);</span>
1119
+ }
1120
+ &nbsp;
1121
+ /**
1122
+ * 生成自然的 TS 代码
1123
+ * @param state 编译状态
1124
+ * @returns 生成的代码
1125
+ */
1126
+ <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: string {
1127
+ <span class="cstat-no" title="statement not covered" > return this.toEmbeddedTS(state);</span>
1128
+ }
1129
+ &nbsp;
1130
+ <span class="fstat-no" title="function not covered" > delete(</span>) {
1131
+ let actionMsg = <span class="cstat-no" title="statement not covered" >'删除逻辑项';</span>
1132
+ <span class="cstat-no" title="statement not covered" > if (this.name) <span class="cstat-no" title="statement not covered" >actionMsg += `“${this.name}”`;</span></span>
1133
+ <span class="cstat-no" title="statement not covered" > this.app?.emit('collect:start', {</span>
1134
+ actionMsg,
1135
+ });
1136
+ <span class="cstat-no" title="statement not covered" > super.delete();</span>
1137
+ <span class="cstat-no" title="statement not covered" > this.traverseChildren(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; {</span>
1138
+ <span class="cstat-no" title="statement not covered" > if (el?.concept === 'CallQueryComponent') (<span class="cstat-no" title="statement not covered" >el as CallQueryComponent).removeStructure();</span></span>
1139
+ else <span class="cstat-no" title="statement not covered" >if (['CallInterface', 'CallAuthInterface'].includes(el?.concept)) (<span class="cstat-no" title="statement not covered" >el as CallInterface).deleteCallNode();</span></span>
1140
+ });
1141
+ <span class="cstat-no" title="statement not covered" > this.app?.emit('collect:end');</span>
1142
+ }
1143
+ &nbsp;
1144
+ //================================================================================
1145
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1146
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1147
+ //================================================================================
1148
+ }
1149
+ &nbsp;
1150
+ export default LogicItem;
1151
+ //================================================================================
1152
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1153
+ // 自动生成的代码已结束。下面可以手动编写。
1154
+ //================================================================================
1155
+ &nbsp;</pre></td></tr></table></pre>
1156
+
1157
+ <div class='push'></div><!-- for sticky footer -->
1158
+ </div><!-- /wrapper -->
1159
+ <div class='footer quiet pad2 space-top1 center small'>
1160
+ Code coverage generated by
1161
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1162
+ at 2023-10-31T12:16:02.007Z
1163
+ </div>
1164
+ <script src="../../prettify.js"></script>
1165
+ <script>
1166
+ window.onload = function () {
1167
+ prettyPrint();
1168
+ };
1169
+ </script>
1170
+ <script src="../../sorter.js"></script>
1171
+ <script src="../../block-navigation.js"></script>
1172
+ </body>
1173
+ </html>
1174
+