@lcap/nasl 3.3.3-beta.7 → 3.3.3-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/.nyc_output/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  2. package/.nyc_output/processinfo/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +476 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +718 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1282 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +196 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +4303 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +206 -0
  40. package/coverage/src/common/index.ts.html +97 -0
  41. package/coverage/src/common/utils.ts.html +136 -0
  42. package/coverage/src/concepts/Abort__.ts.html +358 -0
  43. package/coverage/src/concepts/AbstractInterface__.ts.html +280 -0
  44. package/coverage/src/concepts/Anchor__.ts.html +703 -0
  45. package/coverage/src/concepts/AnonymousFunction__.ts.html +2122 -0
  46. package/coverage/src/concepts/App__.ts.html +14305 -0
  47. package/coverage/src/concepts/Argument__.ts.html +1033 -0
  48. package/coverage/src/concepts/Assignee__.ts.html +2326 -0
  49. package/coverage/src/concepts/AssignmentLine__.ts.html +442 -0
  50. package/coverage/src/concepts/Assignment__.ts.html +1201 -0
  51. package/coverage/src/concepts/Attribute__.ts.html +760 -0
  52. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  53. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1948 -0
  54. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  55. package/coverage/src/concepts/BackendVariable__.ts.html +1567 -0
  56. package/coverage/src/concepts/Backend__.ts.html +1243 -0
  57. package/coverage/src/concepts/BatchAssignment__.ts.html +3406 -0
  58. package/coverage/src/concepts/BinaryExpression__.ts.html +1519 -0
  59. package/coverage/src/concepts/BindAttribute__.ts.html +3955 -0
  60. package/coverage/src/concepts/BindDirective__.ts.html +2026 -0
  61. package/coverage/src/concepts/BindEvent__.ts.html +3502 -0
  62. package/coverage/src/concepts/BindStyle__.ts.html +1669 -0
  63. package/coverage/src/concepts/Block__.ts.html +910 -0
  64. package/coverage/src/concepts/BooleanLiteral__.ts.html +445 -0
  65. package/coverage/src/concepts/CallAuthInterface__.ts.html +1672 -0
  66. package/coverage/src/concepts/CallConnector__.ts.html +949 -0
  67. package/coverage/src/concepts/CallFunction__.ts.html +2290 -0
  68. package/coverage/src/concepts/CallInterface__.ts.html +2752 -0
  69. package/coverage/src/concepts/CallLogic__.ts.html +4924 -0
  70. package/coverage/src/concepts/CallQueryComponent__.ts.html +5341 -0
  71. package/coverage/src/concepts/Comment__.ts.html +427 -0
  72. package/coverage/src/concepts/CompletionProperty__.ts.html +952 -0
  73. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  74. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  75. package/coverage/src/concepts/ConfigProperty__.ts.html +1405 -0
  76. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  77. package/coverage/src/concepts/Connection__.ts.html +1435 -0
  78. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  79. package/coverage/src/concepts/Connector__.ts.html +4378 -0
  80. package/coverage/src/concepts/Constant__.ts.html +973 -0
  81. package/coverage/src/concepts/CountersignPolicy__.ts.html +316 -0
  82. package/coverage/src/concepts/DataSource__.ts.html +1825 -0
  83. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  84. package/coverage/src/concepts/DefaultValue__.ts.html +1000 -0
  85. package/coverage/src/concepts/Destination__.ts.html +2773 -0
  86. package/coverage/src/concepts/End__.ts.html +463 -0
  87. package/coverage/src/concepts/EntityIndex__.ts.html +817 -0
  88. package/coverage/src/concepts/EntityProperty__.ts.html +2776 -0
  89. package/coverage/src/concepts/Entity__.ts.html +3028 -0
  90. package/coverage/src/concepts/EnumItem__.ts.html +580 -0
  91. package/coverage/src/concepts/Enum__.ts.html +1291 -0
  92. package/coverage/src/concepts/Event__.ts.html +1111 -0
  93. package/coverage/src/concepts/ExternalDestination__.ts.html +1087 -0
  94. package/coverage/src/concepts/ForEachStatement__.ts.html +2005 -0
  95. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  96. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  97. package/coverage/src/concepts/Frontend__.ts.html +4117 -0
  98. package/coverage/src/concepts/Function__.ts.html +3751 -0
  99. package/coverage/src/concepts/I18nInfo__.ts.html +436 -0
  100. package/coverage/src/concepts/Identifier__.ts.html +1087 -0
  101. package/coverage/src/concepts/IfStatement__.ts.html +1657 -0
  102. package/coverage/src/concepts/ImportedInterface__.ts.html +268 -0
  103. package/coverage/src/concepts/Integration__.ts.html +1279 -0
  104. package/coverage/src/concepts/InterfaceParam__.ts.html +1144 -0
  105. package/coverage/src/concepts/Interface__.ts.html +3496 -0
  106. package/coverage/src/concepts/JSBlock__.ts.html +451 -0
  107. package/coverage/src/concepts/JavaLogic__.ts.html +493 -0
  108. package/coverage/src/concepts/LogicItem__.ts.html +1201 -0
  109. package/coverage/src/concepts/Logic__.ts.html +7495 -0
  110. package/coverage/src/concepts/MatchCase__.ts.html +3013 -0
  111. package/coverage/src/concepts/Match__.ts.html +2527 -0
  112. package/coverage/src/concepts/MemberExpression__.ts.html +1783 -0
  113. package/coverage/src/concepts/MetadataType__.ts.html +2053 -0
  114. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  115. package/coverage/src/concepts/Module__.ts.html +9874 -0
  116. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  117. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  118. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +292 -0
  119. package/coverage/src/concepts/Namespace__.ts.html +8209 -0
  120. package/coverage/src/concepts/NewComposite__.ts.html +4909 -0
  121. package/coverage/src/concepts/NewList__.ts.html +1756 -0
  122. package/coverage/src/concepts/NewMap__.ts.html +2431 -0
  123. package/coverage/src/concepts/New__.ts.html +319 -0
  124. package/coverage/src/concepts/NullLiteral__.ts.html +376 -0
  125. package/coverage/src/concepts/NumericLiteral__.ts.html +730 -0
  126. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1267 -0
  127. package/coverage/src/concepts/OverriddenLogic__.ts.html +6940 -0
  128. package/coverage/src/concepts/Param__.ts.html +1801 -0
  129. package/coverage/src/concepts/Point__.ts.html +334 -0
  130. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  131. package/coverage/src/concepts/ProcessElement__.ts.html +6292 -0
  132. package/coverage/src/concepts/ProcessOutcome__.ts.html +424 -0
  133. package/coverage/src/concepts/ProcessOutcomes__.ts.html +415 -0
  134. package/coverage/src/concepts/Process__.ts.html +4915 -0
  135. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +619 -0
  136. package/coverage/src/concepts/QueryFieldExpression__.ts.html +613 -0
  137. package/coverage/src/concepts/QueryFromExpression__.ts.html +970 -0
  138. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +610 -0
  139. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1627 -0
  140. package/coverage/src/concepts/QueryLimitExpression__.ts.html +694 -0
  141. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +739 -0
  142. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  143. package/coverage/src/concepts/Rect__.ts.html +376 -0
  144. package/coverage/src/concepts/Return__.ts.html +1393 -0
  145. package/coverage/src/concepts/Role__.ts.html +631 -0
  146. package/coverage/src/concepts/SelectMembers__.ts.html +1303 -0
  147. package/coverage/src/concepts/SequentialPolicy__.ts.html +259 -0
  148. package/coverage/src/concepts/Slot__.ts.html +655 -0
  149. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1042 -0
  150. package/coverage/src/concepts/Start__.ts.html +331 -0
  151. package/coverage/src/concepts/StaticString__.ts.html +403 -0
  152. package/coverage/src/concepts/StringInterpolation__.ts.html +1210 -0
  153. package/coverage/src/concepts/StringLiteral__.ts.html +535 -0
  154. package/coverage/src/concepts/StructureProperty__.ts.html +1189 -0
  155. package/coverage/src/concepts/Structure__.ts.html +2176 -0
  156. package/coverage/src/concepts/SwitchCase__.ts.html +1225 -0
  157. package/coverage/src/concepts/SwitchStatement__.ts.html +934 -0
  158. package/coverage/src/concepts/Theme__.ts.html +361 -0
  159. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  160. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  161. package/coverage/src/concepts/TriggerLauncher__.ts.html +808 -0
  162. package/coverage/src/concepts/TypeAnnotation__.ts.html +3949 -0
  163. package/coverage/src/concepts/TypeParam__.ts.html +349 -0
  164. package/coverage/src/concepts/UnaryExpression__.ts.html +775 -0
  165. package/coverage/src/concepts/Unparsed__.ts.html +418 -0
  166. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  167. package/coverage/src/concepts/ValidationRule__.ts.html +1879 -0
  168. package/coverage/src/concepts/Variable__.ts.html +1570 -0
  169. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  170. package/coverage/src/concepts/ViewComponent__.ts.html +4255 -0
  171. package/coverage/src/concepts/ViewElement__.ts.html +9013 -0
  172. package/coverage/src/concepts/View__.ts.html +8932 -0
  173. package/coverage/src/concepts/WhileStatement__.ts.html +1126 -0
  174. package/coverage/src/concepts/basics/constants.ts.html +88 -0
  175. package/coverage/src/concepts/basics/index.html +116 -0
  176. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  177. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  180. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  181. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  182. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  183. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  184. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  185. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  186. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  187. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  188. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  189. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  190. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  191. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  192. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  193. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  194. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  195. package/coverage/src/concepts/basics/types/index.html +131 -0
  196. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  197. package/coverage/src/concepts/index.html +2021 -0
  198. package/coverage/src/concepts/index.ts.html +103 -0
  199. package/coverage/src/concepts/index__.ts.html +463 -0
  200. package/coverage/src/concepts/utils/asserts.ts.html +27967 -0
  201. package/coverage/src/concepts/utils/index.html +116 -0
  202. package/coverage/src/config.ts.html +325 -0
  203. package/coverage/src/decorators/index.html +131 -0
  204. package/coverage/src/decorators/index.ts.html +574 -0
  205. package/coverage/src/decorators/promise.ts.html +169 -0
  206. package/coverage/src/eventBus.ts.html +100 -0
  207. package/coverage/src/generator/compileComponent.ts.html +142 -0
  208. package/coverage/src/generator/genBundleFiles.ts.html +1822 -0
  209. package/coverage/src/generator/genHash.ts.html +124 -0
  210. package/coverage/src/generator/genMetaData.ts.html +1129 -0
  211. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  212. package/coverage/src/generator/icestark.ts.html +226 -0
  213. package/coverage/src/generator/index.html +266 -0
  214. package/coverage/src/generator/index.ts.html +106 -0
  215. package/coverage/src/generator/microApp.ts.html +172 -0
  216. package/coverage/src/generator/permission.ts.html +1108 -0
  217. package/coverage/src/generator/qiankun.ts.html +238 -0
  218. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  219. package/coverage/src/index.html +146 -0
  220. package/coverage/src/index.ts.html +121 -0
  221. package/coverage/src/manager/diagnostic.ts.html +439 -0
  222. package/coverage/src/manager/index.html +131 -0
  223. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  224. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  225. package/coverage/src/natural/index.html +161 -0
  226. package/coverage/src/natural/index.ts.html +91 -0
  227. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  228. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  229. package/coverage/src/sentry/index.html +116 -0
  230. package/coverage/src/sentry/index.ts.html +682 -0
  231. package/coverage/src/server/createUiTs.ts.html +919 -0
  232. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  233. package/coverage/src/server/event.js.html +526 -0
  234. package/coverage/src/server/extendBaseNode.ts.html +1792 -0
  235. package/coverage/src/server/formatTsUtils.ts.html +2692 -0
  236. package/coverage/src/server/getConnector.ts.html +316 -0
  237. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  238. package/coverage/src/server/getFunctions.ts.html +133 -0
  239. package/coverage/src/server/getInterfaces.ts.html +229 -0
  240. package/coverage/src/server/getLogging.ts.html +100 -0
  241. package/coverage/src/server/getLogics.ts.html +1375 -0
  242. package/coverage/src/server/getMemberIdentifier.ts.html +1672 -0
  243. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  244. package/coverage/src/server/getProcesses.ts.html +2173 -0
  245. package/coverage/src/server/getValidates.ts.html +115 -0
  246. package/coverage/src/server/index.html +401 -0
  247. package/coverage/src/server/index.ts.html +232 -0
  248. package/coverage/src/server/naslServer.ts.html +14659 -0
  249. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  250. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  251. package/coverage/src/server/translator.ts.html +2611 -0
  252. package/coverage/src/service/creator/add.configs.js.html +397 -0
  253. package/coverage/src/service/creator/errHandles.js.html +313 -0
  254. package/coverage/src/service/creator/index.html +146 -0
  255. package/coverage/src/service/creator/index.js.html +352 -0
  256. package/coverage/src/service/datasource/api.js.html +118 -0
  257. package/coverage/src/service/datasource/index.html +131 -0
  258. package/coverage/src/service/datasource/index.js.html +103 -0
  259. package/coverage/src/service/logic/api.js.html +109 -0
  260. package/coverage/src/service/logic/index.html +131 -0
  261. package/coverage/src/service/logic/index.js.html +103 -0
  262. package/coverage/src/service/storage/api.js.html +202 -0
  263. package/coverage/src/service/storage/index.html +206 -0
  264. package/coverage/src/service/storage/index.ts.html +103 -0
  265. package/coverage/src/service/storage/init.ts.html +3694 -0
  266. package/coverage/src/service/storage/jsoner.ts.html +565 -0
  267. package/coverage/src/service/storage/map.ts.html +256 -0
  268. package/coverage/src/service/storage/service.ts.html +331 -0
  269. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  270. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  271. package/coverage/src/templator/genCreateBlock.ts.html +1072 -0
  272. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  273. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2236 -0
  274. package/coverage/src/templator/genEditTableBlock.ts.html +1018 -0
  275. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  276. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  277. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  278. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  279. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  280. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  281. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  282. package/coverage/src/templator/genUpdateBlock.ts.html +1195 -0
  283. package/coverage/src/templator/index.html +326 -0
  284. package/coverage/src/templator/index.ts.html +154 -0
  285. package/coverage/src/templator/utils.ts.html +1924 -0
  286. package/coverage/src/translator/constant.ts.html +106 -0
  287. package/coverage/src/translator/index.html +146 -0
  288. package/coverage/src/translator/index.ts.html +94 -0
  289. package/coverage/src/translator/utils.ts.html +757 -0
  290. package/coverage/src/utils/cookie.ts.html +265 -0
  291. package/coverage/src/utils/env.ts.html +91 -0
  292. package/coverage/src/utils/i18nInfo.ts.html +166 -0
  293. package/coverage/src/utils/index.html +221 -0
  294. package/coverage/src/utils/index.ts.html +748 -0
  295. package/coverage/src/utils/logger.ts.html +145 -0
  296. package/coverage/src/utils/sortTsString.ts.html +202 -0
  297. package/coverage/src/utils/string.ts.html +502 -0
  298. package/coverage/src/utils/time-slicing/constant.ts.html +196 -0
  299. package/coverage/src/utils/time-slicing/controller.ts.html +1144 -0
  300. package/coverage/src/utils/time-slicing/index.html +236 -0
  301. package/coverage/src/utils/time-slicing/index.ts.html +103 -0
  302. package/coverage/src/utils/time-slicing/page-state.ts.html +121 -0
  303. package/coverage/src/utils/time-slicing/performance.ts.html +253 -0
  304. package/coverage/src/utils/time-slicing/runner.ts.html +241 -0
  305. package/coverage/src/utils/time-slicing/tool.ts.html +220 -0
  306. package/coverage/src/utils/time-slicing/utils.ts.html +355 -0
  307. package/coverage/src/utils/time-slicing/wrapper.ts.html +259 -0
  308. package/coverage/src/utils/time-slicing.ts.html +418 -0
  309. package/coverage/src/utils/traverse.ts.html +568 -0
  310. package/coverage/src/utils/window.ts.html +112 -0
  311. package/out/bak/translator.js +18 -99
  312. package/out/bak/translator.js.map +1 -1
  313. package/out/breakpoint/generator/BreakpointNode.d.ts +3 -0
  314. package/out/breakpoint/generator/BreakpointNode.js +9 -0
  315. package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
  316. package/out/breakpoint/generator/CallbackNode.js +15 -0
  317. package/out/breakpoint/generator/CallbackNode.js.map +1 -1
  318. package/out/common/BaseNode.d.ts +1 -1
  319. package/out/common/BaseNode.js +1 -1
  320. package/out/common/BaseNode.js.map +1 -1
  321. package/out/common/Command.js +1 -1
  322. package/out/common/Command.js.map +1 -1
  323. package/out/concepts/Argument__.js +2 -7
  324. package/out/concepts/Argument__.js.map +1 -1
  325. package/out/concepts/Assignment__.js +3 -20
  326. package/out/concepts/Assignment__.js.map +1 -1
  327. package/out/concepts/BackendVariable__.js +12 -27
  328. package/out/concepts/BackendVariable__.js.map +1 -1
  329. package/out/concepts/BinaryExpression__.js +13 -40
  330. package/out/concepts/BinaryExpression__.js.map +1 -1
  331. package/out/concepts/BindAttribute__.d.ts +0 -6
  332. package/out/concepts/BindAttribute__.js +11 -105
  333. package/out/concepts/BindAttribute__.js.map +1 -1
  334. package/out/concepts/CallFunction__.js +10 -2
  335. package/out/concepts/CallFunction__.js.map +1 -1
  336. package/out/concepts/CallLogic__.js +75 -30
  337. package/out/concepts/CallLogic__.js.map +1 -1
  338. package/out/concepts/CountersignPolicy__.d.ts +26 -0
  339. package/out/concepts/CountersignPolicy__.js +73 -0
  340. package/out/concepts/CountersignPolicy__.js.map +1 -0
  341. package/out/concepts/ForEachStatement__.js +12 -26
  342. package/out/concepts/ForEachStatement__.js.map +1 -1
  343. package/out/concepts/Identifier__.js +0 -3
  344. package/out/concepts/Identifier__.js.map +1 -1
  345. package/out/concepts/JSBlock__.js +0 -56
  346. package/out/concepts/JSBlock__.js.map +1 -1
  347. package/out/concepts/LogicItem__.js +2 -1
  348. package/out/concepts/LogicItem__.js.map +1 -1
  349. package/out/concepts/Logic__.js +2 -0
  350. package/out/concepts/Logic__.js.map +1 -1
  351. package/out/concepts/Match__.js +9 -4
  352. package/out/concepts/Match__.js.map +1 -1
  353. package/out/concepts/MemberExpression__.js +1 -0
  354. package/out/concepts/MemberExpression__.js.map +1 -1
  355. package/out/concepts/MultiApprovalPolicy__.d.ts +24 -0
  356. package/out/concepts/MultiApprovalPolicy__.js +65 -0
  357. package/out/concepts/MultiApprovalPolicy__.js.map +1 -0
  358. package/out/concepts/NewComposite__.js +18 -10
  359. package/out/concepts/NewComposite__.js.map +1 -1
  360. package/out/concepts/NumericLiteral__.js +1 -2
  361. package/out/concepts/NumericLiteral__.js.map +1 -1
  362. package/out/concepts/Param__.js +12 -27
  363. package/out/concepts/Param__.js.map +1 -1
  364. package/out/concepts/ProcessElement__.d.ts +16 -0
  365. package/out/concepts/ProcessElement__.js +56 -1
  366. package/out/concepts/ProcessElement__.js.map +1 -1
  367. package/out/concepts/Process__.d.ts +2 -0
  368. package/out/concepts/Process__.js +2 -0
  369. package/out/concepts/Process__.js.map +1 -1
  370. package/out/concepts/Return__.js +12 -27
  371. package/out/concepts/Return__.js.map +1 -1
  372. package/out/concepts/SequentialPolicy__.d.ts +18 -0
  373. package/out/concepts/SequentialPolicy__.js +54 -0
  374. package/out/concepts/SequentialPolicy__.js.map +1 -0
  375. package/out/concepts/StringInterpolation__.js +2 -0
  376. package/out/concepts/StringInterpolation__.js.map +1 -1
  377. package/out/concepts/Variable__.js +12 -27
  378. package/out/concepts/Variable__.js.map +1 -1
  379. package/out/concepts/ViewElement__.d.ts +0 -1
  380. package/out/concepts/ViewElement__.js +12 -75
  381. package/out/concepts/ViewElement__.js.map +1 -1
  382. package/out/concepts/View__.d.ts +0 -2
  383. package/out/concepts/View__.js +3 -12
  384. package/out/concepts/View__.js.map +1 -1
  385. package/out/concepts/basics/stdlib/nasl.process.js +1 -1
  386. package/out/concepts/basics/stdlib/nasl.process.js.map +1 -1
  387. package/out/concepts/index__.d.ts +3 -0
  388. package/out/concepts/index__.js +3 -0
  389. package/out/concepts/index__.js.map +1 -1
  390. package/out/concepts/types__.d.ts +4 -1
  391. package/out/generator/genReleaseBody.js +2 -2
  392. package/out/generator/genReleaseBody.js.map +1 -1
  393. package/out/server/extendBaseNode.js +33 -23
  394. package/out/server/extendBaseNode.js.map +1 -1
  395. package/out/server/formatTsUtils.d.ts +1 -2
  396. package/out/server/formatTsUtils.js +13 -12
  397. package/out/server/formatTsUtils.js.map +1 -1
  398. package/out/server/getLogics.d.ts +1 -0
  399. package/out/server/getLogics.js +6 -2
  400. package/out/server/getLogics.js.map +1 -1
  401. package/out/server/getMemberIdentifier.js +21 -0
  402. package/out/server/getMemberIdentifier.js.map +1 -1
  403. package/out/server/getProcesses.js +56 -6
  404. package/out/server/getProcesses.js.map +1 -1
  405. package/out/server/index.js +1 -0
  406. package/out/server/index.js.map +1 -1
  407. package/out/server/naslServer.d.ts +2 -2
  408. package/out/server/naslServer.js +29 -32
  409. package/out/server/naslServer.js.map +1 -1
  410. package/out/server/translator.js +3 -0
  411. package/out/server/translator.js.map +1 -1
  412. package/out/service/creator/errHandles.js +6 -3
  413. package/out/service/creator/errHandles.js.map +1 -1
  414. package/out/service/storage/init.js +2 -2
  415. package/out/service/storage/init.js.map +1 -1
  416. package/out/templator/genCreateBlock.js +5 -9
  417. package/out/templator/genCreateBlock.js.map +1 -1
  418. package/out/templator/genCurdEditMultipleKeyBlock.js +12 -18
  419. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  420. package/out/templator/genCurdMultipleKeyBlock.js +8 -10
  421. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  422. package/out/templator/genEditTableBlock.js +2 -3
  423. package/out/templator/genEditTableBlock.js.map +1 -1
  424. package/out/templator/genUpdateBlock.js +9 -12
  425. package/out/templator/genUpdateBlock.js.map +1 -1
  426. package/out/templator/utils.js.map +1 -1
  427. package/out/utils/time-slicing/controller.d.ts +1 -1
  428. package/out/utils/time-slicing/controller.js +31 -19
  429. package/out/utils/time-slicing/controller.js.map +1 -1
  430. package/out/utils/time-slicing/runner.d.ts +1 -1
  431. package/out/utils/time-slicing/runner.js +4 -5
  432. package/out/utils/time-slicing/runner.js.map +1 -1
  433. package/out/utils/time-slicing/tool.d.ts +1 -1
  434. package/package.json +2 -2
  435. package/sandbox/stdlib/nasl.core.ts +0 -2
  436. package/sandbox/stdlib/nasl.util.ts +3 -3
  437. package/src/bak/translator.js +19 -99
  438. package/src/breakpoint/generator/BreakpointNode.ts +12 -0
  439. package/src/breakpoint/generator/CallbackNode.ts +17 -0
  440. package/src/common/BaseNode.ts +1 -1
  441. package/src/common/Command.ts +1 -1
  442. package/src/concepts/Argument__.ts +2 -7
  443. package/src/concepts/Assignment__.ts +13 -31
  444. package/src/concepts/BackendVariable__.ts +13 -25
  445. package/src/concepts/BinaryExpression__.ts +13 -39
  446. package/src/concepts/BindAttribute__.ts +11 -108
  447. package/src/concepts/CallFunction__.ts +10 -2
  448. package/src/concepts/CallLogic__.ts +90 -34
  449. package/src/concepts/CountersignPolicy__.ts +77 -0
  450. package/src/concepts/ForEachStatement__.ts +17 -26
  451. package/src/concepts/Identifier__.ts +1 -4
  452. package/src/concepts/JSBlock__.ts +0 -58
  453. package/src/concepts/LogicItem__.ts +2 -2
  454. package/src/concepts/Logic__.ts +1 -0
  455. package/src/concepts/Match__.ts +9 -4
  456. package/src/concepts/MemberExpression__.ts +1 -0
  457. package/src/concepts/MultiApprovalPolicy__.ts +69 -0
  458. package/src/concepts/NewComposite__.ts +18 -9
  459. package/src/concepts/NumericLiteral__.ts +1 -2
  460. package/src/concepts/Param__.ts +12 -25
  461. package/src/concepts/ProcessElement__.ts +70 -1
  462. package/src/concepts/Process__.ts +2 -0
  463. package/src/concepts/Return__.ts +13 -26
  464. package/src/concepts/SequentialPolicy__.ts +58 -0
  465. package/src/concepts/StringInterpolation__.ts +2 -0
  466. package/src/concepts/Variable__.ts +13 -26
  467. package/src/concepts/ViewElement__.ts +15 -83
  468. package/src/concepts/View__.ts +18 -32
  469. package/src/concepts/basics/stdlib/nasl.process.ts +1 -1
  470. package/src/concepts/index__.ts +3 -0
  471. package/src/concepts/types__.ts +6 -0
  472. package/src/generator/genReleaseBody.ts +40 -40
  473. package/src/server/extendBaseNode.ts +32 -23
  474. package/src/server/formatTsUtils.ts +13 -12
  475. package/src/server/getLogics.ts +4 -0
  476. package/src/server/getMemberIdentifier.ts +21 -0
  477. package/src/server/getProcesses.ts +56 -6
  478. package/src/server/index.ts +2 -1
  479. package/src/server/naslServer.ts +35 -33
  480. package/src/server/translator.ts +3 -0
  481. package/src/service/creator/errHandles.js +7 -4
  482. package/src/service/storage/init.ts +2 -2
  483. package/src/templator/genCreateBlock.ts +5 -9
  484. package/src/templator/genCurdEditMultipleKeyBlock.ts +13 -19
  485. package/src/templator/genCurdMultipleKeyBlock.ts +11 -14
  486. package/src/templator/genEditTableBlock.ts +2 -4
  487. package/src/templator/genUpdateBlock.ts +12 -15
  488. package/src/templator/utils.ts +7 -8
  489. package/src/utils/time-slicing/controller.ts +34 -23
  490. package/src/utils/time-slicing/runner.ts +7 -9
  491. package/src/utils/time-slicing/tool.ts +1 -1
  492. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
  493. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
  494. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
  495. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +2 -3
  496. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
  497. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +24 -0
  498. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +15 -0
  499. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +18 -3
  500. package/test/concepts/call-logic/__snapshots__/toUI.spec.ts.snap +7 -0
  501. package/test/concepts/call-logic/__snapshots__/toVue.spec.ts.snap +101 -0
  502. package/test/concepts/call-logic/__snapshots__/toVueDesigner.spec.ts.snap +7 -0
  503. package/test/concepts/call-logic/fixtures/json-deserialize.json +173 -0
  504. package/test/concepts/call-logic/fixtures/json-serialize-with-string.json +177 -0
  505. package/test/concepts/call-logic/fixtures/json-serialize.json +178 -0
  506. package/test/concepts/call-logic/toUI.spec.ts +16 -0
  507. package/test/concepts/call-logic/toVue.spec.ts +14 -0
  508. package/test/concepts/call-logic/toVueDesigner.spec.ts +16 -0
  509. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  510. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  511. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  512. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -2
  513. package/test/time-slicing/runner.spec.ts +4 -0
@@ -0,0 +1,3013 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/MatchCase__.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> MatchCase__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">25.67% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>86/335</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">21.23% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>48/226</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">14.03% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>8/57</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">25% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>81/324</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a>
708
+ <a name='L643'></a><a href='#L643'>643</a>
709
+ <a name='L644'></a><a href='#L644'>644</a>
710
+ <a name='L645'></a><a href='#L645'>645</a>
711
+ <a name='L646'></a><a href='#L646'>646</a>
712
+ <a name='L647'></a><a href='#L647'>647</a>
713
+ <a name='L648'></a><a href='#L648'>648</a>
714
+ <a name='L649'></a><a href='#L649'>649</a>
715
+ <a name='L650'></a><a href='#L650'>650</a>
716
+ <a name='L651'></a><a href='#L651'>651</a>
717
+ <a name='L652'></a><a href='#L652'>652</a>
718
+ <a name='L653'></a><a href='#L653'>653</a>
719
+ <a name='L654'></a><a href='#L654'>654</a>
720
+ <a name='L655'></a><a href='#L655'>655</a>
721
+ <a name='L656'></a><a href='#L656'>656</a>
722
+ <a name='L657'></a><a href='#L657'>657</a>
723
+ <a name='L658'></a><a href='#L658'>658</a>
724
+ <a name='L659'></a><a href='#L659'>659</a>
725
+ <a name='L660'></a><a href='#L660'>660</a>
726
+ <a name='L661'></a><a href='#L661'>661</a>
727
+ <a name='L662'></a><a href='#L662'>662</a>
728
+ <a name='L663'></a><a href='#L663'>663</a>
729
+ <a name='L664'></a><a href='#L664'>664</a>
730
+ <a name='L665'></a><a href='#L665'>665</a>
731
+ <a name='L666'></a><a href='#L666'>666</a>
732
+ <a name='L667'></a><a href='#L667'>667</a>
733
+ <a name='L668'></a><a href='#L668'>668</a>
734
+ <a name='L669'></a><a href='#L669'>669</a>
735
+ <a name='L670'></a><a href='#L670'>670</a>
736
+ <a name='L671'></a><a href='#L671'>671</a>
737
+ <a name='L672'></a><a href='#L672'>672</a>
738
+ <a name='L673'></a><a href='#L673'>673</a>
739
+ <a name='L674'></a><a href='#L674'>674</a>
740
+ <a name='L675'></a><a href='#L675'>675</a>
741
+ <a name='L676'></a><a href='#L676'>676</a>
742
+ <a name='L677'></a><a href='#L677'>677</a>
743
+ <a name='L678'></a><a href='#L678'>678</a>
744
+ <a name='L679'></a><a href='#L679'>679</a>
745
+ <a name='L680'></a><a href='#L680'>680</a>
746
+ <a name='L681'></a><a href='#L681'>681</a>
747
+ <a name='L682'></a><a href='#L682'>682</a>
748
+ <a name='L683'></a><a href='#L683'>683</a>
749
+ <a name='L684'></a><a href='#L684'>684</a>
750
+ <a name='L685'></a><a href='#L685'>685</a>
751
+ <a name='L686'></a><a href='#L686'>686</a>
752
+ <a name='L687'></a><a href='#L687'>687</a>
753
+ <a name='L688'></a><a href='#L688'>688</a>
754
+ <a name='L689'></a><a href='#L689'>689</a>
755
+ <a name='L690'></a><a href='#L690'>690</a>
756
+ <a name='L691'></a><a href='#L691'>691</a>
757
+ <a name='L692'></a><a href='#L692'>692</a>
758
+ <a name='L693'></a><a href='#L693'>693</a>
759
+ <a name='L694'></a><a href='#L694'>694</a>
760
+ <a name='L695'></a><a href='#L695'>695</a>
761
+ <a name='L696'></a><a href='#L696'>696</a>
762
+ <a name='L697'></a><a href='#L697'>697</a>
763
+ <a name='L698'></a><a href='#L698'>698</a>
764
+ <a name='L699'></a><a href='#L699'>699</a>
765
+ <a name='L700'></a><a href='#L700'>700</a>
766
+ <a name='L701'></a><a href='#L701'>701</a>
767
+ <a name='L702'></a><a href='#L702'>702</a>
768
+ <a name='L703'></a><a href='#L703'>703</a>
769
+ <a name='L704'></a><a href='#L704'>704</a>
770
+ <a name='L705'></a><a href='#L705'>705</a>
771
+ <a name='L706'></a><a href='#L706'>706</a>
772
+ <a name='L707'></a><a href='#L707'>707</a>
773
+ <a name='L708'></a><a href='#L708'>708</a>
774
+ <a name='L709'></a><a href='#L709'>709</a>
775
+ <a name='L710'></a><a href='#L710'>710</a>
776
+ <a name='L711'></a><a href='#L711'>711</a>
777
+ <a name='L712'></a><a href='#L712'>712</a>
778
+ <a name='L713'></a><a href='#L713'>713</a>
779
+ <a name='L714'></a><a href='#L714'>714</a>
780
+ <a name='L715'></a><a href='#L715'>715</a>
781
+ <a name='L716'></a><a href='#L716'>716</a>
782
+ <a name='L717'></a><a href='#L717'>717</a>
783
+ <a name='L718'></a><a href='#L718'>718</a>
784
+ <a name='L719'></a><a href='#L719'>719</a>
785
+ <a name='L720'></a><a href='#L720'>720</a>
786
+ <a name='L721'></a><a href='#L721'>721</a>
787
+ <a name='L722'></a><a href='#L722'>722</a>
788
+ <a name='L723'></a><a href='#L723'>723</a>
789
+ <a name='L724'></a><a href='#L724'>724</a>
790
+ <a name='L725'></a><a href='#L725'>725</a>
791
+ <a name='L726'></a><a href='#L726'>726</a>
792
+ <a name='L727'></a><a href='#L727'>727</a>
793
+ <a name='L728'></a><a href='#L728'>728</a>
794
+ <a name='L729'></a><a href='#L729'>729</a>
795
+ <a name='L730'></a><a href='#L730'>730</a>
796
+ <a name='L731'></a><a href='#L731'>731</a>
797
+ <a name='L732'></a><a href='#L732'>732</a>
798
+ <a name='L733'></a><a href='#L733'>733</a>
799
+ <a name='L734'></a><a href='#L734'>734</a>
800
+ <a name='L735'></a><a href='#L735'>735</a>
801
+ <a name='L736'></a><a href='#L736'>736</a>
802
+ <a name='L737'></a><a href='#L737'>737</a>
803
+ <a name='L738'></a><a href='#L738'>738</a>
804
+ <a name='L739'></a><a href='#L739'>739</a>
805
+ <a name='L740'></a><a href='#L740'>740</a>
806
+ <a name='L741'></a><a href='#L741'>741</a>
807
+ <a name='L742'></a><a href='#L742'>742</a>
808
+ <a name='L743'></a><a href='#L743'>743</a>
809
+ <a name='L744'></a><a href='#L744'>744</a>
810
+ <a name='L745'></a><a href='#L745'>745</a>
811
+ <a name='L746'></a><a href='#L746'>746</a>
812
+ <a name='L747'></a><a href='#L747'>747</a>
813
+ <a name='L748'></a><a href='#L748'>748</a>
814
+ <a name='L749'></a><a href='#L749'>749</a>
815
+ <a name='L750'></a><a href='#L750'>750</a>
816
+ <a name='L751'></a><a href='#L751'>751</a>
817
+ <a name='L752'></a><a href='#L752'>752</a>
818
+ <a name='L753'></a><a href='#L753'>753</a>
819
+ <a name='L754'></a><a href='#L754'>754</a>
820
+ <a name='L755'></a><a href='#L755'>755</a>
821
+ <a name='L756'></a><a href='#L756'>756</a>
822
+ <a name='L757'></a><a href='#L757'>757</a>
823
+ <a name='L758'></a><a href='#L758'>758</a>
824
+ <a name='L759'></a><a href='#L759'>759</a>
825
+ <a name='L760'></a><a href='#L760'>760</a>
826
+ <a name='L761'></a><a href='#L761'>761</a>
827
+ <a name='L762'></a><a href='#L762'>762</a>
828
+ <a name='L763'></a><a href='#L763'>763</a>
829
+ <a name='L764'></a><a href='#L764'>764</a>
830
+ <a name='L765'></a><a href='#L765'>765</a>
831
+ <a name='L766'></a><a href='#L766'>766</a>
832
+ <a name='L767'></a><a href='#L767'>767</a>
833
+ <a name='L768'></a><a href='#L768'>768</a>
834
+ <a name='L769'></a><a href='#L769'>769</a>
835
+ <a name='L770'></a><a href='#L770'>770</a>
836
+ <a name='L771'></a><a href='#L771'>771</a>
837
+ <a name='L772'></a><a href='#L772'>772</a>
838
+ <a name='L773'></a><a href='#L773'>773</a>
839
+ <a name='L774'></a><a href='#L774'>774</a>
840
+ <a name='L775'></a><a href='#L775'>775</a>
841
+ <a name='L776'></a><a href='#L776'>776</a>
842
+ <a name='L777'></a><a href='#L777'>777</a>
843
+ <a name='L778'></a><a href='#L778'>778</a>
844
+ <a name='L779'></a><a href='#L779'>779</a>
845
+ <a name='L780'></a><a href='#L780'>780</a>
846
+ <a name='L781'></a><a href='#L781'>781</a>
847
+ <a name='L782'></a><a href='#L782'>782</a>
848
+ <a name='L783'></a><a href='#L783'>783</a>
849
+ <a name='L784'></a><a href='#L784'>784</a>
850
+ <a name='L785'></a><a href='#L785'>785</a>
851
+ <a name='L786'></a><a href='#L786'>786</a>
852
+ <a name='L787'></a><a href='#L787'>787</a>
853
+ <a name='L788'></a><a href='#L788'>788</a>
854
+ <a name='L789'></a><a href='#L789'>789</a>
855
+ <a name='L790'></a><a href='#L790'>790</a>
856
+ <a name='L791'></a><a href='#L791'>791</a>
857
+ <a name='L792'></a><a href='#L792'>792</a>
858
+ <a name='L793'></a><a href='#L793'>793</a>
859
+ <a name='L794'></a><a href='#L794'>794</a>
860
+ <a name='L795'></a><a href='#L795'>795</a>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a>
865
+ <a name='L800'></a><a href='#L800'>800</a>
866
+ <a name='L801'></a><a href='#L801'>801</a>
867
+ <a name='L802'></a><a href='#L802'>802</a>
868
+ <a name='L803'></a><a href='#L803'>803</a>
869
+ <a name='L804'></a><a href='#L804'>804</a>
870
+ <a name='L805'></a><a href='#L805'>805</a>
871
+ <a name='L806'></a><a href='#L806'>806</a>
872
+ <a name='L807'></a><a href='#L807'>807</a>
873
+ <a name='L808'></a><a href='#L808'>808</a>
874
+ <a name='L809'></a><a href='#L809'>809</a>
875
+ <a name='L810'></a><a href='#L810'>810</a>
876
+ <a name='L811'></a><a href='#L811'>811</a>
877
+ <a name='L812'></a><a href='#L812'>812</a>
878
+ <a name='L813'></a><a href='#L813'>813</a>
879
+ <a name='L814'></a><a href='#L814'>814</a>
880
+ <a name='L815'></a><a href='#L815'>815</a>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a>
883
+ <a name='L818'></a><a href='#L818'>818</a>
884
+ <a name='L819'></a><a href='#L819'>819</a>
885
+ <a name='L820'></a><a href='#L820'>820</a>
886
+ <a name='L821'></a><a href='#L821'>821</a>
887
+ <a name='L822'></a><a href='#L822'>822</a>
888
+ <a name='L823'></a><a href='#L823'>823</a>
889
+ <a name='L824'></a><a href='#L824'>824</a>
890
+ <a name='L825'></a><a href='#L825'>825</a>
891
+ <a name='L826'></a><a href='#L826'>826</a>
892
+ <a name='L827'></a><a href='#L827'>827</a>
893
+ <a name='L828'></a><a href='#L828'>828</a>
894
+ <a name='L829'></a><a href='#L829'>829</a>
895
+ <a name='L830'></a><a href='#L830'>830</a>
896
+ <a name='L831'></a><a href='#L831'>831</a>
897
+ <a name='L832'></a><a href='#L832'>832</a>
898
+ <a name='L833'></a><a href='#L833'>833</a>
899
+ <a name='L834'></a><a href='#L834'>834</a>
900
+ <a name='L835'></a><a href='#L835'>835</a>
901
+ <a name='L836'></a><a href='#L836'>836</a>
902
+ <a name='L837'></a><a href='#L837'>837</a>
903
+ <a name='L838'></a><a href='#L838'>838</a>
904
+ <a name='L839'></a><a href='#L839'>839</a>
905
+ <a name='L840'></a><a href='#L840'>840</a>
906
+ <a name='L841'></a><a href='#L841'>841</a>
907
+ <a name='L842'></a><a href='#L842'>842</a>
908
+ <a name='L843'></a><a href='#L843'>843</a>
909
+ <a name='L844'></a><a href='#L844'>844</a>
910
+ <a name='L845'></a><a href='#L845'>845</a>
911
+ <a name='L846'></a><a href='#L846'>846</a>
912
+ <a name='L847'></a><a href='#L847'>847</a>
913
+ <a name='L848'></a><a href='#L848'>848</a>
914
+ <a name='L849'></a><a href='#L849'>849</a>
915
+ <a name='L850'></a><a href='#L850'>850</a>
916
+ <a name='L851'></a><a href='#L851'>851</a>
917
+ <a name='L852'></a><a href='#L852'>852</a>
918
+ <a name='L853'></a><a href='#L853'>853</a>
919
+ <a name='L854'></a><a href='#L854'>854</a>
920
+ <a name='L855'></a><a href='#L855'>855</a>
921
+ <a name='L856'></a><a href='#L856'>856</a>
922
+ <a name='L857'></a><a href='#L857'>857</a>
923
+ <a name='L858'></a><a href='#L858'>858</a>
924
+ <a name='L859'></a><a href='#L859'>859</a>
925
+ <a name='L860'></a><a href='#L860'>860</a>
926
+ <a name='L861'></a><a href='#L861'>861</a>
927
+ <a name='L862'></a><a href='#L862'>862</a>
928
+ <a name='L863'></a><a href='#L863'>863</a>
929
+ <a name='L864'></a><a href='#L864'>864</a>
930
+ <a name='L865'></a><a href='#L865'>865</a>
931
+ <a name='L866'></a><a href='#L866'>866</a>
932
+ <a name='L867'></a><a href='#L867'>867</a>
933
+ <a name='L868'></a><a href='#L868'>868</a>
934
+ <a name='L869'></a><a href='#L869'>869</a>
935
+ <a name='L870'></a><a href='#L870'>870</a>
936
+ <a name='L871'></a><a href='#L871'>871</a>
937
+ <a name='L872'></a><a href='#L872'>872</a>
938
+ <a name='L873'></a><a href='#L873'>873</a>
939
+ <a name='L874'></a><a href='#L874'>874</a>
940
+ <a name='L875'></a><a href='#L875'>875</a>
941
+ <a name='L876'></a><a href='#L876'>876</a>
942
+ <a name='L877'></a><a href='#L877'>877</a>
943
+ <a name='L878'></a><a href='#L878'>878</a>
944
+ <a name='L879'></a><a href='#L879'>879</a>
945
+ <a name='L880'></a><a href='#L880'>880</a>
946
+ <a name='L881'></a><a href='#L881'>881</a>
947
+ <a name='L882'></a><a href='#L882'>882</a>
948
+ <a name='L883'></a><a href='#L883'>883</a>
949
+ <a name='L884'></a><a href='#L884'>884</a>
950
+ <a name='L885'></a><a href='#L885'>885</a>
951
+ <a name='L886'></a><a href='#L886'>886</a>
952
+ <a name='L887'></a><a href='#L887'>887</a>
953
+ <a name='L888'></a><a href='#L888'>888</a>
954
+ <a name='L889'></a><a href='#L889'>889</a>
955
+ <a name='L890'></a><a href='#L890'>890</a>
956
+ <a name='L891'></a><a href='#L891'>891</a>
957
+ <a name='L892'></a><a href='#L892'>892</a>
958
+ <a name='L893'></a><a href='#L893'>893</a>
959
+ <a name='L894'></a><a href='#L894'>894</a>
960
+ <a name='L895'></a><a href='#L895'>895</a>
961
+ <a name='L896'></a><a href='#L896'>896</a>
962
+ <a name='L897'></a><a href='#L897'>897</a>
963
+ <a name='L898'></a><a href='#L898'>898</a>
964
+ <a name='L899'></a><a href='#L899'>899</a>
965
+ <a name='L900'></a><a href='#L900'>900</a>
966
+ <a name='L901'></a><a href='#L901'>901</a>
967
+ <a name='L902'></a><a href='#L902'>902</a>
968
+ <a name='L903'></a><a href='#L903'>903</a>
969
+ <a name='L904'></a><a href='#L904'>904</a>
970
+ <a name='L905'></a><a href='#L905'>905</a>
971
+ <a name='L906'></a><a href='#L906'>906</a>
972
+ <a name='L907'></a><a href='#L907'>907</a>
973
+ <a name='L908'></a><a href='#L908'>908</a>
974
+ <a name='L909'></a><a href='#L909'>909</a>
975
+ <a name='L910'></a><a href='#L910'>910</a>
976
+ <a name='L911'></a><a href='#L911'>911</a>
977
+ <a name='L912'></a><a href='#L912'>912</a>
978
+ <a name='L913'></a><a href='#L913'>913</a>
979
+ <a name='L914'></a><a href='#L914'>914</a>
980
+ <a name='L915'></a><a href='#L915'>915</a>
981
+ <a name='L916'></a><a href='#L916'>916</a>
982
+ <a name='L917'></a><a href='#L917'>917</a>
983
+ <a name='L918'></a><a href='#L918'>918</a>
984
+ <a name='L919'></a><a href='#L919'>919</a>
985
+ <a name='L920'></a><a href='#L920'>920</a>
986
+ <a name='L921'></a><a href='#L921'>921</a>
987
+ <a name='L922'></a><a href='#L922'>922</a>
988
+ <a name='L923'></a><a href='#L923'>923</a>
989
+ <a name='L924'></a><a href='#L924'>924</a>
990
+ <a name='L925'></a><a href='#L925'>925</a>
991
+ <a name='L926'></a><a href='#L926'>926</a>
992
+ <a name='L927'></a><a href='#L927'>927</a>
993
+ <a name='L928'></a><a href='#L928'>928</a>
994
+ <a name='L929'></a><a href='#L929'>929</a>
995
+ <a name='L930'></a><a href='#L930'>930</a>
996
+ <a name='L931'></a><a href='#L931'>931</a>
997
+ <a name='L932'></a><a href='#L932'>932</a>
998
+ <a name='L933'></a><a href='#L933'>933</a>
999
+ <a name='L934'></a><a href='#L934'>934</a>
1000
+ <a name='L935'></a><a href='#L935'>935</a>
1001
+ <a name='L936'></a><a href='#L936'>936</a>
1002
+ <a name='L937'></a><a href='#L937'>937</a>
1003
+ <a name='L938'></a><a href='#L938'>938</a>
1004
+ <a name='L939'></a><a href='#L939'>939</a>
1005
+ <a name='L940'></a><a href='#L940'>940</a>
1006
+ <a name='L941'></a><a href='#L941'>941</a>
1007
+ <a name='L942'></a><a href='#L942'>942</a>
1008
+ <a name='L943'></a><a href='#L943'>943</a>
1009
+ <a name='L944'></a><a href='#L944'>944</a>
1010
+ <a name='L945'></a><a href='#L945'>945</a>
1011
+ <a name='L946'></a><a href='#L946'>946</a>
1012
+ <a name='L947'></a><a href='#L947'>947</a>
1013
+ <a name='L948'></a><a href='#L948'>948</a>
1014
+ <a name='L949'></a><a href='#L949'>949</a>
1015
+ <a name='L950'></a><a href='#L950'>950</a>
1016
+ <a name='L951'></a><a href='#L951'>951</a>
1017
+ <a name='L952'></a><a href='#L952'>952</a>
1018
+ <a name='L953'></a><a href='#L953'>953</a>
1019
+ <a name='L954'></a><a href='#L954'>954</a>
1020
+ <a name='L955'></a><a href='#L955'>955</a>
1021
+ <a name='L956'></a><a href='#L956'>956</a>
1022
+ <a name='L957'></a><a href='#L957'>957</a>
1023
+ <a name='L958'></a><a href='#L958'>958</a>
1024
+ <a name='L959'></a><a href='#L959'>959</a>
1025
+ <a name='L960'></a><a href='#L960'>960</a>
1026
+ <a name='L961'></a><a href='#L961'>961</a>
1027
+ <a name='L962'></a><a href='#L962'>962</a>
1028
+ <a name='L963'></a><a href='#L963'>963</a>
1029
+ <a name='L964'></a><a href='#L964'>964</a>
1030
+ <a name='L965'></a><a href='#L965'>965</a>
1031
+ <a name='L966'></a><a href='#L966'>966</a>
1032
+ <a name='L967'></a><a href='#L967'>967</a>
1033
+ <a name='L968'></a><a href='#L968'>968</a>
1034
+ <a name='L969'></a><a href='#L969'>969</a>
1035
+ <a name='L970'></a><a href='#L970'>970</a>
1036
+ <a name='L971'></a><a href='#L971'>971</a>
1037
+ <a name='L972'></a><a href='#L972'>972</a>
1038
+ <a name='L973'></a><a href='#L973'>973</a>
1039
+ <a name='L974'></a><a href='#L974'>974</a>
1040
+ <a name='L975'></a><a href='#L975'>975</a>
1041
+ <a name='L976'></a><a href='#L976'>976</a>
1042
+ <a name='L977'></a><a href='#L977'>977</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1043
+ <span class="cline-any cline-yes">1x</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-yes">1x</span>
1055
+ <span class="cline-any cline-yes">1x</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-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-yes">1x</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-yes">1x</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-yes">1x</span>
1069
+ <span class="cline-any cline-yes">1x</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-yes">1x</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-yes">1x</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-yes">1x</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-yes">22x</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-yes">22x</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-neutral">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-yes">22x</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-yes">22x</span>
1111
+ <span class="cline-any cline-yes">22x</span>
1112
+ <span class="cline-any cline-yes">22x</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-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-yes">22x</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-no">&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-no">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-no">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-no">&nbsp;</span>
1145
+ <span class="cline-any cline-no">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-no">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-neutral">&nbsp;</span>
1154
+ <span class="cline-any cline-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-neutral">&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-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-no">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-neutral">&nbsp;</span>
1180
+ <span class="cline-any cline-neutral">&nbsp;</span>
1181
+ <span class="cline-any cline-neutral">&nbsp;</span>
1182
+ <span class="cline-any cline-neutral">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-no">&nbsp;</span>
1186
+ <span class="cline-any cline-no">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-neutral">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&nbsp;</span>
1197
+ <span class="cline-any cline-no">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</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-no">&nbsp;</span>
1209
+ <span class="cline-any cline-no">&nbsp;</span>
1210
+ <span class="cline-any cline-neutral">&nbsp;</span>
1211
+ <span class="cline-any cline-neutral">&nbsp;</span>
1212
+ <span class="cline-any cline-neutral">&nbsp;</span>
1213
+ <span class="cline-any cline-neutral">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-neutral">&nbsp;</span>
1218
+ <span class="cline-any cline-neutral">&nbsp;</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-neutral">&nbsp;</span>
1221
+ <span class="cline-any cline-neutral">&nbsp;</span>
1222
+ <span class="cline-any cline-neutral">&nbsp;</span>
1223
+ <span class="cline-any cline-neutral">&nbsp;</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-neutral">&nbsp;</span>
1229
+ <span class="cline-any cline-neutral">&nbsp;</span>
1230
+ <span class="cline-any cline-neutral">&nbsp;</span>
1231
+ <span class="cline-any cline-no">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-neutral">&nbsp;</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-neutral">&nbsp;</span>
1236
+ <span class="cline-any cline-neutral">&nbsp;</span>
1237
+ <span class="cline-any cline-no">&nbsp;</span>
1238
+ <span class="cline-any cline-neutral">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-neutral">&nbsp;</span>
1241
+ <span class="cline-any cline-neutral">&nbsp;</span>
1242
+ <span class="cline-any cline-neutral">&nbsp;</span>
1243
+ <span class="cline-any cline-neutral">&nbsp;</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-neutral">&nbsp;</span>
1246
+ <span class="cline-any cline-neutral">&nbsp;</span>
1247
+ <span class="cline-any cline-neutral">&nbsp;</span>
1248
+ <span class="cline-any cline-neutral">&nbsp;</span>
1249
+ <span class="cline-any cline-neutral">&nbsp;</span>
1250
+ <span class="cline-any cline-neutral">&nbsp;</span>
1251
+ <span class="cline-any cline-neutral">&nbsp;</span>
1252
+ <span class="cline-any cline-neutral">&nbsp;</span>
1253
+ <span class="cline-any cline-neutral">&nbsp;</span>
1254
+ <span class="cline-any cline-neutral">&nbsp;</span>
1255
+ <span class="cline-any cline-neutral">&nbsp;</span>
1256
+ <span class="cline-any cline-neutral">&nbsp;</span>
1257
+ <span class="cline-any cline-neutral">&nbsp;</span>
1258
+ <span class="cline-any cline-neutral">&nbsp;</span>
1259
+ <span class="cline-any cline-neutral">&nbsp;</span>
1260
+ <span class="cline-any cline-neutral">&nbsp;</span>
1261
+ <span class="cline-any cline-neutral">&nbsp;</span>
1262
+ <span class="cline-any cline-no">&nbsp;</span>
1263
+ <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-neutral">&nbsp;</span>
1265
+ <span class="cline-any cline-neutral">&nbsp;</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-neutral">&nbsp;</span>
1268
+ <span class="cline-any cline-neutral">&nbsp;</span>
1269
+ <span class="cline-any cline-neutral">&nbsp;</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-neutral">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-neutral">&nbsp;</span>
1275
+ <span class="cline-any cline-neutral">&nbsp;</span>
1276
+ <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-neutral">&nbsp;</span>
1278
+ <span class="cline-any cline-neutral">&nbsp;</span>
1279
+ <span class="cline-any cline-neutral">&nbsp;</span>
1280
+ <span class="cline-any cline-neutral">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-neutral">&nbsp;</span>
1283
+ <span class="cline-any cline-neutral">&nbsp;</span>
1284
+ <span class="cline-any cline-neutral">&nbsp;</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span>
1287
+ <span class="cline-any cline-no">&nbsp;</span>
1288
+ <span class="cline-any cline-no">&nbsp;</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-neutral">&nbsp;</span>
1292
+ <span class="cline-any cline-neutral">&nbsp;</span>
1293
+ <span class="cline-any cline-no">&nbsp;</span>
1294
+ <span class="cline-any cline-neutral">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-neutral">&nbsp;</span>
1297
+ <span class="cline-any cline-neutral">&nbsp;</span>
1298
+ <span class="cline-any cline-neutral">&nbsp;</span>
1299
+ <span class="cline-any cline-neutral">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-neutral">&nbsp;</span>
1302
+ <span class="cline-any cline-neutral">&nbsp;</span>
1303
+ <span class="cline-any cline-neutral">&nbsp;</span>
1304
+ <span class="cline-any cline-neutral">&nbsp;</span>
1305
+ <span class="cline-any cline-neutral">&nbsp;</span>
1306
+ <span class="cline-any cline-neutral">&nbsp;</span>
1307
+ <span class="cline-any cline-neutral">&nbsp;</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-neutral">&nbsp;</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-no">&nbsp;</span>
1312
+ <span class="cline-any cline-no">&nbsp;</span>
1313
+ <span class="cline-any cline-neutral">&nbsp;</span>
1314
+ <span class="cline-any cline-no">&nbsp;</span>
1315
+ <span class="cline-any cline-no">&nbsp;</span>
1316
+ <span class="cline-any cline-no">&nbsp;</span>
1317
+ <span class="cline-any cline-no">&nbsp;</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span>
1319
+ <span class="cline-any cline-no">&nbsp;</span>
1320
+ <span class="cline-any cline-neutral">&nbsp;</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-neutral">&nbsp;</span>
1323
+ <span class="cline-any cline-neutral">&nbsp;</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-neutral">&nbsp;</span>
1326
+ <span class="cline-any cline-neutral">&nbsp;</span>
1327
+ <span class="cline-any cline-neutral">&nbsp;</span>
1328
+ <span class="cline-any cline-no">&nbsp;</span>
1329
+ <span class="cline-any cline-no">&nbsp;</span>
1330
+ <span class="cline-any cline-neutral">&nbsp;</span>
1331
+ <span class="cline-any cline-neutral">&nbsp;</span>
1332
+ <span class="cline-any cline-neutral">&nbsp;</span>
1333
+ <span class="cline-any cline-neutral">&nbsp;</span>
1334
+ <span class="cline-any cline-neutral">&nbsp;</span>
1335
+ <span class="cline-any cline-neutral">&nbsp;</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-neutral">&nbsp;</span>
1339
+ <span class="cline-any cline-neutral">&nbsp;</span>
1340
+ <span class="cline-any cline-neutral">&nbsp;</span>
1341
+ <span class="cline-any cline-neutral">&nbsp;</span>
1342
+ <span class="cline-any cline-neutral">&nbsp;</span>
1343
+ <span class="cline-any cline-neutral">&nbsp;</span>
1344
+ <span class="cline-any cline-neutral">&nbsp;</span>
1345
+ <span class="cline-any cline-no">&nbsp;</span>
1346
+ <span class="cline-any cline-no">&nbsp;</span>
1347
+ <span class="cline-any cline-neutral">&nbsp;</span>
1348
+ <span class="cline-any cline-neutral">&nbsp;</span>
1349
+ <span class="cline-any cline-neutral">&nbsp;</span>
1350
+ <span class="cline-any cline-neutral">&nbsp;</span>
1351
+ <span class="cline-any cline-no">&nbsp;</span>
1352
+ <span class="cline-any cline-neutral">&nbsp;</span>
1353
+ <span class="cline-any cline-neutral">&nbsp;</span>
1354
+ <span class="cline-any cline-neutral">&nbsp;</span>
1355
+ <span class="cline-any cline-neutral">&nbsp;</span>
1356
+ <span class="cline-any cline-neutral">&nbsp;</span>
1357
+ <span class="cline-any cline-neutral">&nbsp;</span>
1358
+ <span class="cline-any cline-neutral">&nbsp;</span>
1359
+ <span class="cline-any cline-neutral">&nbsp;</span>
1360
+ <span class="cline-any cline-neutral">&nbsp;</span>
1361
+ <span class="cline-any cline-neutral">&nbsp;</span>
1362
+ <span class="cline-any cline-neutral">&nbsp;</span>
1363
+ <span class="cline-any cline-neutral">&nbsp;</span>
1364
+ <span class="cline-any cline-neutral">&nbsp;</span>
1365
+ <span class="cline-any cline-neutral">&nbsp;</span>
1366
+ <span class="cline-any cline-neutral">&nbsp;</span>
1367
+ <span class="cline-any cline-neutral">&nbsp;</span>
1368
+ <span class="cline-any cline-neutral">&nbsp;</span>
1369
+ <span class="cline-any cline-no">&nbsp;</span>
1370
+ <span class="cline-any cline-no">&nbsp;</span>
1371
+ <span class="cline-any cline-neutral">&nbsp;</span>
1372
+ <span class="cline-any cline-neutral">&nbsp;</span>
1373
+ <span class="cline-any cline-neutral">&nbsp;</span>
1374
+ <span class="cline-any cline-neutral">&nbsp;</span>
1375
+ <span class="cline-any cline-neutral">&nbsp;</span>
1376
+ <span class="cline-any cline-neutral">&nbsp;</span>
1377
+ <span class="cline-any cline-neutral">&nbsp;</span>
1378
+ <span class="cline-any cline-neutral">&nbsp;</span>
1379
+ <span class="cline-any cline-neutral">&nbsp;</span>
1380
+ <span class="cline-any cline-neutral">&nbsp;</span>
1381
+ <span class="cline-any cline-neutral">&nbsp;</span>
1382
+ <span class="cline-any cline-neutral">&nbsp;</span>
1383
+ <span class="cline-any cline-neutral">&nbsp;</span>
1384
+ <span class="cline-any cline-neutral">&nbsp;</span>
1385
+ <span class="cline-any cline-neutral">&nbsp;</span>
1386
+ <span class="cline-any cline-no">&nbsp;</span>
1387
+ <span class="cline-any cline-no">&nbsp;</span>
1388
+ <span class="cline-any cline-no">&nbsp;</span>
1389
+ <span class="cline-any cline-neutral">&nbsp;</span>
1390
+ <span class="cline-any cline-neutral">&nbsp;</span>
1391
+ <span class="cline-any cline-neutral">&nbsp;</span>
1392
+ <span class="cline-any cline-neutral">&nbsp;</span>
1393
+ <span class="cline-any cline-no">&nbsp;</span>
1394
+ <span class="cline-any cline-neutral">&nbsp;</span>
1395
+ <span class="cline-any cline-neutral">&nbsp;</span>
1396
+ <span class="cline-any cline-neutral">&nbsp;</span>
1397
+ <span class="cline-any cline-no">&nbsp;</span>
1398
+ <span class="cline-any cline-no">&nbsp;</span>
1399
+ <span class="cline-any cline-no">&nbsp;</span>
1400
+ <span class="cline-any cline-no">&nbsp;</span>
1401
+ <span class="cline-any cline-neutral">&nbsp;</span>
1402
+ <span class="cline-any cline-neutral">&nbsp;</span>
1403
+ <span class="cline-any cline-no">&nbsp;</span>
1404
+ <span class="cline-any cline-neutral">&nbsp;</span>
1405
+ <span class="cline-any cline-neutral">&nbsp;</span>
1406
+ <span class="cline-any cline-neutral">&nbsp;</span>
1407
+ <span class="cline-any cline-neutral">&nbsp;</span>
1408
+ <span class="cline-any cline-neutral">&nbsp;</span>
1409
+ <span class="cline-any cline-neutral">&nbsp;</span>
1410
+ <span class="cline-any cline-neutral">&nbsp;</span>
1411
+ <span class="cline-any cline-neutral">&nbsp;</span>
1412
+ <span class="cline-any cline-neutral">&nbsp;</span>
1413
+ <span class="cline-any cline-neutral">&nbsp;</span>
1414
+ <span class="cline-any cline-neutral">&nbsp;</span>
1415
+ <span class="cline-any cline-neutral">&nbsp;</span>
1416
+ <span class="cline-any cline-neutral">&nbsp;</span>
1417
+ <span class="cline-any cline-neutral">&nbsp;</span>
1418
+ <span class="cline-any cline-neutral">&nbsp;</span>
1419
+ <span class="cline-any cline-neutral">&nbsp;</span>
1420
+ <span class="cline-any cline-neutral">&nbsp;</span>
1421
+ <span class="cline-any cline-neutral">&nbsp;</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-neutral">&nbsp;</span>
1424
+ <span class="cline-any cline-neutral">&nbsp;</span>
1425
+ <span class="cline-any cline-neutral">&nbsp;</span>
1426
+ <span class="cline-any cline-neutral">&nbsp;</span>
1427
+ <span class="cline-any cline-neutral">&nbsp;</span>
1428
+ <span class="cline-any cline-no">&nbsp;</span>
1429
+ <span class="cline-any cline-no">&nbsp;</span>
1430
+ <span class="cline-any cline-neutral">&nbsp;</span>
1431
+ <span class="cline-any cline-no">&nbsp;</span>
1432
+ <span class="cline-any cline-no">&nbsp;</span>
1433
+ <span class="cline-any cline-neutral">&nbsp;</span>
1434
+ <span class="cline-any cline-neutral">&nbsp;</span>
1435
+ <span class="cline-any cline-neutral">&nbsp;</span>
1436
+ <span class="cline-any cline-neutral">&nbsp;</span>
1437
+ <span class="cline-any cline-neutral">&nbsp;</span>
1438
+ <span class="cline-any cline-neutral">&nbsp;</span>
1439
+ <span class="cline-any cline-neutral">&nbsp;</span>
1440
+ <span class="cline-any cline-no">&nbsp;</span>
1441
+ <span class="cline-any cline-no">&nbsp;</span>
1442
+ <span class="cline-any cline-neutral">&nbsp;</span>
1443
+ <span class="cline-any cline-neutral">&nbsp;</span>
1444
+ <span class="cline-any cline-neutral">&nbsp;</span>
1445
+ <span class="cline-any cline-neutral">&nbsp;</span>
1446
+ <span class="cline-any cline-neutral">&nbsp;</span>
1447
+ <span class="cline-any cline-neutral">&nbsp;</span>
1448
+ <span class="cline-any cline-neutral">&nbsp;</span>
1449
+ <span class="cline-any cline-no">&nbsp;</span>
1450
+ <span class="cline-any cline-no">&nbsp;</span>
1451
+ <span class="cline-any cline-no">&nbsp;</span>
1452
+ <span class="cline-any cline-no">&nbsp;</span>
1453
+ <span class="cline-any cline-neutral">&nbsp;</span>
1454
+ <span class="cline-any cline-no">&nbsp;</span>
1455
+ <span class="cline-any cline-neutral">&nbsp;</span>
1456
+ <span class="cline-any cline-neutral">&nbsp;</span>
1457
+ <span class="cline-any cline-neutral">&nbsp;</span>
1458
+ <span class="cline-any cline-neutral">&nbsp;</span>
1459
+ <span class="cline-any cline-neutral">&nbsp;</span>
1460
+ <span class="cline-any cline-neutral">&nbsp;</span>
1461
+ <span class="cline-any cline-neutral">&nbsp;</span>
1462
+ <span class="cline-any cline-neutral">&nbsp;</span>
1463
+ <span class="cline-any cline-no">&nbsp;</span>
1464
+ <span class="cline-any cline-no">&nbsp;</span>
1465
+ <span class="cline-any cline-neutral">&nbsp;</span>
1466
+ <span class="cline-any cline-neutral">&nbsp;</span>
1467
+ <span class="cline-any cline-neutral">&nbsp;</span>
1468
+ <span class="cline-any cline-neutral">&nbsp;</span>
1469
+ <span class="cline-any cline-neutral">&nbsp;</span>
1470
+ <span class="cline-any cline-neutral">&nbsp;</span>
1471
+ <span class="cline-any cline-neutral">&nbsp;</span>
1472
+ <span class="cline-any cline-neutral">&nbsp;</span>
1473
+ <span class="cline-any cline-neutral">&nbsp;</span>
1474
+ <span class="cline-any cline-neutral">&nbsp;</span>
1475
+ <span class="cline-any cline-neutral">&nbsp;</span>
1476
+ <span class="cline-any cline-neutral">&nbsp;</span>
1477
+ <span class="cline-any cline-neutral">&nbsp;</span>
1478
+ <span class="cline-any cline-neutral">&nbsp;</span>
1479
+ <span class="cline-any cline-neutral">&nbsp;</span>
1480
+ <span class="cline-any cline-neutral">&nbsp;</span>
1481
+ <span class="cline-any cline-neutral">&nbsp;</span>
1482
+ <span class="cline-any cline-neutral">&nbsp;</span>
1483
+ <span class="cline-any cline-neutral">&nbsp;</span>
1484
+ <span class="cline-any cline-neutral">&nbsp;</span>
1485
+ <span class="cline-any cline-neutral">&nbsp;</span>
1486
+ <span class="cline-any cline-no">&nbsp;</span>
1487
+ <span class="cline-any cline-no">&nbsp;</span>
1488
+ <span class="cline-any cline-neutral">&nbsp;</span>
1489
+ <span class="cline-any cline-neutral">&nbsp;</span>
1490
+ <span class="cline-any cline-neutral">&nbsp;</span>
1491
+ <span class="cline-any cline-neutral">&nbsp;</span>
1492
+ <span class="cline-any cline-no">&nbsp;</span>
1493
+ <span class="cline-any cline-neutral">&nbsp;</span>
1494
+ <span class="cline-any cline-neutral">&nbsp;</span>
1495
+ <span class="cline-any cline-neutral">&nbsp;</span>
1496
+ <span class="cline-any cline-neutral">&nbsp;</span>
1497
+ <span class="cline-any cline-neutral">&nbsp;</span>
1498
+ <span class="cline-any cline-neutral">&nbsp;</span>
1499
+ <span class="cline-any cline-neutral">&nbsp;</span>
1500
+ <span class="cline-any cline-neutral">&nbsp;</span>
1501
+ <span class="cline-any cline-neutral">&nbsp;</span>
1502
+ <span class="cline-any cline-neutral">&nbsp;</span>
1503
+ <span class="cline-any cline-neutral">&nbsp;</span>
1504
+ <span class="cline-any cline-neutral">&nbsp;</span>
1505
+ <span class="cline-any cline-neutral">&nbsp;</span>
1506
+ <span class="cline-any cline-neutral">&nbsp;</span>
1507
+ <span class="cline-any cline-neutral">&nbsp;</span>
1508
+ <span class="cline-any cline-neutral">&nbsp;</span>
1509
+ <span class="cline-any cline-neutral">&nbsp;</span>
1510
+ <span class="cline-any cline-neutral">&nbsp;</span>
1511
+ <span class="cline-any cline-neutral">&nbsp;</span>
1512
+ <span class="cline-any cline-neutral">&nbsp;</span>
1513
+ <span class="cline-any cline-neutral">&nbsp;</span>
1514
+ <span class="cline-any cline-neutral">&nbsp;</span>
1515
+ <span class="cline-any cline-neutral">&nbsp;</span>
1516
+ <span class="cline-any cline-neutral">&nbsp;</span>
1517
+ <span class="cline-any cline-no">&nbsp;</span>
1518
+ <span class="cline-any cline-no">&nbsp;</span>
1519
+ <span class="cline-any cline-neutral">&nbsp;</span>
1520
+ <span class="cline-any cline-neutral">&nbsp;</span>
1521
+ <span class="cline-any cline-neutral">&nbsp;</span>
1522
+ <span class="cline-any cline-neutral">&nbsp;</span>
1523
+ <span class="cline-any cline-neutral">&nbsp;</span>
1524
+ <span class="cline-any cline-neutral">&nbsp;</span>
1525
+ <span class="cline-any cline-neutral">&nbsp;</span>
1526
+ <span class="cline-any cline-neutral">&nbsp;</span>
1527
+ <span class="cline-any cline-neutral">&nbsp;</span>
1528
+ <span class="cline-any cline-neutral">&nbsp;</span>
1529
+ <span class="cline-any cline-neutral">&nbsp;</span>
1530
+ <span class="cline-any cline-neutral">&nbsp;</span>
1531
+ <span class="cline-any cline-neutral">&nbsp;</span>
1532
+ <span class="cline-any cline-neutral">&nbsp;</span>
1533
+ <span class="cline-any cline-neutral">&nbsp;</span>
1534
+ <span class="cline-any cline-neutral">&nbsp;</span>
1535
+ <span class="cline-any cline-neutral">&nbsp;</span>
1536
+ <span class="cline-any cline-neutral">&nbsp;</span>
1537
+ <span class="cline-any cline-neutral">&nbsp;</span>
1538
+ <span class="cline-any cline-neutral">&nbsp;</span>
1539
+ <span class="cline-any cline-neutral">&nbsp;</span>
1540
+ <span class="cline-any cline-neutral">&nbsp;</span>
1541
+ <span class="cline-any cline-no">&nbsp;</span>
1542
+ <span class="cline-any cline-no">&nbsp;</span>
1543
+ <span class="cline-any cline-no">&nbsp;</span>
1544
+ <span class="cline-any cline-neutral">&nbsp;</span>
1545
+ <span class="cline-any cline-neutral">&nbsp;</span>
1546
+ <span class="cline-any cline-neutral">&nbsp;</span>
1547
+ <span class="cline-any cline-neutral">&nbsp;</span>
1548
+ <span class="cline-any cline-no">&nbsp;</span>
1549
+ <span class="cline-any cline-neutral">&nbsp;</span>
1550
+ <span class="cline-any cline-neutral">&nbsp;</span>
1551
+ <span class="cline-any cline-neutral">&nbsp;</span>
1552
+ <span class="cline-any cline-neutral">&nbsp;</span>
1553
+ <span class="cline-any cline-neutral">&nbsp;</span>
1554
+ <span class="cline-any cline-neutral">&nbsp;</span>
1555
+ <span class="cline-any cline-neutral">&nbsp;</span>
1556
+ <span class="cline-any cline-neutral">&nbsp;</span>
1557
+ <span class="cline-any cline-neutral">&nbsp;</span>
1558
+ <span class="cline-any cline-neutral">&nbsp;</span>
1559
+ <span class="cline-any cline-neutral">&nbsp;</span>
1560
+ <span class="cline-any cline-neutral">&nbsp;</span>
1561
+ <span class="cline-any cline-neutral">&nbsp;</span>
1562
+ <span class="cline-any cline-neutral">&nbsp;</span>
1563
+ <span class="cline-any cline-neutral">&nbsp;</span>
1564
+ <span class="cline-any cline-neutral">&nbsp;</span>
1565
+ <span class="cline-any cline-no">&nbsp;</span>
1566
+ <span class="cline-any cline-no">&nbsp;</span>
1567
+ <span class="cline-any cline-no">&nbsp;</span>
1568
+ <span class="cline-any cline-no">&nbsp;</span>
1569
+ <span class="cline-any cline-neutral">&nbsp;</span>
1570
+ <span class="cline-any cline-neutral">&nbsp;</span>
1571
+ <span class="cline-any cline-no">&nbsp;</span>
1572
+ <span class="cline-any cline-neutral">&nbsp;</span>
1573
+ <span class="cline-any cline-no">&nbsp;</span>
1574
+ <span class="cline-any cline-neutral">&nbsp;</span>
1575
+ <span class="cline-any cline-neutral">&nbsp;</span>
1576
+ <span class="cline-any cline-neutral">&nbsp;</span>
1577
+ <span class="cline-any cline-neutral">&nbsp;</span>
1578
+ <span class="cline-any cline-neutral">&nbsp;</span>
1579
+ <span class="cline-any cline-neutral">&nbsp;</span>
1580
+ <span class="cline-any cline-neutral">&nbsp;</span>
1581
+ <span class="cline-any cline-neutral">&nbsp;</span>
1582
+ <span class="cline-any cline-neutral">&nbsp;</span>
1583
+ <span class="cline-any cline-no">&nbsp;</span>
1584
+ <span class="cline-any cline-no">&nbsp;</span>
1585
+ <span class="cline-any cline-neutral">&nbsp;</span>
1586
+ <span class="cline-any cline-neutral">&nbsp;</span>
1587
+ <span class="cline-any cline-neutral">&nbsp;</span>
1588
+ <span class="cline-any cline-no">&nbsp;</span>
1589
+ <span class="cline-any cline-no">&nbsp;</span>
1590
+ <span class="cline-any cline-neutral">&nbsp;</span>
1591
+ <span class="cline-any cline-neutral">&nbsp;</span>
1592
+ <span class="cline-any cline-neutral">&nbsp;</span>
1593
+ <span class="cline-any cline-neutral">&nbsp;</span>
1594
+ <span class="cline-any cline-neutral">&nbsp;</span>
1595
+ <span class="cline-any cline-neutral">&nbsp;</span>
1596
+ <span class="cline-any cline-no">&nbsp;</span>
1597
+ <span class="cline-any cline-no">&nbsp;</span>
1598
+ <span class="cline-any cline-neutral">&nbsp;</span>
1599
+ <span class="cline-any cline-no">&nbsp;</span>
1600
+ <span class="cline-any cline-neutral">&nbsp;</span>
1601
+ <span class="cline-any cline-no">&nbsp;</span>
1602
+ <span class="cline-any cline-no">&nbsp;</span>
1603
+ <span class="cline-any cline-neutral">&nbsp;</span>
1604
+ <span class="cline-any cline-no">&nbsp;</span>
1605
+ <span class="cline-any cline-no">&nbsp;</span>
1606
+ <span class="cline-any cline-no">&nbsp;</span>
1607
+ <span class="cline-any cline-neutral">&nbsp;</span>
1608
+ <span class="cline-any cline-no">&nbsp;</span>
1609
+ <span class="cline-any cline-no">&nbsp;</span>
1610
+ <span class="cline-any cline-no">&nbsp;</span>
1611
+ <span class="cline-any cline-no">&nbsp;</span>
1612
+ <span class="cline-any cline-neutral">&nbsp;</span>
1613
+ <span class="cline-any cline-neutral">&nbsp;</span>
1614
+ <span class="cline-any cline-neutral">&nbsp;</span>
1615
+ <span class="cline-any cline-no">&nbsp;</span>
1616
+ <span class="cline-any cline-neutral">&nbsp;</span>
1617
+ <span class="cline-any cline-neutral">&nbsp;</span>
1618
+ <span class="cline-any cline-neutral">&nbsp;</span>
1619
+ <span class="cline-any cline-neutral">&nbsp;</span>
1620
+ <span class="cline-any cline-neutral">&nbsp;</span>
1621
+ <span class="cline-any cline-neutral">&nbsp;</span>
1622
+ <span class="cline-any cline-neutral">&nbsp;</span>
1623
+ <span class="cline-any cline-neutral">&nbsp;</span>
1624
+ <span class="cline-any cline-neutral">&nbsp;</span>
1625
+ <span class="cline-any cline-neutral">&nbsp;</span>
1626
+ <span class="cline-any cline-neutral">&nbsp;</span>
1627
+ <span class="cline-any cline-neutral">&nbsp;</span>
1628
+ <span class="cline-any cline-neutral">&nbsp;</span>
1629
+ <span class="cline-any cline-neutral">&nbsp;</span>
1630
+ <span class="cline-any cline-neutral">&nbsp;</span>
1631
+ <span class="cline-any cline-neutral">&nbsp;</span>
1632
+ <span class="cline-any cline-no">&nbsp;</span>
1633
+ <span class="cline-any cline-no">&nbsp;</span>
1634
+ <span class="cline-any cline-no">&nbsp;</span>
1635
+ <span class="cline-any cline-no">&nbsp;</span>
1636
+ <span class="cline-any cline-neutral">&nbsp;</span>
1637
+ <span class="cline-any cline-neutral">&nbsp;</span>
1638
+ <span class="cline-any cline-no">&nbsp;</span>
1639
+ <span class="cline-any cline-neutral">&nbsp;</span>
1640
+ <span class="cline-any cline-no">&nbsp;</span>
1641
+ <span class="cline-any cline-neutral">&nbsp;</span>
1642
+ <span class="cline-any cline-neutral">&nbsp;</span>
1643
+ <span class="cline-any cline-neutral">&nbsp;</span>
1644
+ <span class="cline-any cline-no">&nbsp;</span>
1645
+ <span class="cline-any cline-no">&nbsp;</span>
1646
+ <span class="cline-any cline-neutral">&nbsp;</span>
1647
+ <span class="cline-any cline-neutral">&nbsp;</span>
1648
+ <span class="cline-any cline-neutral">&nbsp;</span>
1649
+ <span class="cline-any cline-neutral">&nbsp;</span>
1650
+ <span class="cline-any cline-neutral">&nbsp;</span>
1651
+ <span class="cline-any cline-neutral">&nbsp;</span>
1652
+ <span class="cline-any cline-no">&nbsp;</span>
1653
+ <span class="cline-any cline-no">&nbsp;</span>
1654
+ <span class="cline-any cline-neutral">&nbsp;</span>
1655
+ <span class="cline-any cline-no">&nbsp;</span>
1656
+ <span class="cline-any cline-neutral">&nbsp;</span>
1657
+ <span class="cline-any cline-no">&nbsp;</span>
1658
+ <span class="cline-any cline-no">&nbsp;</span>
1659
+ <span class="cline-any cline-neutral">&nbsp;</span>
1660
+ <span class="cline-any cline-no">&nbsp;</span>
1661
+ <span class="cline-any cline-no">&nbsp;</span>
1662
+ <span class="cline-any cline-no">&nbsp;</span>
1663
+ <span class="cline-any cline-neutral">&nbsp;</span>
1664
+ <span class="cline-any cline-no">&nbsp;</span>
1665
+ <span class="cline-any cline-no">&nbsp;</span>
1666
+ <span class="cline-any cline-no">&nbsp;</span>
1667
+ <span class="cline-any cline-no">&nbsp;</span>
1668
+ <span class="cline-any cline-neutral">&nbsp;</span>
1669
+ <span class="cline-any cline-neutral">&nbsp;</span>
1670
+ <span class="cline-any cline-neutral">&nbsp;</span>
1671
+ <span class="cline-any cline-no">&nbsp;</span>
1672
+ <span class="cline-any cline-neutral">&nbsp;</span>
1673
+ <span class="cline-any cline-neutral">&nbsp;</span>
1674
+ <span class="cline-any cline-neutral">&nbsp;</span>
1675
+ <span class="cline-any cline-neutral">&nbsp;</span>
1676
+ <span class="cline-any cline-neutral">&nbsp;</span>
1677
+ <span class="cline-any cline-neutral">&nbsp;</span>
1678
+ <span class="cline-any cline-neutral">&nbsp;</span>
1679
+ <span class="cline-any cline-neutral">&nbsp;</span>
1680
+ <span class="cline-any cline-neutral">&nbsp;</span>
1681
+ <span class="cline-any cline-no">&nbsp;</span>
1682
+ <span class="cline-any cline-no">&nbsp;</span>
1683
+ <span class="cline-any cline-no">&nbsp;</span>
1684
+ <span class="cline-any cline-no">&nbsp;</span>
1685
+ <span class="cline-any cline-neutral">&nbsp;</span>
1686
+ <span class="cline-any cline-no">&nbsp;</span>
1687
+ <span class="cline-any cline-no">&nbsp;</span>
1688
+ <span class="cline-any cline-no">&nbsp;</span>
1689
+ <span class="cline-any cline-no">&nbsp;</span>
1690
+ <span class="cline-any cline-no">&nbsp;</span>
1691
+ <span class="cline-any cline-no">&nbsp;</span>
1692
+ <span class="cline-any cline-no">&nbsp;</span>
1693
+ <span class="cline-any cline-no">&nbsp;</span>
1694
+ <span class="cline-any cline-no">&nbsp;</span>
1695
+ <span class="cline-any cline-no">&nbsp;</span>
1696
+ <span class="cline-any cline-no">&nbsp;</span>
1697
+ <span class="cline-any cline-no">&nbsp;</span>
1698
+ <span class="cline-any cline-no">&nbsp;</span>
1699
+ <span class="cline-any cline-no">&nbsp;</span>
1700
+ <span class="cline-any cline-neutral">&nbsp;</span>
1701
+ <span class="cline-any cline-neutral">&nbsp;</span>
1702
+ <span class="cline-any cline-neutral">&nbsp;</span>
1703
+ <span class="cline-any cline-neutral">&nbsp;</span>
1704
+ <span class="cline-any cline-no">&nbsp;</span>
1705
+ <span class="cline-any cline-no">&nbsp;</span>
1706
+ <span class="cline-any cline-no">&nbsp;</span>
1707
+ <span class="cline-any cline-neutral">&nbsp;</span>
1708
+ <span class="cline-any cline-neutral">&nbsp;</span>
1709
+ <span class="cline-any cline-neutral">&nbsp;</span>
1710
+ <span class="cline-any cline-neutral">&nbsp;</span>
1711
+ <span class="cline-any cline-no">&nbsp;</span>
1712
+ <span class="cline-any cline-neutral">&nbsp;</span>
1713
+ <span class="cline-any cline-neutral">&nbsp;</span>
1714
+ <span class="cline-any cline-neutral">&nbsp;</span>
1715
+ <span class="cline-any cline-neutral">&nbsp;</span>
1716
+ <span class="cline-any cline-no">&nbsp;</span>
1717
+ <span class="cline-any cline-no">&nbsp;</span>
1718
+ <span class="cline-any cline-no">&nbsp;</span>
1719
+ <span class="cline-any cline-no">&nbsp;</span>
1720
+ <span class="cline-any cline-no">&nbsp;</span>
1721
+ <span class="cline-any cline-neutral">&nbsp;</span>
1722
+ <span class="cline-any cline-no">&nbsp;</span>
1723
+ <span class="cline-any cline-neutral">&nbsp;</span>
1724
+ <span class="cline-any cline-neutral">&nbsp;</span>
1725
+ <span class="cline-any cline-neutral">&nbsp;</span>
1726
+ <span class="cline-any cline-no">&nbsp;</span>
1727
+ <span class="cline-any cline-neutral">&nbsp;</span>
1728
+ <span class="cline-any cline-neutral">&nbsp;</span>
1729
+ <span class="cline-any cline-neutral">&nbsp;</span>
1730
+ <span class="cline-any cline-no">&nbsp;</span>
1731
+ <span class="cline-any cline-no">&nbsp;</span>
1732
+ <span class="cline-any cline-no">&nbsp;</span>
1733
+ <span class="cline-any cline-no">&nbsp;</span>
1734
+ <span class="cline-any cline-no">&nbsp;</span>
1735
+ <span class="cline-any cline-no">&nbsp;</span>
1736
+ <span class="cline-any cline-no">&nbsp;</span>
1737
+ <span class="cline-any cline-neutral">&nbsp;</span>
1738
+ <span class="cline-any cline-neutral">&nbsp;</span>
1739
+ <span class="cline-any cline-neutral">&nbsp;</span>
1740
+ <span class="cline-any cline-no">&nbsp;</span>
1741
+ <span class="cline-any cline-no">&nbsp;</span>
1742
+ <span class="cline-any cline-no">&nbsp;</span>
1743
+ <span class="cline-any cline-no">&nbsp;</span>
1744
+ <span class="cline-any cline-no">&nbsp;</span>
1745
+ <span class="cline-any cline-neutral">&nbsp;</span>
1746
+ <span class="cline-any cline-neutral">&nbsp;</span>
1747
+ <span class="cline-any cline-no">&nbsp;</span>
1748
+ <span class="cline-any cline-neutral">&nbsp;</span>
1749
+ <span class="cline-any cline-no">&nbsp;</span>
1750
+ <span class="cline-any cline-neutral">&nbsp;</span>
1751
+ <span class="cline-any cline-neutral">&nbsp;</span>
1752
+ <span class="cline-any cline-neutral">&nbsp;</span>
1753
+ <span class="cline-any cline-neutral">&nbsp;</span>
1754
+ <span class="cline-any cline-no">&nbsp;</span>
1755
+ <span class="cline-any cline-no">&nbsp;</span>
1756
+ <span class="cline-any cline-no">&nbsp;</span>
1757
+ <span class="cline-any cline-no">&nbsp;</span>
1758
+ <span class="cline-any cline-no">&nbsp;</span>
1759
+ <span class="cline-any cline-no">&nbsp;</span>
1760
+ <span class="cline-any cline-neutral">&nbsp;</span>
1761
+ <span class="cline-any cline-neutral">&nbsp;</span>
1762
+ <span class="cline-any cline-neutral">&nbsp;</span>
1763
+ <span class="cline-any cline-no">&nbsp;</span>
1764
+ <span class="cline-any cline-no">&nbsp;</span>
1765
+ <span class="cline-any cline-no">&nbsp;</span>
1766
+ <span class="cline-any cline-no">&nbsp;</span>
1767
+ <span class="cline-any cline-no">&nbsp;</span>
1768
+ <span class="cline-any cline-neutral">&nbsp;</span>
1769
+ <span class="cline-any cline-neutral">&nbsp;</span>
1770
+ <span class="cline-any cline-no">&nbsp;</span>
1771
+ <span class="cline-any cline-neutral">&nbsp;</span>
1772
+ <span class="cline-any cline-no">&nbsp;</span>
1773
+ <span class="cline-any cline-neutral">&nbsp;</span>
1774
+ <span class="cline-any cline-neutral">&nbsp;</span>
1775
+ <span class="cline-any cline-neutral">&nbsp;</span>
1776
+ <span class="cline-any cline-yes">11x</span>
1777
+ <span class="cline-any cline-yes">11x</span>
1778
+ <span class="cline-any cline-yes">11x</span>
1779
+ <span class="cline-any cline-yes">9x</span>
1780
+ <span class="cline-any cline-yes">9x</span>
1781
+ <span class="cline-any cline-yes">6x</span>
1782
+ <span class="cline-any cline-neutral">&nbsp;</span>
1783
+ <span class="cline-any cline-yes">3x</span>
1784
+ <span class="cline-any cline-neutral">&nbsp;</span>
1785
+ <span class="cline-any cline-yes">9x</span>
1786
+ <span class="cline-any cline-neutral">&nbsp;</span>
1787
+ <span class="cline-any cline-yes">11x</span>
1788
+ <span class="cline-any cline-yes">11x</span>
1789
+ <span class="cline-any cline-yes">11x</span>
1790
+ <span class="cline-any cline-yes">3x</span>
1791
+ <span class="cline-any cline-yes">8x</span>
1792
+ <span class="cline-any cline-yes">5x</span>
1793
+ <span class="cline-any cline-neutral">&nbsp;</span>
1794
+ <span class="cline-any cline-yes">3x</span>
1795
+ <span class="cline-any cline-neutral">&nbsp;</span>
1796
+ <span class="cline-any cline-neutral">&nbsp;</span>
1797
+ <span class="cline-any cline-yes">11x</span>
1798
+ <span class="cline-any cline-yes">11x</span>
1799
+ <span class="cline-any cline-yes">6x</span>
1800
+ <span class="cline-any cline-neutral">&nbsp;</span>
1801
+ <span class="cline-any cline-neutral">&nbsp;</span>
1802
+ <span class="cline-any cline-neutral">&nbsp;</span>
1803
+ <span class="cline-any cline-neutral">&nbsp;</span>
1804
+ <span class="cline-any cline-yes">2x</span>
1805
+ <span class="cline-any cline-neutral">&nbsp;</span>
1806
+ <span class="cline-any cline-yes">6x</span>
1807
+ <span class="cline-any cline-neutral">&nbsp;</span>
1808
+ <span class="cline-any cline-neutral">&nbsp;</span>
1809
+ <span class="cline-any cline-yes">11x</span>
1810
+ <span class="cline-any cline-yes">11x</span>
1811
+ <span class="cline-any cline-neutral">&nbsp;</span>
1812
+ <span class="cline-any cline-neutral">&nbsp;</span>
1813
+ <span class="cline-any cline-yes">11x</span>
1814
+ <span class="cline-any cline-neutral">&nbsp;</span>
1815
+ <span class="cline-any cline-neutral">&nbsp;</span>
1816
+ <span class="cline-any cline-neutral">&nbsp;</span>
1817
+ <span class="cline-any cline-yes">1x</span>
1818
+ <span class="cline-any cline-yes">11x</span>
1819
+ <span class="cline-any cline-yes">11x</span>
1820
+ <span class="cline-any cline-yes">11x</span>
1821
+ <span class="cline-any cline-yes">11x</span>
1822
+ <span class="cline-any cline-yes">11x</span>
1823
+ <span class="cline-any cline-yes">11x</span>
1824
+ <span class="cline-any cline-yes">8x</span>
1825
+ <span class="cline-any cline-yes">8x</span>
1826
+ <span class="cline-any cline-yes">8x</span>
1827
+ <span class="cline-any cline-yes">8x</span>
1828
+ <span class="cline-any cline-neutral">&nbsp;</span>
1829
+ <span class="cline-any cline-yes">9x</span>
1830
+ <span class="cline-any cline-yes">6x</span>
1831
+ <span class="cline-any cline-yes">6x</span>
1832
+ <span class="cline-any cline-yes">6x</span>
1833
+ <span class="cline-any cline-yes">6x</span>
1834
+ <span class="cline-any cline-neutral">&nbsp;</span>
1835
+ <span class="cline-any cline-no">&nbsp;</span>
1836
+ <span class="cline-any cline-no">&nbsp;</span>
1837
+ <span class="cline-any cline-neutral">&nbsp;</span>
1838
+ <span class="cline-any cline-yes">6x</span>
1839
+ <span class="cline-any cline-yes">6x</span>
1840
+ <span class="cline-any cline-yes">6x</span>
1841
+ <span class="cline-any cline-neutral">&nbsp;</span>
1842
+ <span class="cline-any cline-neutral">&nbsp;</span>
1843
+ <span class="cline-any cline-yes">3x</span>
1844
+ <span class="cline-any cline-yes">1x</span>
1845
+ <span class="cline-any cline-neutral">&nbsp;</span>
1846
+ <span class="cline-any cline-yes">3x</span>
1847
+ <span class="cline-any cline-yes">3x</span>
1848
+ <span class="cline-any cline-yes">3x</span>
1849
+ <span class="cline-any cline-neutral">&nbsp;</span>
1850
+ <span class="cline-any cline-neutral">&nbsp;</span>
1851
+ <span class="cline-any cline-neutral">&nbsp;</span>
1852
+ <span class="cline-any cline-neutral">&nbsp;</span>
1853
+ <span class="cline-any cline-neutral">&nbsp;</span>
1854
+ <span class="cline-any cline-neutral">&nbsp;</span>
1855
+ <span class="cline-any cline-neutral">&nbsp;</span>
1856
+ <span class="cline-any cline-no">&nbsp;</span>
1857
+ <span class="cline-any cline-neutral">&nbsp;</span>
1858
+ <span class="cline-any cline-yes">8x</span>
1859
+ <span class="cline-any cline-yes">8x</span>
1860
+ <span class="cline-any cline-yes">8x</span>
1861
+ <span class="cline-any cline-yes">6x</span>
1862
+ <span class="cline-any cline-yes">3x</span>
1863
+ <span class="cline-any cline-yes">3x</span>
1864
+ <span class="cline-any cline-neutral">&nbsp;</span>
1865
+ <span class="cline-any cline-yes">6x</span>
1866
+ <span class="cline-any cline-neutral">&nbsp;</span>
1867
+ <span class="cline-any cline-neutral">&nbsp;</span>
1868
+ <span class="cline-any cline-neutral">&nbsp;</span>
1869
+ <span class="cline-any cline-neutral">&nbsp;</span>
1870
+ <span class="cline-any cline-neutral">&nbsp;</span>
1871
+ <span class="cline-any cline-neutral">&nbsp;</span>
1872
+ <span class="cline-any cline-yes">8x</span>
1873
+ <span class="cline-any cline-neutral">&nbsp;</span>
1874
+ <span class="cline-any cline-yes">3x</span>
1875
+ <span class="cline-any cline-yes">3x</span>
1876
+ <span class="cline-any cline-yes">3x</span>
1877
+ <span class="cline-any cline-yes">3x</span>
1878
+ <span class="cline-any cline-no">&nbsp;</span>
1879
+ <span class="cline-any cline-no">&nbsp;</span>
1880
+ <span class="cline-any cline-no">&nbsp;</span>
1881
+ <span class="cline-any cline-neutral">&nbsp;</span>
1882
+ <span class="cline-any cline-no">&nbsp;</span>
1883
+ <span class="cline-any cline-neutral">&nbsp;</span>
1884
+ <span class="cline-any cline-neutral">&nbsp;</span>
1885
+ <span class="cline-any cline-neutral">&nbsp;</span>
1886
+ <span class="cline-any cline-neutral">&nbsp;</span>
1887
+ <span class="cline-any cline-neutral">&nbsp;</span>
1888
+ <span class="cline-any cline-neutral">&nbsp;</span>
1889
+ <span class="cline-any cline-yes">3x</span>
1890
+ <span class="cline-any cline-neutral">&nbsp;</span>
1891
+ <span class="cline-any cline-neutral">&nbsp;</span>
1892
+ <span class="cline-any cline-no">&nbsp;</span>
1893
+ <span class="cline-any cline-no">&nbsp;</span>
1894
+ <span class="cline-any cline-no">&nbsp;</span>
1895
+ <span class="cline-any cline-no">&nbsp;</span>
1896
+ <span class="cline-any cline-no">&nbsp;</span>
1897
+ <span class="cline-any cline-neutral">&nbsp;</span>
1898
+ <span class="cline-any cline-no">&nbsp;</span>
1899
+ <span class="cline-any cline-neutral">&nbsp;</span>
1900
+ <span class="cline-any cline-neutral">&nbsp;</span>
1901
+ <span class="cline-any cline-neutral">&nbsp;</span>
1902
+ <span class="cline-any cline-neutral">&nbsp;</span>
1903
+ <span class="cline-any cline-neutral">&nbsp;</span>
1904
+ <span class="cline-any cline-neutral">&nbsp;</span>
1905
+ <span class="cline-any cline-no">&nbsp;</span>
1906
+ <span class="cline-any cline-neutral">&nbsp;</span>
1907
+ <span class="cline-any cline-yes">11x</span>
1908
+ <span class="cline-any cline-neutral">&nbsp;</span>
1909
+ <span class="cline-any cline-neutral">&nbsp;</span>
1910
+ <span class="cline-any cline-neutral">&nbsp;</span>
1911
+ <span class="cline-any cline-yes">1x</span>
1912
+ <span class="cline-any cline-no">&nbsp;</span>
1913
+ <span class="cline-any cline-neutral">&nbsp;</span>
1914
+ <span class="cline-any cline-no">&nbsp;</span>
1915
+ <span class="cline-any cline-no">&nbsp;</span>
1916
+ <span class="cline-any cline-neutral">&nbsp;</span>
1917
+ <span class="cline-any cline-no">&nbsp;</span>
1918
+ <span class="cline-any cline-no">&nbsp;</span>
1919
+ <span class="cline-any cline-no">&nbsp;</span>
1920
+ <span class="cline-any cline-no">&nbsp;</span>
1921
+ <span class="cline-any cline-no">&nbsp;</span>
1922
+ <span class="cline-any cline-no">&nbsp;</span>
1923
+ <span class="cline-any cline-no">&nbsp;</span>
1924
+ <span class="cline-any cline-neutral">&nbsp;</span>
1925
+ <span class="cline-any cline-no">&nbsp;</span>
1926
+ <span class="cline-any cline-no">&nbsp;</span>
1927
+ <span class="cline-any cline-no">&nbsp;</span>
1928
+ <span class="cline-any cline-no">&nbsp;</span>
1929
+ <span class="cline-any cline-no">&nbsp;</span>
1930
+ <span class="cline-any cline-neutral">&nbsp;</span>
1931
+ <span class="cline-any cline-no">&nbsp;</span>
1932
+ <span class="cline-any cline-no">&nbsp;</span>
1933
+ <span class="cline-any cline-neutral">&nbsp;</span>
1934
+ <span class="cline-any cline-no">&nbsp;</span>
1935
+ <span class="cline-any cline-no">&nbsp;</span>
1936
+ <span class="cline-any cline-no">&nbsp;</span>
1937
+ <span class="cline-any cline-neutral">&nbsp;</span>
1938
+ <span class="cline-any cline-neutral">&nbsp;</span>
1939
+ <span class="cline-any cline-no">&nbsp;</span>
1940
+ <span class="cline-any cline-no">&nbsp;</span>
1941
+ <span class="cline-any cline-neutral">&nbsp;</span>
1942
+ <span class="cline-any cline-no">&nbsp;</span>
1943
+ <span class="cline-any cline-no">&nbsp;</span>
1944
+ <span class="cline-any cline-no">&nbsp;</span>
1945
+ <span class="cline-any cline-neutral">&nbsp;</span>
1946
+ <span class="cline-any cline-neutral">&nbsp;</span>
1947
+ <span class="cline-any cline-neutral">&nbsp;</span>
1948
+ <span class="cline-any cline-no">&nbsp;</span>
1949
+ <span class="cline-any cline-neutral">&nbsp;</span>
1950
+ <span class="cline-any cline-no">&nbsp;</span>
1951
+ <span class="cline-any cline-neutral">&nbsp;</span>
1952
+ <span class="cline-any cline-no">&nbsp;</span>
1953
+ <span class="cline-any cline-no">&nbsp;</span>
1954
+ <span class="cline-any cline-no">&nbsp;</span>
1955
+ <span class="cline-any cline-no">&nbsp;</span>
1956
+ <span class="cline-any cline-no">&nbsp;</span>
1957
+ <span class="cline-any cline-neutral">&nbsp;</span>
1958
+ <span class="cline-any cline-no">&nbsp;</span>
1959
+ <span class="cline-any cline-neutral">&nbsp;</span>
1960
+ <span class="cline-any cline-neutral">&nbsp;</span>
1961
+ <span class="cline-any cline-neutral">&nbsp;</span>
1962
+ <span class="cline-any cline-neutral">&nbsp;</span>
1963
+ <span class="cline-any cline-neutral">&nbsp;</span>
1964
+ <span class="cline-any cline-no">&nbsp;</span>
1965
+ <span class="cline-any cline-no">&nbsp;</span>
1966
+ <span class="cline-any cline-neutral">&nbsp;</span>
1967
+ <span class="cline-any cline-no">&nbsp;</span>
1968
+ <span class="cline-any cline-neutral">&nbsp;</span>
1969
+ <span class="cline-any cline-no">&nbsp;</span>
1970
+ <span class="cline-any cline-no">&nbsp;</span>
1971
+ <span class="cline-any cline-no">&nbsp;</span>
1972
+ <span class="cline-any cline-no">&nbsp;</span>
1973
+ <span class="cline-any cline-no">&nbsp;</span>
1974
+ <span class="cline-any cline-no">&nbsp;</span>
1975
+ <span class="cline-any cline-neutral">&nbsp;</span>
1976
+ <span class="cline-any cline-no">&nbsp;</span>
1977
+ <span class="cline-any cline-neutral">&nbsp;</span>
1978
+ <span class="cline-any cline-neutral">&nbsp;</span>
1979
+ <span class="cline-any cline-neutral">&nbsp;</span>
1980
+ <span class="cline-any cline-neutral">&nbsp;</span>
1981
+ <span class="cline-any cline-neutral">&nbsp;</span>
1982
+ <span class="cline-any cline-no">&nbsp;</span>
1983
+ <span class="cline-any cline-no">&nbsp;</span>
1984
+ <span class="cline-any cline-no">&nbsp;</span>
1985
+ <span class="cline-any cline-neutral">&nbsp;</span>
1986
+ <span class="cline-any cline-neutral">&nbsp;</span>
1987
+ <span class="cline-any cline-no">&nbsp;</span>
1988
+ <span class="cline-any cline-no">&nbsp;</span>
1989
+ <span class="cline-any cline-no">&nbsp;</span>
1990
+ <span class="cline-any cline-no">&nbsp;</span>
1991
+ <span class="cline-any cline-neutral">&nbsp;</span>
1992
+ <span class="cline-any cline-no">&nbsp;</span>
1993
+ <span class="cline-any cline-neutral">&nbsp;</span>
1994
+ <span class="cline-any cline-neutral">&nbsp;</span>
1995
+ <span class="cline-any cline-neutral">&nbsp;</span>
1996
+ <span class="cline-any cline-neutral">&nbsp;</span>
1997
+ <span class="cline-any cline-neutral">&nbsp;</span>
1998
+ <span class="cline-any cline-no">&nbsp;</span>
1999
+ <span class="cline-any cline-no">&nbsp;</span>
2000
+ <span class="cline-any cline-no">&nbsp;</span>
2001
+ <span class="cline-any cline-neutral">&nbsp;</span>
2002
+ <span class="cline-any cline-neutral">&nbsp;</span>
2003
+ <span class="cline-any cline-no">&nbsp;</span>
2004
+ <span class="cline-any cline-neutral">&nbsp;</span>
2005
+ <span class="cline-any cline-neutral">&nbsp;</span>
2006
+ <span class="cline-any cline-neutral">&nbsp;</span>
2007
+ <span class="cline-any cline-neutral">&nbsp;</span>
2008
+ <span class="cline-any cline-neutral">&nbsp;</span>
2009
+ <span class="cline-any cline-neutral">&nbsp;</span>
2010
+ <span class="cline-any cline-neutral">&nbsp;</span>
2011
+ <span class="cline-any cline-neutral">&nbsp;</span>
2012
+ <span class="cline-any cline-yes">1x</span>
2013
+ <span class="cline-any cline-neutral">&nbsp;</span>
2014
+ <span class="cline-any cline-neutral">&nbsp;</span>
2015
+ <span class="cline-any cline-neutral">&nbsp;</span>
2016
+ <span class="cline-any cline-neutral">&nbsp;</span>
2017
+ <span class="cline-any cline-neutral">&nbsp;</span>
2018
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
2019
+ import {
2020
+ TranslatorState,
2021
+ shiftState,
2022
+ withSourceMap,
2023
+ indent,
2024
+ createCompilerState,
2025
+ withSourceMapGenerator,
2026
+ withGenerator,
2027
+ TranslatorGenerator,
2028
+ } from '../translator';
2029
+ import Match from './Match__';
2030
+ import MemberExpression from './MemberExpression__';
2031
+ import BooleanLiteral from './BooleanLiteral__';
2032
+ import { ElementToVueOptions } from './ViewElement__';
2033
+ &nbsp;
2034
+ //================================================================================
2035
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2036
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2037
+ //================================================================================
2038
+ import { EventPayload, Params } from '../common/EventEmitter';
2039
+ import { concept, excludedInJSON, property, className } from '../decorators';
2040
+ &nbsp;
2041
+ import * as utils from '../utils';
2042
+ import { v4 as uuidv4 } from 'uuid';
2043
+ import BaseNode from '../common/BaseNode';
2044
+ import LogicItem from './LogicItem__';
2045
+ import TypeAnnotation from './TypeAnnotation__';
2046
+ &nbsp;
2047
+ /**
2048
+ * 匹配分支
2049
+ */
2050
+ @className
2051
+ @concept('匹配分支')
2052
+ // @ts-ignore
2053
+ export class MatchCase extends LogicItem {
2054
+ /** 类名 */
2055
+ static readonly ConceptName = 'MatchCase';
2056
+ &nbsp;
2057
+ /**
2058
+ * 产品概念
2059
+ */
2060
+ @property('concept')
2061
+ // @ts-ignore
2062
+ readonly concept!: 'MatchCase';
2063
+ &nbsp;
2064
+ /**
2065
+ * 条件表达式
2066
+ */
2067
+ @property('LogicItem | TypeAnnotation')
2068
+ patterns: Array&lt;LogicItem | TypeAnnotation&gt; = [];
2069
+ &nbsp;
2070
+ /**
2071
+ * then
2072
+ */
2073
+ @property('LogicItem')
2074
+ body: Array&lt;LogicItem&gt; = [];
2075
+ &nbsp;
2076
+ /**
2077
+ * 是否可枚举
2078
+ */
2079
+ @property()
2080
+ isMatchedTypeEnumable: boolean = false;
2081
+ &nbsp;
2082
+ /**
2083
+ * @param source 需要合并的部分参数
2084
+ */
2085
+ constructor(source?: Partial&lt;MatchCase&gt;) {
2086
+ source = Object.assign({}, MatchCase.getDefaultOptions(), source);
2087
+ super(source);
2088
+ super.subConstructor(source);
2089
+ }
2090
+ &nbsp;
2091
+ static from(source: any, parentNode?: any, parentKey?: string): MatchCase {
2092
+ return super.from(source, parentNode, parentKey) as MatchCase;
2093
+ }
2094
+ &nbsp;
2095
+ /**
2096
+ * 设置条件表达式
2097
+ */
2098
+ <span class="fstat-no" title="function not covered" > setPatterns(</span>patterns: Array&lt;LogicItem | TypeAnnotation&gt;) {
2099
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
2100
+ patterns,
2101
+ };
2102
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2103
+ ...object,
2104
+ });
2105
+ }
2106
+ &nbsp;
2107
+ /**
2108
+ * 设置是否可枚举
2109
+ */
2110
+ <span class="fstat-no" title="function not covered" > setIsMatchedTypeEnumable(</span>isMatchedTypeEnumable: boolean) {
2111
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
2112
+ isMatchedTypeEnumable,
2113
+ };
2114
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
2115
+ ...object,
2116
+ });
2117
+ }
2118
+ &nbsp;
2119
+ <span class="fstat-no" title="function not covered" > getLogicItemExistingNames(</span>excludedList: Array&lt;LogicItem&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
2120
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
2121
+ <span class="cstat-no" title="statement not covered" > return ((this.patterns as LogicItem[]) || []).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>
2122
+ }
2123
+ <span class="fstat-no" title="function not covered" > getLogicItemUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'logicItem1')</span> {
2124
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getLogicItemExistingNames(), undefined, false);</span>
2125
+ }
2126
+ &nbsp;
2127
+ /**
2128
+ * 插入逻辑项
2129
+ * @internal
2130
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2131
+ */
2132
+ _insertLogicItemInPatternsAt(name: string, index: number): LogicItem;
2133
+ &nbsp;
2134
+ /**
2135
+ * 插入逻辑项
2136
+ * @internal
2137
+ * @param logicItemOptions 逻辑项参数
2138
+ */
2139
+ _insertLogicItemInPatternsAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2140
+ &nbsp;
2141
+ /**
2142
+ * 插入逻辑项
2143
+ * @internal
2144
+ * @param logicItem 已有的逻辑项实例
2145
+ */
2146
+ _insertLogicItemInPatternsAt(logicItem: LogicItem, index: number): LogicItem;
2147
+ &nbsp;
2148
+ <span class="fstat-no" title="function not covered" > _insertLogicItemInPatternsAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2149
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2150
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'patterns' };</span>
2151
+ let logicItem: LogicItem;
2152
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
2153
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2154
+ {
2155
+ ...logicItemOptions,
2156
+ name: this.getLogicItemUniqueName(),
2157
+ },
2158
+ this,
2159
+ 'patterns',
2160
+ );
2161
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
2162
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2163
+ {
2164
+ ...logicItemOptions,
2165
+ name: options,
2166
+ },
2167
+ this,
2168
+ 'patterns',
2169
+ );
2170
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof LogicItem) {</span>
2171
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2172
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2173
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
2174
+ } else {
2175
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2176
+ {
2177
+ ...logicItemOptions,
2178
+ ...options,
2179
+ },
2180
+ this,
2181
+ 'patterns',
2182
+ );
2183
+ }
2184
+ <span class="cstat-no" title="statement not covered" > this.patterns.splice(index, 0, logicItem);</span>
2185
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
2186
+ }
2187
+ &nbsp;
2188
+ /**
2189
+ * 插入逻辑项
2190
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2191
+ */
2192
+ insertLogicItemInPatternsAt(name: string, index: number): LogicItem;
2193
+ &nbsp;
2194
+ /**
2195
+ * 插入逻辑项
2196
+ * @param logicItemOptions 逻辑项参数
2197
+ */
2198
+ insertLogicItemInPatternsAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2199
+ &nbsp;
2200
+ /**
2201
+ * 插入逻辑项
2202
+ * @param logicItem 已有的逻辑项实例
2203
+ */
2204
+ insertLogicItemInPatternsAt(logicItem: LogicItem, index: number): LogicItem;
2205
+ &nbsp;
2206
+ <span class="fstat-no" title="function not covered" > insertLogicItemInPatternsAt(</span>options: string | Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2207
+ const node = <span class="cstat-no" title="statement not covered" >this._insertLogicItemInPatternsAt(options as any, index);</span>
2208
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2209
+ index,
2210
+ parentNode: this,
2211
+ parentKey: 'patterns',
2212
+ });
2213
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2214
+ }
2215
+ &nbsp;
2216
+ /**
2217
+ * 添加逻辑项
2218
+ * @internal
2219
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2220
+ */
2221
+ _addLogicItemInPatterns(name?: string): LogicItem;
2222
+ &nbsp;
2223
+ /**
2224
+ * 添加逻辑项
2225
+ * @internal
2226
+ * @param logicItemOptions 逻辑项参数
2227
+ */
2228
+ _addLogicItemInPatterns(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2229
+ &nbsp;
2230
+ /**
2231
+ * 添加逻辑项
2232
+ * @internal
2233
+ * @param logicItem 已有的逻辑项实例
2234
+ */
2235
+ _addLogicItemInPatterns(logicItem: LogicItem): LogicItem;
2236
+ &nbsp;
2237
+ <span class="fstat-no" title="function not covered" > _addLogicItemInPatterns(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
2238
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.length;</span>
2239
+ <span class="cstat-no" title="statement not covered" > return this._insertLogicItemInPatternsAt(options as any, index);</span>
2240
+ }
2241
+ &nbsp;
2242
+ /**
2243
+ * 添加逻辑项
2244
+ * @internal
2245
+ * @param name 逻辑项名称,如果不填会自动生成一个唯一名称
2246
+ */
2247
+ addLogicItemInPatterns(name?: string): LogicItem;
2248
+ &nbsp;
2249
+ /**
2250
+ * 添加逻辑项
2251
+ * @param logicItemOptions 逻辑项参数
2252
+ */
2253
+ addLogicItemInPatterns(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2254
+ &nbsp;
2255
+ /**
2256
+ * 添加逻辑项
2257
+ * @param logicItem 已有的逻辑项实例
2258
+ */
2259
+ addLogicItemInPatterns(logicItem: LogicItem): LogicItem;
2260
+ &nbsp;
2261
+ <span class="fstat-no" title="function not covered" > addLogicItemInPatterns(</span>options?: string | Partial&lt;LogicItem&gt; | LogicItem) {
2262
+ const node = <span class="cstat-no" title="statement not covered" >this._addLogicItemInPatterns(options as any);</span>
2263
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.indexOf(node);</span>
2264
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2265
+ index,
2266
+ parentNode: this,
2267
+ parentKey: 'patterns',
2268
+ });
2269
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2270
+ }
2271
+ &nbsp;
2272
+ /**
2273
+ * 插入逻辑项
2274
+ * @internal
2275
+ * @param logicItemOptions 逻辑项参数
2276
+ */
2277
+ _insertItemInBodyAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2278
+ &nbsp;
2279
+ /**
2280
+ * 插入逻辑项
2281
+ * @internal
2282
+ * @param logicItem 已有的逻辑项实例
2283
+ */
2284
+ _insertItemInBodyAt(logicItem: LogicItem, index: number): LogicItem;
2285
+ &nbsp;
2286
+ <span class="fstat-no" title="function not covered" > _insertItemInBodyAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2287
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2288
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'body' };</span>
2289
+ let logicItem: LogicItem;
2290
+ <span class="cstat-no" title="statement not covered" > if (options instanceof LogicItem) {</span>
2291
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2292
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2293
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
2294
+ } else {
2295
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
2296
+ {
2297
+ ...logicItemOptions,
2298
+ ...options,
2299
+ },
2300
+ this,
2301
+ 'body',
2302
+ );
2303
+ }
2304
+ <span class="cstat-no" title="statement not covered" > this.body.splice(index, 0, logicItem);</span>
2305
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
2306
+ }
2307
+ &nbsp;
2308
+ /**
2309
+ * 插入逻辑项
2310
+ * @param logicItemOptions 逻辑项参数
2311
+ */
2312
+ insertItemInBodyAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
2313
+ &nbsp;
2314
+ /**
2315
+ * 插入逻辑项
2316
+ * @param logicItem 已有的逻辑项实例
2317
+ */
2318
+ insertItemInBodyAt(logicItem: LogicItem, index: number): LogicItem;
2319
+ &nbsp;
2320
+ <span class="fstat-no" title="function not covered" > insertItemInBodyAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
2321
+ const node = <span class="cstat-no" title="statement not covered" >this._insertItemInBodyAt(options as any, index);</span>
2322
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2323
+ index,
2324
+ parentNode: this,
2325
+ parentKey: 'body',
2326
+ });
2327
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2328
+ }
2329
+ &nbsp;
2330
+ /**
2331
+ * 添加逻辑项
2332
+ * @internal
2333
+ * @param logicItemOptions 逻辑项参数
2334
+ */
2335
+ _addItemInBody(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2336
+ &nbsp;
2337
+ /**
2338
+ * 添加逻辑项
2339
+ * @internal
2340
+ * @param logicItem 已有的逻辑项实例
2341
+ */
2342
+ _addItemInBody(logicItem: LogicItem): LogicItem;
2343
+ &nbsp;
2344
+ <span class="fstat-no" title="function not covered" > _addItemInBody(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
2345
+ const index = <span class="cstat-no" title="statement not covered" >this.body.length;</span>
2346
+ <span class="cstat-no" title="statement not covered" > return this._insertItemInBodyAt(options as any, index);</span>
2347
+ }
2348
+ &nbsp;
2349
+ /**
2350
+ * 添加逻辑项
2351
+ * @param logicItemOptions 逻辑项参数
2352
+ */
2353
+ addItemInBody(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
2354
+ &nbsp;
2355
+ /**
2356
+ * 添加逻辑项
2357
+ * @param logicItem 已有的逻辑项实例
2358
+ */
2359
+ addItemInBody(logicItem: LogicItem): LogicItem;
2360
+ &nbsp;
2361
+ <span class="fstat-no" title="function not covered" > addItemInBody(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
2362
+ const node = <span class="cstat-no" title="statement not covered" >this._addItemInBody(options as any);</span>
2363
+ const index = <span class="cstat-no" title="statement not covered" >this.body.indexOf(node);</span>
2364
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2365
+ index,
2366
+ parentNode: this,
2367
+ parentKey: 'body',
2368
+ });
2369
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2370
+ }
2371
+ &nbsp;
2372
+ <span class="fstat-no" title="function not covered" > getTypeAnnotationExistingNames(</span>excludedList: Array&lt;TypeAnnotation&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
2373
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
2374
+ <span class="cstat-no" title="statement not covered" > return ((this.patterns as TypeAnnotation[]) || [])</span>
2375
+ .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>
2376
+ .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;
2377
+ }
2378
+ <span class="fstat-no" title="function not covered" > getTypeAnnotationUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'typeAnnotation1')</span> {
2379
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getTypeAnnotationExistingNames(), undefined, false);</span>
2380
+ }
2381
+ &nbsp;
2382
+ /**
2383
+ * 插入类型标注
2384
+ * @internal
2385
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2386
+ */
2387
+ _insertTypeAnnotationAt(name: string, index: number): TypeAnnotation;
2388
+ &nbsp;
2389
+ /**
2390
+ * 插入类型标注
2391
+ * @internal
2392
+ * @param typeAnnotationOptions 类型标注参数
2393
+ */
2394
+ _insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2395
+ &nbsp;
2396
+ /**
2397
+ * 插入类型标注
2398
+ * @internal
2399
+ * @param typeAnnotation 已有的类型标注实例
2400
+ */
2401
+ _insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2402
+ &nbsp;
2403
+ <span class="fstat-no" title="function not covered" > _insertTypeAnnotationAt(</span>options: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2404
+ const typeAnnotationOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
2405
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'patterns' };</span>
2406
+ let typeAnnotation: TypeAnnotation;
2407
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
2408
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2409
+ {
2410
+ ...typeAnnotationOptions,
2411
+ name: this.getTypeAnnotationUniqueName(),
2412
+ },
2413
+ this,
2414
+ 'patterns',
2415
+ );
2416
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
2417
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2418
+ {
2419
+ ...typeAnnotationOptions,
2420
+ name: options,
2421
+ },
2422
+ this,
2423
+ 'patterns',
2424
+ );
2425
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof TypeAnnotation) {</span>
2426
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
2427
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2428
+ <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
2429
+ } else {
2430
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.from(</span>
2431
+ {
2432
+ ...typeAnnotationOptions,
2433
+ ...options,
2434
+ },
2435
+ this,
2436
+ 'patterns',
2437
+ );
2438
+ }
2439
+ <span class="cstat-no" title="statement not covered" > this.patterns.splice(index, 0, typeAnnotation);</span>
2440
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
2441
+ }
2442
+ &nbsp;
2443
+ /**
2444
+ * 插入类型标注
2445
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2446
+ */
2447
+ insertTypeAnnotationAt(name: string, index: number): TypeAnnotation;
2448
+ &nbsp;
2449
+ /**
2450
+ * 插入类型标注
2451
+ * @param typeAnnotationOptions 类型标注参数
2452
+ */
2453
+ insertTypeAnnotationAt(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;, index: number): TypeAnnotation;
2454
+ &nbsp;
2455
+ /**
2456
+ * 插入类型标注
2457
+ * @param typeAnnotation 已有的类型标注实例
2458
+ */
2459
+ insertTypeAnnotationAt(typeAnnotation: TypeAnnotation, index: number): TypeAnnotation;
2460
+ &nbsp;
2461
+ <span class="fstat-no" title="function not covered" > insertTypeAnnotationAt(</span>options: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation, index: number) {
2462
+ const node = <span class="cstat-no" title="statement not covered" >this._insertTypeAnnotationAt(options as any, index);</span>
2463
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2464
+ index,
2465
+ parentNode: this,
2466
+ parentKey: 'patterns',
2467
+ });
2468
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2469
+ }
2470
+ &nbsp;
2471
+ /**
2472
+ * 添加类型标注
2473
+ * @internal
2474
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2475
+ */
2476
+ _addTypeAnnotation(name?: string): TypeAnnotation;
2477
+ &nbsp;
2478
+ /**
2479
+ * 添加类型标注
2480
+ * @internal
2481
+ * @param typeAnnotationOptions 类型标注参数
2482
+ */
2483
+ _addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2484
+ &nbsp;
2485
+ /**
2486
+ * 添加类型标注
2487
+ * @internal
2488
+ * @param typeAnnotation 已有的类型标注实例
2489
+ */
2490
+ _addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
2491
+ &nbsp;
2492
+ <span class="fstat-no" title="function not covered" > _addTypeAnnotation(</span>options?: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2493
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.length;</span>
2494
+ <span class="cstat-no" title="statement not covered" > return this._insertTypeAnnotationAt(options as any, index);</span>
2495
+ }
2496
+ &nbsp;
2497
+ /**
2498
+ * 添加类型标注
2499
+ * @internal
2500
+ * @param name 类型标注名称,如果不填会自动生成一个唯一名称
2501
+ */
2502
+ addTypeAnnotation(name?: string): TypeAnnotation;
2503
+ &nbsp;
2504
+ /**
2505
+ * 添加类型标注
2506
+ * @param typeAnnotationOptions 类型标注参数
2507
+ */
2508
+ addTypeAnnotation(typeAnnotationOptions: Partial&lt;TypeAnnotation&gt;): TypeAnnotation;
2509
+ &nbsp;
2510
+ /**
2511
+ * 添加类型标注
2512
+ * @param typeAnnotation 已有的类型标注实例
2513
+ */
2514
+ addTypeAnnotation(typeAnnotation: TypeAnnotation): TypeAnnotation;
2515
+ &nbsp;
2516
+ <span class="fstat-no" title="function not covered" > addTypeAnnotation(</span>options?: string | Partial&lt;TypeAnnotation&gt; | TypeAnnotation) {
2517
+ const node = <span class="cstat-no" title="statement not covered" >this._addTypeAnnotation(options as any);</span>
2518
+ const index = <span class="cstat-no" title="statement not covered" >this.patterns.indexOf(node);</span>
2519
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
2520
+ index,
2521
+ parentNode: this,
2522
+ parentKey: 'patterns',
2523
+ });
2524
+ <span class="cstat-no" title="statement not covered" > return node;</span>
2525
+ }
2526
+ &nbsp;
2527
+ /**
2528
+ * 删除逻辑项
2529
+ * @param name 逻辑项名称
2530
+ */
2531
+ removeLogicItemInPatterns(name: string): void;
2532
+ &nbsp;
2533
+ /**
2534
+ * 删除逻辑项
2535
+ * @param logicItem 已有的逻辑项实例
2536
+ */
2537
+ removeLogicItemInPatterns(logicItem: LogicItem): void;
2538
+ &nbsp;
2539
+ <span class="fstat-no" title="function not covered" > removeLogicItemInPatterns(</span>options: string | LogicItem) {
2540
+ let logicItem: LogicItem;
2541
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2542
+ <span class="cstat-no" title="statement not covered" > logicItem = (this.patterns as LogicItem[]).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>
2543
+ <span class="cstat-no" title="statement not covered" > if (!logicItem) {</span>
2544
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
2545
+ }
2546
+ } else {
2547
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
2548
+ }
2549
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2550
+ }
2551
+ &nbsp;
2552
+ /**
2553
+ * 删除逻辑项
2554
+ * @param logicItem 已有的逻辑项实例
2555
+ */
2556
+ removeItemInBody(logicItem: LogicItem): void;
2557
+ &nbsp;
2558
+ <span class="fstat-no" title="function not covered" > removeItemInBody(</span>options: LogicItem) {
2559
+ let logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
2560
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
2561
+ }
2562
+ &nbsp;
2563
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
2564
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
2565
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2566
+ parentNode: this,
2567
+ parentKey,
2568
+ index: -1,
2569
+ object: null,
2570
+ oldObject: logicItem,
2571
+ };
2572
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2573
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2574
+ // @ts-ignore
2575
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
2576
+ // @ts-ignore
2577
+ const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
2578
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
2579
+ // @ts-ignore
2580
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
2581
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2582
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2583
+ } else {
2584
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
2585
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
2586
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2587
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2588
+ }
2589
+ }
2590
+ }
2591
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2592
+ }
2593
+ &nbsp;
2594
+ /**
2595
+ * 删除类型标注
2596
+ * @param name 类型标注名称
2597
+ */
2598
+ removeTypeAnnotation(name: string): void;
2599
+ &nbsp;
2600
+ /**
2601
+ * 删除类型标注
2602
+ * @param typeAnnotation 已有的类型标注实例
2603
+ */
2604
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
2605
+ &nbsp;
2606
+ <span class="fstat-no" title="function not covered" > removeTypeAnnotation(</span>options: string | TypeAnnotation) {
2607
+ let typeAnnotation: TypeAnnotation;
2608
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
2609
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = (this.patterns as TypeAnnotation[]).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>
2610
+ <span class="cstat-no" title="statement not covered" > if (!typeAnnotation) {</span>
2611
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到类型标注 ' + options);</span>
2612
+ }
2613
+ } else {
2614
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
2615
+ }
2616
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
2617
+ }
2618
+ &nbsp;
2619
+ <span class="fstat-no" title="function not covered" > __removeTypeAnnotation(</span>typeAnnotation: TypeAnnotation) {
2620
+ const parentKey = <span class="cstat-no" title="statement not covered" >typeAnnotation.parentKey;</span>
2621
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
2622
+ parentNode: this,
2623
+ parentKey,
2624
+ index: -1,
2625
+ object: null,
2626
+ oldObject: typeAnnotation,
2627
+ };
2628
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
2629
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
2630
+ // @ts-ignore
2631
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
2632
+ // @ts-ignore
2633
+ const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
2634
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
2635
+ // @ts-ignore
2636
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
2637
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
2638
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
2639
+ } else {
2640
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
2641
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
2642
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
2643
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
2644
+ }
2645
+ }
2646
+ }
2647
+ <span class="cstat-no" title="statement not covered" > return params;</span>
2648
+ }
2649
+ &nbsp;
2650
+ //================================================================================
2651
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2652
+ // 自动生成的代码已结束。下面可以手动编写。
2653
+ //================================================================================
2654
+ &nbsp;
2655
+ // 是否处于禁用状态
2656
+ <span class="fstat-no" title="function not covered" > get i</span>sDisabled() {
2657
+ const matchExpression = <span class="cstat-no" title="statement not covered" >this.parentNode as Match;</span>
2658
+ const cases = <span class="cstat-no" title="statement not covered" >matchExpression?.cases;</span>
2659
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(cases) &amp;&amp; cases.length &gt; 1) {</span>
2660
+ const index = <span class="cstat-no" title="statement not covered" >cases.indexOf(this);</span>
2661
+ // 是最后一项
2662
+ <span class="cstat-no" title="statement not covered" > if (index === cases.length - 1) {</span>
2663
+ const enumerableItems = <span class="cstat-no" title="statement not covered" >matchExpression?.enumerableItems;</span>
2664
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(enumerableItems)) {</span>
2665
+ const map: any = <span class="cstat-no" title="statement not covered" >{};</span>
2666
+ <span class="cstat-no" title="statement not covered" > cases.forEach(<span class="fstat-no" title="function not covered" >(c</span>aseItem) =&gt; {</span>
2667
+ const { patterns } = <span class="cstat-no" title="statement not covered" >caseItem || {};</span>
2668
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(patterns)) {</span>
2669
+ <span class="cstat-no" title="statement not covered" > patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern) =&gt; {</span>
2670
+ <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
2671
+ const patternTypeKey = <span class="cstat-no" title="statement not covered" >pattern.typeKey;</span>
2672
+ <span class="cstat-no" title="statement not covered" > map[patternTypeKey] = true;</span>
2673
+ } else <span class="cstat-no" title="statement not covered" >if (pattern instanceof MemberExpression || pattern instanceof BooleanLiteral) {</span>
2674
+ const patternValue = <span class="cstat-no" title="statement not covered" >pattern.getValue();</span>
2675
+ <span class="cstat-no" title="statement not covered" > map[patternValue] = true;</span>
2676
+ }
2677
+ });
2678
+ }
2679
+ });
2680
+ const enumerableKeys = <span class="cstat-no" title="statement not covered" >Object.keys(map);</span>
2681
+ <span class="cstat-no" title="statement not covered" > if (enumerableKeys.length === enumerableItems.length) {</span>
2682
+ <span class="cstat-no" title="statement not covered" > return true;</span>
2683
+ }
2684
+ }
2685
+ }
2686
+ }
2687
+ <span class="cstat-no" title="statement not covered" > return false;</span>
2688
+ }
2689
+ &nbsp;
2690
+ // 槽位类型是否错误
2691
+ <span class="fstat-no" title="function not covered" > get i</span>sSlotTypeError() {
2692
+ const match: any = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
2693
+ const expression = <span class="cstat-no" title="statement not covered" >match?.expression;</span>
2694
+ const isMatchedTypeEnumable = <span class="cstat-no" title="statement not covered" >match?.isEnumerable;</span>
2695
+ <span class="cstat-no" title="statement not covered" > if (expression &amp;&amp; isMatchedTypeEnumable !== this.isMatchedTypeEnumable) {</span>
2696
+ <span class="cstat-no" title="statement not covered" > return true;</span>
2697
+ }
2698
+ <span class="cstat-no" title="statement not covered" > return false;</span>
2699
+ }
2700
+ &nbsp;
2701
+ <span class="fstat-no" title="function not covered" > isTypeMatching(</span>) {
2702
+ <span class="cstat-no" title="statement not covered" > return (this.parentNode as Match).isTypeMatching();</span>
2703
+ }
2704
+ &nbsp;
2705
+ <span class="fstat-no" title="function not covered" > toVue(</span>options?: ElementToVueOptions): string {
2706
+ <span class="cstat-no" title="statement not covered" > if (options?.finalCode === false) {</span>
2707
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
2708
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns)) {</span>
2709
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2710
+ <span class="cstat-no" title="statement not covered" > code += pattern?.toVue?.();</span>
2711
+ <span class="cstat-no" title="statement not covered" > if (index !== this.patterns.length - 1) {</span>
2712
+ <span class="cstat-no" title="statement not covered" > code += ' 或 ';</span>
2713
+ }
2714
+ });
2715
+ }
2716
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2717
+ <span class="cstat-no" title="statement not covered" > code += ` =&gt; `;</span>
2718
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2719
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2720
+ <span class="cstat-no" title="statement not covered" > code += ` ${logicItem?.toVue?.()} `;</span>
2721
+ }
2722
+ });
2723
+ <span class="cstat-no" title="statement not covered" > code += `; `;</span>
2724
+ }
2725
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2726
+ }
2727
+ }
2728
+ &nbsp;
2729
+ <span class="fstat-no" title="function not covered" > toUI(</span>state?: TranslatorState): string {
2730
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
2731
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns)) {</span>
2732
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2733
+ <span class="cstat-no" title="statement not covered" > code += pattern.toUI?.();</span>
2734
+ <span class="cstat-no" title="statement not covered" > if (index !== this.patterns.length - 1) {</span>
2735
+ <span class="cstat-no" title="statement not covered" > code += ' 或 ';</span>
2736
+ }
2737
+ });
2738
+ }
2739
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2740
+ <span class="cstat-no" title="statement not covered" > code += ` =&gt; `;</span>
2741
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2742
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2743
+ <span class="cstat-no" title="statement not covered" > code += ` ${logicItem.toUI?.()} `;</span>
2744
+ }
2745
+ });
2746
+ <span class="cstat-no" title="statement not covered" > code += `; `;</span>
2747
+ }
2748
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2749
+ }
2750
+ &nbsp;
2751
+ toJS(expression: LogicItem, index?: number, length?: number): string {
2752
+ let code = '';
2753
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.patterns)) {
2754
+ const patternStrArr = this.patterns.map((pattern) =&gt; {
2755
+ let patternStr = '';
2756
+ if (pattern instanceof TypeAnnotation) {
2757
+ patternStr += `this.$isInstanceOf(${expression.toJS?.()}, '${pattern.sortedTypeKey}')`;
2758
+ } else {
2759
+ patternStr += `this.$global.isEqual(${expression.toJS?.()}, ${pattern.toJS?.()})`;
2760
+ }
2761
+ return patternStr;
2762
+ });
2763
+ const patternStr = patternStrArr.join(' || ');
2764
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2765
+ if (index === 0) {
2766
+ code = `if (${patternStr}) {\n`;
2767
+ } else if (index !== length - 1) {
2768
+ code = `else if (${patternStr}) {\n`;
2769
+ } else {
2770
+ code += 'else {\n';
2771
+ }
2772
+ }
2773
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(this.body)) {
2774
+ this.body.forEach((logicItem, bodyIndex) =&gt; {
2775
+ if (
2776
+ (this.parentNode as any).isExpression &amp;&amp;
2777
+ bodyIndex === this.body.length - 1 &amp;&amp;
2778
+ logicItem.concept !== 'Abort'
2779
+ ) {
2780
+ code += `return `;
2781
+ }
2782
+ code += `${logicItem.toJS()}\n`;
2783
+ });
2784
+ }
2785
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2786
+ code += '}\n';
2787
+ }
2788
+ }
2789
+ return code;
2790
+ }
2791
+ &nbsp;
2792
+ @withSourceMapGenerator
2793
+ *toEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> index?: number, parentCode?: string): TranslatorGenerator {
2794
+ const self = this;
2795
+ let code = '\n';
2796
+ const parentNode = self.parentNode as Match;
2797
+ const { length } = parentNode.cases;
2798
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (length &gt; 1) {
2799
+ if (index !== length - 1) {
2800
+ code += indent(state?.tabSize || 0);
2801
+ code += 'if (';
2802
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.patterns) &amp;&amp; self.patterns.length) {
2803
+ yield* wrapForEach(self.patterns, function* warpForEachGenerator(pattern, index) {
2804
+ // nasl.code.isUnionType&lt;typeof ccc, List&lt;Integer&gt; | List&lt;Boolean&gt;&gt;
2805
+ if (pattern instanceof TypeAnnotation) {
2806
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (index === 0) {
2807
+ code += `nasl.core.isUnionType&lt;typeof `;
2808
+ code += `${parentCode},`;
2809
+ code += yield* pattern.toEmbeddedTS(shiftState(state, code));
2810
+ } else {
2811
+ <span class="cstat-no" title="statement not covered" > code += '|';</span>
2812
+ <span class="cstat-no" title="statement not covered" > code += yield* pattern.toEmbeddedTS(shiftState(state, code));</span>
2813
+ }
2814
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (index === self.patterns.length - 1) {
2815
+ code += '&gt;';
2816
+ code += `(${parentCode})`;
2817
+ }
2818
+ } else {
2819
+ if (index !== 0) {
2820
+ code += ' || ';
2821
+ }
2822
+ code += parentCode;
2823
+ code += ' === ';
2824
+ code += yield* pattern.toEmbeddedTS(
2825
+ shiftState(state, code, {
2826
+ tabSize: state?.tabSize || 0,
2827
+ }),
2828
+ );
2829
+ }
2830
+ });
2831
+ } else {
2832
+ <span class="cstat-no" title="statement not covered" > code += '__IDENTIFIER__';</span>
2833
+ }
2834
+ code += ') {\n';
2835
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.body)) {
2836
+ yield* wrapForEach(self.body, function* warpForEachGenerator(logicItem, bodyIndex) {
2837
+ if (parentNode.isExpression &amp;&amp; bodyIndex === self.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {
2838
+ code += indent(state?.tabSize || 0);
2839
+ code += `return `;
2840
+ }
2841
+ code += `${yield* logicItem.toEmbeddedTS(
2842
+ shiftState(state, code, {
2843
+ tabSize: state?.tabSize || 0,
2844
+ }),
2845
+ )}\n`;
2846
+ });
2847
+ }
2848
+ code += `${indent(state?.tabSize || 0)}}\n`;
2849
+ } else {
2850
+ code += indent(state?.tabSize || 0);
2851
+ code += 'else {\n';
2852
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Array.isArray(self.body)) {
2853
+ yield* wrapForEach(self.body, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>logicItem, bodyIndex) {
2854
+ <span class="cstat-no" title="statement not covered" > if (parentNode.isExpression &amp;&amp; bodyIndex === self.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2855
+ <span class="cstat-no" title="statement not covered" > code += indent(state?.tabSize || 0);</span>
2856
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2857
+ }
2858
+ <span class="cstat-no" title="statement not covered" > code += `${yield* logicItem.toEmbeddedTS(</span>
2859
+ shiftState(state, code, {
2860
+ tabSize: state?.tabSize || 0,
2861
+ }),
2862
+ )}\n`;
2863
+ });
2864
+ }
2865
+ code += `${indent(state?.tabSize || 0)}}\n`;
2866
+ }
2867
+ } else {
2868
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(self.body)) {</span>
2869
+ <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.body, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>logicItem, bodyIndex) {</span>
2870
+ <span class="cstat-no" title="statement not covered" > if (parentNode.isExpression &amp;&amp; bodyIndex === self.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2871
+ <span class="cstat-no" title="statement not covered" > code += indent(state?.tabSize || 0);</span>
2872
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2873
+ }
2874
+ <span class="cstat-no" title="statement not covered" > code += `${yield* logicItem.toEmbeddedTS(</span>
2875
+ shiftState(state, code, {
2876
+ tabSize: state?.tabSize || 0,
2877
+ }),
2878
+ )}\n`;
2879
+ });
2880
+ }
2881
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
2882
+ }
2883
+ return code;
2884
+ }
2885
+ &nbsp;
2886
+ @withSourceMap()
2887
+ <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> index?: number, parentCode?: string): string {
2888
+ let code = <span class="cstat-no" title="statement not covered" >'\n';</span>
2889
+ &nbsp;
2890
+ const parentNode = <span class="cstat-no" title="statement not covered" >this.parentNode as Match;</span>
2891
+ const length = <span class="cstat-no" title="statement not covered" >parentNode?.cases?.length;</span>
2892
+ &nbsp;
2893
+ <span class="cstat-no" title="statement not covered" > if (length &gt; 1) {</span>
2894
+ <span class="cstat-no" title="statement not covered" > if (index !== length - 1) {</span>
2895
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2896
+ <span class="cstat-no" title="statement not covered" > code += index === 0 ? '' : 'else ';</span>
2897
+ <span class="cstat-no" title="statement not covered" > code += 'if (';</span>
2898
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.patterns) &amp;&amp; this.patterns.length) {</span>
2899
+ <span class="cstat-no" title="statement not covered" > this.patterns.forEach(<span class="fstat-no" title="function not covered" >(p</span>attern, index) =&gt; {</span>
2900
+ // nasl.code.isUnionType&lt;typeof ccc, List&lt;Integer&gt; | List&lt;Boolean&gt;&gt;
2901
+ <span class="cstat-no" title="statement not covered" > if (pattern instanceof TypeAnnotation) {</span>
2902
+ <span class="cstat-no" title="statement not covered" > if (index === 0) {</span>
2903
+ <span class="cstat-no" title="statement not covered" > code += `nasl.core.isUnionType&lt;typeof `;</span>
2904
+ <span class="cstat-no" title="statement not covered" > code += `${parentCode},`;</span>
2905
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2906
+ } else {
2907
+ <span class="cstat-no" title="statement not covered" > code += '|';</span>
2908
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2909
+ }
2910
+ <span class="cstat-no" title="statement not covered" > if (index === this.patterns.length - 1) {</span>
2911
+ <span class="cstat-no" title="statement not covered" > code += '&gt;';</span>
2912
+ <span class="cstat-no" title="statement not covered" > code += `(${parentCode})`;</span>
2913
+ }
2914
+ } else {
2915
+ <span class="cstat-no" title="statement not covered" > if (index !== 0) {</span>
2916
+ <span class="cstat-no" title="statement not covered" > code += ' || ';</span>
2917
+ }
2918
+ <span class="cstat-no" title="statement not covered" > code += parentCode;</span>
2919
+ <span class="cstat-no" title="statement not covered" > code += ' === ';</span>
2920
+ <span class="cstat-no" title="statement not covered" > code += pattern.toNaturalTS(shiftState(state, code, { inline: true }));</span>
2921
+ }
2922
+ });
2923
+ } else {
2924
+ <span class="cstat-no" title="statement not covered" > code += '__IDENTIFIER__';</span>
2925
+ }
2926
+ <span class="cstat-no" title="statement not covered" > code += ') {\n';</span>
2927
+ &nbsp;
2928
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
2929
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2930
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2931
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2932
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2933
+ }
2934
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toNaturalTS(</span>
2935
+ shiftState(state, code, {
2936
+ tabSize: state.tabSize + 1,
2937
+ }),
2938
+ )}\n`;
2939
+ });
2940
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2941
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2942
+ }
2943
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}`;</span>
2944
+ } else {
2945
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2946
+ <span class="cstat-no" title="statement not covered" > code += 'else {\n';</span>
2947
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2948
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2949
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2950
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2951
+ }
2952
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toNaturalTS(</span>
2953
+ shiftState(state, code, {
2954
+ tabSize: state.tabSize + 1,
2955
+ }),
2956
+ )}\n`;
2957
+ });
2958
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2959
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2960
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize)}}\n`;</span>
2961
+ }
2962
+ } else {
2963
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem, bodyIndex) =&gt; {</span>
2964
+ <span class="cstat-no" title="statement not covered" > if (bodyIndex === this.body.length - 1 &amp;&amp; logicItem.concept !== 'Assignment') {</span>
2965
+ <span class="cstat-no" title="statement not covered" > code += indent(state.tabSize);</span>
2966
+ <span class="cstat-no" title="statement not covered" > code += `return `;</span>
2967
+ }
2968
+ <span class="cstat-no" title="statement not covered" > code += `${logicItem.toNaturalTS(</span>
2969
+ shiftState(state, code, {
2970
+ tabSize: state.tabSize,
2971
+ }),
2972
+ )}\n`;
2973
+ });
2974
+ <span class="cstat-no" title="statement not covered" > if (state.focusedNodePath === `${this.nodePath}.body[${this.body.length}]`)</span>
2975
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state.tabSize + 1)}// 当前位置\n`;</span>
2976
+ <span class="cstat-no" title="statement not covered" > code += '\n';</span>
2977
+ }
2978
+ &nbsp;
2979
+ <span class="cstat-no" title="statement not covered" > return code;</span>
2980
+ }
2981
+ &nbsp;
2982
+ //================================================================================
2983
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
2984
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
2985
+ //================================================================================
2986
+ }
2987
+ &nbsp;
2988
+ export default MatchCase;
2989
+ //================================================================================
2990
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
2991
+ // 自动生成的代码已结束。下面可以手动编写。
2992
+ //================================================================================
2993
+ // @ts-check
2994
+ &nbsp;</pre></td></tr></table></pre>
2995
+
2996
+ <div class='push'></div><!-- for sticky footer -->
2997
+ </div><!-- /wrapper -->
2998
+ <div class='footer quiet pad2 space-top1 center small'>
2999
+ Code coverage generated by
3000
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3001
+ at 2023-12-14T04:42:19.254Z
3002
+ </div>
3003
+ <script src="../../prettify.js"></script>
3004
+ <script>
3005
+ window.onload = function () {
3006
+ prettyPrint();
3007
+ };
3008
+ </script>
3009
+ <script src="../../sorter.js"></script>
3010
+ <script src="../../block-navigation.js"></script>
3011
+ </body>
3012
+ </html>
3013
+