@futdevpro/nts-dynamo 1.15.139 → 1.15.140

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 (992) hide show
  1. package/README.md +33 -0
  2. package/SKILLS.md +75 -0
  3. package/__documentations/2026-04-28-logs-module.md +49 -0
  4. package/__documentations/2026-05-17-oai-compatible-providers.md +229 -0
  5. package/__documentations/2026-05-17-static-client-serving-howto.md +144 -0
  6. package/__documentations/2026-06-01-fr041-cors-middleware.md +96 -0
  7. package/__documentations/2026-06-01-fr047-p2p3-function-calling.md +81 -0
  8. package/__documentations/2026-06-15-fr193-memory-guard.md +73 -0
  9. package/__documentations/2026-08-08-fr292-app-version-header.md +38 -0
  10. package/__documentations/2026-08-14-field-encryption-mongoose-document-spread.md +124 -0
  11. package/__documentations/2026-08-18-mongo-transaction-control-service.md +82 -0
  12. package/__documentations/nts-integration-tests-2026-03-17.md +26 -0
  13. package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -0
  14. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts +9 -0
  15. package/build/_models/interfaces/mongo-transaction-settings.interface.d.ts.map +1 -0
  16. package/build/_models/interfaces/mongo-transaction-settings.interface.js +3 -0
  17. package/build/_models/interfaces/mongo-transaction-settings.interface.js.map +1 -0
  18. package/build/_services/core/mongo-transaction.control-service.d.ts +19 -0
  19. package/build/_services/core/mongo-transaction.control-service.d.ts.map +1 -0
  20. package/build/_services/core/mongo-transaction.control-service.js +95 -0
  21. package/build/_services/core/mongo-transaction.control-service.js.map +1 -0
  22. package/build/index.d.ts +2 -0
  23. package/build/index.d.ts.map +1 -1
  24. package/build/index.js +2 -0
  25. package/build/index.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/_models/interfaces/mongo-transaction-settings.interface.ts +9 -0
  28. package/src/_services/core/mongo-transaction.control-service.spec.ts +165 -0
  29. package/src/_services/core/mongo-transaction.control-service.ts +148 -0
  30. package/src/index.ts +2 -1
  31. package/build/_collections/app-version-header.util.spec.d.ts +0 -2
  32. package/build/_collections/app-version-header.util.spec.d.ts.map +0 -1
  33. package/build/_collections/app-version-header.util.spec.js +0 -82
  34. package/build/_collections/app-version-header.util.spec.js.map +0 -1
  35. package/build/_collections/archive.util.spec.d.ts +0 -2
  36. package/build/_collections/archive.util.spec.d.ts.map +0 -1
  37. package/build/_collections/archive.util.spec.js +0 -51
  38. package/build/_collections/archive.util.spec.js.map +0 -1
  39. package/build/_collections/client-safe-error.util.spec.d.ts +0 -2
  40. package/build/_collections/client-safe-error.util.spec.d.ts.map +0 -1
  41. package/build/_collections/client-safe-error.util.spec.js +0 -124
  42. package/build/_collections/client-safe-error.util.spec.js.map +0 -1
  43. package/build/_collections/default-fallback-cache-max-age.const.spec.d.ts +0 -2
  44. package/build/_collections/default-fallback-cache-max-age.const.spec.d.ts.map +0 -1
  45. package/build/_collections/default-fallback-cache-max-age.const.spec.js +0 -12
  46. package/build/_collections/default-fallback-cache-max-age.const.spec.js.map +0 -1
  47. package/build/_collections/default-not-found-page.const.spec.d.ts +0 -2
  48. package/build/_collections/default-not-found-page.const.spec.d.ts.map +0 -1
  49. package/build/_collections/default-not-found-page.const.spec.js +0 -19
  50. package/build/_collections/default-not-found-page.const.spec.js.map +0 -1
  51. package/build/_collections/default-socket-path.const.spec.d.ts +0 -2
  52. package/build/_collections/default-socket-path.const.spec.d.ts.map +0 -1
  53. package/build/_collections/default-socket-path.const.spec.js +0 -13
  54. package/build/_collections/default-socket-path.const.spec.js.map +0 -1
  55. package/build/_collections/field-encryption.util.spec.d.ts +0 -2
  56. package/build/_collections/field-encryption.util.spec.d.ts.map +0 -1
  57. package/build/_collections/field-encryption.util.spec.js +0 -156
  58. package/build/_collections/field-encryption.util.spec.js.map +0 -1
  59. package/build/_collections/get-environment-settings.util.spec.d.ts +0 -2
  60. package/build/_collections/get-environment-settings.util.spec.d.ts.map +0 -1
  61. package/build/_collections/get-environment-settings.util.spec.js +0 -165
  62. package/build/_collections/get-environment-settings.util.spec.js.map +0 -1
  63. package/build/_collections/load-shed.util.spec.d.ts +0 -2
  64. package/build/_collections/load-shed.util.spec.d.ts.map +0 -1
  65. package/build/_collections/load-shed.util.spec.js +0 -48
  66. package/build/_collections/load-shed.util.spec.js.map +0 -1
  67. package/build/_collections/mongo-reconnect-guard.util.spec.d.ts +0 -2
  68. package/build/_collections/mongo-reconnect-guard.util.spec.d.ts.map +0 -1
  69. package/build/_collections/mongo-reconnect-guard.util.spec.js +0 -46
  70. package/build/_collections/mongo-reconnect-guard.util.spec.js.map +0 -1
  71. package/build/_collections/security-headers.util.spec.d.ts +0 -2
  72. package/build/_collections/security-headers.util.spec.d.ts.map +0 -1
  73. package/build/_collections/security-headers.util.spec.js +0 -66
  74. package/build/_collections/security-headers.util.spec.js.map +0 -1
  75. package/build/_collections/signed-url.util.spec.d.ts +0 -2
  76. package/build/_collections/signed-url.util.spec.d.ts.map +0 -1
  77. package/build/_collections/signed-url.util.spec.js +0 -161
  78. package/build/_collections/signed-url.util.spec.js.map +0 -1
  79. package/build/_collections/star.controller.spec.d.ts +0 -2
  80. package/build/_collections/star.controller.spec.d.ts.map +0 -1
  81. package/build/_collections/star.controller.spec.js +0 -194
  82. package/build/_collections/star.controller.spec.js.map +0 -1
  83. package/build/_collections/static-cache-control.util.spec.d.ts +0 -2
  84. package/build/_collections/static-cache-control.util.spec.d.ts.map +0 -1
  85. package/build/_collections/static-cache-control.util.spec.js +0 -41
  86. package/build/_collections/static-cache-control.util.spec.js.map +0 -1
  87. package/build/_models/control-models/api-call-params.control-model.spec.d.ts +0 -2
  88. package/build/_models/control-models/api-call-params.control-model.spec.d.ts.map +0 -1
  89. package/build/_models/control-models/api-call-params.control-model.spec.js +0 -128
  90. package/build/_models/control-models/api-call-params.control-model.spec.js.map +0 -1
  91. package/build/_models/control-models/app-ext-system-controls.control-model.spec.d.ts +0 -2
  92. package/build/_models/control-models/app-ext-system-controls.control-model.spec.d.ts.map +0 -1
  93. package/build/_models/control-models/app-ext-system-controls.control-model.spec.js +0 -43
  94. package/build/_models/control-models/app-ext-system-controls.control-model.spec.js.map +0 -1
  95. package/build/_models/control-models/app-params.control-model.spec.d.ts +0 -2
  96. package/build/_models/control-models/app-params.control-model.spec.d.ts.map +0 -1
  97. package/build/_models/control-models/app-params.control-model.spec.js +0 -180
  98. package/build/_models/control-models/app-params.control-model.spec.js.map +0 -1
  99. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts +0 -2
  100. package/build/_models/control-models/app-system-controls.control-model.spec.d.ts.map +0 -1
  101. package/build/_models/control-models/app-system-controls.control-model.spec.js +0 -26
  102. package/build/_models/control-models/app-system-controls.control-model.spec.js.map +0 -1
  103. package/build/_models/control-models/endpoint-params.control-model.spec.d.ts +0 -2
  104. package/build/_models/control-models/endpoint-params.control-model.spec.d.ts.map +0 -1
  105. package/build/_models/control-models/endpoint-params.control-model.spec.js +0 -569
  106. package/build/_models/control-models/endpoint-params.control-model.spec.js.map +0 -1
  107. package/build/_models/control-models/http-settings.control-model.spec.d.ts +0 -2
  108. package/build/_models/control-models/http-settings.control-model.spec.d.ts.map +0 -1
  109. package/build/_models/control-models/http-settings.control-model.spec.js +0 -71
  110. package/build/_models/control-models/http-settings.control-model.spec.js.map +0 -1
  111. package/build/_models/control-models/system-control.control-model.spec.d.ts +0 -2
  112. package/build/_models/control-models/system-control.control-model.spec.d.ts.map +0 -1
  113. package/build/_models/control-models/system-control.control-model.spec.js +0 -24
  114. package/build/_models/control-models/system-control.control-model.spec.js.map +0 -1
  115. package/build/_models/interfaces/cors-settings.interface.spec.d.ts +0 -2
  116. package/build/_models/interfaces/cors-settings.interface.spec.d.ts.map +0 -1
  117. package/build/_models/interfaces/cors-settings.interface.spec.js +0 -48
  118. package/build/_models/interfaces/cors-settings.interface.spec.js.map +0 -1
  119. package/build/_models/interfaces/static-client-settings.interface.spec.d.ts +0 -2
  120. package/build/_models/interfaces/static-client-settings.interface.spec.d.ts.map +0 -1
  121. package/build/_models/interfaces/static-client-settings.interface.spec.js +0 -28
  122. package/build/_models/interfaces/static-client-settings.interface.spec.js.map +0 -1
  123. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.d.ts +0 -2
  124. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.d.ts.map +0 -1
  125. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.js +0 -185
  126. package/build/_modules/admin-auth/admin-api-key.auth-service.spec.js.map +0 -1
  127. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.d.ts +0 -2
  128. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.d.ts.map +0 -1
  129. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.js +0 -132
  130. package/build/_modules/ai/_collections/ai-model-config-validator.util.spec.js.map +0 -1
  131. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.d.ts +0 -2
  132. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.d.ts.map +0 -1
  133. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.js +0 -56
  134. package/build/_modules/ai/_modules/ai-mock/_collections/aim-default-collection.util.spec.js.map +0 -1
  135. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.d.ts +0 -2
  136. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.d.ts.map +0 -1
  137. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.js +0 -43
  138. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-match.util.spec.js.map +0 -1
  139. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.d.ts +0 -2
  140. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.d.ts.map +0 -1
  141. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.js +0 -47
  142. package/build/_modules/ai/_modules/ai-mock/_collections/aim-fixture-serializer.util.spec.js.map +0 -1
  143. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.d.ts +0 -2
  144. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.d.ts.map +0 -1
  145. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.js +0 -98
  146. package/build/_modules/ai/_modules/ai-mock/_services/ai-embedding-mock.service.spec.js.map +0 -1
  147. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.d.ts +0 -2
  148. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.d.ts.map +0 -1
  149. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.js +0 -117
  150. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-harness.service.spec.js.map +0 -1
  151. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.d.ts +0 -2
  152. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.d.ts.map +0 -1
  153. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.js +0 -87
  154. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-pipeline.spec.js.map +0 -1
  155. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.d.ts +0 -2
  156. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.d.ts.map +0 -1
  157. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.js +0 -42
  158. package/build/_modules/ai/_modules/ai-mock/_services/aim-fixture-store.service.spec.js.map +0 -1
  159. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.d.ts +0 -2
  160. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.d.ts.map +0 -1
  161. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.js +0 -74
  162. package/build/_modules/ai/_modules/ai-mock/_services/aim-integration-proof.spec.js.map +0 -1
  163. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.d.ts +0 -2
  164. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.d.ts.map +0 -1
  165. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.js +0 -95
  166. package/build/_modules/ai/_modules/ai-mock/_services/aim-mock.service.spec.js.map +0 -1
  167. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.d.ts +0 -2
  168. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.d.ts.map +0 -1
  169. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.js +0 -207
  170. package/build/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.js.map +0 -1
  171. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.d.ts +0 -2
  172. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.d.ts.map +0 -1
  173. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.js +0 -244
  174. package/build/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.js.map +0 -1
  175. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.d.ts +0 -2
  176. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.d.ts.map +0 -1
  177. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.js +0 -162
  178. package/build/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.js.map +0 -1
  179. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.d.ts +0 -2
  180. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.d.ts.map +0 -1
  181. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.js +0 -279
  182. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.js.map +0 -1
  183. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.d.ts +0 -2
  184. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.d.ts.map +0 -1
  185. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.js +0 -452
  186. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.js.map +0 -1
  187. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.d.ts +0 -2
  188. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.d.ts.map +0 -1
  189. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.js +0 -293
  190. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.js.map +0 -1
  191. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.d.ts +0 -2
  192. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.d.ts.map +0 -1
  193. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.js +0 -395
  194. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.js.map +0 -1
  195. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.d.ts +0 -2
  196. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.d.ts.map +0 -1
  197. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.js +0 -411
  198. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.js.map +0 -1
  199. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.d.ts +0 -2
  200. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.d.ts.map +0 -1
  201. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.js +0 -143
  202. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.js.map +0 -1
  203. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.d.ts +0 -2
  204. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.d.ts.map +0 -1
  205. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.js +0 -98
  206. package/build/_modules/ai/_services/ai-embedding-provider.registry.spec.js.map +0 -1
  207. package/build/_modules/ai/_services/ai-embedding.service-base.spec.d.ts +0 -2
  208. package/build/_modules/ai/_services/ai-embedding.service-base.spec.d.ts.map +0 -1
  209. package/build/_modules/ai/_services/ai-embedding.service-base.spec.js +0 -80
  210. package/build/_modules/ai/_services/ai-embedding.service-base.spec.js.map +0 -1
  211. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.d.ts +0 -2
  212. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.d.ts.map +0 -1
  213. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.js +0 -186
  214. package/build/_modules/ai/_services/ai-llm-chat.service-base.spec.js.map +0 -1
  215. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.d.ts +0 -2
  216. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.d.ts.map +0 -1
  217. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.js +0 -108
  218. package/build/_modules/ai/_services/ai-llm.service-base.reconciler.spec.js.map +0 -1
  219. package/build/_modules/ai/_services/ai-llm.service-base.spec.d.ts +0 -2
  220. package/build/_modules/ai/_services/ai-llm.service-base.spec.d.ts.map +0 -1
  221. package/build/_modules/ai/_services/ai-llm.service-base.spec.js +0 -185
  222. package/build/_modules/ai/_services/ai-llm.service-base.spec.js.map +0 -1
  223. package/build/_modules/ai/_services/ai-provider.service-base.spec.d.ts +0 -2
  224. package/build/_modules/ai/_services/ai-provider.service-base.spec.d.ts.map +0 -1
  225. package/build/_modules/ai/_services/ai-provider.service-base.spec.js +0 -128
  226. package/build/_modules/ai/_services/ai-provider.service-base.spec.js.map +0 -1
  227. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.d.ts +0 -2
  228. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.d.ts.map +0 -1
  229. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.js +0 -159
  230. package/build/_modules/ai/_services/lmstudio-embedding.control-service.spec.js.map +0 -1
  231. package/build/_modules/assistant/_collections/ass.util.spec.d.ts +0 -2
  232. package/build/_modules/assistant/_collections/ass.util.spec.d.ts.map +0 -1
  233. package/build/_modules/assistant/_collections/ass.util.spec.js +0 -153
  234. package/build/_modules/assistant/_collections/ass.util.spec.js.map +0 -1
  235. package/build/_modules/assistant/_services/ass-io.control-service.spec.d.ts +0 -2
  236. package/build/_modules/assistant/_services/ass-io.control-service.spec.d.ts.map +0 -1
  237. package/build/_modules/assistant/_services/ass-io.control-service.spec.js +0 -99
  238. package/build/_modules/assistant/_services/ass-io.control-service.spec.js.map +0 -1
  239. package/build/_modules/assistant/_services/ass-main.control-service.spec.d.ts +0 -2
  240. package/build/_modules/assistant/_services/ass-main.control-service.spec.d.ts.map +0 -1
  241. package/build/_modules/assistant/_services/ass-main.control-service.spec.js +0 -146
  242. package/build/_modules/assistant/_services/ass-main.control-service.spec.js.map +0 -1
  243. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.d.ts +0 -2
  244. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.d.ts.map +0 -1
  245. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.js +0 -356
  246. package/build/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.js.map +0 -1
  247. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.d.ts +0 -2
  248. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.d.ts.map +0 -1
  249. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.js +0 -93
  250. package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.js.map +0 -1
  251. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.d.ts +0 -2
  252. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.d.ts.map +0 -1
  253. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.js +0 -304
  254. package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.js.map +0 -1
  255. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.d.ts +0 -2
  256. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.d.ts.map +0 -1
  257. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.js +0 -336
  258. package/build/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.js.map +0 -1
  259. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.d.ts +0 -2
  260. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.d.ts.map +0 -1
  261. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.js +0 -337
  262. package/build/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.js.map +0 -1
  263. package/build/_modules/bot/_services/bot-commands.control-service.spec.d.ts +0 -2
  264. package/build/_modules/bot/_services/bot-commands.control-service.spec.d.ts.map +0 -1
  265. package/build/_modules/bot/_services/bot-commands.control-service.spec.js +0 -84
  266. package/build/_modules/bot/_services/bot-commands.control-service.spec.js.map +0 -1
  267. package/build/_modules/bot/_services/bot-io.control-service.spec.d.ts +0 -2
  268. package/build/_modules/bot/_services/bot-io.control-service.spec.d.ts.map +0 -1
  269. package/build/_modules/bot/_services/bot-io.control-service.spec.js +0 -228
  270. package/build/_modules/bot/_services/bot-io.control-service.spec.js.map +0 -1
  271. package/build/_modules/bot/_services/bot-main.control-service.spec.d.ts +0 -2
  272. package/build/_modules/bot/_services/bot-main.control-service.spec.d.ts.map +0 -1
  273. package/build/_modules/bot/_services/bot-main.control-service.spec.js +0 -164
  274. package/build/_modules/bot/_services/bot-main.control-service.spec.js.map +0 -1
  275. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.d.ts +0 -2
  276. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.d.ts.map +0 -1
  277. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.js +0 -267
  278. package/build/_modules/bot/_services/bot-messaging-provider.service-base.spec.js.map +0 -1
  279. package/build/_modules/bot/_services/bot-routines.control-service.spec.d.ts +0 -2
  280. package/build/_modules/bot/_services/bot-routines.control-service.spec.d.ts.map +0 -1
  281. package/build/_modules/bot/_services/bot-routines.control-service.spec.js +0 -82
  282. package/build/_modules/bot/_services/bot-routines.control-service.spec.js.map +0 -1
  283. package/build/_modules/custom-data/custom-data.controller.spec.d.ts +0 -2
  284. package/build/_modules/custom-data/custom-data.controller.spec.d.ts.map +0 -1
  285. package/build/_modules/custom-data/custom-data.controller.spec.js +0 -38
  286. package/build/_modules/custom-data/custom-data.controller.spec.js.map +0 -1
  287. package/build/_modules/custom-data/custom-data.data-service.spec.d.ts +0 -2
  288. package/build/_modules/custom-data/custom-data.data-service.spec.d.ts.map +0 -1
  289. package/build/_modules/custom-data/custom-data.data-service.spec.js +0 -45
  290. package/build/_modules/custom-data/custom-data.data-service.spec.js.map +0 -1
  291. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.d.ts +0 -2
  292. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.d.ts.map +0 -1
  293. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.js +0 -23
  294. package/build/_modules/custom-data/get-custom-data-routing-module.util.spec.js.map +0 -1
  295. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.d.ts +0 -2
  296. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.d.ts.map +0 -1
  297. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.js +0 -124
  298. package/build/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.js.map +0 -1
  299. package/build/_modules/defaults/_services/default-auth.service.spec.d.ts +0 -2
  300. package/build/_modules/defaults/_services/default-auth.service.spec.d.ts.map +0 -1
  301. package/build/_modules/defaults/_services/default-auth.service.spec.js +0 -210
  302. package/build/_modules/defaults/_services/default-auth.service.spec.js.map +0 -1
  303. package/build/_modules/defaults/_services/default-socket-events.service.spec.d.ts +0 -2
  304. package/build/_modules/defaults/_services/default-socket-events.service.spec.d.ts.map +0 -1
  305. package/build/_modules/defaults/_services/default-socket-events.service.spec.js +0 -34
  306. package/build/_modules/defaults/_services/default-socket-events.service.spec.js.map +0 -1
  307. package/build/_modules/defaults/_services/default-user.data-service.spec.d.ts +0 -2
  308. package/build/_modules/defaults/_services/default-user.data-service.spec.d.ts.map +0 -1
  309. package/build/_modules/defaults/_services/default-user.data-service.spec.js +0 -133
  310. package/build/_modules/defaults/_services/default-user.data-service.spec.js.map +0 -1
  311. package/build/_modules/discord-assistant/_collections/dias.util.spec.d.ts +0 -2
  312. package/build/_modules/discord-assistant/_collections/dias.util.spec.d.ts.map +0 -1
  313. package/build/_modules/discord-assistant/_collections/dias.util.spec.js +0 -307
  314. package/build/_modules/discord-assistant/_collections/dias.util.spec.js.map +0 -1
  315. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.d.ts +0 -2
  316. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.d.ts.map +0 -1
  317. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.js +0 -76
  318. package/build/_modules/discord-assistant/_services/dias-io.control-service.spec.js.map +0 -1
  319. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.d.ts +0 -2
  320. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.d.ts.map +0 -1
  321. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.js +0 -17
  322. package/build/_modules/discord-assistant/_services/dias-main.control-service.spec.js.map +0 -1
  323. package/build/_modules/discord-assistant/_services/dias.service-base.spec.d.ts +0 -2
  324. package/build/_modules/discord-assistant/_services/dias.service-base.spec.d.ts.map +0 -1
  325. package/build/_modules/discord-assistant/_services/dias.service-base.spec.js +0 -151
  326. package/build/_modules/discord-assistant/_services/dias.service-base.spec.js.map +0 -1
  327. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.d.ts +0 -2
  328. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.d.ts.map +0 -1
  329. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.js +0 -29
  330. package/build/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.js.map +0 -1
  331. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.d.ts +0 -2
  332. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.d.ts.map +0 -1
  333. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.js +0 -172
  334. package/build/_modules/discord-bot/_collections/dibo-operations.util.spec.js.map +0 -1
  335. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.d.ts +0 -2
  336. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.d.ts.map +0 -1
  337. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.js +0 -133
  338. package/build/_modules/discord-bot/_services/dibo-commands.control-service.spec.js.map +0 -1
  339. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.d.ts +0 -2
  340. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.d.ts.map +0 -1
  341. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.js +0 -215
  342. package/build/_modules/discord-bot/_services/dibo-io.control-service.spec.js.map +0 -1
  343. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.d.ts +0 -2
  344. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.d.ts.map +0 -1
  345. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.js +0 -342
  346. package/build/_modules/discord-bot/_services/dibo-main.control-service.spec.js.map +0 -1
  347. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.d.ts +0 -2
  348. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.d.ts.map +0 -1
  349. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.js +0 -87
  350. package/build/_modules/discord-bot/_services/dibo-routines.control-service.spec.js.map +0 -1
  351. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.d.ts +0 -2
  352. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.d.ts.map +0 -1
  353. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.js +0 -137
  354. package/build/_modules/local-vector-search/_services/lvs-bm25.util.spec.js.map +0 -1
  355. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.d.ts +0 -2
  356. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.d.ts.map +0 -1
  357. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.js +0 -345
  358. package/build/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.js.map +0 -1
  359. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.d.ts +0 -2
  360. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.d.ts.map +0 -1
  361. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.js +0 -407
  362. package/build/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.js.map +0 -1
  363. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.d.ts +0 -2
  364. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.d.ts.map +0 -1
  365. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.js +0 -160
  366. package/build/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.js.map +0 -1
  367. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.d.ts +0 -2
  368. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.d.ts.map +0 -1
  369. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.js +0 -122
  370. package/build/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.js.map +0 -1
  371. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts +0 -2
  372. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.d.ts.map +0 -1
  373. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js +0 -388
  374. package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.js.map +0 -1
  375. package/build/_modules/logs/file-log.service.spec.d.ts +0 -2
  376. package/build/_modules/logs/file-log.service.spec.d.ts.map +0 -1
  377. package/build/_modules/logs/file-log.service.spec.js +0 -300
  378. package/build/_modules/logs/file-log.service.spec.js.map +0 -1
  379. package/build/_modules/logs/file-logs.controller.spec.d.ts +0 -2
  380. package/build/_modules/logs/file-logs.controller.spec.d.ts.map +0 -1
  381. package/build/_modules/logs/file-logs.controller.spec.js +0 -203
  382. package/build/_modules/logs/file-logs.controller.spec.js.map +0 -1
  383. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.d.ts +0 -2
  384. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.d.ts.map +0 -1
  385. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.js +0 -125
  386. package/build/_modules/mcp/_services/dynts-mcp-server.service-base.spec.js.map +0 -1
  387. package/build/_modules/messaging/_collections/msg.util.spec.d.ts +0 -2
  388. package/build/_modules/messaging/_collections/msg.util.spec.d.ts.map +0 -1
  389. package/build/_modules/messaging/_collections/msg.util.spec.js +0 -157
  390. package/build/_modules/messaging/_collections/msg.util.spec.js.map +0 -1
  391. package/build/_modules/messaging/_services/msg-events.service.spec.d.ts +0 -2
  392. package/build/_modules/messaging/_services/msg-events.service.spec.d.ts.map +0 -1
  393. package/build/_modules/messaging/_services/msg-events.service.spec.js +0 -122
  394. package/build/_modules/messaging/_services/msg-events.service.spec.js.map +0 -1
  395. package/build/_modules/messaging/_services/msg-main.control-service.spec.d.ts +0 -2
  396. package/build/_modules/messaging/_services/msg-main.control-service.spec.d.ts.map +0 -1
  397. package/build/_modules/messaging/_services/msg-main.control-service.spec.js +0 -121
  398. package/build/_modules/messaging/_services/msg-main.control-service.spec.js.map +0 -1
  399. package/build/_modules/messaging/_services/msg.controller.spec.d.ts +0 -2
  400. package/build/_modules/messaging/_services/msg.controller.spec.d.ts.map +0 -1
  401. package/build/_modules/messaging/_services/msg.controller.spec.js +0 -165
  402. package/build/_modules/messaging/_services/msg.controller.spec.js.map +0 -1
  403. package/build/_modules/mock/app-params.mock.spec.d.ts +0 -2
  404. package/build/_modules/mock/app-params.mock.spec.d.ts.map +0 -1
  405. package/build/_modules/mock/app-params.mock.spec.js +0 -19
  406. package/build/_modules/mock/app-params.mock.spec.js.map +0 -1
  407. package/build/_modules/mock/auth-service.mock.spec.d.ts +0 -2
  408. package/build/_modules/mock/auth-service.mock.spec.d.ts.map +0 -1
  409. package/build/_modules/mock/auth-service.mock.spec.js +0 -40
  410. package/build/_modules/mock/auth-service.mock.spec.js.map +0 -1
  411. package/build/_modules/mock/controller.mock.spec.d.ts +0 -2
  412. package/build/_modules/mock/controller.mock.spec.d.ts.map +0 -1
  413. package/build/_modules/mock/controller.mock.spec.js +0 -23
  414. package/build/_modules/mock/controller.mock.spec.js.map +0 -1
  415. package/build/_modules/mock/data-model.mock.spec.d.ts +0 -2
  416. package/build/_modules/mock/data-model.mock.spec.d.ts.map +0 -1
  417. package/build/_modules/mock/data-model.mock.spec.js +0 -101
  418. package/build/_modules/mock/data-model.mock.spec.js.map +0 -1
  419. package/build/_modules/mock/email-service-collection.mock.spec.d.ts +0 -2
  420. package/build/_modules/mock/email-service-collection.mock.spec.d.ts.map +0 -1
  421. package/build/_modules/mock/email-service-collection.mock.spec.js +0 -21
  422. package/build/_modules/mock/email-service-collection.mock.spec.js.map +0 -1
  423. package/build/_modules/mock/email-service.mock.spec.d.ts +0 -2
  424. package/build/_modules/mock/email-service.mock.spec.d.ts.map +0 -1
  425. package/build/_modules/mock/email-service.mock.spec.js +0 -14
  426. package/build/_modules/mock/email-service.mock.spec.js.map +0 -1
  427. package/build/_modules/mock/socket-client.mock.spec.d.ts +0 -2
  428. package/build/_modules/mock/socket-client.mock.spec.d.ts.map +0 -1
  429. package/build/_modules/mock/socket-client.mock.spec.js +0 -32
  430. package/build/_modules/mock/socket-client.mock.spec.js.map +0 -1
  431. package/build/_modules/mock/socket-server.mock.spec.d.ts +0 -2
  432. package/build/_modules/mock/socket-server.mock.spec.d.ts.map +0 -1
  433. package/build/_modules/mock/socket-server.mock.spec.js +0 -36
  434. package/build/_modules/mock/socket-server.mock.spec.js.map +0 -1
  435. package/build/_modules/oauth2/_routes/oauth2.controller.spec.d.ts +0 -2
  436. package/build/_modules/oauth2/_routes/oauth2.controller.spec.d.ts.map +0 -1
  437. package/build/_modules/oauth2/_routes/oauth2.controller.spec.js +0 -89
  438. package/build/_modules/oauth2/_routes/oauth2.controller.spec.js.map +0 -1
  439. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.d.ts +0 -2
  440. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.d.ts.map +0 -1
  441. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.js +0 -195
  442. package/build/_modules/oauth2/_services/oauth2.auth-service.spec.js.map +0 -1
  443. package/build/_modules/oauth2/_services/oauth2.control-service.spec.d.ts +0 -2
  444. package/build/_modules/oauth2/_services/oauth2.control-service.spec.d.ts.map +0 -1
  445. package/build/_modules/oauth2/_services/oauth2.control-service.spec.js +0 -432
  446. package/build/_modules/oauth2/_services/oauth2.control-service.spec.js.map +0 -1
  447. package/build/_modules/rate-limit/rate-limit.middleware.spec.d.ts +0 -2
  448. package/build/_modules/rate-limit/rate-limit.middleware.spec.d.ts.map +0 -1
  449. package/build/_modules/rate-limit/rate-limit.middleware.spec.js +0 -277
  450. package/build/_modules/rate-limit/rate-limit.middleware.spec.js.map +0 -1
  451. package/build/_modules/scheduler/scheduler.controller.spec.d.ts +0 -2
  452. package/build/_modules/scheduler/scheduler.controller.spec.d.ts.map +0 -1
  453. package/build/_modules/scheduler/scheduler.controller.spec.js +0 -35
  454. package/build/_modules/scheduler/scheduler.controller.spec.js.map +0 -1
  455. package/build/_modules/scheduler/scheduler.service.spec.d.ts +0 -2
  456. package/build/_modules/scheduler/scheduler.service.spec.d.ts.map +0 -1
  457. package/build/_modules/scheduler/scheduler.service.spec.js +0 -123
  458. package/build/_modules/scheduler/scheduler.service.spec.js.map +0 -1
  459. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.d.ts +0 -2
  460. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.d.ts.map +0 -1
  461. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.js +0 -229
  462. package/build/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.js.map +0 -1
  463. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.d.ts +0 -2
  464. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.d.ts.map +0 -1
  465. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.js +0 -88
  466. package/build/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.js.map +0 -1
  467. package/build/_modules/server/errors/errors.control-service.spec.d.ts +0 -2
  468. package/build/_modules/server/errors/errors.control-service.spec.d.ts.map +0 -1
  469. package/build/_modules/server/errors/errors.control-service.spec.js +0 -198
  470. package/build/_modules/server/errors/errors.control-service.spec.js.map +0 -1
  471. package/build/_modules/server/errors/errors.controller.spec.d.ts +0 -2
  472. package/build/_modules/server/errors/errors.controller.spec.d.ts.map +0 -1
  473. package/build/_modules/server/errors/errors.controller.spec.js +0 -287
  474. package/build/_modules/server/errors/errors.controller.spec.js.map +0 -1
  475. package/build/_modules/server/errors/errors.data-service.spec.d.ts +0 -2
  476. package/build/_modules/server/errors/errors.data-service.spec.d.ts.map +0 -1
  477. package/build/_modules/server/errors/errors.data-service.spec.js +0 -390
  478. package/build/_modules/server/errors/errors.data-service.spec.js.map +0 -1
  479. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.d.ts +0 -2
  480. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.d.ts.map +0 -1
  481. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.js +0 -59
  482. package/build/_modules/server/server-status/server-status-snapshot.control-service.spec.js.map +0 -1
  483. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.d.ts +0 -2
  484. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.d.ts.map +0 -1
  485. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.js +0 -58
  486. package/build/_modules/server/server-status/server-status-snapshot.data-service.spec.js.map +0 -1
  487. package/build/_modules/server/server-status/server-status.control-service.spec.d.ts +0 -2
  488. package/build/_modules/server/server-status/server-status.control-service.spec.d.ts.map +0 -1
  489. package/build/_modules/server/server-status/server-status.control-service.spec.js +0 -537
  490. package/build/_modules/server/server-status/server-status.control-service.spec.js.map +0 -1
  491. package/build/_modules/server/server-status/server-status.controller.spec.d.ts +0 -2
  492. package/build/_modules/server/server-status/server-status.controller.spec.d.ts.map +0 -1
  493. package/build/_modules/server/server-status/server-status.controller.spec.js +0 -223
  494. package/build/_modules/server/server-status/server-status.controller.spec.js.map +0 -1
  495. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts +0 -2
  496. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.d.ts.map +0 -1
  497. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js +0 -25
  498. package/build/_modules/socket/_models/socket-client-service-params.control-model.spec.js.map +0 -1
  499. package/build/_modules/socket/_models/socket-presence.control-model.spec.d.ts +0 -2
  500. package/build/_modules/socket/_models/socket-presence.control-model.spec.d.ts.map +0 -1
  501. package/build/_modules/socket/_models/socket-presence.control-model.spec.js +0 -137
  502. package/build/_modules/socket/_models/socket-presence.control-model.spec.js.map +0 -1
  503. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts +0 -2
  504. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.d.ts.map +0 -1
  505. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js +0 -58
  506. package/build/_modules/socket/_models/socket-server-service-params.control-model.spec.js.map +0 -1
  507. package/build/_modules/socket/_services/socket-client.service.spec.d.ts +0 -2
  508. package/build/_modules/socket/_services/socket-client.service.spec.d.ts.map +0 -1
  509. package/build/_modules/socket/_services/socket-client.service.spec.js +0 -12
  510. package/build/_modules/socket/_services/socket-client.service.spec.js.map +0 -1
  511. package/build/_modules/socket/_services/socket-server.service.spec.d.ts +0 -2
  512. package/build/_modules/socket/_services/socket-server.service.spec.d.ts.map +0 -1
  513. package/build/_modules/socket/_services/socket-server.service.spec.js +0 -149
  514. package/build/_modules/socket/_services/socket-server.service.spec.js.map +0 -1
  515. package/build/_modules/socket/app-extended.integration.spec.d.ts +0 -2
  516. package/build/_modules/socket/app-extended.integration.spec.d.ts.map +0 -1
  517. package/build/_modules/socket/app-extended.integration.spec.js +0 -76
  518. package/build/_modules/socket/app-extended.integration.spec.js.map +0 -1
  519. package/build/_modules/test/get-test-routing-module.util.spec.d.ts +0 -2
  520. package/build/_modules/test/get-test-routing-module.util.spec.d.ts.map +0 -1
  521. package/build/_modules/test/get-test-routing-module.util.spec.js +0 -23
  522. package/build/_modules/test/get-test-routing-module.util.spec.js.map +0 -1
  523. package/build/_modules/test/test.controller.spec.d.ts +0 -2
  524. package/build/_modules/test/test.controller.spec.d.ts.map +0 -1
  525. package/build/_modules/test/test.controller.spec.js +0 -54
  526. package/build/_modules/test/test.controller.spec.js.map +0 -1
  527. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.d.ts +0 -2
  528. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.d.ts.map +0 -1
  529. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.js +0 -91
  530. package/build/_modules/test-email-sink/_services/dynts-test-email-sink.service.spec.js.map +0 -1
  531. package/build/_modules/usage/usage.controller.spec.d.ts +0 -2
  532. package/build/_modules/usage/usage.controller.spec.d.ts.map +0 -1
  533. package/build/_modules/usage/usage.controller.spec.js +0 -82
  534. package/build/_modules/usage/usage.controller.spec.js.map +0 -1
  535. package/build/_modules/usage/usage.data-service.spec.d.ts +0 -2
  536. package/build/_modules/usage/usage.data-service.spec.d.ts.map +0 -1
  537. package/build/_modules/usage/usage.data-service.spec.js +0 -284
  538. package/build/_modules/usage/usage.data-service.spec.js.map +0 -1
  539. package/build/_services/base/api.service-base.spec.d.ts +0 -2
  540. package/build/_services/base/api.service-base.spec.d.ts.map +0 -1
  541. package/build/_services/base/api.service-base.spec.js +0 -91
  542. package/build/_services/base/api.service-base.spec.js.map +0 -1
  543. package/build/_services/base/archive-data.service.spec.d.ts +0 -2
  544. package/build/_services/base/archive-data.service.spec.d.ts.map +0 -1
  545. package/build/_services/base/archive-data.service.spec.js +0 -149
  546. package/build/_services/base/archive-data.service.spec.js.map +0 -1
  547. package/build/_services/base/data.service.spec.d.ts +0 -2
  548. package/build/_services/base/data.service.spec.d.ts.map +0 -1
  549. package/build/_services/base/data.service.spec.js +0 -614
  550. package/build/_services/base/data.service.spec.js.map +0 -1
  551. package/build/_services/base/db.service.encryption.spec.d.ts +0 -2
  552. package/build/_services/base/db.service.encryption.spec.d.ts.map +0 -1
  553. package/build/_services/base/db.service.encryption.spec.js +0 -66
  554. package/build/_services/base/db.service.encryption.spec.js.map +0 -1
  555. package/build/_services/base/db.service.spec.d.ts +0 -2
  556. package/build/_services/base/db.service.spec.d.ts.map +0 -1
  557. package/build/_services/base/db.service.spec.js +0 -127
  558. package/build/_services/base/db.service.spec.js.map +0 -1
  559. package/build/_services/base/singleton.service-base.spec.d.ts +0 -2
  560. package/build/_services/base/singleton.service-base.spec.d.ts.map +0 -1
  561. package/build/_services/base/singleton.service-base.spec.js +0 -24
  562. package/build/_services/base/singleton.service-base.spec.js.map +0 -1
  563. package/build/_services/base/singleton.service.spec.d.ts +0 -2
  564. package/build/_services/base/singleton.service.spec.d.ts.map +0 -1
  565. package/build/_services/base/singleton.service.spec.js +0 -88
  566. package/build/_services/base/singleton.service.spec.js.map +0 -1
  567. package/build/_services/core/api.service.spec.d.ts +0 -2
  568. package/build/_services/core/api.service.spec.d.ts.map +0 -1
  569. package/build/_services/core/api.service.spec.js +0 -150
  570. package/build/_services/core/api.service.spec.js.map +0 -1
  571. package/build/_services/core/auth.service.spec.d.ts +0 -2
  572. package/build/_services/core/auth.service.spec.d.ts.map +0 -1
  573. package/build/_services/core/auth.service.spec.js +0 -129
  574. package/build/_services/core/auth.service.spec.js.map +0 -1
  575. package/build/_services/core/collection-growth-monitor.service.spec.d.ts +0 -2
  576. package/build/_services/core/collection-growth-monitor.service.spec.d.ts.map +0 -1
  577. package/build/_services/core/collection-growth-monitor.service.spec.js +0 -51
  578. package/build/_services/core/collection-growth-monitor.service.spec.js.map +0 -1
  579. package/build/_services/core/diagnostics.service.spec.d.ts +0 -2
  580. package/build/_services/core/diagnostics.service.spec.d.ts.map +0 -1
  581. package/build/_services/core/diagnostics.service.spec.js +0 -40
  582. package/build/_services/core/diagnostics.service.spec.js.map +0 -1
  583. package/build/_services/core/email.service.spec.d.ts +0 -2
  584. package/build/_services/core/email.service.spec.d.ts.map +0 -1
  585. package/build/_services/core/email.service.spec.js +0 -77
  586. package/build/_services/core/email.service.spec.js.map +0 -1
  587. package/build/_services/core/event-loop-diag.service.spec.d.ts +0 -2
  588. package/build/_services/core/event-loop-diag.service.spec.d.ts.map +0 -1
  589. package/build/_services/core/event-loop-diag.service.spec.js +0 -18
  590. package/build/_services/core/event-loop-diag.service.spec.js.map +0 -1
  591. package/build/_services/core/global.service.spec.d.ts +0 -2
  592. package/build/_services/core/global.service.spec.d.ts.map +0 -1
  593. package/build/_services/core/global.service.spec.js +0 -235
  594. package/build/_services/core/global.service.spec.js.map +0 -1
  595. package/build/_services/core/memory-guard.service.spec.d.ts +0 -2
  596. package/build/_services/core/memory-guard.service.spec.d.ts.map +0 -1
  597. package/build/_services/core/memory-guard.service.spec.js +0 -219
  598. package/build/_services/core/memory-guard.service.spec.js.map +0 -1
  599. package/build/_services/core/migration-runner.service.spec.d.ts +0 -2
  600. package/build/_services/core/migration-runner.service.spec.d.ts.map +0 -1
  601. package/build/_services/core/migration-runner.service.spec.js +0 -77
  602. package/build/_services/core/migration-runner.service.spec.js.map +0 -1
  603. package/build/_services/core/request-hunter.service.spec.d.ts +0 -2
  604. package/build/_services/core/request-hunter.service.spec.d.ts.map +0 -1
  605. package/build/_services/core/request-hunter.service.spec.js +0 -101
  606. package/build/_services/core/request-hunter.service.spec.js.map +0 -1
  607. package/build/_services/core/service-collection.service.spec.d.ts +0 -2
  608. package/build/_services/core/service-collection.service.spec.d.ts.map +0 -1
  609. package/build/_services/core/service-collection.service.spec.js +0 -39
  610. package/build/_services/core/service-collection.service.spec.js.map +0 -1
  611. package/build/_services/route/controller.service.spec.d.ts +0 -2
  612. package/build/_services/route/controller.service.spec.d.ts.map +0 -1
  613. package/build/_services/route/controller.service.spec.js +0 -48
  614. package/build/_services/route/controller.service.spec.js.map +0 -1
  615. package/build/_services/route/routing-module.service.spec.d.ts +0 -2
  616. package/build/_services/route/routing-module.service.spec.d.ts.map +0 -1
  617. package/build/_services/route/routing-module.service.spec.js +0 -81
  618. package/build/_services/route/routing-module.service.spec.js.map +0 -1
  619. package/build/_services/server/app.server-retention.spec.d.ts +0 -2
  620. package/build/_services/server/app.server-retention.spec.d.ts.map +0 -1
  621. package/build/_services/server/app.server-retention.spec.js +0 -93
  622. package/build/_services/server/app.server-retention.spec.js.map +0 -1
  623. package/build/_services/shared.static-service.spec.d.ts +0 -2
  624. package/build/_services/shared.static-service.spec.d.ts.map +0 -1
  625. package/build/_services/shared.static-service.spec.js +0 -82
  626. package/build/_services/shared.static-service.spec.js.map +0 -1
  627. package/coverage/_collections/archive.util.ts.html +0 -139
  628. package/coverage/_collections/get-environment-settings.util.ts.html +0 -229
  629. package/coverage/_collections/index.html +0 -146
  630. package/coverage/_collections/star.controller.ts.html +0 -472
  631. package/coverage/_models/control-models/api-call-params.control-model.ts.html +0 -511
  632. package/coverage/_models/control-models/app-ext-system-controls.control-model.ts.html +0 -112
  633. package/coverage/_models/control-models/app-params.control-model.ts.html +0 -475
  634. package/coverage/_models/control-models/app-system-controls.control-model.ts.html +0 -112
  635. package/coverage/_models/control-models/endpoint-params.control-model.ts.html +0 -1618
  636. package/coverage/_models/control-models/http-settings.control-model.ts.html +0 -172
  637. package/coverage/_models/control-models/index.html +0 -206
  638. package/coverage/_models/control-models/system-control.control-model.ts.html +0 -121
  639. package/coverage/_modules/ai/_models/ai-input-interfaces.ts.html +0 -436
  640. package/coverage/_modules/ai/_models/index.html +0 -116
  641. package/coverage/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts.html +0 -1993
  642. package/coverage/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts.html +0 -340
  643. package/coverage/_modules/ai/_modules/document-ai/_collections/index.html +0 -131
  644. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts.html +0 -523
  645. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts.html +0 -571
  646. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts.html +0 -382
  647. package/coverage/_modules/ai/_modules/document-ai/_models/data-models/index.html +0 -146
  648. package/coverage/_modules/ai/_modules/open-ai/_collections/index.html +0 -131
  649. package/coverage/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts.html +0 -331
  650. package/coverage/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts.html +0 -310
  651. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/index.html +0 -161
  652. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts.html +0 -958
  653. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts.html +0 -1801
  654. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts.html +0 -1390
  655. package/coverage/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts.html +0 -1915
  656. package/coverage/_modules/ai/_modules/open-ai/_services/index.html +0 -146
  657. package/coverage/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts.html +0 -334
  658. package/coverage/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts.html +0 -1822
  659. package/coverage/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts.html +0 -2584
  660. package/coverage/_modules/ai/_services/ai-embedding.service-base.ts.html +0 -208
  661. package/coverage/_modules/ai/_services/ai-llm-chat.service-base.ts.html +0 -289
  662. package/coverage/_modules/ai/_services/ai-llm.service-base.ts.html +0 -1060
  663. package/coverage/_modules/ai/_services/ai-provider.service-base.ts.html +0 -172
  664. package/coverage/_modules/ai/_services/index.html +0 -161
  665. package/coverage/_modules/assistant/_collections/ass.util.ts.html +0 -235
  666. package/coverage/_modules/assistant/_collections/index.html +0 -116
  667. package/coverage/_modules/assistant/_services/ass-io.control-service.ts.html +0 -307
  668. package/coverage/_modules/assistant/_services/ass-main.control-service.ts.html +0 -406
  669. package/coverage/_modules/assistant/_services/index.html +0 -131
  670. package/coverage/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts.html +0 -112
  671. package/coverage/_modules/bot/_modules/discord-bot/_models/index.html +0 -116
  672. package/coverage/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts.html +0 -1978
  673. package/coverage/_modules/bot/_modules/discord-bot/_services/index.html +0 -116
  674. package/coverage/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts.html +0 -250
  675. package/coverage/_modules/bot/_modules/dynamo-bot/_collections/index.html +0 -116
  676. package/coverage/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts.html +0 -130
  677. package/coverage/_modules/bot/_modules/dynamo-bot/_models/index.html +0 -116
  678. package/coverage/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts.html +0 -1414
  679. package/coverage/_modules/bot/_modules/dynamo-bot/_services/index.html +0 -116
  680. package/coverage/_modules/bot/_modules/slack-bot/_models/index.html +0 -116
  681. package/coverage/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts.html +0 -112
  682. package/coverage/_modules/bot/_modules/slack-bot/_services/index.html +0 -116
  683. package/coverage/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts.html +0 -664
  684. package/coverage/_modules/bot/_modules/teams-bot/_models/index.html +0 -116
  685. package/coverage/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts.html +0 -112
  686. package/coverage/_modules/bot/_modules/teams-bot/_services/index.html +0 -116
  687. package/coverage/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts.html +0 -664
  688. package/coverage/_modules/bot/_services/bot-commands.control-service.ts.html +0 -559
  689. package/coverage/_modules/bot/_services/bot-io.control-service.ts.html +0 -1072
  690. package/coverage/_modules/bot/_services/bot-main.control-service.ts.html +0 -1552
  691. package/coverage/_modules/bot/_services/bot-messaging-provider.service-base.ts.html +0 -556
  692. package/coverage/_modules/bot/_services/bot-routines.control-service.ts.html +0 -319
  693. package/coverage/_modules/bot/_services/index.html +0 -176
  694. package/coverage/_modules/custom-data/custom-data.controller.ts.html +0 -292
  695. package/coverage/_modules/custom-data/custom-data.data-service.ts.html +0 -148
  696. package/coverage/_modules/custom-data/get-custom-data-routing-module.util.ts.html +0 -157
  697. package/coverage/_modules/custom-data/index.html +0 -146
  698. package/coverage/_modules/defaults/_models/default-user.data-model.ts.html +0 -301
  699. package/coverage/_modules/defaults/_models/index.html +0 -116
  700. package/coverage/_modules/defaults/_services/default-auth.service.ts.html +0 -616
  701. package/coverage/_modules/defaults/_services/default-socket-events.service.ts.html +0 -268
  702. package/coverage/_modules/defaults/_services/default-user.data-service.ts.html +0 -379
  703. package/coverage/_modules/defaults/_services/index.html +0 -146
  704. package/coverage/_modules/discord-assistant/_collections/dias.util.ts.html +0 -481
  705. package/coverage/_modules/discord-assistant/_collections/index.html +0 -116
  706. package/coverage/_modules/discord-assistant/_models/dias-knowledge.data-model.ts.html +0 -241
  707. package/coverage/_modules/discord-assistant/_models/index.html +0 -116
  708. package/coverage/_modules/discord-assistant/_services/dias-chunk.data-service.ts.html +0 -616
  709. package/coverage/_modules/discord-assistant/_services/dias-io.control-service.ts.html +0 -292
  710. package/coverage/_modules/discord-assistant/_services/dias-main.control-service.ts.html +0 -166
  711. package/coverage/_modules/discord-assistant/_services/dias.service-base.ts.html +0 -313
  712. package/coverage/_modules/discord-assistant/_services/index.html +0 -161
  713. package/coverage/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts.html +0 -118
  714. package/coverage/_modules/discord-assistant-voiced/_services/index.html +0 -116
  715. package/coverage/_modules/discord-bot/_collections/dibo-global-settings.conts.ts.html +0 -250
  716. package/coverage/_modules/discord-bot/_collections/dibo-operations.util.ts.html +0 -1246
  717. package/coverage/_modules/discord-bot/_collections/index.html +0 -131
  718. package/coverage/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts.html +0 -106
  719. package/coverage/_modules/discord-bot/_models/index.html +0 -116
  720. package/coverage/_modules/discord-bot/_services/dibo-commands.control-service.ts.html +0 -544
  721. package/coverage/_modules/discord-bot/_services/dibo-io.control-service.ts.html +0 -1003
  722. package/coverage/_modules/discord-bot/_services/dibo-main.control-service.ts.html +0 -1546
  723. package/coverage/_modules/discord-bot/_services/dibo-routines.control-service.ts.html +0 -376
  724. package/coverage/_modules/discord-bot/_services/index.html +0 -161
  725. package/coverage/_modules/messaging/_collections/get-messaging-routing-module.util.ts.html +0 -163
  726. package/coverage/_modules/messaging/_collections/index.html +0 -131
  727. package/coverage/_modules/messaging/_collections/msg.util.ts.html +0 -334
  728. package/coverage/_modules/messaging/_services/index.html +0 -191
  729. package/coverage/_modules/messaging/_services/msg-conversation.data-service.ts.html +0 -523
  730. package/coverage/_modules/messaging/_services/msg-events.service.ts.html +0 -886
  731. package/coverage/_modules/messaging/_services/msg-integration.control-service.ts.html +0 -622
  732. package/coverage/_modules/messaging/_services/msg-main.control-service.ts.html +0 -1738
  733. package/coverage/_modules/messaging/_services/msg-message.data-service.ts.html +0 -472
  734. package/coverage/_modules/messaging/_services/msg.controller.ts.html +0 -1195
  735. package/coverage/_modules/mock/app-extended-server.mock.ts.html +0 -688
  736. package/coverage/_modules/mock/app-params.mock.ts.html +0 -112
  737. package/coverage/_modules/mock/app-server.mock.ts.html +0 -649
  738. package/coverage/_modules/mock/auth-service.mock.ts.html +0 -169
  739. package/coverage/_modules/mock/controller.mock.ts.html +0 -133
  740. package/coverage/_modules/mock/data-model.mock.ts.html +0 -331
  741. package/coverage/_modules/mock/email-service-collection.mock.ts.html +0 -130
  742. package/coverage/_modules/mock/email-service.mock.ts.html +0 -145
  743. package/coverage/_modules/mock/endpoint.mock.ts.html +0 -358
  744. package/coverage/_modules/mock/index.html +0 -266
  745. package/coverage/_modules/mock/socket-client.mock.ts.html +0 -220
  746. package/coverage/_modules/mock/socket-server.mock.ts.html +0 -247
  747. package/coverage/_modules/oauth2/_routes/index.html +0 -116
  748. package/coverage/_modules/oauth2/_routes/oauth2.controller.ts.html +0 -379
  749. package/coverage/_modules/oauth2/_services/index.html +0 -131
  750. package/coverage/_modules/oauth2/_services/oauth2.auth-service.ts.html +0 -781
  751. package/coverage/_modules/oauth2/_services/oauth2.control-service.ts.html +0 -2044
  752. package/coverage/_modules/server/errors/errors.control-service.ts.html +0 -292
  753. package/coverage/_modules/server/errors/errors.controller.ts.html +0 -895
  754. package/coverage/_modules/server/errors/errors.data-service.ts.html +0 -1666
  755. package/coverage/_modules/server/errors/index.html +0 -146
  756. package/coverage/_modules/server/server-status/index.html +0 -161
  757. package/coverage/_modules/server/server-status/server-status-snapshot.control-service.ts.html +0 -136
  758. package/coverage/_modules/server/server-status/server-status-snapshot.data-service.ts.html +0 -196
  759. package/coverage/_modules/server/server-status/server-status.control-service.ts.html +0 -1093
  760. package/coverage/_modules/server/server-status/server-status.controller.ts.html +0 -478
  761. package/coverage/_modules/socket/_models/index.html +0 -146
  762. package/coverage/_modules/socket/_models/socket-client-service-params.control-model.ts.html +0 -151
  763. package/coverage/_modules/socket/_models/socket-presence.control-model.ts.html +0 -715
  764. package/coverage/_modules/socket/_models/socket-server-service-params.control-model.ts.html +0 -145
  765. package/coverage/_modules/socket/_services/index.html +0 -131
  766. package/coverage/_modules/socket/_services/socket-client.service.ts.html +0 -862
  767. package/coverage/_modules/socket/_services/socket-server.service.ts.html +0 -3196
  768. package/coverage/_modules/socket/app-extended.server.ts.html +0 -1954
  769. package/coverage/_modules/socket/index.html +0 -116
  770. package/coverage/_modules/test/get-test-routing-module.util.ts.html +0 -154
  771. package/coverage/_modules/test/index.html +0 -131
  772. package/coverage/_modules/test/test.controller.ts.html +0 -430
  773. package/coverage/_modules/usage/get-usage-routing-module.util.ts.html +0 -151
  774. package/coverage/_modules/usage/index.html +0 -146
  775. package/coverage/_modules/usage/usage.controller.ts.html +0 -463
  776. package/coverage/_modules/usage/usage.data-service.ts.html +0 -640
  777. package/coverage/_services/base/api.service-base.ts.html +0 -307
  778. package/coverage/_services/base/archive-data.service.ts.html +0 -727
  779. package/coverage/_services/base/data.service.ts.html +0 -7033
  780. package/coverage/_services/base/db.service.ts.html +0 -4786
  781. package/coverage/_services/base/index.html +0 -191
  782. package/coverage/_services/base/singleton.service-base.ts.html +0 -157
  783. package/coverage/_services/base/singleton.service.ts.html +0 -190
  784. package/coverage/_services/core/api.service.ts.html +0 -1900
  785. package/coverage/_services/core/auth.service.ts.html +0 -607
  786. package/coverage/_services/core/email.service.ts.html +0 -2302
  787. package/coverage/_services/core/global.service.ts.html +0 -1363
  788. package/coverage/_services/core/index.html +0 -176
  789. package/coverage/_services/core/service-collection.service.ts.html +0 -103
  790. package/coverage/_services/index.html +0 -116
  791. package/coverage/_services/route/controller.service.ts.html +0 -475
  792. package/coverage/_services/route/index.html +0 -131
  793. package/coverage/_services/route/routing-module.service.ts.html +0 -1075
  794. package/coverage/_services/server/app.server.ts.html +0 -4408
  795. package/coverage/_services/server/index.html +0 -116
  796. package/coverage/_services/shared.static-service.ts.html +0 -319
  797. package/coverage/base.css +0 -224
  798. package/coverage/block-navigation.js +0 -87
  799. package/coverage/favicon.png +0 -0
  800. package/coverage/index.html +0 -821
  801. package/coverage/lcov-report/_collections/archive.util.ts.html +0 -139
  802. package/coverage/lcov-report/_collections/get-environment-settings.util.ts.html +0 -229
  803. package/coverage/lcov-report/_collections/index.html +0 -146
  804. package/coverage/lcov-report/_collections/star.controller.ts.html +0 -472
  805. package/coverage/lcov-report/_models/control-models/api-call-params.control-model.ts.html +0 -511
  806. package/coverage/lcov-report/_models/control-models/app-ext-system-controls.control-model.ts.html +0 -112
  807. package/coverage/lcov-report/_models/control-models/app-params.control-model.ts.html +0 -475
  808. package/coverage/lcov-report/_models/control-models/app-system-controls.control-model.ts.html +0 -112
  809. package/coverage/lcov-report/_models/control-models/endpoint-params.control-model.ts.html +0 -1618
  810. package/coverage/lcov-report/_models/control-models/http-settings.control-model.ts.html +0 -172
  811. package/coverage/lcov-report/_models/control-models/index.html +0 -206
  812. package/coverage/lcov-report/_models/control-models/system-control.control-model.ts.html +0 -121
  813. package/coverage/lcov-report/_modules/ai/_models/ai-input-interfaces.ts.html +0 -436
  814. package/coverage/lcov-report/_modules/ai/_models/index.html +0 -116
  815. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts.html +0 -1993
  816. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts.html +0 -340
  817. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_collections/index.html +0 -131
  818. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts.html +0 -523
  819. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts.html +0 -571
  820. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts.html +0 -382
  821. package/coverage/lcov-report/_modules/ai/_modules/document-ai/_models/data-models/index.html +0 -146
  822. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/index.html +0 -131
  823. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts.html +0 -331
  824. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts.html +0 -310
  825. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/index.html +0 -161
  826. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts.html +0 -958
  827. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.ts.html +0 -1801
  828. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts.html +0 -1390
  829. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts.html +0 -1915
  830. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/index.html +0 -146
  831. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts.html +0 -334
  832. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts.html +0 -1822
  833. package/coverage/lcov-report/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts.html +0 -2584
  834. package/coverage/lcov-report/_modules/ai/_services/ai-embedding.service-base.ts.html +0 -208
  835. package/coverage/lcov-report/_modules/ai/_services/ai-llm-chat.service-base.ts.html +0 -289
  836. package/coverage/lcov-report/_modules/ai/_services/ai-llm.service-base.ts.html +0 -1060
  837. package/coverage/lcov-report/_modules/ai/_services/ai-provider.service-base.ts.html +0 -172
  838. package/coverage/lcov-report/_modules/ai/_services/index.html +0 -161
  839. package/coverage/lcov-report/_modules/assistant/_collections/ass.util.ts.html +0 -235
  840. package/coverage/lcov-report/_modules/assistant/_collections/index.html +0 -116
  841. package/coverage/lcov-report/_modules/assistant/_services/ass-io.control-service.ts.html +0 -307
  842. package/coverage/lcov-report/_modules/assistant/_services/ass-main.control-service.ts.html +0 -406
  843. package/coverage/lcov-report/_modules/assistant/_services/index.html +0 -131
  844. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts.html +0 -112
  845. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_models/index.html +0 -116
  846. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.ts.html +0 -1978
  847. package/coverage/lcov-report/_modules/bot/_modules/discord-bot/_services/index.html +0 -116
  848. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts.html +0 -250
  849. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_collections/index.html +0 -116
  850. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts.html +0 -130
  851. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_models/index.html +0 -116
  852. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts.html +0 -1414
  853. package/coverage/lcov-report/_modules/bot/_modules/dynamo-bot/_services/index.html +0 -116
  854. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_models/index.html +0 -116
  855. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts.html +0 -112
  856. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_services/index.html +0 -116
  857. package/coverage/lcov-report/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts.html +0 -664
  858. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_models/index.html +0 -116
  859. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts.html +0 -112
  860. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_services/index.html +0 -116
  861. package/coverage/lcov-report/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts.html +0 -664
  862. package/coverage/lcov-report/_modules/bot/_services/bot-commands.control-service.ts.html +0 -559
  863. package/coverage/lcov-report/_modules/bot/_services/bot-io.control-service.ts.html +0 -1072
  864. package/coverage/lcov-report/_modules/bot/_services/bot-main.control-service.ts.html +0 -1552
  865. package/coverage/lcov-report/_modules/bot/_services/bot-messaging-provider.service-base.ts.html +0 -556
  866. package/coverage/lcov-report/_modules/bot/_services/bot-routines.control-service.ts.html +0 -319
  867. package/coverage/lcov-report/_modules/bot/_services/index.html +0 -176
  868. package/coverage/lcov-report/_modules/custom-data/custom-data.controller.ts.html +0 -292
  869. package/coverage/lcov-report/_modules/custom-data/custom-data.data-service.ts.html +0 -148
  870. package/coverage/lcov-report/_modules/custom-data/get-custom-data-routing-module.util.ts.html +0 -157
  871. package/coverage/lcov-report/_modules/custom-data/index.html +0 -146
  872. package/coverage/lcov-report/_modules/defaults/_models/default-user.data-model.ts.html +0 -301
  873. package/coverage/lcov-report/_modules/defaults/_models/index.html +0 -116
  874. package/coverage/lcov-report/_modules/defaults/_services/default-auth.service.ts.html +0 -616
  875. package/coverage/lcov-report/_modules/defaults/_services/default-socket-events.service.ts.html +0 -268
  876. package/coverage/lcov-report/_modules/defaults/_services/default-user.data-service.ts.html +0 -379
  877. package/coverage/lcov-report/_modules/defaults/_services/index.html +0 -146
  878. package/coverage/lcov-report/_modules/discord-assistant/_collections/dias.util.ts.html +0 -481
  879. package/coverage/lcov-report/_modules/discord-assistant/_collections/index.html +0 -116
  880. package/coverage/lcov-report/_modules/discord-assistant/_models/dias-knowledge.data-model.ts.html +0 -241
  881. package/coverage/lcov-report/_modules/discord-assistant/_models/index.html +0 -116
  882. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-chunk.data-service.ts.html +0 -616
  883. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-io.control-service.ts.html +0 -292
  884. package/coverage/lcov-report/_modules/discord-assistant/_services/dias-main.control-service.ts.html +0 -166
  885. package/coverage/lcov-report/_modules/discord-assistant/_services/dias.service-base.ts.html +0 -313
  886. package/coverage/lcov-report/_modules/discord-assistant/_services/index.html +0 -161
  887. package/coverage/lcov-report/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts.html +0 -118
  888. package/coverage/lcov-report/_modules/discord-assistant-voiced/_services/index.html +0 -116
  889. package/coverage/lcov-report/_modules/discord-bot/_collections/dibo-global-settings.conts.ts.html +0 -250
  890. package/coverage/lcov-report/_modules/discord-bot/_collections/dibo-operations.util.ts.html +0 -1246
  891. package/coverage/lcov-report/_modules/discord-bot/_collections/index.html +0 -131
  892. package/coverage/lcov-report/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts.html +0 -106
  893. package/coverage/lcov-report/_modules/discord-bot/_models/index.html +0 -116
  894. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-commands.control-service.ts.html +0 -544
  895. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-io.control-service.ts.html +0 -1003
  896. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-main.control-service.ts.html +0 -1546
  897. package/coverage/lcov-report/_modules/discord-bot/_services/dibo-routines.control-service.ts.html +0 -376
  898. package/coverage/lcov-report/_modules/discord-bot/_services/index.html +0 -161
  899. package/coverage/lcov-report/_modules/messaging/_collections/get-messaging-routing-module.util.ts.html +0 -163
  900. package/coverage/lcov-report/_modules/messaging/_collections/index.html +0 -131
  901. package/coverage/lcov-report/_modules/messaging/_collections/msg.util.ts.html +0 -334
  902. package/coverage/lcov-report/_modules/messaging/_services/index.html +0 -191
  903. package/coverage/lcov-report/_modules/messaging/_services/msg-conversation.data-service.ts.html +0 -523
  904. package/coverage/lcov-report/_modules/messaging/_services/msg-events.service.ts.html +0 -886
  905. package/coverage/lcov-report/_modules/messaging/_services/msg-integration.control-service.ts.html +0 -622
  906. package/coverage/lcov-report/_modules/messaging/_services/msg-main.control-service.ts.html +0 -1738
  907. package/coverage/lcov-report/_modules/messaging/_services/msg-message.data-service.ts.html +0 -472
  908. package/coverage/lcov-report/_modules/messaging/_services/msg.controller.ts.html +0 -1195
  909. package/coverage/lcov-report/_modules/mock/app-extended-server.mock.ts.html +0 -688
  910. package/coverage/lcov-report/_modules/mock/app-params.mock.ts.html +0 -112
  911. package/coverage/lcov-report/_modules/mock/app-server.mock.ts.html +0 -649
  912. package/coverage/lcov-report/_modules/mock/auth-service.mock.ts.html +0 -169
  913. package/coverage/lcov-report/_modules/mock/controller.mock.ts.html +0 -133
  914. package/coverage/lcov-report/_modules/mock/data-model.mock.ts.html +0 -331
  915. package/coverage/lcov-report/_modules/mock/email-service-collection.mock.ts.html +0 -130
  916. package/coverage/lcov-report/_modules/mock/email-service.mock.ts.html +0 -145
  917. package/coverage/lcov-report/_modules/mock/endpoint.mock.ts.html +0 -358
  918. package/coverage/lcov-report/_modules/mock/index.html +0 -266
  919. package/coverage/lcov-report/_modules/mock/socket-client.mock.ts.html +0 -220
  920. package/coverage/lcov-report/_modules/mock/socket-server.mock.ts.html +0 -247
  921. package/coverage/lcov-report/_modules/oauth2/_routes/index.html +0 -116
  922. package/coverage/lcov-report/_modules/oauth2/_routes/oauth2.controller.ts.html +0 -379
  923. package/coverage/lcov-report/_modules/oauth2/_services/index.html +0 -131
  924. package/coverage/lcov-report/_modules/oauth2/_services/oauth2.auth-service.ts.html +0 -781
  925. package/coverage/lcov-report/_modules/oauth2/_services/oauth2.control-service.ts.html +0 -2044
  926. package/coverage/lcov-report/_modules/server/errors/errors.control-service.ts.html +0 -292
  927. package/coverage/lcov-report/_modules/server/errors/errors.controller.ts.html +0 -895
  928. package/coverage/lcov-report/_modules/server/errors/errors.data-service.ts.html +0 -1666
  929. package/coverage/lcov-report/_modules/server/errors/index.html +0 -146
  930. package/coverage/lcov-report/_modules/server/server-status/index.html +0 -161
  931. package/coverage/lcov-report/_modules/server/server-status/server-status-snapshot.control-service.ts.html +0 -136
  932. package/coverage/lcov-report/_modules/server/server-status/server-status-snapshot.data-service.ts.html +0 -196
  933. package/coverage/lcov-report/_modules/server/server-status/server-status.control-service.ts.html +0 -1093
  934. package/coverage/lcov-report/_modules/server/server-status/server-status.controller.ts.html +0 -478
  935. package/coverage/lcov-report/_modules/socket/_models/index.html +0 -146
  936. package/coverage/lcov-report/_modules/socket/_models/socket-client-service-params.control-model.ts.html +0 -151
  937. package/coverage/lcov-report/_modules/socket/_models/socket-presence.control-model.ts.html +0 -715
  938. package/coverage/lcov-report/_modules/socket/_models/socket-server-service-params.control-model.ts.html +0 -145
  939. package/coverage/lcov-report/_modules/socket/_services/index.html +0 -131
  940. package/coverage/lcov-report/_modules/socket/_services/socket-client.service.ts.html +0 -862
  941. package/coverage/lcov-report/_modules/socket/_services/socket-server.service.ts.html +0 -3196
  942. package/coverage/lcov-report/_modules/socket/app-extended.server.ts.html +0 -1954
  943. package/coverage/lcov-report/_modules/socket/index.html +0 -116
  944. package/coverage/lcov-report/_modules/test/get-test-routing-module.util.ts.html +0 -154
  945. package/coverage/lcov-report/_modules/test/index.html +0 -131
  946. package/coverage/lcov-report/_modules/test/test.controller.ts.html +0 -430
  947. package/coverage/lcov-report/_modules/usage/get-usage-routing-module.util.ts.html +0 -151
  948. package/coverage/lcov-report/_modules/usage/index.html +0 -146
  949. package/coverage/lcov-report/_modules/usage/usage.controller.ts.html +0 -463
  950. package/coverage/lcov-report/_modules/usage/usage.data-service.ts.html +0 -640
  951. package/coverage/lcov-report/_services/base/api.service-base.ts.html +0 -307
  952. package/coverage/lcov-report/_services/base/archive-data.service.ts.html +0 -727
  953. package/coverage/lcov-report/_services/base/data.service.ts.html +0 -7033
  954. package/coverage/lcov-report/_services/base/db.service.ts.html +0 -4786
  955. package/coverage/lcov-report/_services/base/index.html +0 -191
  956. package/coverage/lcov-report/_services/base/singleton.service-base.ts.html +0 -157
  957. package/coverage/lcov-report/_services/base/singleton.service.ts.html +0 -190
  958. package/coverage/lcov-report/_services/core/api.service.ts.html +0 -1900
  959. package/coverage/lcov-report/_services/core/auth.service.ts.html +0 -607
  960. package/coverage/lcov-report/_services/core/email.service.ts.html +0 -2302
  961. package/coverage/lcov-report/_services/core/global.service.ts.html +0 -1363
  962. package/coverage/lcov-report/_services/core/index.html +0 -176
  963. package/coverage/lcov-report/_services/core/service-collection.service.ts.html +0 -103
  964. package/coverage/lcov-report/_services/index.html +0 -116
  965. package/coverage/lcov-report/_services/route/controller.service.ts.html +0 -475
  966. package/coverage/lcov-report/_services/route/index.html +0 -131
  967. package/coverage/lcov-report/_services/route/routing-module.service.ts.html +0 -1075
  968. package/coverage/lcov-report/_services/server/app.server.ts.html +0 -4408
  969. package/coverage/lcov-report/_services/server/index.html +0 -116
  970. package/coverage/lcov-report/_services/shared.static-service.ts.html +0 -319
  971. package/coverage/lcov-report/base.css +0 -224
  972. package/coverage/lcov-report/block-navigation.js +0 -87
  973. package/coverage/lcov-report/favicon.png +0 -0
  974. package/coverage/lcov-report/index.html +0 -821
  975. package/coverage/lcov-report/prettify.css +0 -1
  976. package/coverage/lcov-report/prettify.js +0 -2
  977. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  978. package/coverage/lcov-report/sorter.js +0 -210
  979. package/coverage/lcov.info +0 -29957
  980. package/coverage/prettify.css +0 -1
  981. package/coverage/prettify.js +0 -2
  982. package/coverage/sort-arrow-sprite.png +0 -0
  983. package/coverage/sorter.js +0 -210
  984. package/coverage/tmp/coverage-111712-1762988673351-0.json +0 -1
  985. package/coverage/tmp/coverage-112308-1762988673527-0.json +0 -1
  986. package/coverage/tmp/coverage-112324-1762988615026-0.json +0 -1
  987. package/coverage/tmp/coverage-112436-1762988615438-0.json +0 -1
  988. package/coverage/tmp/coverage-112512-1762988673477-0.json +0 -1
  989. package/logs/cicd-job.json +0 -3
  990. package/logs/cicd-output.log +0 -31
  991. package/logs/cicd-report.json +0 -148
  992. package/logs/cicd-status.json +0 -70
@@ -1,4408 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for _services/server/app.server.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">_services/server</a> app.server.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">50.86% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>733/1441</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">36.63% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>37/101</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">62.96% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>17/27</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">50.86% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>733/1441</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 type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a>
794
- <a name='L729'></a><a href='#L729'>729</a>
795
- <a name='L730'></a><a href='#L730'>730</a>
796
- <a name='L731'></a><a href='#L731'>731</a>
797
- <a name='L732'></a><a href='#L732'>732</a>
798
- <a name='L733'></a><a href='#L733'>733</a>
799
- <a name='L734'></a><a href='#L734'>734</a>
800
- <a name='L735'></a><a href='#L735'>735</a>
801
- <a name='L736'></a><a href='#L736'>736</a>
802
- <a name='L737'></a><a href='#L737'>737</a>
803
- <a name='L738'></a><a href='#L738'>738</a>
804
- <a name='L739'></a><a href='#L739'>739</a>
805
- <a name='L740'></a><a href='#L740'>740</a>
806
- <a name='L741'></a><a href='#L741'>741</a>
807
- <a name='L742'></a><a href='#L742'>742</a>
808
- <a name='L743'></a><a href='#L743'>743</a>
809
- <a name='L744'></a><a href='#L744'>744</a>
810
- <a name='L745'></a><a href='#L745'>745</a>
811
- <a name='L746'></a><a href='#L746'>746</a>
812
- <a name='L747'></a><a href='#L747'>747</a>
813
- <a name='L748'></a><a href='#L748'>748</a>
814
- <a name='L749'></a><a href='#L749'>749</a>
815
- <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a>
817
- <a name='L752'></a><a href='#L752'>752</a>
818
- <a name='L753'></a><a href='#L753'>753</a>
819
- <a name='L754'></a><a href='#L754'>754</a>
820
- <a name='L755'></a><a href='#L755'>755</a>
821
- <a name='L756'></a><a href='#L756'>756</a>
822
- <a name='L757'></a><a href='#L757'>757</a>
823
- <a name='L758'></a><a href='#L758'>758</a>
824
- <a name='L759'></a><a href='#L759'>759</a>
825
- <a name='L760'></a><a href='#L760'>760</a>
826
- <a name='L761'></a><a href='#L761'>761</a>
827
- <a name='L762'></a><a href='#L762'>762</a>
828
- <a name='L763'></a><a href='#L763'>763</a>
829
- <a name='L764'></a><a href='#L764'>764</a>
830
- <a name='L765'></a><a href='#L765'>765</a>
831
- <a name='L766'></a><a href='#L766'>766</a>
832
- <a name='L767'></a><a href='#L767'>767</a>
833
- <a name='L768'></a><a href='#L768'>768</a>
834
- <a name='L769'></a><a href='#L769'>769</a>
835
- <a name='L770'></a><a href='#L770'>770</a>
836
- <a name='L771'></a><a href='#L771'>771</a>
837
- <a name='L772'></a><a href='#L772'>772</a>
838
- <a name='L773'></a><a href='#L773'>773</a>
839
- <a name='L774'></a><a href='#L774'>774</a>
840
- <a name='L775'></a><a href='#L775'>775</a>
841
- <a name='L776'></a><a href='#L776'>776</a>
842
- <a name='L777'></a><a href='#L777'>777</a>
843
- <a name='L778'></a><a href='#L778'>778</a>
844
- <a name='L779'></a><a href='#L779'>779</a>
845
- <a name='L780'></a><a href='#L780'>780</a>
846
- <a name='L781'></a><a href='#L781'>781</a>
847
- <a name='L782'></a><a href='#L782'>782</a>
848
- <a name='L783'></a><a href='#L783'>783</a>
849
- <a name='L784'></a><a href='#L784'>784</a>
850
- <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a>
852
- <a name='L787'></a><a href='#L787'>787</a>
853
- <a name='L788'></a><a href='#L788'>788</a>
854
- <a name='L789'></a><a href='#L789'>789</a>
855
- <a name='L790'></a><a href='#L790'>790</a>
856
- <a name='L791'></a><a href='#L791'>791</a>
857
- <a name='L792'></a><a href='#L792'>792</a>
858
- <a name='L793'></a><a href='#L793'>793</a>
859
- <a name='L794'></a><a href='#L794'>794</a>
860
- <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a>
862
- <a name='L797'></a><a href='#L797'>797</a>
863
- <a name='L798'></a><a href='#L798'>798</a>
864
- <a name='L799'></a><a href='#L799'>799</a>
865
- <a name='L800'></a><a href='#L800'>800</a>
866
- <a name='L801'></a><a href='#L801'>801</a>
867
- <a name='L802'></a><a href='#L802'>802</a>
868
- <a name='L803'></a><a href='#L803'>803</a>
869
- <a name='L804'></a><a href='#L804'>804</a>
870
- <a name='L805'></a><a href='#L805'>805</a>
871
- <a name='L806'></a><a href='#L806'>806</a>
872
- <a name='L807'></a><a href='#L807'>807</a>
873
- <a name='L808'></a><a href='#L808'>808</a>
874
- <a name='L809'></a><a href='#L809'>809</a>
875
- <a name='L810'></a><a href='#L810'>810</a>
876
- <a name='L811'></a><a href='#L811'>811</a>
877
- <a name='L812'></a><a href='#L812'>812</a>
878
- <a name='L813'></a><a href='#L813'>813</a>
879
- <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a>
882
- <a name='L817'></a><a href='#L817'>817</a>
883
- <a name='L818'></a><a href='#L818'>818</a>
884
- <a name='L819'></a><a href='#L819'>819</a>
885
- <a name='L820'></a><a href='#L820'>820</a>
886
- <a name='L821'></a><a href='#L821'>821</a>
887
- <a name='L822'></a><a href='#L822'>822</a>
888
- <a name='L823'></a><a href='#L823'>823</a>
889
- <a name='L824'></a><a href='#L824'>824</a>
890
- <a name='L825'></a><a href='#L825'>825</a>
891
- <a name='L826'></a><a href='#L826'>826</a>
892
- <a name='L827'></a><a href='#L827'>827</a>
893
- <a name='L828'></a><a href='#L828'>828</a>
894
- <a name='L829'></a><a href='#L829'>829</a>
895
- <a name='L830'></a><a href='#L830'>830</a>
896
- <a name='L831'></a><a href='#L831'>831</a>
897
- <a name='L832'></a><a href='#L832'>832</a>
898
- <a name='L833'></a><a href='#L833'>833</a>
899
- <a name='L834'></a><a href='#L834'>834</a>
900
- <a name='L835'></a><a href='#L835'>835</a>
901
- <a name='L836'></a><a href='#L836'>836</a>
902
- <a name='L837'></a><a href='#L837'>837</a>
903
- <a name='L838'></a><a href='#L838'>838</a>
904
- <a name='L839'></a><a href='#L839'>839</a>
905
- <a name='L840'></a><a href='#L840'>840</a>
906
- <a name='L841'></a><a href='#L841'>841</a>
907
- <a name='L842'></a><a href='#L842'>842</a>
908
- <a name='L843'></a><a href='#L843'>843</a>
909
- <a name='L844'></a><a href='#L844'>844</a>
910
- <a name='L845'></a><a href='#L845'>845</a>
911
- <a name='L846'></a><a href='#L846'>846</a>
912
- <a name='L847'></a><a href='#L847'>847</a>
913
- <a name='L848'></a><a href='#L848'>848</a>
914
- <a name='L849'></a><a href='#L849'>849</a>
915
- <a name='L850'></a><a href='#L850'>850</a>
916
- <a name='L851'></a><a href='#L851'>851</a>
917
- <a name='L852'></a><a href='#L852'>852</a>
918
- <a name='L853'></a><a href='#L853'>853</a>
919
- <a name='L854'></a><a href='#L854'>854</a>
920
- <a name='L855'></a><a href='#L855'>855</a>
921
- <a name='L856'></a><a href='#L856'>856</a>
922
- <a name='L857'></a><a href='#L857'>857</a>
923
- <a name='L858'></a><a href='#L858'>858</a>
924
- <a name='L859'></a><a href='#L859'>859</a>
925
- <a name='L860'></a><a href='#L860'>860</a>
926
- <a name='L861'></a><a href='#L861'>861</a>
927
- <a name='L862'></a><a href='#L862'>862</a>
928
- <a name='L863'></a><a href='#L863'>863</a>
929
- <a name='L864'></a><a href='#L864'>864</a>
930
- <a name='L865'></a><a href='#L865'>865</a>
931
- <a name='L866'></a><a href='#L866'>866</a>
932
- <a name='L867'></a><a href='#L867'>867</a>
933
- <a name='L868'></a><a href='#L868'>868</a>
934
- <a name='L869'></a><a href='#L869'>869</a>
935
- <a name='L870'></a><a href='#L870'>870</a>
936
- <a name='L871'></a><a href='#L871'>871</a>
937
- <a name='L872'></a><a href='#L872'>872</a>
938
- <a name='L873'></a><a href='#L873'>873</a>
939
- <a name='L874'></a><a href='#L874'>874</a>
940
- <a name='L875'></a><a href='#L875'>875</a>
941
- <a name='L876'></a><a href='#L876'>876</a>
942
- <a name='L877'></a><a href='#L877'>877</a>
943
- <a name='L878'></a><a href='#L878'>878</a>
944
- <a name='L879'></a><a href='#L879'>879</a>
945
- <a name='L880'></a><a href='#L880'>880</a>
946
- <a name='L881'></a><a href='#L881'>881</a>
947
- <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a>
949
- <a name='L884'></a><a href='#L884'>884</a>
950
- <a name='L885'></a><a href='#L885'>885</a>
951
- <a name='L886'></a><a href='#L886'>886</a>
952
- <a name='L887'></a><a href='#L887'>887</a>
953
- <a name='L888'></a><a href='#L888'>888</a>
954
- <a name='L889'></a><a href='#L889'>889</a>
955
- <a name='L890'></a><a href='#L890'>890</a>
956
- <a name='L891'></a><a href='#L891'>891</a>
957
- <a name='L892'></a><a href='#L892'>892</a>
958
- <a name='L893'></a><a href='#L893'>893</a>
959
- <a name='L894'></a><a href='#L894'>894</a>
960
- <a name='L895'></a><a href='#L895'>895</a>
961
- <a name='L896'></a><a href='#L896'>896</a>
962
- <a name='L897'></a><a href='#L897'>897</a>
963
- <a name='L898'></a><a href='#L898'>898</a>
964
- <a name='L899'></a><a href='#L899'>899</a>
965
- <a name='L900'></a><a href='#L900'>900</a>
966
- <a name='L901'></a><a href='#L901'>901</a>
967
- <a name='L902'></a><a href='#L902'>902</a>
968
- <a name='L903'></a><a href='#L903'>903</a>
969
- <a name='L904'></a><a href='#L904'>904</a>
970
- <a name='L905'></a><a href='#L905'>905</a>
971
- <a name='L906'></a><a href='#L906'>906</a>
972
- <a name='L907'></a><a href='#L907'>907</a>
973
- <a name='L908'></a><a href='#L908'>908</a>
974
- <a name='L909'></a><a href='#L909'>909</a>
975
- <a name='L910'></a><a href='#L910'>910</a>
976
- <a name='L911'></a><a href='#L911'>911</a>
977
- <a name='L912'></a><a href='#L912'>912</a>
978
- <a name='L913'></a><a href='#L913'>913</a>
979
- <a name='L914'></a><a href='#L914'>914</a>
980
- <a name='L915'></a><a href='#L915'>915</a>
981
- <a name='L916'></a><a href='#L916'>916</a>
982
- <a name='L917'></a><a href='#L917'>917</a>
983
- <a name='L918'></a><a href='#L918'>918</a>
984
- <a name='L919'></a><a href='#L919'>919</a>
985
- <a name='L920'></a><a href='#L920'>920</a>
986
- <a name='L921'></a><a href='#L921'>921</a>
987
- <a name='L922'></a><a href='#L922'>922</a>
988
- <a name='L923'></a><a href='#L923'>923</a>
989
- <a name='L924'></a><a href='#L924'>924</a>
990
- <a name='L925'></a><a href='#L925'>925</a>
991
- <a name='L926'></a><a href='#L926'>926</a>
992
- <a name='L927'></a><a href='#L927'>927</a>
993
- <a name='L928'></a><a href='#L928'>928</a>
994
- <a name='L929'></a><a href='#L929'>929</a>
995
- <a name='L930'></a><a href='#L930'>930</a>
996
- <a name='L931'></a><a href='#L931'>931</a>
997
- <a name='L932'></a><a href='#L932'>932</a>
998
- <a name='L933'></a><a href='#L933'>933</a>
999
- <a name='L934'></a><a href='#L934'>934</a>
1000
- <a name='L935'></a><a href='#L935'>935</a>
1001
- <a name='L936'></a><a href='#L936'>936</a>
1002
- <a name='L937'></a><a href='#L937'>937</a>
1003
- <a name='L938'></a><a href='#L938'>938</a>
1004
- <a name='L939'></a><a href='#L939'>939</a>
1005
- <a name='L940'></a><a href='#L940'>940</a>
1006
- <a name='L941'></a><a href='#L941'>941</a>
1007
- <a name='L942'></a><a href='#L942'>942</a>
1008
- <a name='L943'></a><a href='#L943'>943</a>
1009
- <a name='L944'></a><a href='#L944'>944</a>
1010
- <a name='L945'></a><a href='#L945'>945</a>
1011
- <a name='L946'></a><a href='#L946'>946</a>
1012
- <a name='L947'></a><a href='#L947'>947</a>
1013
- <a name='L948'></a><a href='#L948'>948</a>
1014
- <a name='L949'></a><a href='#L949'>949</a>
1015
- <a name='L950'></a><a href='#L950'>950</a>
1016
- <a name='L951'></a><a href='#L951'>951</a>
1017
- <a name='L952'></a><a href='#L952'>952</a>
1018
- <a name='L953'></a><a href='#L953'>953</a>
1019
- <a name='L954'></a><a href='#L954'>954</a>
1020
- <a name='L955'></a><a href='#L955'>955</a>
1021
- <a name='L956'></a><a href='#L956'>956</a>
1022
- <a name='L957'></a><a href='#L957'>957</a>
1023
- <a name='L958'></a><a href='#L958'>958</a>
1024
- <a name='L959'></a><a href='#L959'>959</a>
1025
- <a name='L960'></a><a href='#L960'>960</a>
1026
- <a name='L961'></a><a href='#L961'>961</a>
1027
- <a name='L962'></a><a href='#L962'>962</a>
1028
- <a name='L963'></a><a href='#L963'>963</a>
1029
- <a name='L964'></a><a href='#L964'>964</a>
1030
- <a name='L965'></a><a href='#L965'>965</a>
1031
- <a name='L966'></a><a href='#L966'>966</a>
1032
- <a name='L967'></a><a href='#L967'>967</a>
1033
- <a name='L968'></a><a href='#L968'>968</a>
1034
- <a name='L969'></a><a href='#L969'>969</a>
1035
- <a name='L970'></a><a href='#L970'>970</a>
1036
- <a name='L971'></a><a href='#L971'>971</a>
1037
- <a name='L972'></a><a href='#L972'>972</a>
1038
- <a name='L973'></a><a href='#L973'>973</a>
1039
- <a name='L974'></a><a href='#L974'>974</a>
1040
- <a name='L975'></a><a href='#L975'>975</a>
1041
- <a name='L976'></a><a href='#L976'>976</a>
1042
- <a name='L977'></a><a href='#L977'>977</a>
1043
- <a name='L978'></a><a href='#L978'>978</a>
1044
- <a name='L979'></a><a href='#L979'>979</a>
1045
- <a name='L980'></a><a href='#L980'>980</a>
1046
- <a name='L981'></a><a href='#L981'>981</a>
1047
- <a name='L982'></a><a href='#L982'>982</a>
1048
- <a name='L983'></a><a href='#L983'>983</a>
1049
- <a name='L984'></a><a href='#L984'>984</a>
1050
- <a name='L985'></a><a href='#L985'>985</a>
1051
- <a name='L986'></a><a href='#L986'>986</a>
1052
- <a name='L987'></a><a href='#L987'>987</a>
1053
- <a name='L988'></a><a href='#L988'>988</a>
1054
- <a name='L989'></a><a href='#L989'>989</a>
1055
- <a name='L990'></a><a href='#L990'>990</a>
1056
- <a name='L991'></a><a href='#L991'>991</a>
1057
- <a name='L992'></a><a href='#L992'>992</a>
1058
- <a name='L993'></a><a href='#L993'>993</a>
1059
- <a name='L994'></a><a href='#L994'>994</a>
1060
- <a name='L995'></a><a href='#L995'>995</a>
1061
- <a name='L996'></a><a href='#L996'>996</a>
1062
- <a name='L997'></a><a href='#L997'>997</a>
1063
- <a name='L998'></a><a href='#L998'>998</a>
1064
- <a name='L999'></a><a href='#L999'>999</a>
1065
- <a name='L1000'></a><a href='#L1000'>1000</a>
1066
- <a name='L1001'></a><a href='#L1001'>1001</a>
1067
- <a name='L1002'></a><a href='#L1002'>1002</a>
1068
- <a name='L1003'></a><a href='#L1003'>1003</a>
1069
- <a name='L1004'></a><a href='#L1004'>1004</a>
1070
- <a name='L1005'></a><a href='#L1005'>1005</a>
1071
- <a name='L1006'></a><a href='#L1006'>1006</a>
1072
- <a name='L1007'></a><a href='#L1007'>1007</a>
1073
- <a name='L1008'></a><a href='#L1008'>1008</a>
1074
- <a name='L1009'></a><a href='#L1009'>1009</a>
1075
- <a name='L1010'></a><a href='#L1010'>1010</a>
1076
- <a name='L1011'></a><a href='#L1011'>1011</a>
1077
- <a name='L1012'></a><a href='#L1012'>1012</a>
1078
- <a name='L1013'></a><a href='#L1013'>1013</a>
1079
- <a name='L1014'></a><a href='#L1014'>1014</a>
1080
- <a name='L1015'></a><a href='#L1015'>1015</a>
1081
- <a name='L1016'></a><a href='#L1016'>1016</a>
1082
- <a name='L1017'></a><a href='#L1017'>1017</a>
1083
- <a name='L1018'></a><a href='#L1018'>1018</a>
1084
- <a name='L1019'></a><a href='#L1019'>1019</a>
1085
- <a name='L1020'></a><a href='#L1020'>1020</a>
1086
- <a name='L1021'></a><a href='#L1021'>1021</a>
1087
- <a name='L1022'></a><a href='#L1022'>1022</a>
1088
- <a name='L1023'></a><a href='#L1023'>1023</a>
1089
- <a name='L1024'></a><a href='#L1024'>1024</a>
1090
- <a name='L1025'></a><a href='#L1025'>1025</a>
1091
- <a name='L1026'></a><a href='#L1026'>1026</a>
1092
- <a name='L1027'></a><a href='#L1027'>1027</a>
1093
- <a name='L1028'></a><a href='#L1028'>1028</a>
1094
- <a name='L1029'></a><a href='#L1029'>1029</a>
1095
- <a name='L1030'></a><a href='#L1030'>1030</a>
1096
- <a name='L1031'></a><a href='#L1031'>1031</a>
1097
- <a name='L1032'></a><a href='#L1032'>1032</a>
1098
- <a name='L1033'></a><a href='#L1033'>1033</a>
1099
- <a name='L1034'></a><a href='#L1034'>1034</a>
1100
- <a name='L1035'></a><a href='#L1035'>1035</a>
1101
- <a name='L1036'></a><a href='#L1036'>1036</a>
1102
- <a name='L1037'></a><a href='#L1037'>1037</a>
1103
- <a name='L1038'></a><a href='#L1038'>1038</a>
1104
- <a name='L1039'></a><a href='#L1039'>1039</a>
1105
- <a name='L1040'></a><a href='#L1040'>1040</a>
1106
- <a name='L1041'></a><a href='#L1041'>1041</a>
1107
- <a name='L1042'></a><a href='#L1042'>1042</a>
1108
- <a name='L1043'></a><a href='#L1043'>1043</a>
1109
- <a name='L1044'></a><a href='#L1044'>1044</a>
1110
- <a name='L1045'></a><a href='#L1045'>1045</a>
1111
- <a name='L1046'></a><a href='#L1046'>1046</a>
1112
- <a name='L1047'></a><a href='#L1047'>1047</a>
1113
- <a name='L1048'></a><a href='#L1048'>1048</a>
1114
- <a name='L1049'></a><a href='#L1049'>1049</a>
1115
- <a name='L1050'></a><a href='#L1050'>1050</a>
1116
- <a name='L1051'></a><a href='#L1051'>1051</a>
1117
- <a name='L1052'></a><a href='#L1052'>1052</a>
1118
- <a name='L1053'></a><a href='#L1053'>1053</a>
1119
- <a name='L1054'></a><a href='#L1054'>1054</a>
1120
- <a name='L1055'></a><a href='#L1055'>1055</a>
1121
- <a name='L1056'></a><a href='#L1056'>1056</a>
1122
- <a name='L1057'></a><a href='#L1057'>1057</a>
1123
- <a name='L1058'></a><a href='#L1058'>1058</a>
1124
- <a name='L1059'></a><a href='#L1059'>1059</a>
1125
- <a name='L1060'></a><a href='#L1060'>1060</a>
1126
- <a name='L1061'></a><a href='#L1061'>1061</a>
1127
- <a name='L1062'></a><a href='#L1062'>1062</a>
1128
- <a name='L1063'></a><a href='#L1063'>1063</a>
1129
- <a name='L1064'></a><a href='#L1064'>1064</a>
1130
- <a name='L1065'></a><a href='#L1065'>1065</a>
1131
- <a name='L1066'></a><a href='#L1066'>1066</a>
1132
- <a name='L1067'></a><a href='#L1067'>1067</a>
1133
- <a name='L1068'></a><a href='#L1068'>1068</a>
1134
- <a name='L1069'></a><a href='#L1069'>1069</a>
1135
- <a name='L1070'></a><a href='#L1070'>1070</a>
1136
- <a name='L1071'></a><a href='#L1071'>1071</a>
1137
- <a name='L1072'></a><a href='#L1072'>1072</a>
1138
- <a name='L1073'></a><a href='#L1073'>1073</a>
1139
- <a name='L1074'></a><a href='#L1074'>1074</a>
1140
- <a name='L1075'></a><a href='#L1075'>1075</a>
1141
- <a name='L1076'></a><a href='#L1076'>1076</a>
1142
- <a name='L1077'></a><a href='#L1077'>1077</a>
1143
- <a name='L1078'></a><a href='#L1078'>1078</a>
1144
- <a name='L1079'></a><a href='#L1079'>1079</a>
1145
- <a name='L1080'></a><a href='#L1080'>1080</a>
1146
- <a name='L1081'></a><a href='#L1081'>1081</a>
1147
- <a name='L1082'></a><a href='#L1082'>1082</a>
1148
- <a name='L1083'></a><a href='#L1083'>1083</a>
1149
- <a name='L1084'></a><a href='#L1084'>1084</a>
1150
- <a name='L1085'></a><a href='#L1085'>1085</a>
1151
- <a name='L1086'></a><a href='#L1086'>1086</a>
1152
- <a name='L1087'></a><a href='#L1087'>1087</a>
1153
- <a name='L1088'></a><a href='#L1088'>1088</a>
1154
- <a name='L1089'></a><a href='#L1089'>1089</a>
1155
- <a name='L1090'></a><a href='#L1090'>1090</a>
1156
- <a name='L1091'></a><a href='#L1091'>1091</a>
1157
- <a name='L1092'></a><a href='#L1092'>1092</a>
1158
- <a name='L1093'></a><a href='#L1093'>1093</a>
1159
- <a name='L1094'></a><a href='#L1094'>1094</a>
1160
- <a name='L1095'></a><a href='#L1095'>1095</a>
1161
- <a name='L1096'></a><a href='#L1096'>1096</a>
1162
- <a name='L1097'></a><a href='#L1097'>1097</a>
1163
- <a name='L1098'></a><a href='#L1098'>1098</a>
1164
- <a name='L1099'></a><a href='#L1099'>1099</a>
1165
- <a name='L1100'></a><a href='#L1100'>1100</a>
1166
- <a name='L1101'></a><a href='#L1101'>1101</a>
1167
- <a name='L1102'></a><a href='#L1102'>1102</a>
1168
- <a name='L1103'></a><a href='#L1103'>1103</a>
1169
- <a name='L1104'></a><a href='#L1104'>1104</a>
1170
- <a name='L1105'></a><a href='#L1105'>1105</a>
1171
- <a name='L1106'></a><a href='#L1106'>1106</a>
1172
- <a name='L1107'></a><a href='#L1107'>1107</a>
1173
- <a name='L1108'></a><a href='#L1108'>1108</a>
1174
- <a name='L1109'></a><a href='#L1109'>1109</a>
1175
- <a name='L1110'></a><a href='#L1110'>1110</a>
1176
- <a name='L1111'></a><a href='#L1111'>1111</a>
1177
- <a name='L1112'></a><a href='#L1112'>1112</a>
1178
- <a name='L1113'></a><a href='#L1113'>1113</a>
1179
- <a name='L1114'></a><a href='#L1114'>1114</a>
1180
- <a name='L1115'></a><a href='#L1115'>1115</a>
1181
- <a name='L1116'></a><a href='#L1116'>1116</a>
1182
- <a name='L1117'></a><a href='#L1117'>1117</a>
1183
- <a name='L1118'></a><a href='#L1118'>1118</a>
1184
- <a name='L1119'></a><a href='#L1119'>1119</a>
1185
- <a name='L1120'></a><a href='#L1120'>1120</a>
1186
- <a name='L1121'></a><a href='#L1121'>1121</a>
1187
- <a name='L1122'></a><a href='#L1122'>1122</a>
1188
- <a name='L1123'></a><a href='#L1123'>1123</a>
1189
- <a name='L1124'></a><a href='#L1124'>1124</a>
1190
- <a name='L1125'></a><a href='#L1125'>1125</a>
1191
- <a name='L1126'></a><a href='#L1126'>1126</a>
1192
- <a name='L1127'></a><a href='#L1127'>1127</a>
1193
- <a name='L1128'></a><a href='#L1128'>1128</a>
1194
- <a name='L1129'></a><a href='#L1129'>1129</a>
1195
- <a name='L1130'></a><a href='#L1130'>1130</a>
1196
- <a name='L1131'></a><a href='#L1131'>1131</a>
1197
- <a name='L1132'></a><a href='#L1132'>1132</a>
1198
- <a name='L1133'></a><a href='#L1133'>1133</a>
1199
- <a name='L1134'></a><a href='#L1134'>1134</a>
1200
- <a name='L1135'></a><a href='#L1135'>1135</a>
1201
- <a name='L1136'></a><a href='#L1136'>1136</a>
1202
- <a name='L1137'></a><a href='#L1137'>1137</a>
1203
- <a name='L1138'></a><a href='#L1138'>1138</a>
1204
- <a name='L1139'></a><a href='#L1139'>1139</a>
1205
- <a name='L1140'></a><a href='#L1140'>1140</a>
1206
- <a name='L1141'></a><a href='#L1141'>1141</a>
1207
- <a name='L1142'></a><a href='#L1142'>1142</a>
1208
- <a name='L1143'></a><a href='#L1143'>1143</a>
1209
- <a name='L1144'></a><a href='#L1144'>1144</a>
1210
- <a name='L1145'></a><a href='#L1145'>1145</a>
1211
- <a name='L1146'></a><a href='#L1146'>1146</a>
1212
- <a name='L1147'></a><a href='#L1147'>1147</a>
1213
- <a name='L1148'></a><a href='#L1148'>1148</a>
1214
- <a name='L1149'></a><a href='#L1149'>1149</a>
1215
- <a name='L1150'></a><a href='#L1150'>1150</a>
1216
- <a name='L1151'></a><a href='#L1151'>1151</a>
1217
- <a name='L1152'></a><a href='#L1152'>1152</a>
1218
- <a name='L1153'></a><a href='#L1153'>1153</a>
1219
- <a name='L1154'></a><a href='#L1154'>1154</a>
1220
- <a name='L1155'></a><a href='#L1155'>1155</a>
1221
- <a name='L1156'></a><a href='#L1156'>1156</a>
1222
- <a name='L1157'></a><a href='#L1157'>1157</a>
1223
- <a name='L1158'></a><a href='#L1158'>1158</a>
1224
- <a name='L1159'></a><a href='#L1159'>1159</a>
1225
- <a name='L1160'></a><a href='#L1160'>1160</a>
1226
- <a name='L1161'></a><a href='#L1161'>1161</a>
1227
- <a name='L1162'></a><a href='#L1162'>1162</a>
1228
- <a name='L1163'></a><a href='#L1163'>1163</a>
1229
- <a name='L1164'></a><a href='#L1164'>1164</a>
1230
- <a name='L1165'></a><a href='#L1165'>1165</a>
1231
- <a name='L1166'></a><a href='#L1166'>1166</a>
1232
- <a name='L1167'></a><a href='#L1167'>1167</a>
1233
- <a name='L1168'></a><a href='#L1168'>1168</a>
1234
- <a name='L1169'></a><a href='#L1169'>1169</a>
1235
- <a name='L1170'></a><a href='#L1170'>1170</a>
1236
- <a name='L1171'></a><a href='#L1171'>1171</a>
1237
- <a name='L1172'></a><a href='#L1172'>1172</a>
1238
- <a name='L1173'></a><a href='#L1173'>1173</a>
1239
- <a name='L1174'></a><a href='#L1174'>1174</a>
1240
- <a name='L1175'></a><a href='#L1175'>1175</a>
1241
- <a name='L1176'></a><a href='#L1176'>1176</a>
1242
- <a name='L1177'></a><a href='#L1177'>1177</a>
1243
- <a name='L1178'></a><a href='#L1178'>1178</a>
1244
- <a name='L1179'></a><a href='#L1179'>1179</a>
1245
- <a name='L1180'></a><a href='#L1180'>1180</a>
1246
- <a name='L1181'></a><a href='#L1181'>1181</a>
1247
- <a name='L1182'></a><a href='#L1182'>1182</a>
1248
- <a name='L1183'></a><a href='#L1183'>1183</a>
1249
- <a name='L1184'></a><a href='#L1184'>1184</a>
1250
- <a name='L1185'></a><a href='#L1185'>1185</a>
1251
- <a name='L1186'></a><a href='#L1186'>1186</a>
1252
- <a name='L1187'></a><a href='#L1187'>1187</a>
1253
- <a name='L1188'></a><a href='#L1188'>1188</a>
1254
- <a name='L1189'></a><a href='#L1189'>1189</a>
1255
- <a name='L1190'></a><a href='#L1190'>1190</a>
1256
- <a name='L1191'></a><a href='#L1191'>1191</a>
1257
- <a name='L1192'></a><a href='#L1192'>1192</a>
1258
- <a name='L1193'></a><a href='#L1193'>1193</a>
1259
- <a name='L1194'></a><a href='#L1194'>1194</a>
1260
- <a name='L1195'></a><a href='#L1195'>1195</a>
1261
- <a name='L1196'></a><a href='#L1196'>1196</a>
1262
- <a name='L1197'></a><a href='#L1197'>1197</a>
1263
- <a name='L1198'></a><a href='#L1198'>1198</a>
1264
- <a name='L1199'></a><a href='#L1199'>1199</a>
1265
- <a name='L1200'></a><a href='#L1200'>1200</a>
1266
- <a name='L1201'></a><a href='#L1201'>1201</a>
1267
- <a name='L1202'></a><a href='#L1202'>1202</a>
1268
- <a name='L1203'></a><a href='#L1203'>1203</a>
1269
- <a name='L1204'></a><a href='#L1204'>1204</a>
1270
- <a name='L1205'></a><a href='#L1205'>1205</a>
1271
- <a name='L1206'></a><a href='#L1206'>1206</a>
1272
- <a name='L1207'></a><a href='#L1207'>1207</a>
1273
- <a name='L1208'></a><a href='#L1208'>1208</a>
1274
- <a name='L1209'></a><a href='#L1209'>1209</a>
1275
- <a name='L1210'></a><a href='#L1210'>1210</a>
1276
- <a name='L1211'></a><a href='#L1211'>1211</a>
1277
- <a name='L1212'></a><a href='#L1212'>1212</a>
1278
- <a name='L1213'></a><a href='#L1213'>1213</a>
1279
- <a name='L1214'></a><a href='#L1214'>1214</a>
1280
- <a name='L1215'></a><a href='#L1215'>1215</a>
1281
- <a name='L1216'></a><a href='#L1216'>1216</a>
1282
- <a name='L1217'></a><a href='#L1217'>1217</a>
1283
- <a name='L1218'></a><a href='#L1218'>1218</a>
1284
- <a name='L1219'></a><a href='#L1219'>1219</a>
1285
- <a name='L1220'></a><a href='#L1220'>1220</a>
1286
- <a name='L1221'></a><a href='#L1221'>1221</a>
1287
- <a name='L1222'></a><a href='#L1222'>1222</a>
1288
- <a name='L1223'></a><a href='#L1223'>1223</a>
1289
- <a name='L1224'></a><a href='#L1224'>1224</a>
1290
- <a name='L1225'></a><a href='#L1225'>1225</a>
1291
- <a name='L1226'></a><a href='#L1226'>1226</a>
1292
- <a name='L1227'></a><a href='#L1227'>1227</a>
1293
- <a name='L1228'></a><a href='#L1228'>1228</a>
1294
- <a name='L1229'></a><a href='#L1229'>1229</a>
1295
- <a name='L1230'></a><a href='#L1230'>1230</a>
1296
- <a name='L1231'></a><a href='#L1231'>1231</a>
1297
- <a name='L1232'></a><a href='#L1232'>1232</a>
1298
- <a name='L1233'></a><a href='#L1233'>1233</a>
1299
- <a name='L1234'></a><a href='#L1234'>1234</a>
1300
- <a name='L1235'></a><a href='#L1235'>1235</a>
1301
- <a name='L1236'></a><a href='#L1236'>1236</a>
1302
- <a name='L1237'></a><a href='#L1237'>1237</a>
1303
- <a name='L1238'></a><a href='#L1238'>1238</a>
1304
- <a name='L1239'></a><a href='#L1239'>1239</a>
1305
- <a name='L1240'></a><a href='#L1240'>1240</a>
1306
- <a name='L1241'></a><a href='#L1241'>1241</a>
1307
- <a name='L1242'></a><a href='#L1242'>1242</a>
1308
- <a name='L1243'></a><a href='#L1243'>1243</a>
1309
- <a name='L1244'></a><a href='#L1244'>1244</a>
1310
- <a name='L1245'></a><a href='#L1245'>1245</a>
1311
- <a name='L1246'></a><a href='#L1246'>1246</a>
1312
- <a name='L1247'></a><a href='#L1247'>1247</a>
1313
- <a name='L1248'></a><a href='#L1248'>1248</a>
1314
- <a name='L1249'></a><a href='#L1249'>1249</a>
1315
- <a name='L1250'></a><a href='#L1250'>1250</a>
1316
- <a name='L1251'></a><a href='#L1251'>1251</a>
1317
- <a name='L1252'></a><a href='#L1252'>1252</a>
1318
- <a name='L1253'></a><a href='#L1253'>1253</a>
1319
- <a name='L1254'></a><a href='#L1254'>1254</a>
1320
- <a name='L1255'></a><a href='#L1255'>1255</a>
1321
- <a name='L1256'></a><a href='#L1256'>1256</a>
1322
- <a name='L1257'></a><a href='#L1257'>1257</a>
1323
- <a name='L1258'></a><a href='#L1258'>1258</a>
1324
- <a name='L1259'></a><a href='#L1259'>1259</a>
1325
- <a name='L1260'></a><a href='#L1260'>1260</a>
1326
- <a name='L1261'></a><a href='#L1261'>1261</a>
1327
- <a name='L1262'></a><a href='#L1262'>1262</a>
1328
- <a name='L1263'></a><a href='#L1263'>1263</a>
1329
- <a name='L1264'></a><a href='#L1264'>1264</a>
1330
- <a name='L1265'></a><a href='#L1265'>1265</a>
1331
- <a name='L1266'></a><a href='#L1266'>1266</a>
1332
- <a name='L1267'></a><a href='#L1267'>1267</a>
1333
- <a name='L1268'></a><a href='#L1268'>1268</a>
1334
- <a name='L1269'></a><a href='#L1269'>1269</a>
1335
- <a name='L1270'></a><a href='#L1270'>1270</a>
1336
- <a name='L1271'></a><a href='#L1271'>1271</a>
1337
- <a name='L1272'></a><a href='#L1272'>1272</a>
1338
- <a name='L1273'></a><a href='#L1273'>1273</a>
1339
- <a name='L1274'></a><a href='#L1274'>1274</a>
1340
- <a name='L1275'></a><a href='#L1275'>1275</a>
1341
- <a name='L1276'></a><a href='#L1276'>1276</a>
1342
- <a name='L1277'></a><a href='#L1277'>1277</a>
1343
- <a name='L1278'></a><a href='#L1278'>1278</a>
1344
- <a name='L1279'></a><a href='#L1279'>1279</a>
1345
- <a name='L1280'></a><a href='#L1280'>1280</a>
1346
- <a name='L1281'></a><a href='#L1281'>1281</a>
1347
- <a name='L1282'></a><a href='#L1282'>1282</a>
1348
- <a name='L1283'></a><a href='#L1283'>1283</a>
1349
- <a name='L1284'></a><a href='#L1284'>1284</a>
1350
- <a name='L1285'></a><a href='#L1285'>1285</a>
1351
- <a name='L1286'></a><a href='#L1286'>1286</a>
1352
- <a name='L1287'></a><a href='#L1287'>1287</a>
1353
- <a name='L1288'></a><a href='#L1288'>1288</a>
1354
- <a name='L1289'></a><a href='#L1289'>1289</a>
1355
- <a name='L1290'></a><a href='#L1290'>1290</a>
1356
- <a name='L1291'></a><a href='#L1291'>1291</a>
1357
- <a name='L1292'></a><a href='#L1292'>1292</a>
1358
- <a name='L1293'></a><a href='#L1293'>1293</a>
1359
- <a name='L1294'></a><a href='#L1294'>1294</a>
1360
- <a name='L1295'></a><a href='#L1295'>1295</a>
1361
- <a name='L1296'></a><a href='#L1296'>1296</a>
1362
- <a name='L1297'></a><a href='#L1297'>1297</a>
1363
- <a name='L1298'></a><a href='#L1298'>1298</a>
1364
- <a name='L1299'></a><a href='#L1299'>1299</a>
1365
- <a name='L1300'></a><a href='#L1300'>1300</a>
1366
- <a name='L1301'></a><a href='#L1301'>1301</a>
1367
- <a name='L1302'></a><a href='#L1302'>1302</a>
1368
- <a name='L1303'></a><a href='#L1303'>1303</a>
1369
- <a name='L1304'></a><a href='#L1304'>1304</a>
1370
- <a name='L1305'></a><a href='#L1305'>1305</a>
1371
- <a name='L1306'></a><a href='#L1306'>1306</a>
1372
- <a name='L1307'></a><a href='#L1307'>1307</a>
1373
- <a name='L1308'></a><a href='#L1308'>1308</a>
1374
- <a name='L1309'></a><a href='#L1309'>1309</a>
1375
- <a name='L1310'></a><a href='#L1310'>1310</a>
1376
- <a name='L1311'></a><a href='#L1311'>1311</a>
1377
- <a name='L1312'></a><a href='#L1312'>1312</a>
1378
- <a name='L1313'></a><a href='#L1313'>1313</a>
1379
- <a name='L1314'></a><a href='#L1314'>1314</a>
1380
- <a name='L1315'></a><a href='#L1315'>1315</a>
1381
- <a name='L1316'></a><a href='#L1316'>1316</a>
1382
- <a name='L1317'></a><a href='#L1317'>1317</a>
1383
- <a name='L1318'></a><a href='#L1318'>1318</a>
1384
- <a name='L1319'></a><a href='#L1319'>1319</a>
1385
- <a name='L1320'></a><a href='#L1320'>1320</a>
1386
- <a name='L1321'></a><a href='#L1321'>1321</a>
1387
- <a name='L1322'></a><a href='#L1322'>1322</a>
1388
- <a name='L1323'></a><a href='#L1323'>1323</a>
1389
- <a name='L1324'></a><a href='#L1324'>1324</a>
1390
- <a name='L1325'></a><a href='#L1325'>1325</a>
1391
- <a name='L1326'></a><a href='#L1326'>1326</a>
1392
- <a name='L1327'></a><a href='#L1327'>1327</a>
1393
- <a name='L1328'></a><a href='#L1328'>1328</a>
1394
- <a name='L1329'></a><a href='#L1329'>1329</a>
1395
- <a name='L1330'></a><a href='#L1330'>1330</a>
1396
- <a name='L1331'></a><a href='#L1331'>1331</a>
1397
- <a name='L1332'></a><a href='#L1332'>1332</a>
1398
- <a name='L1333'></a><a href='#L1333'>1333</a>
1399
- <a name='L1334'></a><a href='#L1334'>1334</a>
1400
- <a name='L1335'></a><a href='#L1335'>1335</a>
1401
- <a name='L1336'></a><a href='#L1336'>1336</a>
1402
- <a name='L1337'></a><a href='#L1337'>1337</a>
1403
- <a name='L1338'></a><a href='#L1338'>1338</a>
1404
- <a name='L1339'></a><a href='#L1339'>1339</a>
1405
- <a name='L1340'></a><a href='#L1340'>1340</a>
1406
- <a name='L1341'></a><a href='#L1341'>1341</a>
1407
- <a name='L1342'></a><a href='#L1342'>1342</a>
1408
- <a name='L1343'></a><a href='#L1343'>1343</a>
1409
- <a name='L1344'></a><a href='#L1344'>1344</a>
1410
- <a name='L1345'></a><a href='#L1345'>1345</a>
1411
- <a name='L1346'></a><a href='#L1346'>1346</a>
1412
- <a name='L1347'></a><a href='#L1347'>1347</a>
1413
- <a name='L1348'></a><a href='#L1348'>1348</a>
1414
- <a name='L1349'></a><a href='#L1349'>1349</a>
1415
- <a name='L1350'></a><a href='#L1350'>1350</a>
1416
- <a name='L1351'></a><a href='#L1351'>1351</a>
1417
- <a name='L1352'></a><a href='#L1352'>1352</a>
1418
- <a name='L1353'></a><a href='#L1353'>1353</a>
1419
- <a name='L1354'></a><a href='#L1354'>1354</a>
1420
- <a name='L1355'></a><a href='#L1355'>1355</a>
1421
- <a name='L1356'></a><a href='#L1356'>1356</a>
1422
- <a name='L1357'></a><a href='#L1357'>1357</a>
1423
- <a name='L1358'></a><a href='#L1358'>1358</a>
1424
- <a name='L1359'></a><a href='#L1359'>1359</a>
1425
- <a name='L1360'></a><a href='#L1360'>1360</a>
1426
- <a name='L1361'></a><a href='#L1361'>1361</a>
1427
- <a name='L1362'></a><a href='#L1362'>1362</a>
1428
- <a name='L1363'></a><a href='#L1363'>1363</a>
1429
- <a name='L1364'></a><a href='#L1364'>1364</a>
1430
- <a name='L1365'></a><a href='#L1365'>1365</a>
1431
- <a name='L1366'></a><a href='#L1366'>1366</a>
1432
- <a name='L1367'></a><a href='#L1367'>1367</a>
1433
- <a name='L1368'></a><a href='#L1368'>1368</a>
1434
- <a name='L1369'></a><a href='#L1369'>1369</a>
1435
- <a name='L1370'></a><a href='#L1370'>1370</a>
1436
- <a name='L1371'></a><a href='#L1371'>1371</a>
1437
- <a name='L1372'></a><a href='#L1372'>1372</a>
1438
- <a name='L1373'></a><a href='#L1373'>1373</a>
1439
- <a name='L1374'></a><a href='#L1374'>1374</a>
1440
- <a name='L1375'></a><a href='#L1375'>1375</a>
1441
- <a name='L1376'></a><a href='#L1376'>1376</a>
1442
- <a name='L1377'></a><a href='#L1377'>1377</a>
1443
- <a name='L1378'></a><a href='#L1378'>1378</a>
1444
- <a name='L1379'></a><a href='#L1379'>1379</a>
1445
- <a name='L1380'></a><a href='#L1380'>1380</a>
1446
- <a name='L1381'></a><a href='#L1381'>1381</a>
1447
- <a name='L1382'></a><a href='#L1382'>1382</a>
1448
- <a name='L1383'></a><a href='#L1383'>1383</a>
1449
- <a name='L1384'></a><a href='#L1384'>1384</a>
1450
- <a name='L1385'></a><a href='#L1385'>1385</a>
1451
- <a name='L1386'></a><a href='#L1386'>1386</a>
1452
- <a name='L1387'></a><a href='#L1387'>1387</a>
1453
- <a name='L1388'></a><a href='#L1388'>1388</a>
1454
- <a name='L1389'></a><a href='#L1389'>1389</a>
1455
- <a name='L1390'></a><a href='#L1390'>1390</a>
1456
- <a name='L1391'></a><a href='#L1391'>1391</a>
1457
- <a name='L1392'></a><a href='#L1392'>1392</a>
1458
- <a name='L1393'></a><a href='#L1393'>1393</a>
1459
- <a name='L1394'></a><a href='#L1394'>1394</a>
1460
- <a name='L1395'></a><a href='#L1395'>1395</a>
1461
- <a name='L1396'></a><a href='#L1396'>1396</a>
1462
- <a name='L1397'></a><a href='#L1397'>1397</a>
1463
- <a name='L1398'></a><a href='#L1398'>1398</a>
1464
- <a name='L1399'></a><a href='#L1399'>1399</a>
1465
- <a name='L1400'></a><a href='#L1400'>1400</a>
1466
- <a name='L1401'></a><a href='#L1401'>1401</a>
1467
- <a name='L1402'></a><a href='#L1402'>1402</a>
1468
- <a name='L1403'></a><a href='#L1403'>1403</a>
1469
- <a name='L1404'></a><a href='#L1404'>1404</a>
1470
- <a name='L1405'></a><a href='#L1405'>1405</a>
1471
- <a name='L1406'></a><a href='#L1406'>1406</a>
1472
- <a name='L1407'></a><a href='#L1407'>1407</a>
1473
- <a name='L1408'></a><a href='#L1408'>1408</a>
1474
- <a name='L1409'></a><a href='#L1409'>1409</a>
1475
- <a name='L1410'></a><a href='#L1410'>1410</a>
1476
- <a name='L1411'></a><a href='#L1411'>1411</a>
1477
- <a name='L1412'></a><a href='#L1412'>1412</a>
1478
- <a name='L1413'></a><a href='#L1413'>1413</a>
1479
- <a name='L1414'></a><a href='#L1414'>1414</a>
1480
- <a name='L1415'></a><a href='#L1415'>1415</a>
1481
- <a name='L1416'></a><a href='#L1416'>1416</a>
1482
- <a name='L1417'></a><a href='#L1417'>1417</a>
1483
- <a name='L1418'></a><a href='#L1418'>1418</a>
1484
- <a name='L1419'></a><a href='#L1419'>1419</a>
1485
- <a name='L1420'></a><a href='#L1420'>1420</a>
1486
- <a name='L1421'></a><a href='#L1421'>1421</a>
1487
- <a name='L1422'></a><a href='#L1422'>1422</a>
1488
- <a name='L1423'></a><a href='#L1423'>1423</a>
1489
- <a name='L1424'></a><a href='#L1424'>1424</a>
1490
- <a name='L1425'></a><a href='#L1425'>1425</a>
1491
- <a name='L1426'></a><a href='#L1426'>1426</a>
1492
- <a name='L1427'></a><a href='#L1427'>1427</a>
1493
- <a name='L1428'></a><a href='#L1428'>1428</a>
1494
- <a name='L1429'></a><a href='#L1429'>1429</a>
1495
- <a name='L1430'></a><a href='#L1430'>1430</a>
1496
- <a name='L1431'></a><a href='#L1431'>1431</a>
1497
- <a name='L1432'></a><a href='#L1432'>1432</a>
1498
- <a name='L1433'></a><a href='#L1433'>1433</a>
1499
- <a name='L1434'></a><a href='#L1434'>1434</a>
1500
- <a name='L1435'></a><a href='#L1435'>1435</a>
1501
- <a name='L1436'></a><a href='#L1436'>1436</a>
1502
- <a name='L1437'></a><a href='#L1437'>1437</a>
1503
- <a name='L1438'></a><a href='#L1438'>1438</a>
1504
- <a name='L1439'></a><a href='#L1439'>1439</a>
1505
- <a name='L1440'></a><a href='#L1440'>1440</a>
1506
- <a name='L1441'></a><a href='#L1441'>1441</a>
1507
- <a name='L1442'></a><a href='#L1442'>1442</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1508
- <span class="cline-any cline-yes">1x</span>
1509
- <span class="cline-any cline-yes">1x</span>
1510
- <span class="cline-any cline-yes">1x</span>
1511
- <span class="cline-any cline-yes">1x</span>
1512
- <span class="cline-any cline-yes">1x</span>
1513
- <span class="cline-any cline-yes">1x</span>
1514
- <span class="cline-any cline-yes">1x</span>
1515
- <span class="cline-any cline-yes">1x</span>
1516
- <span class="cline-any cline-yes">1x</span>
1517
- <span class="cline-any cline-yes">1x</span>
1518
- <span class="cline-any cline-yes">1x</span>
1519
- <span class="cline-any cline-yes">1x</span>
1520
- <span class="cline-any cline-yes">1x</span>
1521
- <span class="cline-any cline-yes">1x</span>
1522
- <span class="cline-any cline-yes">1x</span>
1523
- <span class="cline-any cline-yes">1x</span>
1524
- <span class="cline-any cline-yes">1x</span>
1525
- <span class="cline-any cline-yes">1x</span>
1526
- <span class="cline-any cline-yes">1x</span>
1527
- <span class="cline-any cline-yes">1x</span>
1528
- <span class="cline-any cline-yes">1x</span>
1529
- <span class="cline-any cline-yes">1x</span>
1530
- <span class="cline-any cline-yes">1x</span>
1531
- <span class="cline-any cline-yes">1x</span>
1532
- <span class="cline-any cline-yes">1x</span>
1533
- <span class="cline-any cline-yes">1x</span>
1534
- <span class="cline-any cline-yes">1x</span>
1535
- <span class="cline-any cline-yes">1x</span>
1536
- <span class="cline-any cline-yes">1x</span>
1537
- <span class="cline-any cline-yes">1x</span>
1538
- <span class="cline-any cline-yes">1x</span>
1539
- <span class="cline-any cline-yes">1x</span>
1540
- <span class="cline-any cline-yes">1x</span>
1541
- <span class="cline-any cline-yes">1x</span>
1542
- <span class="cline-any cline-yes">1x</span>
1543
- <span class="cline-any cline-yes">1x</span>
1544
- <span class="cline-any cline-yes">1x</span>
1545
- <span class="cline-any cline-yes">1x</span>
1546
- <span class="cline-any cline-yes">1x</span>
1547
- <span class="cline-any cline-yes">1x</span>
1548
- <span class="cline-any cline-yes">1x</span>
1549
- <span class="cline-any cline-yes">1x</span>
1550
- <span class="cline-any cline-yes">1x</span>
1551
- <span class="cline-any cline-yes">1x</span>
1552
- <span class="cline-any cline-yes">1x</span>
1553
- <span class="cline-any cline-yes">1x</span>
1554
- <span class="cline-any cline-yes">1x</span>
1555
- <span class="cline-any cline-yes">1x</span>
1556
- <span class="cline-any cline-yes">1x</span>
1557
- <span class="cline-any cline-yes">1x</span>
1558
- <span class="cline-any cline-yes">1x</span>
1559
- <span class="cline-any cline-yes">1x</span>
1560
- <span class="cline-any cline-yes">1x</span>
1561
- <span class="cline-any cline-yes">1x</span>
1562
- <span class="cline-any cline-yes">1x</span>
1563
- <span class="cline-any cline-yes">1x</span>
1564
- <span class="cline-any cline-yes">1x</span>
1565
- <span class="cline-any cline-yes">1x</span>
1566
- <span class="cline-any cline-yes">1x</span>
1567
- <span class="cline-any cline-yes">1x</span>
1568
- <span class="cline-any cline-yes">1x</span>
1569
- <span class="cline-any cline-yes">1x</span>
1570
- <span class="cline-any cline-yes">1x</span>
1571
- <span class="cline-any cline-yes">1x</span>
1572
- <span class="cline-any cline-yes">1x</span>
1573
- <span class="cline-any cline-yes">1x</span>
1574
- <span class="cline-any cline-yes">1x</span>
1575
- <span class="cline-any cline-yes">1x</span>
1576
- <span class="cline-any cline-yes">1x</span>
1577
- <span class="cline-any cline-yes">1x</span>
1578
- <span class="cline-any cline-yes">1x</span>
1579
- <span class="cline-any cline-yes">1x</span>
1580
- <span class="cline-any cline-yes">1x</span>
1581
- <span class="cline-any cline-yes">1x</span>
1582
- <span class="cline-any cline-yes">1x</span>
1583
- <span class="cline-any cline-yes">1x</span>
1584
- <span class="cline-any cline-yes">1x</span>
1585
- <span class="cline-any cline-yes">1x</span>
1586
- <span class="cline-any cline-yes">1x</span>
1587
- <span class="cline-any cline-yes">1x</span>
1588
- <span class="cline-any cline-yes">1x</span>
1589
- <span class="cline-any cline-yes">1x</span>
1590
- <span class="cline-any cline-yes">1x</span>
1591
- <span class="cline-any cline-yes">1x</span>
1592
- <span class="cline-any cline-yes">1x</span>
1593
- <span class="cline-any cline-yes">1x</span>
1594
- <span class="cline-any cline-yes">1x</span>
1595
- <span class="cline-any cline-yes">1x</span>
1596
- <span class="cline-any cline-yes">1x</span>
1597
- <span class="cline-any cline-yes">1x</span>
1598
- <span class="cline-any cline-yes">1x</span>
1599
- <span class="cline-any cline-yes">1x</span>
1600
- <span class="cline-any cline-yes">1x</span>
1601
- <span class="cline-any cline-yes">1x</span>
1602
- <span class="cline-any cline-yes">1x</span>
1603
- <span class="cline-any cline-yes">1x</span>
1604
- <span class="cline-any cline-yes">1x</span>
1605
- <span class="cline-any cline-yes">1x</span>
1606
- <span class="cline-any cline-yes">1x</span>
1607
- <span class="cline-any cline-yes">1x</span>
1608
- <span class="cline-any cline-yes">1x</span>
1609
- <span class="cline-any cline-yes">1x</span>
1610
- <span class="cline-any cline-yes">1x</span>
1611
- <span class="cline-any cline-yes">1x</span>
1612
- <span class="cline-any cline-yes">1x</span>
1613
- <span class="cline-any cline-yes">1x</span>
1614
- <span class="cline-any cline-yes">1x</span>
1615
- <span class="cline-any cline-yes">1x</span>
1616
- <span class="cline-any cline-yes">1x</span>
1617
- <span class="cline-any cline-yes">1x</span>
1618
- <span class="cline-any cline-yes">1x</span>
1619
- <span class="cline-any cline-yes">1x</span>
1620
- <span class="cline-any cline-yes">1x</span>
1621
- <span class="cline-any cline-yes">1x</span>
1622
- <span class="cline-any cline-yes">1x</span>
1623
- <span class="cline-any cline-yes">1x</span>
1624
- <span class="cline-any cline-yes">1x</span>
1625
- <span class="cline-any cline-yes">1x</span>
1626
- <span class="cline-any cline-yes">1x</span>
1627
- <span class="cline-any cline-yes">1x</span>
1628
- <span class="cline-any cline-yes">1x</span>
1629
- <span class="cline-any cline-yes">1x</span>
1630
- <span class="cline-any cline-yes">1x</span>
1631
- <span class="cline-any cline-yes">1x</span>
1632
- <span class="cline-any cline-yes">1x</span>
1633
- <span class="cline-any cline-yes">1x</span>
1634
- <span class="cline-any cline-yes">1x</span>
1635
- <span class="cline-any cline-yes">1x</span>
1636
- <span class="cline-any cline-yes">1x</span>
1637
- <span class="cline-any cline-yes">1x</span>
1638
- <span class="cline-any cline-yes">1x</span>
1639
- <span class="cline-any cline-yes">1x</span>
1640
- <span class="cline-any cline-yes">1x</span>
1641
- <span class="cline-any cline-yes">1x</span>
1642
- <span class="cline-any cline-yes">1x</span>
1643
- <span class="cline-any cline-yes">1x</span>
1644
- <span class="cline-any cline-yes">1x</span>
1645
- <span class="cline-any cline-yes">1x</span>
1646
- <span class="cline-any cline-yes">1x</span>
1647
- <span class="cline-any cline-yes">1x</span>
1648
- <span class="cline-any cline-yes">1x</span>
1649
- <span class="cline-any cline-yes">1x</span>
1650
- <span class="cline-any cline-yes">1x</span>
1651
- <span class="cline-any cline-yes">1x</span>
1652
- <span class="cline-any cline-yes">1x</span>
1653
- <span class="cline-any cline-yes">1x</span>
1654
- <span class="cline-any cline-yes">1x</span>
1655
- <span class="cline-any cline-yes">1x</span>
1656
- <span class="cline-any cline-yes">1x</span>
1657
- <span class="cline-any cline-yes">1x</span>
1658
- <span class="cline-any cline-yes">1x</span>
1659
- <span class="cline-any cline-yes">1x</span>
1660
- <span class="cline-any cline-yes">1x</span>
1661
- <span class="cline-any cline-yes">1x</span>
1662
- <span class="cline-any cline-yes">1x</span>
1663
- <span class="cline-any cline-yes">1x</span>
1664
- <span class="cline-any cline-yes">1x</span>
1665
- <span class="cline-any cline-yes">1x</span>
1666
- <span class="cline-any cline-yes">1x</span>
1667
- <span class="cline-any cline-yes">1x</span>
1668
- <span class="cline-any cline-yes">1x</span>
1669
- <span class="cline-any cline-yes">1x</span>
1670
- <span class="cline-any cline-yes">1x</span>
1671
- <span class="cline-any cline-yes">1x</span>
1672
- <span class="cline-any cline-yes">1x</span>
1673
- <span class="cline-any cline-yes">1x</span>
1674
- <span class="cline-any cline-yes">1x</span>
1675
- <span class="cline-any cline-yes">1x</span>
1676
- <span class="cline-any cline-yes">1x</span>
1677
- <span class="cline-any cline-yes">1x</span>
1678
- <span class="cline-any cline-yes">1x</span>
1679
- <span class="cline-any cline-yes">1x</span>
1680
- <span class="cline-any cline-yes">1x</span>
1681
- <span class="cline-any cline-yes">1x</span>
1682
- <span class="cline-any cline-yes">1x</span>
1683
- <span class="cline-any cline-yes">1x</span>
1684
- <span class="cline-any cline-yes">1x</span>
1685
- <span class="cline-any cline-yes">1x</span>
1686
- <span class="cline-any cline-yes">1x</span>
1687
- <span class="cline-any cline-yes">1x</span>
1688
- <span class="cline-any cline-yes">1x</span>
1689
- <span class="cline-any cline-yes">1x</span>
1690
- <span class="cline-any cline-yes">1x</span>
1691
- <span class="cline-any cline-yes">1x</span>
1692
- <span class="cline-any cline-yes">1x</span>
1693
- <span class="cline-any cline-yes">1x</span>
1694
- <span class="cline-any cline-yes">1x</span>
1695
- <span class="cline-any cline-yes">1x</span>
1696
- <span class="cline-any cline-yes">1x</span>
1697
- <span class="cline-any cline-yes">1x</span>
1698
- <span class="cline-any cline-yes">1x</span>
1699
- <span class="cline-any cline-yes">1x</span>
1700
- <span class="cline-any cline-yes">1x</span>
1701
- <span class="cline-any cline-yes">1x</span>
1702
- <span class="cline-any cline-yes">1x</span>
1703
- <span class="cline-any cline-yes">1x</span>
1704
- <span class="cline-any cline-yes">1x</span>
1705
- <span class="cline-any cline-yes">1x</span>
1706
- <span class="cline-any cline-yes">1x</span>
1707
- <span class="cline-any cline-yes">1x</span>
1708
- <span class="cline-any cline-yes">1x</span>
1709
- <span class="cline-any cline-yes">1x</span>
1710
- <span class="cline-any cline-yes">1x</span>
1711
- <span class="cline-any cline-yes">1x</span>
1712
- <span class="cline-any cline-yes">1x</span>
1713
- <span class="cline-any cline-yes">1x</span>
1714
- <span class="cline-any cline-yes">1x</span>
1715
- <span class="cline-any cline-yes">1x</span>
1716
- <span class="cline-any cline-yes">1x</span>
1717
- <span class="cline-any cline-yes">1x</span>
1718
- <span class="cline-any cline-yes">1x</span>
1719
- <span class="cline-any cline-yes">1x</span>
1720
- <span class="cline-any cline-yes">1x</span>
1721
- <span class="cline-any cline-yes">1x</span>
1722
- <span class="cline-any cline-yes">1x</span>
1723
- <span class="cline-any cline-yes">1x</span>
1724
- <span class="cline-any cline-yes">1x</span>
1725
- <span class="cline-any cline-yes">1x</span>
1726
- <span class="cline-any cline-yes">1x</span>
1727
- <span class="cline-any cline-yes">1x</span>
1728
- <span class="cline-any cline-yes">1x</span>
1729
- <span class="cline-any cline-yes">1x</span>
1730
- <span class="cline-any cline-yes">1x</span>
1731
- <span class="cline-any cline-yes">10x</span>
1732
- <span class="cline-any cline-yes">10x</span>
1733
- <span class="cline-any cline-yes">10x</span>
1734
- <span class="cline-any cline-yes">6x</span>
1735
- <span class="cline-any cline-yes">6x</span>
1736
- <span class="cline-any cline-yes">10x</span>
1737
- <span class="cline-any cline-yes">18x</span>
1738
- <span class="cline-any cline-yes">18x</span>
1739
- <span class="cline-any cline-yes">10x</span>
1740
- <span class="cline-any cline-yes">10x</span>
1741
- <span class="cline-any cline-yes">10x</span>
1742
- <span class="cline-any cline-yes">10x</span>
1743
- <span class="cline-any cline-yes">10x</span>
1744
- <span class="cline-any cline-yes">10x</span>
1745
- <span class="cline-any cline-yes">10x</span>
1746
- <span class="cline-any cline-yes">10x</span>
1747
- <span class="cline-any cline-yes">10x</span>
1748
- <span class="cline-any cline-no">&nbsp;</span>
1749
- <span class="cline-any cline-no">&nbsp;</span>
1750
- <span class="cline-any cline-yes">10x</span>
1751
- <span class="cline-any cline-yes">10x</span>
1752
- <span class="cline-any cline-yes">10x</span>
1753
- <span class="cline-any cline-yes">128x</span>
1754
- <span class="cline-any cline-yes">128x</span>
1755
- <span class="cline-any cline-yes">10x</span>
1756
- <span class="cline-any cline-yes">10x</span>
1757
- <span class="cline-any cline-yes">10x</span>
1758
- <span class="cline-any cline-yes">10x</span>
1759
- <span class="cline-any cline-yes">10x</span>
1760
- <span class="cline-any cline-no">&nbsp;</span>
1761
- <span class="cline-any cline-no">&nbsp;</span>
1762
- <span class="cline-any cline-yes">10x</span>
1763
- <span class="cline-any cline-yes">10x</span>
1764
- <span class="cline-any cline-yes">10x</span>
1765
- <span class="cline-any cline-yes">8x</span>
1766
- <span class="cline-any cline-yes">8x</span>
1767
- <span class="cline-any cline-yes">10x</span>
1768
- <span class="cline-any cline-yes">10x</span>
1769
- <span class="cline-any cline-yes">10x</span>
1770
- <span class="cline-any cline-no">&nbsp;</span>
1771
- <span class="cline-any cline-no">&nbsp;</span>
1772
- <span class="cline-any cline-yes">10x</span>
1773
- <span class="cline-any cline-yes">10x</span>
1774
- <span class="cline-any cline-yes">10x</span>
1775
- <span class="cline-any cline-yes">10x</span>
1776
- <span class="cline-any cline-yes">10x</span>
1777
- <span class="cline-any cline-yes">10x</span>
1778
- <span class="cline-any cline-yes">10x</span>
1779
- <span class="cline-any cline-yes">10x</span>
1780
- <span class="cline-any cline-yes">10x</span>
1781
- <span class="cline-any cline-yes">10x</span>
1782
- <span class="cline-any cline-yes">10x</span>
1783
- <span class="cline-any cline-yes">10x</span>
1784
- <span class="cline-any cline-yes">10x</span>
1785
- <span class="cline-any cline-yes">10x</span>
1786
- <span class="cline-any cline-yes">10x</span>
1787
- <span class="cline-any cline-yes">10x</span>
1788
- <span class="cline-any cline-yes">10x</span>
1789
- <span class="cline-any cline-yes">10x</span>
1790
- <span class="cline-any cline-yes">10x</span>
1791
- <span class="cline-any cline-yes">58x</span>
1792
- <span class="cline-any cline-yes">58x</span>
1793
- <span class="cline-any cline-yes">10x</span>
1794
- <span class="cline-any cline-no">&nbsp;</span>
1795
- <span class="cline-any cline-no">&nbsp;</span>
1796
- <span class="cline-any cline-yes">10x</span>
1797
- <span class="cline-any cline-yes">166x</span>
1798
- <span class="cline-any cline-yes">166x</span>
1799
- <span class="cline-any cline-yes">10x</span>
1800
- <span class="cline-any cline-yes">10x</span>
1801
- <span class="cline-any cline-yes">10x</span>
1802
- <span class="cline-any cline-yes">10x</span>
1803
- <span class="cline-any cline-yes">10x</span>
1804
- <span class="cline-any cline-yes">10x</span>
1805
- <span class="cline-any cline-yes">10x</span>
1806
- <span class="cline-any cline-yes">10x</span>
1807
- <span class="cline-any cline-yes">10x</span>
1808
- <span class="cline-any cline-yes">10x</span>
1809
- <span class="cline-any cline-no">&nbsp;</span>
1810
- <span class="cline-any cline-no">&nbsp;</span>
1811
- <span class="cline-any cline-no">&nbsp;</span>
1812
- <span class="cline-any cline-no">&nbsp;</span>
1813
- <span class="cline-any cline-no">&nbsp;</span>
1814
- <span class="cline-any cline-no">&nbsp;</span>
1815
- <span class="cline-any cline-no">&nbsp;</span>
1816
- <span class="cline-any cline-no">&nbsp;</span>
1817
- <span class="cline-any cline-no">&nbsp;</span>
1818
- <span class="cline-any cline-no">&nbsp;</span>
1819
- <span class="cline-any cline-no">&nbsp;</span>
1820
- <span class="cline-any cline-no">&nbsp;</span>
1821
- <span class="cline-any cline-no">&nbsp;</span>
1822
- <span class="cline-any cline-no">&nbsp;</span>
1823
- <span class="cline-any cline-no">&nbsp;</span>
1824
- <span class="cline-any cline-no">&nbsp;</span>
1825
- <span class="cline-any cline-no">&nbsp;</span>
1826
- <span class="cline-any cline-no">&nbsp;</span>
1827
- <span class="cline-any cline-no">&nbsp;</span>
1828
- <span class="cline-any cline-no">&nbsp;</span>
1829
- <span class="cline-any cline-no">&nbsp;</span>
1830
- <span class="cline-any cline-no">&nbsp;</span>
1831
- <span class="cline-any cline-no">&nbsp;</span>
1832
- <span class="cline-any cline-no">&nbsp;</span>
1833
- <span class="cline-any cline-no">&nbsp;</span>
1834
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1838
- <span class="cline-any cline-no">&nbsp;</span>
1839
- <span class="cline-any cline-no">&nbsp;</span>
1840
- <span class="cline-any cline-no">&nbsp;</span>
1841
- <span class="cline-any cline-no">&nbsp;</span>
1842
- <span class="cline-any cline-yes">10x</span>
1843
- <span class="cline-any cline-yes">10x</span>
1844
- <span class="cline-any cline-yes">10x</span>
1845
- <span class="cline-any cline-no">&nbsp;</span>
1846
- <span class="cline-any cline-no">&nbsp;</span>
1847
- <span class="cline-any cline-no">&nbsp;</span>
1848
- <span class="cline-any cline-no">&nbsp;</span>
1849
- <span class="cline-any cline-no">&nbsp;</span>
1850
- <span class="cline-any cline-no">&nbsp;</span>
1851
- <span class="cline-any cline-no">&nbsp;</span>
1852
- <span class="cline-any cline-no">&nbsp;</span>
1853
- <span class="cline-any cline-no">&nbsp;</span>
1854
- <span class="cline-any cline-no">&nbsp;</span>
1855
- <span class="cline-any cline-no">&nbsp;</span>
1856
- <span class="cline-any cline-no">&nbsp;</span>
1857
- <span class="cline-any cline-no">&nbsp;</span>
1858
- <span class="cline-any cline-no">&nbsp;</span>
1859
- <span class="cline-any cline-no">&nbsp;</span>
1860
- <span class="cline-any cline-no">&nbsp;</span>
1861
- <span class="cline-any cline-no">&nbsp;</span>
1862
- <span class="cline-any cline-no">&nbsp;</span>
1863
- <span class="cline-any cline-no">&nbsp;</span>
1864
- <span class="cline-any cline-no">&nbsp;</span>
1865
- <span class="cline-any cline-no">&nbsp;</span>
1866
- <span class="cline-any cline-no">&nbsp;</span>
1867
- <span class="cline-any cline-no">&nbsp;</span>
1868
- <span class="cline-any cline-no">&nbsp;</span>
1869
- <span class="cline-any cline-no">&nbsp;</span>
1870
- <span class="cline-any cline-no">&nbsp;</span>
1871
- <span class="cline-any cline-no">&nbsp;</span>
1872
- <span class="cline-any cline-no">&nbsp;</span>
1873
- <span class="cline-any cline-no">&nbsp;</span>
1874
- <span class="cline-any cline-no">&nbsp;</span>
1875
- <span class="cline-any cline-no">&nbsp;</span>
1876
- <span class="cline-any cline-no">&nbsp;</span>
1877
- <span class="cline-any cline-no">&nbsp;</span>
1878
- <span class="cline-any cline-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-no">&nbsp;</span>
1882
- <span class="cline-any cline-no">&nbsp;</span>
1883
- <span class="cline-any cline-no">&nbsp;</span>
1884
- <span class="cline-any cline-no">&nbsp;</span>
1885
- <span class="cline-any cline-no">&nbsp;</span>
1886
- <span class="cline-any cline-no">&nbsp;</span>
1887
- <span class="cline-any cline-no">&nbsp;</span>
1888
- <span class="cline-any cline-no">&nbsp;</span>
1889
- <span class="cline-any cline-no">&nbsp;</span>
1890
- <span class="cline-any cline-no">&nbsp;</span>
1891
- <span class="cline-any cline-no">&nbsp;</span>
1892
- <span class="cline-any cline-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-no">&nbsp;</span>
1898
- <span class="cline-any cline-no">&nbsp;</span>
1899
- <span class="cline-any cline-yes">10x</span>
1900
- <span class="cline-any cline-yes">10x</span>
1901
- <span class="cline-any cline-yes">10x</span>
1902
- <span class="cline-any cline-yes">10x</span>
1903
- <span class="cline-any cline-yes">10x</span>
1904
- <span class="cline-any cline-yes">10x</span>
1905
- <span class="cline-any cline-yes">10x</span>
1906
- <span class="cline-any cline-yes">10x</span>
1907
- <span class="cline-any cline-yes">10x</span>
1908
- <span class="cline-any cline-yes">10x</span>
1909
- <span class="cline-any cline-yes">10x</span>
1910
- <span class="cline-any cline-yes">10x</span>
1911
- <span class="cline-any cline-yes">10x</span>
1912
- <span class="cline-any cline-yes">10x</span>
1913
- <span class="cline-any cline-yes">10x</span>
1914
- <span class="cline-any cline-yes">10x</span>
1915
- <span class="cline-any cline-yes">10x</span>
1916
- <span class="cline-any cline-no">&nbsp;</span>
1917
- <span class="cline-any cline-no">&nbsp;</span>
1918
- <span class="cline-any cline-yes">10x</span>
1919
- <span class="cline-any cline-yes">10x</span>
1920
- <span class="cline-any cline-yes">10x</span>
1921
- <span class="cline-any cline-yes">10x</span>
1922
- <span class="cline-any cline-yes">10x</span>
1923
- <span class="cline-any cline-yes">10x</span>
1924
- <span class="cline-any cline-yes">10x</span>
1925
- <span class="cline-any cline-yes">10x</span>
1926
- <span class="cline-any cline-yes">10x</span>
1927
- <span class="cline-any cline-yes">10x</span>
1928
- <span class="cline-any cline-yes">10x</span>
1929
- <span class="cline-any cline-yes">10x</span>
1930
- <span class="cline-any cline-yes">10x</span>
1931
- <span class="cline-any cline-yes">10x</span>
1932
- <span class="cline-any cline-yes">10x</span>
1933
- <span class="cline-any cline-yes">10x</span>
1934
- <span class="cline-any cline-yes">10x</span>
1935
- <span class="cline-any cline-yes">10x</span>
1936
- <span class="cline-any cline-yes">10x</span>
1937
- <span class="cline-any cline-yes">10x</span>
1938
- <span class="cline-any cline-yes">10x</span>
1939
- <span class="cline-any cline-yes">10x</span>
1940
- <span class="cline-any cline-yes">10x</span>
1941
- <span class="cline-any cline-yes">10x</span>
1942
- <span class="cline-any cline-yes">10x</span>
1943
- <span class="cline-any cline-yes">10x</span>
1944
- <span class="cline-any cline-yes">10x</span>
1945
- <span class="cline-any cline-yes">10x</span>
1946
- <span class="cline-any cline-yes">10x</span>
1947
- <span class="cline-any cline-yes">10x</span>
1948
- <span class="cline-any cline-yes">10x</span>
1949
- <span class="cline-any cline-yes">10x</span>
1950
- <span class="cline-any cline-yes">10x</span>
1951
- <span class="cline-any cline-no">&nbsp;</span>
1952
- <span class="cline-any cline-no">&nbsp;</span>
1953
- <span class="cline-any cline-yes">10x</span>
1954
- <span class="cline-any cline-yes">10x</span>
1955
- <span class="cline-any cline-yes">10x</span>
1956
- <span class="cline-any cline-yes">10x</span>
1957
- <span class="cline-any cline-yes">10x</span>
1958
- <span class="cline-any cline-yes">10x</span>
1959
- <span class="cline-any cline-yes">10x</span>
1960
- <span class="cline-any cline-yes">10x</span>
1961
- <span class="cline-any cline-yes">10x</span>
1962
- <span class="cline-any cline-yes">10x</span>
1963
- <span class="cline-any cline-yes">10x</span>
1964
- <span class="cline-any cline-yes">10x</span>
1965
- <span class="cline-any cline-yes">10x</span>
1966
- <span class="cline-any cline-yes">10x</span>
1967
- <span class="cline-any cline-yes">10x</span>
1968
- <span class="cline-any cline-yes">10x</span>
1969
- <span class="cline-any cline-yes">10x</span>
1970
- <span class="cline-any cline-yes">10x</span>
1971
- <span class="cline-any cline-yes">10x</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-yes">10x</span>
1975
- <span class="cline-any cline-no">&nbsp;</span>
1976
- <span class="cline-any cline-no">&nbsp;</span>
1977
- <span class="cline-any cline-no">&nbsp;</span>
1978
- <span class="cline-any cline-no">&nbsp;</span>
1979
- <span class="cline-any cline-yes">10x</span>
1980
- <span class="cline-any cline-yes">10x</span>
1981
- <span class="cline-any cline-yes">6x</span>
1982
- <span class="cline-any cline-yes">6x</span>
1983
- <span class="cline-any cline-yes">6x</span>
1984
- <span class="cline-any cline-yes">6x</span>
1985
- <span class="cline-any cline-yes">6x</span>
1986
- <span class="cline-any cline-yes">6x</span>
1987
- <span class="cline-any cline-yes">6x</span>
1988
- <span class="cline-any cline-yes">6x</span>
1989
- <span class="cline-any cline-yes">6x</span>
1990
- <span class="cline-any cline-yes">6x</span>
1991
- <span class="cline-any cline-yes">6x</span>
1992
- <span class="cline-any cline-yes">6x</span>
1993
- <span class="cline-any cline-no">&nbsp;</span>
1994
- <span class="cline-any cline-no">&nbsp;</span>
1995
- <span class="cline-any cline-yes">6x</span>
1996
- <span class="cline-any cline-yes">6x</span>
1997
- <span class="cline-any cline-no">&nbsp;</span>
1998
- <span class="cline-any cline-no">&nbsp;</span>
1999
- <span class="cline-any cline-yes">10x</span>
2000
- <span class="cline-any cline-yes">4x</span>
2001
- <span class="cline-any cline-yes">4x</span>
2002
- <span class="cline-any cline-yes">4x</span>
2003
- <span class="cline-any cline-yes">4x</span>
2004
- <span class="cline-any cline-yes">10x</span>
2005
- <span class="cline-any cline-yes">10x</span>
2006
- <span class="cline-any cline-yes">6x</span>
2007
- <span class="cline-any cline-yes">6x</span>
2008
- <span class="cline-any cline-yes">10x</span>
2009
- <span class="cline-any cline-yes">10x</span>
2010
- <span class="cline-any cline-no">&nbsp;</span>
2011
- <span class="cline-any cline-no">&nbsp;</span>
2012
- <span class="cline-any cline-no">&nbsp;</span>
2013
- <span class="cline-any cline-no">&nbsp;</span>
2014
- <span class="cline-any cline-no">&nbsp;</span>
2015
- <span class="cline-any cline-yes">10x</span>
2016
- <span class="cline-any cline-yes">10x</span>
2017
- <span class="cline-any cline-yes">4x</span>
2018
- <span class="cline-any cline-yes">4x</span>
2019
- <span class="cline-any cline-yes">4x</span>
2020
- <span class="cline-any cline-no">&nbsp;</span>
2021
- <span class="cline-any cline-no">&nbsp;</span>
2022
- <span class="cline-any cline-yes">4x</span>
2023
- <span class="cline-any cline-yes">4x</span>
2024
- <span class="cline-any cline-yes">4x</span>
2025
- <span class="cline-any cline-yes">4x</span>
2026
- <span class="cline-any cline-yes">10x</span>
2027
- <span class="cline-any cline-no">&nbsp;</span>
2028
- <span class="cline-any cline-no">&nbsp;</span>
2029
- <span class="cline-any cline-no">&nbsp;</span>
2030
- <span class="cline-any cline-no">&nbsp;</span>
2031
- <span class="cline-any cline-no">&nbsp;</span>
2032
- <span class="cline-any cline-no">&nbsp;</span>
2033
- <span class="cline-any cline-no">&nbsp;</span>
2034
- <span class="cline-any cline-no">&nbsp;</span>
2035
- <span class="cline-any cline-no">&nbsp;</span>
2036
- <span class="cline-any cline-no">&nbsp;</span>
2037
- <span class="cline-any cline-no">&nbsp;</span>
2038
- <span class="cline-any cline-no">&nbsp;</span>
2039
- <span class="cline-any cline-no">&nbsp;</span>
2040
- <span class="cline-any cline-no">&nbsp;</span>
2041
- <span class="cline-any cline-no">&nbsp;</span>
2042
- <span class="cline-any cline-no">&nbsp;</span>
2043
- <span class="cline-any cline-no">&nbsp;</span>
2044
- <span class="cline-any cline-no">&nbsp;</span>
2045
- <span class="cline-any cline-no">&nbsp;</span>
2046
- <span class="cline-any cline-no">&nbsp;</span>
2047
- <span class="cline-any cline-no">&nbsp;</span>
2048
- <span class="cline-any cline-no">&nbsp;</span>
2049
- <span class="cline-any cline-no">&nbsp;</span>
2050
- <span class="cline-any cline-no">&nbsp;</span>
2051
- <span class="cline-any cline-no">&nbsp;</span>
2052
- <span class="cline-any cline-no">&nbsp;</span>
2053
- <span class="cline-any cline-no">&nbsp;</span>
2054
- <span class="cline-any cline-no">&nbsp;</span>
2055
- <span class="cline-any cline-no">&nbsp;</span>
2056
- <span class="cline-any cline-no">&nbsp;</span>
2057
- <span class="cline-any cline-no">&nbsp;</span>
2058
- <span class="cline-any cline-no">&nbsp;</span>
2059
- <span class="cline-any cline-no">&nbsp;</span>
2060
- <span class="cline-any cline-no">&nbsp;</span>
2061
- <span class="cline-any cline-yes">10x</span>
2062
- <span class="cline-any cline-yes">10x</span>
2063
- <span class="cline-any cline-yes">10x</span>
2064
- <span class="cline-any cline-yes">30x</span>
2065
- <span class="cline-any cline-yes">30x</span>
2066
- <span class="cline-any cline-yes">30x</span>
2067
- <span class="cline-any cline-yes">30x</span>
2068
- <span class="cline-any cline-yes">30x</span>
2069
- <span class="cline-any cline-yes">30x</span>
2070
- <span class="cline-any cline-yes">30x</span>
2071
- <span class="cline-any cline-yes">30x</span>
2072
- <span class="cline-any cline-yes">30x</span>
2073
- <span class="cline-any cline-no">&nbsp;</span>
2074
- <span class="cline-any cline-no">&nbsp;</span>
2075
- <span class="cline-any cline-no">&nbsp;</span>
2076
- <span class="cline-any cline-no">&nbsp;</span>
2077
- <span class="cline-any cline-no">&nbsp;</span>
2078
- <span class="cline-any cline-no">&nbsp;</span>
2079
- <span class="cline-any cline-no">&nbsp;</span>
2080
- <span class="cline-any cline-no">&nbsp;</span>
2081
- <span class="cline-any cline-no">&nbsp;</span>
2082
- <span class="cline-any cline-no">&nbsp;</span>
2083
- <span class="cline-any cline-no">&nbsp;</span>
2084
- <span class="cline-any cline-no">&nbsp;</span>
2085
- <span class="cline-any cline-no">&nbsp;</span>
2086
- <span class="cline-any cline-no">&nbsp;</span>
2087
- <span class="cline-any cline-no">&nbsp;</span>
2088
- <span class="cline-any cline-no">&nbsp;</span>
2089
- <span class="cline-any cline-no">&nbsp;</span>
2090
- <span class="cline-any cline-no">&nbsp;</span>
2091
- <span class="cline-any cline-no">&nbsp;</span>
2092
- <span class="cline-any cline-no">&nbsp;</span>
2093
- <span class="cline-any cline-no">&nbsp;</span>
2094
- <span class="cline-any cline-no">&nbsp;</span>
2095
- <span class="cline-any cline-no">&nbsp;</span>
2096
- <span class="cline-any cline-no">&nbsp;</span>
2097
- <span class="cline-any cline-no">&nbsp;</span>
2098
- <span class="cline-any cline-no">&nbsp;</span>
2099
- <span class="cline-any cline-no">&nbsp;</span>
2100
- <span class="cline-any cline-yes">30x</span>
2101
- <span class="cline-any cline-yes">30x</span>
2102
- <span class="cline-any cline-yes">30x</span>
2103
- <span class="cline-any cline-yes">30x</span>
2104
- <span class="cline-any cline-yes">30x</span>
2105
- <span class="cline-any cline-yes">30x</span>
2106
- <span class="cline-any cline-yes">30x</span>
2107
- <span class="cline-any cline-yes">30x</span>
2108
- <span class="cline-any cline-yes">30x</span>
2109
- <span class="cline-any cline-no">&nbsp;</span>
2110
- <span class="cline-any cline-no">&nbsp;</span>
2111
- <span class="cline-any cline-yes">30x</span>
2112
- <span class="cline-any cline-yes">30x</span>
2113
- <span class="cline-any cline-no">&nbsp;</span>
2114
- <span class="cline-any cline-no">&nbsp;</span>
2115
- <span class="cline-any cline-yes">30x</span>
2116
- <span class="cline-any cline-yes">30x</span>
2117
- <span class="cline-any cline-yes">30x</span>
2118
- <span class="cline-any cline-no">&nbsp;</span>
2119
- <span class="cline-any cline-no">&nbsp;</span>
2120
- <span class="cline-any cline-no">&nbsp;</span>
2121
- <span class="cline-any cline-no">&nbsp;</span>
2122
- <span class="cline-any cline-no">&nbsp;</span>
2123
- <span class="cline-any cline-no">&nbsp;</span>
2124
- <span class="cline-any cline-no">&nbsp;</span>
2125
- <span class="cline-any cline-no">&nbsp;</span>
2126
- <span class="cline-any cline-no">&nbsp;</span>
2127
- <span class="cline-any cline-no">&nbsp;</span>
2128
- <span class="cline-any cline-no">&nbsp;</span>
2129
- <span class="cline-any cline-no">&nbsp;</span>
2130
- <span class="cline-any cline-no">&nbsp;</span>
2131
- <span class="cline-any cline-no">&nbsp;</span>
2132
- <span class="cline-any cline-no">&nbsp;</span>
2133
- <span class="cline-any cline-no">&nbsp;</span>
2134
- <span class="cline-any cline-no">&nbsp;</span>
2135
- <span class="cline-any cline-no">&nbsp;</span>
2136
- <span class="cline-any cline-no">&nbsp;</span>
2137
- <span class="cline-any cline-no">&nbsp;</span>
2138
- <span class="cline-any cline-no">&nbsp;</span>
2139
- <span class="cline-any cline-no">&nbsp;</span>
2140
- <span class="cline-any cline-no">&nbsp;</span>
2141
- <span class="cline-any cline-no">&nbsp;</span>
2142
- <span class="cline-any cline-no">&nbsp;</span>
2143
- <span class="cline-any cline-no">&nbsp;</span>
2144
- <span class="cline-any cline-no">&nbsp;</span>
2145
- <span class="cline-any cline-no">&nbsp;</span>
2146
- <span class="cline-any cline-no">&nbsp;</span>
2147
- <span class="cline-any cline-no">&nbsp;</span>
2148
- <span class="cline-any cline-no">&nbsp;</span>
2149
- <span class="cline-any cline-no">&nbsp;</span>
2150
- <span class="cline-any cline-yes">30x</span>
2151
- <span class="cline-any cline-yes">30x</span>
2152
- <span class="cline-any cline-no">&nbsp;</span>
2153
- <span class="cline-any cline-no">&nbsp;</span>
2154
- <span class="cline-any cline-no">&nbsp;</span>
2155
- <span class="cline-any cline-no">&nbsp;</span>
2156
- <span class="cline-any cline-no">&nbsp;</span>
2157
- <span class="cline-any cline-no">&nbsp;</span>
2158
- <span class="cline-any cline-no">&nbsp;</span>
2159
- <span class="cline-any cline-no">&nbsp;</span>
2160
- <span class="cline-any cline-no">&nbsp;</span>
2161
- <span class="cline-any cline-no">&nbsp;</span>
2162
- <span class="cline-any cline-no">&nbsp;</span>
2163
- <span class="cline-any cline-no">&nbsp;</span>
2164
- <span class="cline-any cline-no">&nbsp;</span>
2165
- <span class="cline-any cline-no">&nbsp;</span>
2166
- <span class="cline-any cline-no">&nbsp;</span>
2167
- <span class="cline-any cline-no">&nbsp;</span>
2168
- <span class="cline-any cline-no">&nbsp;</span>
2169
- <span class="cline-any cline-no">&nbsp;</span>
2170
- <span class="cline-any cline-no">&nbsp;</span>
2171
- <span class="cline-any cline-no">&nbsp;</span>
2172
- <span class="cline-any cline-no">&nbsp;</span>
2173
- <span class="cline-any cline-no">&nbsp;</span>
2174
- <span class="cline-any cline-no">&nbsp;</span>
2175
- <span class="cline-any cline-no">&nbsp;</span>
2176
- <span class="cline-any cline-yes">30x</span>
2177
- <span class="cline-any cline-yes">30x</span>
2178
- <span class="cline-any cline-yes">30x</span>
2179
- <span class="cline-any cline-yes">30x</span>
2180
- <span class="cline-any cline-yes">30x</span>
2181
- <span class="cline-any cline-yes">30x</span>
2182
- <span class="cline-any cline-yes">30x</span>
2183
- <span class="cline-any cline-yes">30x</span>
2184
- <span class="cline-any cline-no">&nbsp;</span>
2185
- <span class="cline-any cline-no">&nbsp;</span>
2186
- <span class="cline-any cline-no">&nbsp;</span>
2187
- <span class="cline-any cline-no">&nbsp;</span>
2188
- <span class="cline-any cline-no">&nbsp;</span>
2189
- <span class="cline-any cline-yes">30x</span>
2190
- <span class="cline-any cline-no">&nbsp;</span>
2191
- <span class="cline-any cline-no">&nbsp;</span>
2192
- <span class="cline-any cline-no">&nbsp;</span>
2193
- <span class="cline-any cline-yes">30x</span>
2194
- <span class="cline-any cline-no">&nbsp;</span>
2195
- <span class="cline-any cline-no">&nbsp;</span>
2196
- <span class="cline-any cline-no">&nbsp;</span>
2197
- <span class="cline-any cline-yes">30x</span>
2198
- <span class="cline-any cline-no">&nbsp;</span>
2199
- <span class="cline-any cline-no">&nbsp;</span>
2200
- <span class="cline-any cline-no">&nbsp;</span>
2201
- <span class="cline-any cline-no">&nbsp;</span>
2202
- <span class="cline-any cline-no">&nbsp;</span>
2203
- <span class="cline-any cline-no">&nbsp;</span>
2204
- <span class="cline-any cline-no">&nbsp;</span>
2205
- <span class="cline-any cline-no">&nbsp;</span>
2206
- <span class="cline-any cline-no">&nbsp;</span>
2207
- <span class="cline-any cline-no">&nbsp;</span>
2208
- <span class="cline-any cline-no">&nbsp;</span>
2209
- <span class="cline-any cline-no">&nbsp;</span>
2210
- <span class="cline-any cline-no">&nbsp;</span>
2211
- <span class="cline-any cline-no">&nbsp;</span>
2212
- <span class="cline-any cline-no">&nbsp;</span>
2213
- <span class="cline-any cline-no">&nbsp;</span>
2214
- <span class="cline-any cline-no">&nbsp;</span>
2215
- <span class="cline-any cline-no">&nbsp;</span>
2216
- <span class="cline-any cline-no">&nbsp;</span>
2217
- <span class="cline-any cline-yes">30x</span>
2218
- <span class="cline-any cline-yes">30x</span>
2219
- <span class="cline-any cline-yes">30x</span>
2220
- <span class="cline-any cline-no">&nbsp;</span>
2221
- <span class="cline-any cline-no">&nbsp;</span>
2222
- <span class="cline-any cline-no">&nbsp;</span>
2223
- <span class="cline-any cline-no">&nbsp;</span>
2224
- <span class="cline-any cline-no">&nbsp;</span>
2225
- <span class="cline-any cline-no">&nbsp;</span>
2226
- <span class="cline-any cline-yes">30x</span>
2227
- <span class="cline-any cline-yes">10x</span>
2228
- <span class="cline-any cline-yes">10x</span>
2229
- <span class="cline-any cline-no">&nbsp;</span>
2230
- <span class="cline-any cline-no">&nbsp;</span>
2231
- <span class="cline-any cline-no">&nbsp;</span>
2232
- <span class="cline-any cline-no">&nbsp;</span>
2233
- <span class="cline-any cline-no">&nbsp;</span>
2234
- <span class="cline-any cline-no">&nbsp;</span>
2235
- <span class="cline-any cline-no">&nbsp;</span>
2236
- <span class="cline-any cline-no">&nbsp;</span>
2237
- <span class="cline-any cline-yes">10x</span>
2238
- <span class="cline-any cline-yes">10x</span>
2239
- <span class="cline-any cline-yes">10x</span>
2240
- <span class="cline-any cline-yes">10x</span>
2241
- <span class="cline-any cline-yes">10x</span>
2242
- <span class="cline-any cline-yes">10x</span>
2243
- <span class="cline-any cline-yes">10x</span>
2244
- <span class="cline-any cline-yes">10x</span>
2245
- <span class="cline-any cline-yes">10x</span>
2246
- <span class="cline-any cline-yes">10x</span>
2247
- <span class="cline-any cline-yes">10x</span>
2248
- <span class="cline-any cline-yes">10x</span>
2249
- <span class="cline-any cline-yes">10x</span>
2250
- <span class="cline-any cline-yes">10x</span>
2251
- <span class="cline-any cline-yes">10x</span>
2252
- <span class="cline-any cline-yes">10x</span>
2253
- <span class="cline-any cline-yes">10x</span>
2254
- <span class="cline-any cline-no">&nbsp;</span>
2255
- <span class="cline-any cline-yes">10x</span>
2256
- <span class="cline-any cline-no">&nbsp;</span>
2257
- <span class="cline-any cline-no">&nbsp;</span>
2258
- <span class="cline-any cline-no">&nbsp;</span>
2259
- <span class="cline-any cline-yes">10x</span>
2260
- <span class="cline-any cline-yes">10x</span>
2261
- <span class="cline-any cline-yes">10x</span>
2262
- <span class="cline-any cline-yes">10x</span>
2263
- <span class="cline-any cline-yes">10x</span>
2264
- <span class="cline-any cline-yes">10x</span>
2265
- <span class="cline-any cline-yes">24x</span>
2266
- <span class="cline-any cline-yes">24x</span>
2267
- <span class="cline-any cline-yes">10x</span>
2268
- <span class="cline-any cline-yes">10x</span>
2269
- <span class="cline-any cline-yes">10x</span>
2270
- <span class="cline-any cline-yes">10x</span>
2271
- <span class="cline-any cline-yes">10x</span>
2272
- <span class="cline-any cline-yes">10x</span>
2273
- <span class="cline-any cline-yes">10x</span>
2274
- <span class="cline-any cline-yes">10x</span>
2275
- <span class="cline-any cline-yes">10x</span>
2276
- <span class="cline-any cline-yes">10x</span>
2277
- <span class="cline-any cline-yes">10x</span>
2278
- <span class="cline-any cline-yes">10x</span>
2279
- <span class="cline-any cline-yes">10x</span>
2280
- <span class="cline-any cline-yes">10x</span>
2281
- <span class="cline-any cline-yes">10x</span>
2282
- <span class="cline-any cline-yes">10x</span>
2283
- <span class="cline-any cline-no">&nbsp;</span>
2284
- <span class="cline-any cline-yes">10x</span>
2285
- <span class="cline-any cline-no">&nbsp;</span>
2286
- <span class="cline-any cline-no">&nbsp;</span>
2287
- <span class="cline-any cline-no">&nbsp;</span>
2288
- <span class="cline-any cline-yes">10x</span>
2289
- <span class="cline-any cline-no">&nbsp;</span>
2290
- <span class="cline-any cline-no">&nbsp;</span>
2291
- <span class="cline-any cline-yes">10x</span>
2292
- <span class="cline-any cline-yes">10x</span>
2293
- <span class="cline-any cline-yes">10x</span>
2294
- <span class="cline-any cline-yes">10x</span>
2295
- <span class="cline-any cline-yes">6x</span>
2296
- <span class="cline-any cline-yes">6x</span>
2297
- <span class="cline-any cline-yes">6x</span>
2298
- <span class="cline-any cline-yes">6x</span>
2299
- <span class="cline-any cline-yes">6x</span>
2300
- <span class="cline-any cline-yes">6x</span>
2301
- <span class="cline-any cline-yes">6x</span>
2302
- <span class="cline-any cline-no">&nbsp;</span>
2303
- <span class="cline-any cline-no">&nbsp;</span>
2304
- <span class="cline-any cline-yes">6x</span>
2305
- <span class="cline-any cline-yes">6x</span>
2306
- <span class="cline-any cline-yes">10x</span>
2307
- <span class="cline-any cline-yes">10x</span>
2308
- <span class="cline-any cline-no">&nbsp;</span>
2309
- <span class="cline-any cline-no">&nbsp;</span>
2310
- <span class="cline-any cline-no">&nbsp;</span>
2311
- <span class="cline-any cline-no">&nbsp;</span>
2312
- <span class="cline-any cline-no">&nbsp;</span>
2313
- <span class="cline-any cline-no">&nbsp;</span>
2314
- <span class="cline-any cline-no">&nbsp;</span>
2315
- <span class="cline-any cline-no">&nbsp;</span>
2316
- <span class="cline-any cline-no">&nbsp;</span>
2317
- <span class="cline-any cline-no">&nbsp;</span>
2318
- <span class="cline-any cline-no">&nbsp;</span>
2319
- <span class="cline-any cline-yes">10x</span>
2320
- <span class="cline-any cline-yes">10x</span>
2321
- <span class="cline-any cline-yes">10x</span>
2322
- <span class="cline-any cline-yes">10x</span>
2323
- <span class="cline-any cline-yes">4x</span>
2324
- <span class="cline-any cline-yes">4x</span>
2325
- <span class="cline-any cline-yes">10x</span>
2326
- <span class="cline-any cline-yes">10x</span>
2327
- <span class="cline-any cline-no">&nbsp;</span>
2328
- <span class="cline-any cline-no">&nbsp;</span>
2329
- <span class="cline-any cline-no">&nbsp;</span>
2330
- <span class="cline-any cline-no">&nbsp;</span>
2331
- <span class="cline-any cline-no">&nbsp;</span>
2332
- <span class="cline-any cline-no">&nbsp;</span>
2333
- <span class="cline-any cline-yes">10x</span>
2334
- <span class="cline-any cline-yes">10x</span>
2335
- <span class="cline-any cline-yes">10x</span>
2336
- <span class="cline-any cline-yes">10x</span>
2337
- <span class="cline-any cline-yes">10x</span>
2338
- <span class="cline-any cline-yes">10x</span>
2339
- <span class="cline-any cline-yes">10x</span>
2340
- <span class="cline-any cline-yes">10x</span>
2341
- <span class="cline-any cline-yes">10x</span>
2342
- <span class="cline-any cline-yes">10x</span>
2343
- <span class="cline-any cline-no">&nbsp;</span>
2344
- <span class="cline-any cline-no">&nbsp;</span>
2345
- <span class="cline-any cline-no">&nbsp;</span>
2346
- <span class="cline-any cline-no">&nbsp;</span>
2347
- <span class="cline-any cline-no">&nbsp;</span>
2348
- <span class="cline-any cline-no">&nbsp;</span>
2349
- <span class="cline-any cline-yes">10x</span>
2350
- <span class="cline-any cline-yes">10x</span>
2351
- <span class="cline-any cline-no">&nbsp;</span>
2352
- <span class="cline-any cline-no">&nbsp;</span>
2353
- <span class="cline-any cline-no">&nbsp;</span>
2354
- <span class="cline-any cline-no">&nbsp;</span>
2355
- <span class="cline-any cline-no">&nbsp;</span>
2356
- <span class="cline-any cline-no">&nbsp;</span>
2357
- <span class="cline-any cline-yes">10x</span>
2358
- <span class="cline-any cline-yes">10x</span>
2359
- <span class="cline-any cline-no">&nbsp;</span>
2360
- <span class="cline-any cline-no">&nbsp;</span>
2361
- <span class="cline-any cline-no">&nbsp;</span>
2362
- <span class="cline-any cline-no">&nbsp;</span>
2363
- <span class="cline-any cline-no">&nbsp;</span>
2364
- <span class="cline-any cline-no">&nbsp;</span>
2365
- <span class="cline-any cline-yes">10x</span>
2366
- <span class="cline-any cline-yes">10x</span>
2367
- <span class="cline-any cline-yes">10x</span>
2368
- <span class="cline-any cline-yes">10x</span>
2369
- <span class="cline-any cline-yes">10x</span>
2370
- <span class="cline-any cline-yes">10x</span>
2371
- <span class="cline-any cline-yes">10x</span>
2372
- <span class="cline-any cline-yes">10x</span>
2373
- <span class="cline-any cline-yes">10x</span>
2374
- <span class="cline-any cline-yes">10x</span>
2375
- <span class="cline-any cline-yes">10x</span>
2376
- <span class="cline-any cline-yes">10x</span>
2377
- <span class="cline-any cline-yes">10x</span>
2378
- <span class="cline-any cline-yes">10x</span>
2379
- <span class="cline-any cline-no">&nbsp;</span>
2380
- <span class="cline-any cline-no">&nbsp;</span>
2381
- <span class="cline-any cline-no">&nbsp;</span>
2382
- <span class="cline-any cline-no">&nbsp;</span>
2383
- <span class="cline-any cline-no">&nbsp;</span>
2384
- <span class="cline-any cline-no">&nbsp;</span>
2385
- <span class="cline-any cline-no">&nbsp;</span>
2386
- <span class="cline-any cline-no">&nbsp;</span>
2387
- <span class="cline-any cline-no">&nbsp;</span>
2388
- <span class="cline-any cline-no">&nbsp;</span>
2389
- <span class="cline-any cline-no">&nbsp;</span>
2390
- <span class="cline-any cline-no">&nbsp;</span>
2391
- <span class="cline-any cline-no">&nbsp;</span>
2392
- <span class="cline-any cline-no">&nbsp;</span>
2393
- <span class="cline-any cline-no">&nbsp;</span>
2394
- <span class="cline-any cline-no">&nbsp;</span>
2395
- <span class="cline-any cline-no">&nbsp;</span>
2396
- <span class="cline-any cline-no">&nbsp;</span>
2397
- <span class="cline-any cline-no">&nbsp;</span>
2398
- <span class="cline-any cline-no">&nbsp;</span>
2399
- <span class="cline-any cline-no">&nbsp;</span>
2400
- <span class="cline-any cline-no">&nbsp;</span>
2401
- <span class="cline-any cline-no">&nbsp;</span>
2402
- <span class="cline-any cline-no">&nbsp;</span>
2403
- <span class="cline-any cline-no">&nbsp;</span>
2404
- <span class="cline-any cline-no">&nbsp;</span>
2405
- <span class="cline-any cline-no">&nbsp;</span>
2406
- <span class="cline-any cline-no">&nbsp;</span>
2407
- <span class="cline-any cline-no">&nbsp;</span>
2408
- <span class="cline-any cline-no">&nbsp;</span>
2409
- <span class="cline-any cline-no">&nbsp;</span>
2410
- <span class="cline-any cline-no">&nbsp;</span>
2411
- <span class="cline-any cline-no">&nbsp;</span>
2412
- <span class="cline-any cline-yes">10x</span>
2413
- <span class="cline-any cline-yes">10x</span>
2414
- <span class="cline-any cline-yes">10x</span>
2415
- <span class="cline-any cline-yes">10x</span>
2416
- <span class="cline-any cline-yes">10x</span>
2417
- <span class="cline-any cline-yes">10x</span>
2418
- <span class="cline-any cline-yes">10x</span>
2419
- <span class="cline-any cline-yes">10x</span>
2420
- <span class="cline-any cline-yes">10x</span>
2421
- <span class="cline-any cline-yes">10x</span>
2422
- <span class="cline-any cline-yes">10x</span>
2423
- <span class="cline-any cline-no">&nbsp;</span>
2424
- <span class="cline-any cline-no">&nbsp;</span>
2425
- <span class="cline-any cline-no">&nbsp;</span>
2426
- <span class="cline-any cline-no">&nbsp;</span>
2427
- <span class="cline-any cline-no">&nbsp;</span>
2428
- <span class="cline-any cline-no">&nbsp;</span>
2429
- <span class="cline-any cline-yes">10x</span>
2430
- <span class="cline-any cline-yes">10x</span>
2431
- <span class="cline-any cline-yes">10x</span>
2432
- <span class="cline-any cline-no">&nbsp;</span>
2433
- <span class="cline-any cline-no">&nbsp;</span>
2434
- <span class="cline-any cline-no">&nbsp;</span>
2435
- <span class="cline-any cline-no">&nbsp;</span>
2436
- <span class="cline-any cline-no">&nbsp;</span>
2437
- <span class="cline-any cline-no">&nbsp;</span>
2438
- <span class="cline-any cline-yes">10x</span>
2439
- <span class="cline-any cline-yes">10x</span>
2440
- <span class="cline-any cline-yes">10x</span>
2441
- <span class="cline-any cline-yes">10x</span>
2442
- <span class="cline-any cline-yes">10x</span>
2443
- <span class="cline-any cline-yes">10x</span>
2444
- <span class="cline-any cline-yes">6x</span>
2445
- <span class="cline-any cline-yes">6x</span>
2446
- <span class="cline-any cline-yes">6x</span>
2447
- <span class="cline-any cline-yes">6x</span>
2448
- <span class="cline-any cline-yes">6x</span>
2449
- <span class="cline-any cline-no">&nbsp;</span>
2450
- <span class="cline-any cline-no">&nbsp;</span>
2451
- <span class="cline-any cline-no">&nbsp;</span>
2452
- <span class="cline-any cline-no">&nbsp;</span>
2453
- <span class="cline-any cline-no">&nbsp;</span>
2454
- <span class="cline-any cline-no">&nbsp;</span>
2455
- <span class="cline-any cline-no">&nbsp;</span>
2456
- <span class="cline-any cline-no">&nbsp;</span>
2457
- <span class="cline-any cline-no">&nbsp;</span>
2458
- <span class="cline-any cline-no">&nbsp;</span>
2459
- <span class="cline-any cline-no">&nbsp;</span>
2460
- <span class="cline-any cline-no">&nbsp;</span>
2461
- <span class="cline-any cline-no">&nbsp;</span>
2462
- <span class="cline-any cline-no">&nbsp;</span>
2463
- <span class="cline-any cline-no">&nbsp;</span>
2464
- <span class="cline-any cline-no">&nbsp;</span>
2465
- <span class="cline-any cline-no">&nbsp;</span>
2466
- <span class="cline-any cline-no">&nbsp;</span>
2467
- <span class="cline-any cline-no">&nbsp;</span>
2468
- <span class="cline-any cline-no">&nbsp;</span>
2469
- <span class="cline-any cline-no">&nbsp;</span>
2470
- <span class="cline-any cline-no">&nbsp;</span>
2471
- <span class="cline-any cline-no">&nbsp;</span>
2472
- <span class="cline-any cline-no">&nbsp;</span>
2473
- <span class="cline-any cline-no">&nbsp;</span>
2474
- <span class="cline-any cline-no">&nbsp;</span>
2475
- <span class="cline-any cline-no">&nbsp;</span>
2476
- <span class="cline-any cline-no">&nbsp;</span>
2477
- <span class="cline-any cline-no">&nbsp;</span>
2478
- <span class="cline-any cline-no">&nbsp;</span>
2479
- <span class="cline-any cline-no">&nbsp;</span>
2480
- <span class="cline-any cline-yes">6x</span>
2481
- <span class="cline-any cline-yes">6x</span>
2482
- <span class="cline-any cline-yes">6x</span>
2483
- <span class="cline-any cline-yes">6x</span>
2484
- <span class="cline-any cline-yes">6x</span>
2485
- <span class="cline-any cline-no">&nbsp;</span>
2486
- <span class="cline-any cline-no">&nbsp;</span>
2487
- <span class="cline-any cline-no">&nbsp;</span>
2488
- <span class="cline-any cline-no">&nbsp;</span>
2489
- <span class="cline-any cline-no">&nbsp;</span>
2490
- <span class="cline-any cline-no">&nbsp;</span>
2491
- <span class="cline-any cline-no">&nbsp;</span>
2492
- <span class="cline-any cline-no">&nbsp;</span>
2493
- <span class="cline-any cline-no">&nbsp;</span>
2494
- <span class="cline-any cline-no">&nbsp;</span>
2495
- <span class="cline-any cline-no">&nbsp;</span>
2496
- <span class="cline-any cline-no">&nbsp;</span>
2497
- <span class="cline-any cline-no">&nbsp;</span>
2498
- <span class="cline-any cline-no">&nbsp;</span>
2499
- <span class="cline-any cline-no">&nbsp;</span>
2500
- <span class="cline-any cline-no">&nbsp;</span>
2501
- <span class="cline-any cline-no">&nbsp;</span>
2502
- <span class="cline-any cline-no">&nbsp;</span>
2503
- <span class="cline-any cline-no">&nbsp;</span>
2504
- <span class="cline-any cline-no">&nbsp;</span>
2505
- <span class="cline-any cline-no">&nbsp;</span>
2506
- <span class="cline-any cline-no">&nbsp;</span>
2507
- <span class="cline-any cline-no">&nbsp;</span>
2508
- <span class="cline-any cline-no">&nbsp;</span>
2509
- <span class="cline-any cline-no">&nbsp;</span>
2510
- <span class="cline-any cline-no">&nbsp;</span>
2511
- <span class="cline-any cline-no">&nbsp;</span>
2512
- <span class="cline-any cline-no">&nbsp;</span>
2513
- <span class="cline-any cline-no">&nbsp;</span>
2514
- <span class="cline-any cline-no">&nbsp;</span>
2515
- <span class="cline-any cline-no">&nbsp;</span>
2516
- <span class="cline-any cline-no">&nbsp;</span>
2517
- <span class="cline-any cline-no">&nbsp;</span>
2518
- <span class="cline-any cline-no">&nbsp;</span>
2519
- <span class="cline-any cline-no">&nbsp;</span>
2520
- <span class="cline-any cline-no">&nbsp;</span>
2521
- <span class="cline-any cline-no">&nbsp;</span>
2522
- <span class="cline-any cline-no">&nbsp;</span>
2523
- <span class="cline-any cline-no">&nbsp;</span>
2524
- <span class="cline-any cline-no">&nbsp;</span>
2525
- <span class="cline-any cline-no">&nbsp;</span>
2526
- <span class="cline-any cline-no">&nbsp;</span>
2527
- <span class="cline-any cline-no">&nbsp;</span>
2528
- <span class="cline-any cline-no">&nbsp;</span>
2529
- <span class="cline-any cline-yes">6x</span>
2530
- <span class="cline-any cline-no">&nbsp;</span>
2531
- <span class="cline-any cline-no">&nbsp;</span>
2532
- <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-no">&nbsp;</span>
2534
- <span class="cline-any cline-no">&nbsp;</span>
2535
- <span class="cline-any cline-no">&nbsp;</span>
2536
- <span class="cline-any cline-yes">6x</span>
2537
- <span class="cline-any cline-yes">10x</span>
2538
- <span class="cline-any cline-yes">10x</span>
2539
- <span class="cline-any cline-yes">10x</span>
2540
- <span class="cline-any cline-yes">10x</span>
2541
- <span class="cline-any cline-yes">10x</span>
2542
- <span class="cline-any cline-yes">6x</span>
2543
- <span class="cline-any cline-yes">6x</span>
2544
- <span class="cline-any cline-yes">6x</span>
2545
- <span class="cline-any cline-yes">6x</span>
2546
- <span class="cline-any cline-yes">6x</span>
2547
- <span class="cline-any cline-yes">6x</span>
2548
- <span class="cline-any cline-yes">10x</span>
2549
- <span class="cline-any cline-yes">10x</span>
2550
- <span class="cline-any cline-yes">10x</span>
2551
- <span class="cline-any cline-yes">10x</span>
2552
- <span class="cline-any cline-yes">10x</span>
2553
- <span class="cline-any cline-no">&nbsp;</span>
2554
- <span class="cline-any cline-no">&nbsp;</span>
2555
- <span class="cline-any cline-no">&nbsp;</span>
2556
- <span class="cline-any cline-no">&nbsp;</span>
2557
- <span class="cline-any cline-no">&nbsp;</span>
2558
- <span class="cline-any cline-no">&nbsp;</span>
2559
- <span class="cline-any cline-no">&nbsp;</span>
2560
- <span class="cline-any cline-no">&nbsp;</span>
2561
- <span class="cline-any cline-no">&nbsp;</span>
2562
- <span class="cline-any cline-no">&nbsp;</span>
2563
- <span class="cline-any cline-no">&nbsp;</span>
2564
- <span class="cline-any cline-no">&nbsp;</span>
2565
- <span class="cline-any cline-no">&nbsp;</span>
2566
- <span class="cline-any cline-yes">10x</span>
2567
- <span class="cline-any cline-yes">10x</span>
2568
- <span class="cline-any cline-yes">10x</span>
2569
- <span class="cline-any cline-yes">10x</span>
2570
- <span class="cline-any cline-yes">10x</span>
2571
- <span class="cline-any cline-yes">6x</span>
2572
- <span class="cline-any cline-yes">6x</span>
2573
- <span class="cline-any cline-yes">6x</span>
2574
- <span class="cline-any cline-yes">6x</span>
2575
- <span class="cline-any cline-no">&nbsp;</span>
2576
- <span class="cline-any cline-no">&nbsp;</span>
2577
- <span class="cline-any cline-no">&nbsp;</span>
2578
- <span class="cline-any cline-no">&nbsp;</span>
2579
- <span class="cline-any cline-no">&nbsp;</span>
2580
- <span class="cline-any cline-no">&nbsp;</span>
2581
- <span class="cline-any cline-no">&nbsp;</span>
2582
- <span class="cline-any cline-no">&nbsp;</span>
2583
- <span class="cline-any cline-no">&nbsp;</span>
2584
- <span class="cline-any cline-no">&nbsp;</span>
2585
- <span class="cline-any cline-no">&nbsp;</span>
2586
- <span class="cline-any cline-no">&nbsp;</span>
2587
- <span class="cline-any cline-no">&nbsp;</span>
2588
- <span class="cline-any cline-no">&nbsp;</span>
2589
- <span class="cline-any cline-no">&nbsp;</span>
2590
- <span class="cline-any cline-no">&nbsp;</span>
2591
- <span class="cline-any cline-no">&nbsp;</span>
2592
- <span class="cline-any cline-no">&nbsp;</span>
2593
- <span class="cline-any cline-no">&nbsp;</span>
2594
- <span class="cline-any cline-no">&nbsp;</span>
2595
- <span class="cline-any cline-no">&nbsp;</span>
2596
- <span class="cline-any cline-no">&nbsp;</span>
2597
- <span class="cline-any cline-no">&nbsp;</span>
2598
- <span class="cline-any cline-no">&nbsp;</span>
2599
- <span class="cline-any cline-no">&nbsp;</span>
2600
- <span class="cline-any cline-no">&nbsp;</span>
2601
- <span class="cline-any cline-no">&nbsp;</span>
2602
- <span class="cline-any cline-no">&nbsp;</span>
2603
- <span class="cline-any cline-no">&nbsp;</span>
2604
- <span class="cline-any cline-no">&nbsp;</span>
2605
- <span class="cline-any cline-no">&nbsp;</span>
2606
- <span class="cline-any cline-no">&nbsp;</span>
2607
- <span class="cline-any cline-no">&nbsp;</span>
2608
- <span class="cline-any cline-no">&nbsp;</span>
2609
- <span class="cline-any cline-no">&nbsp;</span>
2610
- <span class="cline-any cline-no">&nbsp;</span>
2611
- <span class="cline-any cline-no">&nbsp;</span>
2612
- <span class="cline-any cline-no">&nbsp;</span>
2613
- <span class="cline-any cline-no">&nbsp;</span>
2614
- <span class="cline-any cline-no">&nbsp;</span>
2615
- <span class="cline-any cline-no">&nbsp;</span>
2616
- <span class="cline-any cline-no">&nbsp;</span>
2617
- <span class="cline-any cline-no">&nbsp;</span>
2618
- <span class="cline-any cline-no">&nbsp;</span>
2619
- <span class="cline-any cline-no">&nbsp;</span>
2620
- <span class="cline-any cline-no">&nbsp;</span>
2621
- <span class="cline-any cline-no">&nbsp;</span>
2622
- <span class="cline-any cline-no">&nbsp;</span>
2623
- <span class="cline-any cline-no">&nbsp;</span>
2624
- <span class="cline-any cline-no">&nbsp;</span>
2625
- <span class="cline-any cline-no">&nbsp;</span>
2626
- <span class="cline-any cline-no">&nbsp;</span>
2627
- <span class="cline-any cline-no">&nbsp;</span>
2628
- <span class="cline-any cline-no">&nbsp;</span>
2629
- <span class="cline-any cline-no">&nbsp;</span>
2630
- <span class="cline-any cline-no">&nbsp;</span>
2631
- <span class="cline-any cline-no">&nbsp;</span>
2632
- <span class="cline-any cline-no">&nbsp;</span>
2633
- <span class="cline-any cline-no">&nbsp;</span>
2634
- <span class="cline-any cline-no">&nbsp;</span>
2635
- <span class="cline-any cline-no">&nbsp;</span>
2636
- <span class="cline-any cline-no">&nbsp;</span>
2637
- <span class="cline-any cline-yes">6x</span>
2638
- <span class="cline-any cline-yes">6x</span>
2639
- <span class="cline-any cline-yes">6x</span>
2640
- <span class="cline-any cline-yes">6x</span>
2641
- <span class="cline-any cline-yes">6x</span>
2642
- <span class="cline-any cline-yes">6x</span>
2643
- <span class="cline-any cline-yes">6x</span>
2644
- <span class="cline-any cline-yes">6x</span>
2645
- <span class="cline-any cline-yes">6x</span>
2646
- <span class="cline-any cline-yes">6x</span>
2647
- <span class="cline-any cline-yes">6x</span>
2648
- <span class="cline-any cline-yes">6x</span>
2649
- <span class="cline-any cline-yes">6x</span>
2650
- <span class="cline-any cline-yes">6x</span>
2651
- <span class="cline-any cline-yes">6x</span>
2652
- <span class="cline-any cline-yes">6x</span>
2653
- <span class="cline-any cline-yes">6x</span>
2654
- <span class="cline-any cline-yes">6x</span>
2655
- <span class="cline-any cline-yes">6x</span>
2656
- <span class="cline-any cline-yes">6x</span>
2657
- <span class="cline-any cline-no">&nbsp;</span>
2658
- <span class="cline-any cline-no">&nbsp;</span>
2659
- <span class="cline-any cline-no">&nbsp;</span>
2660
- <span class="cline-any cline-no">&nbsp;</span>
2661
- <span class="cline-any cline-no">&nbsp;</span>
2662
- <span class="cline-any cline-no">&nbsp;</span>
2663
- <span class="cline-any cline-no">&nbsp;</span>
2664
- <span class="cline-any cline-no">&nbsp;</span>
2665
- <span class="cline-any cline-no">&nbsp;</span>
2666
- <span class="cline-any cline-no">&nbsp;</span>
2667
- <span class="cline-any cline-no">&nbsp;</span>
2668
- <span class="cline-any cline-no">&nbsp;</span>
2669
- <span class="cline-any cline-no">&nbsp;</span>
2670
- <span class="cline-any cline-no">&nbsp;</span>
2671
- <span class="cline-any cline-no">&nbsp;</span>
2672
- <span class="cline-any cline-no">&nbsp;</span>
2673
- <span class="cline-any cline-no">&nbsp;</span>
2674
- <span class="cline-any cline-no">&nbsp;</span>
2675
- <span class="cline-any cline-no">&nbsp;</span>
2676
- <span class="cline-any cline-no">&nbsp;</span>
2677
- <span class="cline-any cline-no">&nbsp;</span>
2678
- <span class="cline-any cline-no">&nbsp;</span>
2679
- <span class="cline-any cline-no">&nbsp;</span>
2680
- <span class="cline-any cline-no">&nbsp;</span>
2681
- <span class="cline-any cline-no">&nbsp;</span>
2682
- <span class="cline-any cline-no">&nbsp;</span>
2683
- <span class="cline-any cline-yes">6x</span>
2684
- <span class="cline-any cline-yes">6x</span>
2685
- <span class="cline-any cline-no">&nbsp;</span>
2686
- <span class="cline-any cline-no">&nbsp;</span>
2687
- <span class="cline-any cline-no">&nbsp;</span>
2688
- <span class="cline-any cline-no">&nbsp;</span>
2689
- <span class="cline-any cline-no">&nbsp;</span>
2690
- <span class="cline-any cline-no">&nbsp;</span>
2691
- <span class="cline-any cline-no">&nbsp;</span>
2692
- <span class="cline-any cline-no">&nbsp;</span>
2693
- <span class="cline-any cline-no">&nbsp;</span>
2694
- <span class="cline-any cline-no">&nbsp;</span>
2695
- <span class="cline-any cline-no">&nbsp;</span>
2696
- <span class="cline-any cline-no">&nbsp;</span>
2697
- <span class="cline-any cline-no">&nbsp;</span>
2698
- <span class="cline-any cline-yes">6x</span>
2699
- <span class="cline-any cline-yes">6x</span>
2700
- <span class="cline-any cline-yes">6x</span>
2701
- <span class="cline-any cline-yes">6x</span>
2702
- <span class="cline-any cline-no">&nbsp;</span>
2703
- <span class="cline-any cline-no">&nbsp;</span>
2704
- <span class="cline-any cline-no">&nbsp;</span>
2705
- <span class="cline-any cline-no">&nbsp;</span>
2706
- <span class="cline-any cline-no">&nbsp;</span>
2707
- <span class="cline-any cline-no">&nbsp;</span>
2708
- <span class="cline-any cline-yes">6x</span>
2709
- <span class="cline-any cline-yes">10x</span>
2710
- <span class="cline-any cline-yes">10x</span>
2711
- <span class="cline-any cline-yes">10x</span>
2712
- <span class="cline-any cline-yes">10x</span>
2713
- <span class="cline-any cline-yes">10x</span>
2714
- <span class="cline-any cline-no">&nbsp;</span>
2715
- <span class="cline-any cline-no">&nbsp;</span>
2716
- <span class="cline-any cline-no">&nbsp;</span>
2717
- <span class="cline-any cline-no">&nbsp;</span>
2718
- <span class="cline-any cline-no">&nbsp;</span>
2719
- <span class="cline-any cline-no">&nbsp;</span>
2720
- <span class="cline-any cline-no">&nbsp;</span>
2721
- <span class="cline-any cline-no">&nbsp;</span>
2722
- <span class="cline-any cline-no">&nbsp;</span>
2723
- <span class="cline-any cline-no">&nbsp;</span>
2724
- <span class="cline-any cline-no">&nbsp;</span>
2725
- <span class="cline-any cline-no">&nbsp;</span>
2726
- <span class="cline-any cline-no">&nbsp;</span>
2727
- <span class="cline-any cline-no">&nbsp;</span>
2728
- <span class="cline-any cline-no">&nbsp;</span>
2729
- <span class="cline-any cline-no">&nbsp;</span>
2730
- <span class="cline-any cline-no">&nbsp;</span>
2731
- <span class="cline-any cline-no">&nbsp;</span>
2732
- <span class="cline-any cline-no">&nbsp;</span>
2733
- <span class="cline-any cline-no">&nbsp;</span>
2734
- <span class="cline-any cline-no">&nbsp;</span>
2735
- <span class="cline-any cline-no">&nbsp;</span>
2736
- <span class="cline-any cline-no">&nbsp;</span>
2737
- <span class="cline-any cline-no">&nbsp;</span>
2738
- <span class="cline-any cline-no">&nbsp;</span>
2739
- <span class="cline-any cline-no">&nbsp;</span>
2740
- <span class="cline-any cline-no">&nbsp;</span>
2741
- <span class="cline-any cline-no">&nbsp;</span>
2742
- <span class="cline-any cline-no">&nbsp;</span>
2743
- <span class="cline-any cline-no">&nbsp;</span>
2744
- <span class="cline-any cline-no">&nbsp;</span>
2745
- <span class="cline-any cline-yes">10x</span>
2746
- <span class="cline-any cline-yes">10x</span>
2747
- <span class="cline-any cline-yes">10x</span>
2748
- <span class="cline-any cline-yes">10x</span>
2749
- <span class="cline-any cline-yes">10x</span>
2750
- <span class="cline-any cline-no">&nbsp;</span>
2751
- <span class="cline-any cline-no">&nbsp;</span>
2752
- <span class="cline-any cline-no">&nbsp;</span>
2753
- <span class="cline-any cline-no">&nbsp;</span>
2754
- <span class="cline-any cline-no">&nbsp;</span>
2755
- <span class="cline-any cline-no">&nbsp;</span>
2756
- <span class="cline-any cline-no">&nbsp;</span>
2757
- <span class="cline-any cline-no">&nbsp;</span>
2758
- <span class="cline-any cline-no">&nbsp;</span>
2759
- <span class="cline-any cline-no">&nbsp;</span>
2760
- <span class="cline-any cline-no">&nbsp;</span>
2761
- <span class="cline-any cline-no">&nbsp;</span>
2762
- <span class="cline-any cline-no">&nbsp;</span>
2763
- <span class="cline-any cline-no">&nbsp;</span>
2764
- <span class="cline-any cline-no">&nbsp;</span>
2765
- <span class="cline-any cline-no">&nbsp;</span>
2766
- <span class="cline-any cline-no">&nbsp;</span>
2767
- <span class="cline-any cline-no">&nbsp;</span>
2768
- <span class="cline-any cline-no">&nbsp;</span>
2769
- <span class="cline-any cline-no">&nbsp;</span>
2770
- <span class="cline-any cline-no">&nbsp;</span>
2771
- <span class="cline-any cline-no">&nbsp;</span>
2772
- <span class="cline-any cline-no">&nbsp;</span>
2773
- <span class="cline-any cline-no">&nbsp;</span>
2774
- <span class="cline-any cline-no">&nbsp;</span>
2775
- <span class="cline-any cline-no">&nbsp;</span>
2776
- <span class="cline-any cline-no">&nbsp;</span>
2777
- <span class="cline-any cline-no">&nbsp;</span>
2778
- <span class="cline-any cline-no">&nbsp;</span>
2779
- <span class="cline-any cline-no">&nbsp;</span>
2780
- <span class="cline-any cline-no">&nbsp;</span>
2781
- <span class="cline-any cline-no">&nbsp;</span>
2782
- <span class="cline-any cline-no">&nbsp;</span>
2783
- <span class="cline-any cline-no">&nbsp;</span>
2784
- <span class="cline-any cline-no">&nbsp;</span>
2785
- <span class="cline-any cline-no">&nbsp;</span>
2786
- <span class="cline-any cline-no">&nbsp;</span>
2787
- <span class="cline-any cline-no">&nbsp;</span>
2788
- <span class="cline-any cline-no">&nbsp;</span>
2789
- <span class="cline-any cline-no">&nbsp;</span>
2790
- <span class="cline-any cline-no">&nbsp;</span>
2791
- <span class="cline-any cline-no">&nbsp;</span>
2792
- <span class="cline-any cline-no">&nbsp;</span>
2793
- <span class="cline-any cline-no">&nbsp;</span>
2794
- <span class="cline-any cline-no">&nbsp;</span>
2795
- <span class="cline-any cline-no">&nbsp;</span>
2796
- <span class="cline-any cline-no">&nbsp;</span>
2797
- <span class="cline-any cline-no">&nbsp;</span>
2798
- <span class="cline-any cline-yes">10x</span>
2799
- <span class="cline-any cline-yes">10x</span>
2800
- <span class="cline-any cline-yes">10x</span>
2801
- <span class="cline-any cline-yes">10x</span>
2802
- <span class="cline-any cline-yes">10x</span>
2803
- <span class="cline-any cline-yes">6x</span>
2804
- <span class="cline-any cline-yes">6x</span>
2805
- <span class="cline-any cline-yes">6x</span>
2806
- <span class="cline-any cline-yes">6x</span>
2807
- <span class="cline-any cline-yes">6x</span>
2808
- <span class="cline-any cline-yes">6x</span>
2809
- <span class="cline-any cline-yes">6x</span>
2810
- <span class="cline-any cline-yes">6x</span>
2811
- <span class="cline-any cline-yes">6x</span>
2812
- <span class="cline-any cline-yes">6x</span>
2813
- <span class="cline-any cline-yes">24x</span>
2814
- <span class="cline-any cline-yes">24x</span>
2815
- <span class="cline-any cline-no">&nbsp;</span>
2816
- <span class="cline-any cline-no">&nbsp;</span>
2817
- <span class="cline-any cline-yes">24x</span>
2818
- <span class="cline-any cline-yes">24x</span>
2819
- <span class="cline-any cline-yes">24x</span>
2820
- <span class="cline-any cline-yes">24x</span>
2821
- <span class="cline-any cline-yes">24x</span>
2822
- <span class="cline-any cline-yes">24x</span>
2823
- <span class="cline-any cline-no">&nbsp;</span>
2824
- <span class="cline-any cline-no">&nbsp;</span>
2825
- <span class="cline-any cline-no">&nbsp;</span>
2826
- <span class="cline-any cline-no">&nbsp;</span>
2827
- <span class="cline-any cline-no">&nbsp;</span>
2828
- <span class="cline-any cline-no">&nbsp;</span>
2829
- <span class="cline-any cline-no">&nbsp;</span>
2830
- <span class="cline-any cline-no">&nbsp;</span>
2831
- <span class="cline-any cline-no">&nbsp;</span>
2832
- <span class="cline-any cline-no">&nbsp;</span>
2833
- <span class="cline-any cline-no">&nbsp;</span>
2834
- <span class="cline-any cline-no">&nbsp;</span>
2835
- <span class="cline-any cline-no">&nbsp;</span>
2836
- <span class="cline-any cline-no">&nbsp;</span>
2837
- <span class="cline-any cline-no">&nbsp;</span>
2838
- <span class="cline-any cline-yes">24x</span>
2839
- <span class="cline-any cline-yes">24x</span>
2840
- <span class="cline-any cline-yes">24x</span>
2841
- <span class="cline-any cline-yes">24x</span>
2842
- <span class="cline-any cline-yes">6x</span>
2843
- <span class="cline-any cline-yes">6x</span>
2844
- <span class="cline-any cline-no">&nbsp;</span>
2845
- <span class="cline-any cline-no">&nbsp;</span>
2846
- <span class="cline-any cline-no">&nbsp;</span>
2847
- <span class="cline-any cline-no">&nbsp;</span>
2848
- <span class="cline-any cline-no">&nbsp;</span>
2849
- <span class="cline-any cline-no">&nbsp;</span>
2850
- <span class="cline-any cline-yes">6x</span>
2851
- <span class="cline-any cline-yes">10x</span>
2852
- <span class="cline-any cline-yes">10x</span>
2853
- <span class="cline-any cline-yes">10x</span>
2854
- <span class="cline-any cline-yes">10x</span>
2855
- <span class="cline-any cline-yes">10x</span>
2856
- <span class="cline-any cline-yes">6x</span>
2857
- <span class="cline-any cline-yes">6x</span>
2858
- <span class="cline-any cline-yes">24x</span>
2859
- <span class="cline-any cline-no">&nbsp;</span>
2860
- <span class="cline-any cline-no">&nbsp;</span>
2861
- <span class="cline-any cline-yes">24x</span>
2862
- <span class="cline-any cline-yes">6x</span>
2863
- <span class="cline-any cline-yes">6x</span>
2864
- <span class="cline-any cline-yes">24x</span>
2865
- <span class="cline-any cline-no">&nbsp;</span>
2866
- <span class="cline-any cline-no">&nbsp;</span>
2867
- <span class="cline-any cline-yes">6x</span>
2868
- <span class="cline-any cline-yes">6x</span>
2869
- <span class="cline-any cline-yes">6x</span>
2870
- <span class="cline-any cline-no">&nbsp;</span>
2871
- <span class="cline-any cline-no">&nbsp;</span>
2872
- <span class="cline-any cline-no">&nbsp;</span>
2873
- <span class="cline-any cline-no">&nbsp;</span>
2874
- <span class="cline-any cline-no">&nbsp;</span>
2875
- <span class="cline-any cline-no">&nbsp;</span>
2876
- <span class="cline-any cline-no">&nbsp;</span>
2877
- <span class="cline-any cline-no">&nbsp;</span>
2878
- <span class="cline-any cline-no">&nbsp;</span>
2879
- <span class="cline-any cline-no">&nbsp;</span>
2880
- <span class="cline-any cline-no">&nbsp;</span>
2881
- <span class="cline-any cline-no">&nbsp;</span>
2882
- <span class="cline-any cline-yes">6x</span>
2883
- <span class="cline-any cline-yes">10x</span>
2884
- <span class="cline-any cline-yes">10x</span>
2885
- <span class="cline-any cline-no">&nbsp;</span>
2886
- <span class="cline-any cline-no">&nbsp;</span>
2887
- <span class="cline-any cline-no">&nbsp;</span>
2888
- <span class="cline-any cline-no">&nbsp;</span>
2889
- <span class="cline-any cline-no">&nbsp;</span>
2890
- <span class="cline-any cline-no">&nbsp;</span>
2891
- <span class="cline-any cline-no">&nbsp;</span>
2892
- <span class="cline-any cline-no">&nbsp;</span>
2893
- <span class="cline-any cline-no">&nbsp;</span>
2894
- <span class="cline-any cline-no">&nbsp;</span>
2895
- <span class="cline-any cline-no">&nbsp;</span>
2896
- <span class="cline-any cline-no">&nbsp;</span>
2897
- <span class="cline-any cline-no">&nbsp;</span>
2898
- <span class="cline-any cline-no">&nbsp;</span>
2899
- <span class="cline-any cline-no">&nbsp;</span>
2900
- <span class="cline-any cline-no">&nbsp;</span>
2901
- <span class="cline-any cline-yes">10x</span>
2902
- <span class="cline-any cline-yes">10x</span>
2903
- <span class="cline-any cline-yes">10x</span>
2904
- <span class="cline-any cline-yes">10x</span>
2905
- <span class="cline-any cline-yes">10x</span>
2906
- <span class="cline-any cline-yes">10x</span>
2907
- <span class="cline-any cline-yes">10x</span>
2908
- <span class="cline-any cline-yes">10x</span>
2909
- <span class="cline-any cline-yes">10x</span>
2910
- <span class="cline-any cline-yes">10x</span>
2911
- <span class="cline-any cline-yes">10x</span>
2912
- <span class="cline-any cline-yes">10x</span>
2913
- <span class="cline-any cline-yes">10x</span>
2914
- <span class="cline-any cline-yes">10x</span>
2915
- <span class="cline-any cline-yes">10x</span>
2916
- <span class="cline-any cline-yes">10x</span>
2917
- <span class="cline-any cline-yes">10x</span>
2918
- <span class="cline-any cline-yes">10x</span>
2919
- <span class="cline-any cline-yes">10x</span>
2920
- <span class="cline-any cline-yes">10x</span>
2921
- <span class="cline-any cline-yes">10x</span>
2922
- <span class="cline-any cline-yes">10x</span>
2923
- <span class="cline-any cline-yes">10x</span>
2924
- <span class="cline-any cline-yes">10x</span>
2925
- <span class="cline-any cline-yes">10x</span>
2926
- <span class="cline-any cline-yes">10x</span>
2927
- <span class="cline-any cline-yes">10x</span>
2928
- <span class="cline-any cline-yes">10x</span>
2929
- <span class="cline-any cline-yes">10x</span>
2930
- <span class="cline-any cline-yes">10x</span>
2931
- <span class="cline-any cline-yes">10x</span>
2932
- <span class="cline-any cline-yes">10x</span>
2933
- <span class="cline-any cline-yes">10x</span>
2934
- <span class="cline-any cline-yes">10x</span>
2935
- <span class="cline-any cline-yes">10x</span>
2936
- <span class="cline-any cline-yes">10x</span>
2937
- <span class="cline-any cline-yes">10x</span>
2938
- <span class="cline-any cline-yes">10x</span>
2939
- <span class="cline-any cline-yes">10x</span>
2940
- <span class="cline-any cline-yes">10x</span>
2941
- <span class="cline-any cline-yes">10x</span>
2942
- <span class="cline-any cline-yes">10x</span>
2943
- <span class="cline-any cline-yes">10x</span>
2944
- <span class="cline-any cline-yes">10x</span>
2945
- <span class="cline-any cline-yes">10x</span>
2946
- <span class="cline-any cline-yes">10x</span>
2947
- <span class="cline-any cline-yes">10x</span>
2948
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
2949
- import Mongoose = require('mongoose');
2950
- import Express = require('express');
2951
- /* import Mongoose from 'mongoose';
2952
- import Express from 'express'; */
2953
- &nbsp;
2954
- import * as BodyParser from 'body-parser';
2955
- import * as FileSystem from 'fs';
2956
- import * as Http from 'http';
2957
- import * as Https from 'https';
2958
- import * as dotenv from 'dotenv'
2959
- &nbsp;
2960
- /* import { version } from '../../../package.json'; */
2961
- &nbsp;
2962
- import {
2963
- DyFM_AnyError,
2964
- DyFM_Array,
2965
- DyFM_Async,
2966
- DyFM_Error,
2967
- DyFM_error_defaults,
2968
- DyFM_Error_Settings,
2969
- DyFM_ErrorLevel,
2970
- DyFM_Log,
2971
- megabyte,
2972
- second
2973
- } from '@futdevpro/fsm-dynamo';
2974
- &nbsp;
2975
- import { DyNTS_global_settings } from '../../_collections/global-settings.const';
2976
- import { DyNTS_RouteSecurity } from '../../_enums/route-security.enum';
2977
- import { DyNTS_App_Params } from '../../_models/control-models/app-params.control-model';
2978
- import {
2979
- DyNTS_AppSystemControls
2980
- } from '../../_models/control-models/app-system-controls.control-model';
2981
- import {
2982
- DyNTS_Endpoint_Params
2983
- } from '../../_models/control-models/endpoint-params.control-model';
2984
- import { DyNTS_Http_Settings } from '../../_models/control-models/http-settings.control-model';
2985
- import {
2986
- DyNTS_Certification_Settings
2987
- } from '../../_models/interfaces/certification-settings.interface';
2988
- import {
2989
- DyNTS_GlobalService_Settings
2990
- } from '../../_models/interfaces/global-service-settings.interface';
2991
- import { DyNTS_SingletonService } from '../base/singleton.service';
2992
- import { DyNTS_GlobalService } from '../core/global.service';
2993
- import { DyNTS_RoutingModule } from '../route/routing-module.service';
2994
- import { DyNTS_getStarRoute } from '../../_collections/star.controller';
2995
- &nbsp;
2996
- /**
2997
- *
2998
- * function MyDecorator(config: any) {
2999
- return function (target: Function) {
3000
- // attach metadata or modify target
3001
- target.prototype.myMeta = config;
3002
- };
3003
- }
3004
- &nbsp;
3005
- @MyDecorator({ role: 'admin' })
3006
- class User {
3007
- printRole() {
3008
- console.log((this as any).myMeta.role); // → "admin"
3009
- }
3010
- }
3011
- &nbsp;
3012
- */
3013
- &nbsp;
3014
- /**
3015
- * This will be the MAIN service of our server project,
3016
- * follow the types and type instructions while setting up your project
3017
- *
3018
- * In this service, there are abstract functions that you will need to implement,
3019
- * where you need to set up the main params for your application.
3020
- *
3021
- * (after the example, you can find the list of services you can/should setup)
3022
- *
3023
- * @example
3024
- * export class App extends DyNTS_AppExtended {
3025
- *
3026
- * ...
3027
- *
3028
- * // Setting up App params, and preparing project global settings
3029
- * setupAppParams(): void {
3030
- * this.params = new DyNTS_AppParams({
3031
- * name: 'Warbots Server',
3032
- * title: warbotsTitleLog,
3033
- * version: version,
3034
- * dbName: 'warbots',
3035
- * });
3036
- *
3037
- * // dynamoNTS_GlobalSettings.logRequestsContent = false;
3038
- * }
3039
- *
3040
- * ...
3041
- *
3042
- * // Setting up DBServices
3043
- * setGlobalServiceCollection(): void {
3044
- * DyNTS_GlobalService.setServices({
3045
- * authService: AuthService.getInstance(),
3046
- * emailServiceCollection: EmailServiceCollectionService.getInstance(),
3047
- * dbModels: [
3048
- * userModelParams,
3049
- * userDataModelParams,
3050
- * userOptionsModelParams,
3051
- * userStatisticsModelParams,
3052
- * userAchievementsModelParams,
3053
- * userNotificationsModelParams,
3054
- *
3055
- * matchStatisticsModelParams,
3056
- * matchDataModelParams,
3057
- &nbsp;
3058
- * DyFM_usageSession_dataParams,
3059
- * DyFM_customData_dataParams,
3060
- * ]
3061
- * });
3062
- * }
3063
- *
3064
- * ...
3065
- *
3066
- * // Setting up Routes
3067
- * setupRoutingModules(): void {
3068
- * this.httpPort = env.port;
3069
- &nbsp;
3070
- * this.routingModules = [
3071
- * new DyNTS_RoutingModule({
3072
- * route: '/user',
3073
- * controllers: [
3074
- * UserController.getInstance(),
3075
- * UserDataController.getInstance(),
3076
- * UserOptionsController.getInstance(),
3077
- * UserStatisticsController.getInstance(),
3078
- * UserAchievementsController.getInstance(),
3079
- * UserNotificationsController.getInstance()
3080
- * ]
3081
- * }),
3082
- * new DyNTS_RoutingModule({
3083
- * route: '/match',
3084
- * controllers: [
3085
- * MatchController.getInstance(),
3086
- * MatchDistributionController.getInstance(),
3087
- * MatchStatisticsController.getInstance(),
3088
- * ]
3089
- * }),
3090
- * new DyNTS_RoutingModule({
3091
- * route: '/server',
3092
- * controllers: [
3093
- * ServerController.getInstance(),
3094
- * ]
3095
- * }),
3096
- &nbsp;
3097
- * getTestRoutingModule(),
3098
- * getUsageRoutingModule()
3099
- * ];
3100
- * }
3101
- * }
3102
- *
3103
- * //
3104
- * // The Services available
3105
- * //
3106
- * // Authentication Service
3107
- * // A commonly used basic service,
3108
- * // which is necessary fur certain functions (such as registering call issuers)
3109
- * //
3110
- * // This will handle Authentication Token checking/refreshing,
3111
- * // checking issuer's identifier and routeParams,
3112
- * // handling JWT Token, or maybe with OAuth2 or other commonly used security procedures
3113
- * //
3114
- * // You can create one with this Dynamo Object:
3115
- * //
3116
- *
3117
- * @example
3118
- * // follow the instructions on the abstract class (DyNTS_AuthService)
3119
- * export class AuthService extends DyNTS_AuthService {}
3120
- *
3121
- *
3122
- *
3123
- * //
3124
- */
3125
- &nbsp;
3126
- /**
3127
- * This will be the MAIN service of our server project,
3128
- * follow the types and type instructions while setting up your project
3129
- *
3130
- * In this service, there are abstract functions that you will need to implement,
3131
- * where you need to set up the main params for your application.
3132
- *
3133
- * (after the example, you can find the list of services you can/should setup)
3134
- *
3135
- * You need to setup the following functions:
3136
- * ```ts
3137
- * // this is where you set up the main params for your application
3138
- * getAppParams(): DyNTS_AppParams
3139
- *
3140
- * // this is where you connect your main services
3141
- * getGlobalServiceSettings(): DyNTS_GlobalService_Settings
3142
- *
3143
- * // this is where you set up your ports
3144
- * getPorts(): DyNTS_PortSettings
3145
- *
3146
- * // this is where you set up your routes
3147
- * getRoutingModules(): DyNTS_RoutingModule[]
3148
- *
3149
- *
3150
- *
3151
- * ```
3152
- * optionally you can setup the following functions:
3153
- * ```ts
3154
- * // this is where you set up your certifications
3155
- * getCertificationSettings(): DyNTS_CertificationSettings
3156
- *
3157
- * // this is where you set up additional root services
3158
- * getRootServices(): DyNTS_SingletonService[]
3159
- *
3160
- * // this is where you set up your initial db entries
3161
- * createEntries(): void
3162
- *
3163
- * // this is where you can define post setup processes
3164
- * postProcess(): void
3165
- *
3166
- *
3167
- *
3168
- * ```
3169
- *
3170
- */
3171
- export abstract class DyNTS_App extends DyNTS_SingletonService {
3172
- &nbsp;
3173
- protected systemControls: DyNTS_AppSystemControls = new DyNTS_AppSystemControls();
3174
- get started(): boolean {
3175
- return this.systemControls.app.started;
3176
- }
3177
- protected get superStarted(): boolean {
3178
- return this.systemControls.app.started;
3179
- }
3180
- protected constructErrors: (Error | DyFM_Error)[] = [];
3181
-
3182
- /* removed since cant use version from package.json
3183
- private readonly _ntsVersion: string = 'v01.07.18';
3184
- protected get ntsVersion(): string {
3185
- return this._ntsVersion;
3186
- } */
3187
- &nbsp;
3188
- <span class="fstat-no" title="function not covered" > get serverName(): string { </span>
3189
- <span class="cstat-no" title="statement not covered" > return this.params.name; </span>
3190
- <span class="cstat-no" title="statement not covered" > }</span>
3191
- &nbsp;
3192
- private _params: DyNTS_App_Params;
3193
- protected get params(): DyNTS_App_Params {
3194
- return this._params;
3195
- }
3196
-
3197
- protected mongoose = Mongoose;
3198
- &nbsp;
3199
- private _security: DyNTS_RouteSecurity;
3200
- <span class="fstat-no" title="function not covered" > protected get security(): DyNTS_RouteSecurity { </span>
3201
- <span class="cstat-no" title="statement not covered" > return this._security; </span>
3202
- <span class="cstat-no" title="statement not covered" > }</span>
3203
- &nbsp;
3204
- protected _portSettings: DyNTS_Http_Settings = new DyNTS_Http_Settings();
3205
- protected get portSettings(): DyNTS_Http_Settings {
3206
- return this._portSettings;
3207
- }
3208
- &nbsp;
3209
- private _cert?: DyNTS_Certification_Settings;
3210
- <span class="fstat-no" title="function not covered" > protected get cert(): DyNTS_Certification_Settings { </span>
3211
- <span class="cstat-no" title="statement not covered" > return this._cert; </span>
3212
- <span class="cstat-no" title="statement not covered" > }</span>
3213
- &nbsp;
3214
- protected openExpress: Express.Application;
3215
- private secureExpress: Express.Application;
3216
- protected httpsServer: Https.Server;
3217
- protected httpServer: Http.Server;
3218
- &nbsp;
3219
- private globalService: DyNTS_GlobalService;
3220
- private _rootServices: DyNTS_SingletonService[] = [];
3221
- &nbsp;
3222
- private _routingModules: DyNTS_RoutingModule[] = [];
3223
- &nbsp;
3224
- protected readonly defaultReadyTimeout: number = 30 * second;
3225
- &nbsp;
3226
- override readonly defaultErrorUserMsg =
3227
- `We encountered an unhandled Server Error, ` +
3228
- `\nplease contact the responsible development team.` +
3229
- `\n(Internal Server error)`;
3230
- &nbsp;
3231
- get logSetup(): boolean {
3232
- return DyNTS_global_settings.log_settings.setup;
3233
- }
3234
- <span class="fstat-no" title="function not covered" > get deepLog(): boolean {</span>
3235
- <span class="cstat-no" title="statement not covered" > return DyNTS_global_settings.log_settings.deep;</span>
3236
- <span class="cstat-no" title="statement not covered" > }</span>
3237
- get fnLogs(): boolean {
3238
- return DyNTS_global_settings.log_settings.functions;
3239
- }
3240
- debugLog: boolean = DyNTS_global_settings.log_settings.server_debug;
3241
- &nbsp;
3242
- constructor(/* extended?: boolean */){
3243
- super();
3244
-
3245
- /* dotenv.config() */
3246
-
3247
- process.on(
3248
- 'unhandledRejection',
3249
- (reason_theError: object, p_passWhatIsThis_maybeThePromise: any): void =&gt; {
3250
- <span class="cstat-no" title="statement not covered" > if (reason_theError instanceof DyFM_Error) {</span>
3251
- <span class="cstat-no" title="statement not covered" > reason_theError.logSimple('Unhandled Rejection');</span>
3252
- <span class="cstat-no" title="statement not covered" > } else {</span>
3253
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3254
- <span class="cstat-no" title="statement not covered" > 'Unhandled Rejection:', (p_passWhatIsThis_maybeThePromise as Promise&lt;any&gt;)?.toString(), </span>
3255
- <span class="cstat-no" title="statement not covered" > '\n Rejection reason:', (reason_theError as Error)?.stack?.split('at')?.[0],</span>
3256
- <span class="cstat-no" title="statement not covered" > /* '\n ErrorCode:', (reason as any)?.code, */</span>
3257
- <span class="cstat-no" title="statement not covered" > '\n\n Stack:', </span>
3258
- <span class="cstat-no" title="statement not covered" > (reason_theError as Error)?.stack?.replaceAll?.('\n at', '\n at'),</span>
3259
- <span class="cstat-no" title="statement not covered" > );</span>
3260
- <span class="cstat-no" title="statement not covered" > }</span>
3261
- <span class="cstat-no" title="statement not covered" ></span>
3262
- <span class="cstat-no" title="statement not covered" > try {</span>
3263
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(</span>
3264
- <span class="cstat-no" title="statement not covered" > new DyFM_Error({</span>
3265
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-BASE-UR`,</span>
3266
- <span class="cstat-no" title="statement not covered" > message: </span>
3267
- <span class="cstat-no" title="statement not covered" > `Unhandled Rejection!: "${(reason_theError as Error)?.stack?.split('at')?.[0]}"`,</span>
3268
- <span class="cstat-no" title="statement not covered" > userMessage: this.defaultErrorUserMsg,</span>
3269
- <span class="cstat-no" title="statement not covered" > addECToUserMsg: true,</span>
3270
- <span class="cstat-no" title="statement not covered" > error: reason_theError as Error,</span>
3271
- <span class="cstat-no" title="statement not covered" > additionalContent: { </span>
3272
- <span class="cstat-no" title="statement not covered" > reason: reason_theError, </span>
3273
- <span class="cstat-no" title="statement not covered" > rejectedPromise: p_passWhatIsThis_maybeThePromise,</span>
3274
- <span class="cstat-no" title="statement not covered" > },</span>
3275
- <span class="cstat-no" title="statement not covered" > systemVersion: DyNTS_global_settings.systemVersion,</span>
3276
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.critical,</span>
3277
- <span class="cstat-no" title="statement not covered" > })</span>
3278
- <span class="cstat-no" title="statement not covered" > );</span>
3279
- <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
3280
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error('globalErrorHandler (MULTILEVEL) ERROR:', error);</span>
3281
- <span class="cstat-no" title="statement not covered" > }</span>
3282
- <span class="cstat-no" title="statement not covered" > }</span>
3283
- );
3284
- &nbsp;
3285
- this.asyncConstruct(/* extended */).catch((error: any): void =&gt; {
3286
- <span class="cstat-no" title="statement not covered" > if (error instanceof DyFM_Error) {</span>
3287
- <span class="cstat-no" title="statement not covered" > if (error.additionalContent?.constructErrors?.length) {</span>
3288
- <span class="cstat-no" title="statement not covered" > error.additionalContent.constructErrors.forEach((errorItem: DyFM_Error): void =&gt; {</span>
3289
- <span class="cstat-no" title="statement not covered" > DyFM_Error.logSimple('(constructor asyncConstruct.catch) error:', errorItem);</span>
3290
- <span class="cstat-no" title="statement not covered" > /* if (errorItem instanceof DyFM_Error) {</span>
3291
- <span class="cstat-no" title="statement not covered" > errorItem.logSimple(`(constructor asyncConstruct.catch) error:\n`);</span>
3292
- <span class="cstat-no" title="statement not covered" > } else {</span>
3293
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_warn(</span>
3294
- <span class="cstat-no" title="statement not covered" > '(constructor asyncConstruct.catch) additional error content:\n', </span>
3295
- <span class="cstat-no" title="statement not covered" > errorItem</span>
3296
- <span class="cstat-no" title="statement not covered" > );</span>
3297
- <span class="cstat-no" title="statement not covered" > } */</span>
3298
- <span class="cstat-no" title="statement not covered" > });</span>
3299
- <span class="cstat-no" title="statement not covered" > } else {</span>
3300
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_warn(</span>
3301
- <span class="cstat-no" title="statement not covered" > '(constructor asyncConstruct.catch) additional error content:\n', </span>
3302
- <span class="cstat-no" title="statement not covered" > error?.additionalContent</span>
3303
- <span class="cstat-no" title="statement not covered" > );</span>
3304
- <span class="cstat-no" title="statement not covered" > }</span>
3305
- <span class="cstat-no" title="statement not covered" > }</span>
3306
- <span class="cstat-no" title="statement not covered" ></span>
3307
- <span class="cstat-no" title="statement not covered" > DyFM_Error.logSimple('(constructor asyncConstruct.catch) error:', error);</span>
3308
- <span class="cstat-no" title="statement not covered" > /* if (</span>
3309
- <span class="cstat-no" title="statement not covered" > !DyNTS_global_settings.log_settings.highDetailedLogs &amp;&amp;</span>
3310
- <span class="cstat-no" title="statement not covered" > (error instanceof DyFM_Error)</span>
3311
- <span class="cstat-no" title="statement not covered" > ) {</span>
3312
- <span class="cstat-no" title="statement not covered" > error.logSimple(</span>
3313
- <span class="cstat-no" title="statement not covered" > `Application: "${this.params?.name}" start failed. (constructor asyncConstruct.catch)` +</span>
3314
- <span class="cstat-no" title="statement not covered" > '\n all error messages (from this stack):\n\n"' + </span>
3315
- <span class="cstat-no" title="statement not covered" > error._messages.join('"\n\n"') + '"\n\n'</span>
3316
- <span class="cstat-no" title="statement not covered" > );</span>
3317
- <span class="cstat-no" title="statement not covered" > } else if (error instanceof DyFM_Error) {</span>
3318
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3319
- <span class="cstat-no" title="statement not covered" > `Application: "${this.params?.name}" start failed. (constructor asyncConstruct.catch)`,</span>
3320
- <span class="cstat-no" title="statement not covered" > `\n ERROR:`, error</span>
3321
- <span class="cstat-no" title="statement not covered" > );</span>
3322
- <span class="cstat-no" title="statement not covered" > } */</span>
3323
- <span class="cstat-no" title="statement not covered" ></span>
3324
- <span class="cstat-no" title="statement not covered" > const message: string = </span>
3325
- <span class="cstat-no" title="statement not covered" > (error as DyFM_Error)?.additionalContent?.constructErrors?.flatMap(</span>
3326
- <span class="cstat-no" title="statement not covered" > (errorItem: DyFM_Error): string[] =&gt; {</span>
3327
- <span class="cstat-no" title="statement not covered" > return errorItem?._messages ?? [];</span>
3328
- <span class="cstat-no" title="statement not covered" > }</span>
3329
- <span class="cstat-no" title="statement not covered" > )?.join?.('\n') ?? </span>
3330
- <span class="cstat-no" title="statement not covered" > (error as DyFM_Error)?.errors?.flatMap(</span>
3331
- <span class="cstat-no" title="statement not covered" > (errorItem: DyFM_AnyError): string[] =&gt; </span>
3332
- <span class="cstat-no" title="statement not covered" > (errorItem as DyFM_Error)?._messages ?? [ (errorItem as Error)?.message ]</span>
3333
- <span class="cstat-no" title="statement not covered" > )?.join?.('\n') ?? </span>
3334
- <span class="cstat-no" title="statement not covered" > error?.message ?? </span>
3335
- <span class="cstat-no" title="statement not covered" > 'UNKNOWN';</span>
3336
- <span class="cstat-no" title="statement not covered" ></span>
3337
- <span class="cstat-no" title="statement not covered" > DyFM_Log.testError('Application start failed:\n', message);</span>
3338
- <span class="cstat-no" title="statement not covered" ></span>
3339
- <span class="cstat-no" title="statement not covered" > process.exit(1);</span>
3340
- });
3341
- }
3342
- &nbsp;
3343
- protected async asyncConstruct(extended?: boolean): Promise&lt;void&gt; {
3344
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. asyncConstruct');</span>
3345
- &nbsp;
3346
- try {
3347
- this.systemControls.app.init = true;
3348
- this._params = this.getAppParams();
3349
- DyFM_Log.log(
3350
- `\n\n\n\n\n\n\n\n\n\n` +
3351
- `Starting ${this._params?.name}... ` +
3352
- /* `v${version}` + */
3353
- `\n\n\n\n\n\n\n\n\n\n`
3354
- );
3355
- &nbsp;
3356
- if (!this._params) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3357
- <span class="cstat-no" title="statement not covered" > throw new Error('getAppParams() must return a DyNTS_AppParams object!');</span>
3358
- <span class="cstat-no" title="statement not covered" > }</span>
3359
- &nbsp;
3360
- if (this.params.systemShortCodeName) {
3361
- DyNTS_global_settings.systemShortCodeName = this.params.systemShortCodeName;
3362
- }
3363
- &nbsp;
3364
- if (this.params.systemName) {
3365
- DyFM_error_defaults.issuerSystem = this.params.systemName;
3366
- }
3367
- &nbsp;
3368
- if (this.params.version) {
3369
- DyNTS_global_settings.systemVersion = this.params.version;
3370
- DyFM_error_defaults.systemVersion = this.params.version;
3371
- }
3372
-
3373
- process.stdout.write(
3374
- String.fromCharCode(27) + ']0;' +
3375
- this._params?.name +
3376
- String.fromCharCode(7)
3377
- );
3378
- &nbsp;
3379
- DyFM_error_defaults.issuerSystem = this._params.systemName;
3380
-
3381
- this.overrideDynamoNTSGlobalSettings?.();
3382
-
3383
- this.globalService = DyNTS_GlobalService.getInstance();
3384
- await DyNTS_GlobalService.setServices(this.getGlobalServiceCollection());
3385
- DyNTS_GlobalService.setParams(this.params);
3386
- &nbsp;
3387
- if (this.getPortSettings) {
3388
- this._portSettings = this.getPortSettings();
3389
- }
3390
- &nbsp;
3391
- if (this.getCertificationSettings) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3392
- <span class="cstat-no" title="statement not covered" > this._cert = this.getCertificationSettings();</span>
3393
- <span class="cstat-no" title="statement not covered" > }</span>
3394
- &nbsp;
3395
- if (this.getRoutingModules) {
3396
- this._routingModules = this.getRoutingModules();
3397
- &nbsp;
3398
- // ezt egyelőre csak tesztelem, nem kerül be
3399
- /* if (
3400
- !DyNTS_global_settings.dontCreateDefaultRoute &amp;&amp;
3401
- !this._routingModules.some((routingModule: DyNTS_RoutingModule): boolean =&gt; routingModule.route === '/*')
3402
- ) {
3403
- this._routingModules.push(
3404
- DyNTS_getStarRoute()
3405
- );
3406
- } */
3407
- }
3408
- &nbsp;
3409
- if (this._params.dbUri) {
3410
- await this.startDB();
3411
-
3412
- if (this.createEntries) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3413
- <span class="cstat-no" title="statement not covered" > await this.createEntries();</span>
3414
- <span class="cstat-no" title="statement not covered" > }</span>
3415
- }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
3416
- <span class="cstat-no" title="statement not covered" > DyFM_Log.log(</span>
3417
- <span class="cstat-no" title="statement not covered" > `\nNo database connection created.`,</span>
3418
- <span class="cstat-no" title="statement not covered" > );</span>
3419
- <span class="cstat-no" title="statement not covered" > }</span>
3420
-
3421
- if (this._routingModules?.length) {
3422
- if (this.logSetup) <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nsetting up express routes...');</span>
3423
- &nbsp;
3424
- this.setSecurity();
3425
- &nbsp;
3426
- await this.initExpresses();
3427
- await this.startExpresses();
3428
- &nbsp;
3429
- if (this._security !== DyNTS_RouteSecurity.secure) {
3430
- await this.mountOpenRoutes();
3431
- }
3432
- &nbsp;
3433
- if (this._security !== DyNTS_RouteSecurity.open<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this._cert)</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3434
- <span class="cstat-no" title="statement not covered" > await this.mountSecureRoutes();</span>
3435
- <span class="cstat-no" title="statement not covered" > }</span>
3436
- &nbsp;
3437
- if (this.logSetup) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3438
- <span class="cstat-no" title="statement not covered" > DyFM_Log.log(`\nRoutes mounted.... server using security: ${this._security}`);</span>
3439
- <span class="cstat-no" title="statement not covered" > }</span>
3440
- } else {
3441
- DyFM_Log.warn(
3442
- `\nNo routes mounted!`,
3443
- );
3444
- }
3445
- &nbsp;
3446
- if (this.getRootServices) {
3447
- this._rootServices = await this.getRootServices();
3448
- }
3449
-
3450
- if (this.postProcess) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3451
- <span class="cstat-no" title="statement not covered" > await this.postProcess().catch((error: any): void =&gt; {</span>
3452
- <span class="cstat-no" title="statement not covered" > DyFM_Error.logSimple(`"${this._params.name}" postProcess failed:`, error);</span>
3453
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(error);</span>
3454
- <span class="cstat-no" title="statement not covered" > });</span>
3455
- <span class="cstat-no" title="statement not covered" > }</span>
3456
- &nbsp;
3457
- if (!extended) {
3458
- await this.ready();
3459
- &nbsp;
3460
- if (this.params.title) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3461
- <span class="cstat-no" title="statement not covered" > DyFM_Log.success(this.params.title);</span>
3462
- <span class="cstat-no" title="statement not covered" > }</span>
3463
- DyFM_Log.info(`Version: ${this.params.version}`);
3464
- /* DyFM_Log.info(`NTS Version: ${this.ntsVersion}`); */
3465
- DyFM_Log.H_success(`${this.params.name} started successfully.`);
3466
- }
3467
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3468
- <span class="cstat-no" title="statement not covered" > this.constructErrors.push(error);</span>
3469
- <span class="cstat-no" title="statement not covered" ></span>
3470
- <span class="cstat-no" title="statement not covered" > if (this.deepLog) {</span>
3471
- <span class="cstat-no" title="statement not covered" > if (DyNTS_global_settings.log_settings.highDetailedLogs) {</span>
3472
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3473
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed (in asyncConstruct (highDetailedLog)). `,</span>
3474
- <span class="cstat-no" title="statement not covered" > `\n\n construct ERRORS:`, this.constructErrors,</span>
3475
- <span class="cstat-no" title="statement not covered" > '\n\nlast error:', error</span>
3476
- <span class="cstat-no" title="statement not covered" > );</span>
3477
- <span class="cstat-no" title="statement not covered" > } else {</span>
3478
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3479
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed (in asyncConstruct). `,</span>
3480
- <span class="cstat-no" title="statement not covered" > `\n\n construct ERRORS:`, this.getSimplifiedConstructErrors(),</span>
3481
- <span class="cstat-no" title="statement not covered" > '\n\nlast error:', error instanceof DyFM_Error ? error.getErrorSimplified() : error</span>
3482
- <span class="cstat-no" title="statement not covered" > );</span>
3483
- <span class="cstat-no" title="statement not covered" > }</span>
3484
- <span class="cstat-no" title="statement not covered" > }</span>
3485
- <span class="cstat-no" title="statement not covered" ></span>
3486
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3487
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('asyncConstruct', error),</span>
3488
- <span class="cstat-no" title="statement not covered" > </span>
3489
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-001`,</span>
3490
- <span class="cstat-no" title="statement not covered" > additionalContent: {</span>
3491
- <span class="cstat-no" title="statement not covered" > constructErrors: this.constructErrors,</span>
3492
- <span class="cstat-no" title="statement not covered" > systemControls: this.systemControls,</span>
3493
- <span class="cstat-no" title="statement not covered" > systemReadies: {</span>
3494
- <span class="cstat-no" title="statement not covered" > app: this.systemControls.app.getIsReady(),</span>
3495
- <span class="cstat-no" title="statement not covered" > mongoose: this.systemControls.mongoose.getIsReady(),</span>
3496
- <span class="cstat-no" title="statement not covered" > httpServer: this.systemControls.httpServer.getIsReady(),</span>
3497
- <span class="cstat-no" title="statement not covered" > httpsServer: this.systemControls.httpsServer.getIsReady(),</span>
3498
- <span class="cstat-no" title="statement not covered" > },</span>
3499
- <span class="cstat-no" title="statement not covered" > },</span>
3500
- <span class="cstat-no" title="statement not covered" > });</span>
3501
- <span class="cstat-no" title="statement not covered" > }</span>
3502
- }
3503
- &nbsp;
3504
- async ready(timeout: number = this.defaultReadyTimeout): Promise&lt;void&gt; {
3505
- try {
3506
- if (this.fnLogs) <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. ready');</span>
3507
-
3508
- await DyFM_Async.delay(100);
3509
- &nbsp;
3510
- let ready: boolean = false;
3511
- const start: number = +new Date();
3512
- &nbsp;
3513
- if (this.constructErrors.length) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3514
- <span class="cstat-no" title="statement not covered" > if (this.deepLog) {</span>
3515
- <span class="cstat-no" title="statement not covered" > if (DyNTS_global_settings.log_settings.highDetailedLogs) {</span>
3516
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3517
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; constructErrors check 1)`,</span>
3518
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.constructErrors</span>
3519
- <span class="cstat-no" title="statement not covered" > );</span>
3520
- <span class="cstat-no" title="statement not covered" > } else {</span>
3521
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3522
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; constructErrors check 1)`,</span>
3523
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.getSimplifiedConstructErrors(),</span>
3524
- <span class="cstat-no" title="statement not covered" > );</span>
3525
- <span class="cstat-no" title="statement not covered" > }</span>
3526
- <span class="cstat-no" title="statement not covered" > }</span>
3527
- <span class="cstat-no" title="statement not covered" ></span>
3528
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({ </span>
3529
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings(</span>
3530
- <span class="cstat-no" title="statement not covered" > 'ready',</span>
3531
- <span class="cstat-no" title="statement not covered" > new Error(`"${this._params.name}" start failed.`)</span>
3532
- <span class="cstat-no" title="statement not covered" > ),</span>
3533
- <span class="cstat-no" title="statement not covered" ></span>
3534
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-R01`,</span>
3535
- <span class="cstat-no" title="statement not covered" > additionalContent: </span>
3536
- <span class="cstat-no" title="statement not covered" > this.constructErrors.length === 1 ? </span>
3537
- <span class="cstat-no" title="statement not covered" > { error: this.constructErrors[0] } : </span>
3538
- <span class="cstat-no" title="statement not covered" > { errors: this.constructErrors },</span>
3539
- <span class="cstat-no" title="statement not covered" > });</span>
3540
- <span class="cstat-no" title="statement not covered" > }</span>
3541
- &nbsp;
3542
- while (!ready &amp;&amp; +new Date() - start &lt; timeout) {
3543
- if (this.systemControls.app.init) {
3544
- ready = (
3545
- this.systemControls.mongoose.getIsReady() &amp;&amp;
3546
- this.systemControls.httpServer.getIsReady() &amp;&amp;
3547
- this.systemControls.httpsServer.getIsReady()
3548
- );
3549
- }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
3550
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`"${this._params.name}" APP NOT INITIALIZED while trying to get ready.`);</span>
3551
- <span class="cstat-no" title="statement not covered" > }</span>
3552
- &nbsp;
3553
- if (!ready) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3554
- <span class="cstat-no" title="statement not covered" > await DyFM_Async.wait(100);</span>
3555
- <span class="cstat-no" title="statement not covered" > }</span>
3556
- }
3557
- &nbsp;
3558
- if (timeout &lt; +new Date() - start) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3559
- <span class="cstat-no" title="statement not covered" > if (this.deepLog) {</span>
3560
- <span class="cstat-no" title="statement not covered" > if (DyNTS_global_settings.log_settings.highDetailedLogs) {</span>
3561
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3562
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; TIMEOUT check)`,</span>
3563
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.constructErrors</span>
3564
- <span class="cstat-no" title="statement not covered" > );</span>
3565
- <span class="cstat-no" title="statement not covered" > } else {</span>
3566
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3567
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; TIMEOUT check)`, </span>
3568
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.getSimplifiedConstructErrors(),</span>
3569
- <span class="cstat-no" title="statement not covered" > );</span>
3570
- <span class="cstat-no" title="statement not covered" > }</span>
3571
- <span class="cstat-no" title="statement not covered" > }</span>
3572
- <span class="cstat-no" title="statement not covered" ></span>
3573
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3574
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings(</span>
3575
- <span class="cstat-no" title="statement not covered" > 'ready',</span>
3576
- <span class="cstat-no" title="statement not covered" > new Error(`"${this._params.name}" start failed. TIMEOUT`)</span>
3577
- <span class="cstat-no" title="statement not covered" > ),</span>
3578
- <span class="cstat-no" title="statement not covered" ></span>
3579
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-R02`,</span>
3580
- <span class="cstat-no" title="statement not covered" > additionalContent: {</span>
3581
- <span class="cstat-no" title="statement not covered" > constructErrors: this.constructErrors,</span>
3582
- <span class="cstat-no" title="statement not covered" > systemControls: this.systemControls,</span>
3583
- <span class="cstat-no" title="statement not covered" > systemReadies: {</span>
3584
- <span class="cstat-no" title="statement not covered" > mongoose: this.systemControls.mongoose.getIsReady(),</span>
3585
- <span class="cstat-no" title="statement not covered" > httpServer: this.systemControls.httpServer.getIsReady(),</span>
3586
- <span class="cstat-no" title="statement not covered" > httpsServer: this.systemControls.httpsServer.getIsReady(),</span>
3587
- <span class="cstat-no" title="statement not covered" > },</span>
3588
- <span class="cstat-no" title="statement not covered" > },</span>
3589
- <span class="cstat-no" title="statement not covered" > });</span>
3590
- <span class="cstat-no" title="statement not covered" > }</span>
3591
- &nbsp;
3592
- if (this.constructErrors.length) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3593
- <span class="cstat-no" title="statement not covered" > if (this.deepLog) {</span>
3594
- <span class="cstat-no" title="statement not covered" > if (DyNTS_global_settings.log_settings.highDetailedLogs) {</span>
3595
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3596
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; constructErrors check 2)`,</span>
3597
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.constructErrors</span>
3598
- <span class="cstat-no" title="statement not covered" > );</span>
3599
- <span class="cstat-no" title="statement not covered" > } else {</span>
3600
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
3601
- <span class="cstat-no" title="statement not covered" > `"${this._params.name}" start failed. (ready; constructErrors check 2)`,</span>
3602
- <span class="cstat-no" title="statement not covered" > `\n construct ERRORS:`, this.getSimplifiedConstructErrors(),</span>
3603
- <span class="cstat-no" title="statement not covered" > );</span>
3604
- <span class="cstat-no" title="statement not covered" > }</span>
3605
- <span class="cstat-no" title="statement not covered" > }</span>
3606
- <span class="cstat-no" title="statement not covered" > </span>
3607
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3608
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings(</span>
3609
- <span class="cstat-no" title="statement not covered" > 'ready',</span>
3610
- <span class="cstat-no" title="statement not covered" > new Error(`"${this._params.name}" start failed.`)</span>
3611
- <span class="cstat-no" title="statement not covered" > ),</span>
3612
- <span class="cstat-no" title="statement not covered" ></span>
3613
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-R03`,</span>
3614
- <span class="cstat-no" title="statement not covered" > additionalContent: this.constructErrors,</span>
3615
- <span class="cstat-no" title="statement not covered" > });</span>
3616
- <span class="cstat-no" title="statement not covered" > }</span>
3617
- &nbsp;
3618
- if (ready) {
3619
- this.systemControls.app.started = true;
3620
-
3621
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. ready: return');</span>
3622
- &nbsp;
3623
- return;
3624
- }
3625
- <span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span>
3626
- <span class="cstat-no" title="statement not covered" > this.systemControls.app.started = false;</span>
3627
- <span class="cstat-no" title="statement not covered" > </span>
3628
- <span class="cstat-no" title="statement not covered" > let msg: string = `"${this._params.name}" start failed. UNKNOWN`;</span>
3629
- <span class="cstat-no" title="statement not covered" ></span>
3630
- if (this.systemControls.mongoose.init &amp;&amp; !this.systemControls.mongoose.started) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3631
- <span class="cstat-no" title="statement not covered" > msg += `\nMongoose start failed.`;</span>
3632
- <span class="cstat-no" title="statement not covered" > }</span>
3633
- <span class="cstat-no" title="statement not covered" ></span>
3634
- if (this.systemControls.httpServer.init &amp;&amp; !this.systemControls.httpServer.started) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3635
- <span class="cstat-no" title="statement not covered" > msg += `\nHTTP Server start failed.`;</span>
3636
- <span class="cstat-no" title="statement not covered" > }</span>
3637
- <span class="cstat-no" title="statement not covered" ></span>
3638
- if (this.systemControls.httpsServer.init &amp;&amp; !this.systemControls.httpsServer.started) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3639
- <span class="cstat-no" title="statement not covered" > msg += `\nHTTPS Server start failed.`;</span>
3640
- <span class="cstat-no" title="statement not covered" > }</span>
3641
- <span class="cstat-no" title="statement not covered" ></span>
3642
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(msg, this.constructErrors);</span>
3643
- <span class="cstat-no" title="statement not covered" ></span>
3644
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({ </span>
3645
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('ready', new Error(msg)),</span>
3646
- <span class="cstat-no" title="statement not covered" ></span>
3647
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-R04`,</span>
3648
- <span class="cstat-no" title="statement not covered" > additionalContent: {</span>
3649
- <span class="cstat-no" title="statement not covered" > constructErrors: this.constructErrors,</span>
3650
- <span class="cstat-no" title="statement not covered" > systemControls: this.systemControls,</span>
3651
- <span class="cstat-no" title="statement not covered" > systemReadies: {</span>
3652
- <span class="cstat-no" title="statement not covered" > app: this.systemControls.app.getIsReady(),</span>
3653
- <span class="cstat-no" title="statement not covered" > mongoose: this.systemControls.mongoose.getIsReady(),</span>
3654
- <span class="cstat-no" title="statement not covered" > httpServer: this.systemControls.httpServer.getIsReady(),</span>
3655
- <span class="cstat-no" title="statement not covered" > httpsServer: this.systemControls.httpsServer.getIsReady(),</span>
3656
- <span class="cstat-no" title="statement not covered" > },</span>
3657
- <span class="cstat-no" title="statement not covered" > },</span>
3658
- error: this.constructErrors?.[0]<span class="branch-0 cbranch-no" title="branch not covered" > ?? new Error(),</span>
3659
- });
3660
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3661
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3662
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('ready', error),</span>
3663
- <span class="cstat-no" title="statement not covered" > </span>
3664
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-READY0`,</span>
3665
- <span class="cstat-no" title="statement not covered" > });</span>
3666
- <span class="cstat-no" title="statement not covered" > }</span>
3667
- }
3668
- &nbsp;
3669
- protected <span class="fstat-no" title="function not covered" >getSimplifiedConstructErrors(): string[] {</span>
3670
- <span class="cstat-no" title="statement not covered" > return this.constructErrors.map((error: any): any =&gt; {</span>
3671
- <span class="cstat-no" title="statement not covered" > if (error instanceof DyFM_Error) {</span>
3672
- <span class="cstat-no" title="statement not covered" > return error.getErrorSimplified();</span>
3673
- <span class="cstat-no" title="statement not covered" > } else {</span>
3674
- <span class="cstat-no" title="statement not covered" > return error;</span>
3675
- <span class="cstat-no" title="statement not covered" > }</span>
3676
- <span class="cstat-no" title="statement not covered" > });</span>
3677
- <span class="cstat-no" title="statement not covered" > }</span>
3678
- &nbsp;
3679
- async stop(dontLog?: boolean): Promise&lt;void&gt; {
3680
- try {
3681
- DyFM_Log.info('\nstopping server...\n');
3682
- &nbsp;
3683
- await this.ready();
3684
- &nbsp;
3685
- if (this.started) {
3686
- &nbsp;
3687
- if (this.systemControls.mongoose.init) {
3688
- DyFM_Log.info(`\nstopping Mongoose....`);
3689
- &nbsp;
3690
- let tryCount: number = 0;
3691
- &nbsp;
3692
- while (
3693
- !this.systemControls.mongoose.started<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; </span>
3694
- !this.constructErrors.length<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp;</span>
3695
- <span class="cstat-no" title="statement not covered" > tryCount++ &lt; 10</span>
3696
- ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3697
- <span class="cstat-no" title="statement not covered" > DyFM_Log.warn(`Mongoose not even started yet....`);</span>
3698
- <span class="cstat-no" title="statement not covered" > await DyFM_Async.wait(second);</span>
3699
- <span class="cstat-no" title="statement not covered" > }</span>
3700
- this.systemControls.mongoose.started = false;
3701
- &nbsp;
3702
- if (this.mongoose) {
3703
- await DyFM_Array.asyncForEach(
3704
- Object.keys(this.mongoose.models),
3705
- async (modelName): Promise&lt;void&gt; =&gt; {
3706
- this.mongoose.deleteModel(modelName);
3707
- }
3708
- );
3709
- &nbsp;
3710
- const disconnect: Promise&lt;void&gt; = new Promise((resolve): void =&gt; {
3711
- this.mongoose.connection.on('disconnecting', (): void =&gt; {
3712
- resolve();
3713
- });
3714
- });
3715
-
3716
- await this.mongoose.disconnect();
3717
- await this.mongoose.connection.close();
3718
- await disconnect;
3719
- &nbsp;
3720
- this.mongoose.connection.removeAllListeners();
3721
- &nbsp;
3722
- while (
3723
- this.mongoose.connection.readyState !== 0<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; </span>
3724
- <span class="cstat-no" title="statement not covered" > !this.constructErrors.length</span>
3725
- ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3726
- <span class="cstat-no" title="statement not covered" > DyFM_Log.warn(`\nMongoose still not disconnected....`);</span>
3727
- <span class="cstat-no" title="statement not covered" > await DyFM_Async.wait(second);</span>
3728
- <span class="cstat-no" title="statement not covered" > }</span>
3729
- }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
3730
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`\nMongoose not found.`);</span>
3731
- <span class="cstat-no" title="statement not covered" > }</span>
3732
- this.systemControls.mongoose.init = false;
3733
- }
3734
- &nbsp;
3735
- if (this.systemControls.httpServer.init) {
3736
- this.systemControls.httpServer.started = false;
3737
- &nbsp;
3738
- if (this.httpServer) {
3739
- await new Promise((resolve): void =&gt; {
3740
- this.httpServer.close(resolve);
3741
- });
3742
- }<span class="branch-0 cbranch-no" title="branch not covered" > else {</span>
3743
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`\nHTTP Server not found.`);</span>
3744
- <span class="cstat-no" title="statement not covered" > }</span>
3745
- this.systemControls.httpServer.init = false;
3746
- }
3747
- &nbsp;
3748
- if (this.systemControls.httpsServer.init) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3749
- <span class="cstat-no" title="statement not covered" > this.systemControls.httpsServer.started = false;</span>
3750
- <span class="cstat-no" title="statement not covered" ></span>
3751
- <span class="cstat-no" title="statement not covered" > if (this.httpsServer) {</span>
3752
- <span class="cstat-no" title="statement not covered" > await new Promise((resolve): void =&gt; {</span>
3753
- <span class="cstat-no" title="statement not covered" > this.httpsServer.close(resolve);</span>
3754
- <span class="cstat-no" title="statement not covered" > });</span>
3755
- <span class="cstat-no" title="statement not covered" > } else {</span>
3756
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`\nHTTPS Server not found.`);</span>
3757
- <span class="cstat-no" title="statement not covered" > }</span>
3758
- <span class="cstat-no" title="statement not covered" > this.systemControls.httpsServer.init = false;</span>
3759
- <span class="cstat-no" title="statement not covered" > }</span>
3760
- &nbsp;
3761
- await DyFM_Async.wait(second);
3762
- &nbsp;
3763
- if (!dontLog) {
3764
- DyFM_Log.H_log(`"${this._params.name}" stopped successfully.`);
3765
- }
3766
- }
3767
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3768
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3769
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('stop', error),</span>
3770
- <span class="cstat-no" title="statement not covered" > </span>
3771
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-STOP0`,</span>
3772
- <span class="cstat-no" title="statement not covered" > });</span>
3773
- <span class="cstat-no" title="statement not covered" > }</span>
3774
- }
3775
- &nbsp;
3776
- /**
3777
- *
3778
- */
3779
- private async startDB(): Promise&lt;void&gt; {
3780
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. startDB');</span>
3781
- else if (this.logSetup) <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nstarting DB connection...');</span>
3782
- &nbsp;
3783
- if (!this._params.dbUri) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3784
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3785
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', new Error('DB URI is not set.')),</span>
3786
- <span class="cstat-no" title="statement not covered" > </span>
3787
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB0`,</span>
3788
- <span class="cstat-no" title="statement not covered" > });</span>
3789
- <span class="cstat-no" title="statement not covered" > }</span>
3790
- &nbsp;
3791
- if (!this._params.dbOptions) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3792
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3793
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', new Error('DB OPTIONS are not set.')),</span>
3794
- <span class="cstat-no" title="statement not covered" > </span>
3795
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB0`,</span>
3796
- <span class="cstat-no" title="statement not covered" > });</span>
3797
- <span class="cstat-no" title="statement not covered" > }</span>
3798
- &nbsp;
3799
- if (this.systemControls.mongoose.init || this.systemControls.mongoose.started) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3800
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3801
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', new Error('Mongoose is already initialized.')),</span>
3802
- <span class="cstat-no" title="statement not covered" > </span>
3803
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB0`,</span>
3804
- <span class="cstat-no" title="statement not covered" > });</span>
3805
- <span class="cstat-no" title="statement not covered" > }</span>
3806
- &nbsp;
3807
- try {
3808
- await new Promise&lt;void&gt;(
3809
- (resolve, reject): void =&gt; {
3810
- this.systemControls.mongoose.init = true;
3811
- &nbsp;
3812
- this.mongoose.connection
3813
- .once('open', (): void =&gt; {
3814
- this.systemControls.mongoose.started = true;
3815
- DyFM_Log.success(`\nConnected to MongoDB (${this._params.dbUri})\n`);
3816
- &nbsp;
3817
- resolve();
3818
- })
3819
- .on('error', (error): void =&gt; {
3820
- <span class="cstat-no" title="statement not covered" > if (!this.systemControls.mongoose.started) {</span>
3821
- <span class="cstat-no" title="statement not covered" > this.constructErrors.push(error);</span>
3822
- <span class="cstat-no" title="statement not covered" ></span>
3823
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) DyFM_Log.error(</span>
3824
- <span class="cstat-no" title="statement not covered" > `\nUnable to connect to MongoDB server (${this._params.dbUri}), ERROR: `, </span>
3825
- <span class="cstat-no" title="statement not covered" > error</span>
3826
- <span class="cstat-no" title="statement not covered" > );</span>
3827
- <span class="cstat-no" title="statement not covered" ></span>
3828
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
3829
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', error),</span>
3830
- <span class="cstat-no" title="statement not covered" > </span>
3831
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB1`,</span>
3832
- <span class="cstat-no" title="statement not covered" > message: `Unable to start connection to MongoDB server (${this._params.dbUri}), ` +</span>
3833
- <span class="cstat-no" title="statement not covered" > `ERROR: ${error}`,</span>
3834
- <span class="cstat-no" title="statement not covered" > });</span>
3835
- <span class="cstat-no" title="statement not covered" ></span>
3836
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
3837
- <span class="cstat-no" title="statement not covered" ></span>
3838
- <span class="cstat-no" title="statement not covered" > reject(d_error);</span>
3839
- <span class="cstat-no" title="statement not covered" ></span>
3840
- <span class="cstat-no" title="statement not covered" > } else { </span>
3841
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) DyFM_Log.error('\nMongoDB ERROR: ', error);</span>
3842
- <span class="cstat-no" title="statement not covered" ></span>
3843
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
3844
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('mongoose.connection.on(error)', error),</span>
3845
- <span class="cstat-no" title="statement not covered" > </span>
3846
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB2`,</span>
3847
- <span class="cstat-no" title="statement not covered" > message: `MongoDB ERROR: ${error}`,</span>
3848
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.critical,</span>
3849
- <span class="cstat-no" title="statement not covered" > });</span>
3850
- <span class="cstat-no" title="statement not covered" ></span>
3851
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
3852
- <span class="cstat-no" title="statement not covered" > }</span>
3853
- });
3854
- &nbsp;
3855
- try {
3856
- this.mongoose.connect(
3857
- this._params.dbUri,
3858
- this._params.dbOptions
3859
- /* {
3860
- directConnection: true,
3861
- } */
3862
- );
3863
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3864
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3865
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', error),</span>
3866
- <span class="cstat-no" title="statement not covered" > </span>
3867
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB3`,</span>
3868
- <span class="cstat-no" title="statement not covered" > });</span>
3869
- <span class="cstat-no" title="statement not covered" > }</span>
3870
- }
3871
- );
3872
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3873
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3874
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startDB', error),</span>
3875
- <span class="cstat-no" title="statement not covered" > </span>
3876
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SDB0`,</span>
3877
- <span class="cstat-no" title="statement not covered" > });</span>
3878
- <span class="cstat-no" title="statement not covered" > }</span>
3879
- }
3880
- &nbsp;
3881
- /**
3882
- *
3883
- */
3884
- private async initExpresses(): Promise&lt;void&gt; {
3885
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. initExpresses');</span>
3886
- &nbsp;
3887
- try {
3888
- if (this._security &amp;&amp; this._security !== DyNTS_RouteSecurity.secure) {
3889
- if (!this._portSettings.httpPort) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3890
- <span class="cstat-no" title="statement not covered" > let errorMsg: string =</span>
3891
- <span class="cstat-no" title="statement not covered" > `\nYou have open routes, but httpPort is not set!` +</span>
3892
- <span class="cstat-no" title="statement not covered" > `\nThere are ${this._routingModules.filter(</span>
3893
- <span class="cstat-no" title="statement not covered" > m =&gt; m.security != DyNTS_RouteSecurity.secure</span>
3894
- <span class="cstat-no" title="statement not covered" > ).length} open/both routes` +</span>
3895
- <span class="cstat-no" title="statement not covered" > `\nroot security: ${this._security}` +</span>
3896
- <span class="cstat-no" title="statement not covered" > `\nset httpPort in DynamoBEServer - setupRoutingModules() to enable secure routes.`;</span>
3897
- <span class="cstat-no" title="statement not covered" > </span>
3898
- <span class="cstat-no" title="statement not covered" > errorMsg += '\n\nThe routes setted to use open server:';</span>
3899
- <span class="cstat-no" title="statement not covered" > this._routingModules.forEach((module: DyNTS_RoutingModule): void =&gt; {</span>
3900
- <span class="cstat-no" title="statement not covered" > if (module.security != DyNTS_RouteSecurity.secure) {</span>
3901
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n ${module.route} (security: ${module.security})`;</span>
3902
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n subroutes using open sever:`;</span>
3903
- <span class="cstat-no" title="statement not covered" > module.endpoints.forEach((endpoint: DyNTS_Endpoint_Params): void =&gt; {</span>
3904
- <span class="cstat-no" title="statement not covered" > if (endpoint.security != DyNTS_RouteSecurity.secure) {</span>
3905
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;</span>
3906
- <span class="cstat-no" title="statement not covered" > }</span>
3907
- <span class="cstat-no" title="statement not covered" > });</span>
3908
- <span class="cstat-no" title="statement not covered" > }</span>
3909
- <span class="cstat-no" title="statement not covered" > });</span>
3910
- <span class="cstat-no" title="statement not covered" ></span>
3911
- <span class="cstat-no" title="statement not covered" > const error = new Error(`Open routes cannot be established!\n${errorMsg}`);</span>
3912
- <span class="cstat-no" title="statement not covered" > const errorStack: string[] = error.stack.split('\n');</span>
3913
- <span class="cstat-no" title="statement not covered" ></span>
3914
- <span class="cstat-no" title="statement not covered" > errorStack.splice(1, 2);</span>
3915
- <span class="cstat-no" title="statement not covered" > error.stack = errorStack.join('\n');</span>
3916
- <span class="cstat-no" title="statement not covered" ></span>
3917
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(errorMsg);</span>
3918
- <span class="cstat-no" title="statement not covered" ></span>
3919
- <span class="cstat-no" title="statement not covered" > throw error;</span>
3920
- <span class="cstat-no" title="statement not covered" > }</span>
3921
- &nbsp;
3922
- await this.initOpenExpress();
3923
- }
3924
- &nbsp;
3925
- if (this._security &amp;&amp; this._security !== DyNTS_RouteSecurity.open) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
3926
- <span class="cstat-no" title="statement not covered" > if (!this._cert || !this._portSettings.httpsPort) {</span>
3927
- <span class="cstat-no" title="statement not covered" > let errorMsg: string =</span>
3928
- <span class="cstat-no" title="statement not covered" > `\nYou have secure routes, but the certification paths or httpsPort are not set!` +</span>
3929
- <span class="cstat-no" title="statement not covered" > `\nThere are ${this._routingModules.filter(</span>
3930
- <span class="cstat-no" title="statement not covered" > m =&gt; m.security &amp;&amp; m.security !== DyNTS_RouteSecurity.open</span>
3931
- <span class="cstat-no" title="statement not covered" > ).length} secure routes` +</span>
3932
- <span class="cstat-no" title="statement not covered" > `\nroot security: ${this._security}` +</span>
3933
- <span class="cstat-no" title="statement not covered" > `\nset...` +</span>
3934
- <span class="cstat-no" title="statement not covered" > `\n(missing exact howto...)` +</span>
3935
- <span class="cstat-no" title="statement not covered" > /* `\n httpsPort and` +</span>
3936
- <span class="cstat-no" title="statement not covered" > `\n cert: {` +</span>
3937
- <span class="cstat-no" title="statement not covered" > `\n keyPath: FileSystem.PathLike,` +</span>
3938
- <span class="cstat-no" title="statement not covered" > `\n certPath: FileSystem.PathLike,` +</span>
3939
- <span class="cstat-no" title="statement not covered" > `\n }` + */</span>
3940
- <span class="cstat-no" title="statement not covered" > `\nin DynamoBEServer - getRoutingModules() to enable secure routes.`; </span>
3941
- <span class="cstat-no" title="statement not covered" ></span>
3942
- <span class="cstat-no" title="statement not covered" > errorMsg += '\n\nThe routes setted to use secure server:';</span>
3943
- <span class="cstat-no" title="statement not covered" > this._routingModules.forEach((module: DyNTS_RoutingModule): void =&gt; {</span>
3944
- <span class="cstat-no" title="statement not covered" > if (module.security &amp;&amp; module.security !== DyNTS_RouteSecurity.open) {</span>
3945
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n ${module.route} (security: ${module.security})`;</span>
3946
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n location: ${module.stackLocation}`;</span>
3947
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n subroutes using secure sever:`;</span>
3948
- <span class="cstat-no" title="statement not covered" > module.endpoints.forEach((endpoint: DyNTS_Endpoint_Params): void =&gt; {</span>
3949
- <span class="cstat-no" title="statement not covered" > if (endpoint.security &amp;&amp; endpoint.security !== DyNTS_RouteSecurity.open) {</span>
3950
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n ${endpoint.endpoint} (security: ${endpoint.security})`;</span>
3951
- <span class="cstat-no" title="statement not covered" > errorMsg += `\n location: ${endpoint.stackLocation}`;</span>
3952
- <span class="cstat-no" title="statement not covered" > }</span>
3953
- <span class="cstat-no" title="statement not covered" > });</span>
3954
- <span class="cstat-no" title="statement not covered" > }</span>
3955
- <span class="cstat-no" title="statement not covered" > });</span>
3956
- <span class="cstat-no" title="statement not covered" ></span>
3957
- <span class="cstat-no" title="statement not covered" > const error = new Error(`Secure routes cannot be established!\n${errorMsg}`);</span>
3958
- <span class="cstat-no" title="statement not covered" > const errorStack: string[] = error.stack.split('\n');</span>
3959
- <span class="cstat-no" title="statement not covered" ></span>
3960
- <span class="cstat-no" title="statement not covered" > errorStack.splice(1, 2);</span>
3961
- <span class="cstat-no" title="statement not covered" > error.stack = errorStack.join('\n');</span>
3962
- <span class="cstat-no" title="statement not covered" ></span>
3963
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(errorMsg);</span>
3964
- <span class="cstat-no" title="statement not covered" ></span>
3965
- <span class="cstat-no" title="statement not covered" > throw error;</span>
3966
- <span class="cstat-no" title="statement not covered" > }</span>
3967
- <span class="cstat-no" title="statement not covered" ></span>
3968
- <span class="cstat-no" title="statement not covered" > await this.initSecureExpress();</span>
3969
- <span class="cstat-no" title="statement not covered" > }</span>
3970
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
3971
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
3972
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('initExpresses', error),</span>
3973
- <span class="cstat-no" title="statement not covered" > </span>
3974
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-IE0`,</span>
3975
- <span class="cstat-no" title="statement not covered" > });</span>
3976
- <span class="cstat-no" title="statement not covered" > }</span>
3977
- }
3978
- &nbsp;
3979
- /**
3980
- *
3981
- */
3982
- protected async initOpenExpress(): Promise&lt;void&gt; {
3983
- if (this.fnLogs) <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. initOpenExpress');</span>
3984
- this.openExpress = Express();
3985
- this.openExpress.set('maxHeaderSize', 10 * megabyte); // 1024 * 1024 * 10, // 10MB
3986
- this.openExpress.use(BodyParser.urlencoded(this._portSettings.httpUrlencoded));
3987
- this.openExpress.use(BodyParser.json(this._portSettings.httpJson));
3988
- }
3989
- &nbsp;
3990
- /**
3991
- *
3992
- */
3993
- protected <span class="fstat-no" title="function not covered" >async initSecureExpress(): Promise&lt;void&gt; {</span>
3994
- <span class="cstat-no" title="statement not covered" > if (this.fnLogs) DyFM_Log.log('\nfn:. initSecureExpress');</span>
3995
- <span class="cstat-no" title="statement not covered" > this.secureExpress = Express(); </span>
3996
- <span class="cstat-no" title="statement not covered" > this.secureExpress.use(BodyParser.urlencoded(this._portSettings.httpsUrlencoded));</span>
3997
- <span class="cstat-no" title="statement not covered" > this.secureExpress.use(BodyParser.json(this._portSettings.httpsJson));</span>
3998
- <span class="cstat-no" title="statement not covered" ></span>
3999
- <span class="cstat-no" title="statement not covered" > const options = {</span>
4000
- <span class="cstat-no" title="statement not covered" > key: FileSystem.readFileSync(this._cert.keyPath),</span>
4001
- <span class="cstat-no" title="statement not covered" > cert: FileSystem.readFileSync(this._cert.certPath),</span>
4002
- <span class="cstat-no" title="statement not covered" > maxHeaderSize: 10 * megabyte, // 1024 * 1024 * 10, // 10MB</span>
4003
- <span class="cstat-no" title="statement not covered" > };</span>
4004
- <span class="cstat-no" title="statement not covered" ></span>
4005
- <span class="cstat-no" title="statement not covered" > this.httpsServer = Https.createServer(options, this.secureExpress);</span>
4006
- <span class="cstat-no" title="statement not covered" > }</span>
4007
- &nbsp;
4008
- /**
4009
- *
4010
- */
4011
- private async startExpresses(): Promise&lt;void&gt; {
4012
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. startExpresses');</span>
4013
- &nbsp;
4014
- try {
4015
- if (this._security &amp;&amp; this._security !== DyNTS_RouteSecurity.open) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4016
- <span class="cstat-no" title="statement not covered" > await new Promise&lt;void&gt;(<span class="fstat-no" title="function not covered" >(resolve, reject): void =&gt; {</span></span>
4017
- <span class="cstat-no" title="statement not covered" > this.systemControls.httpsServer.init = true;</span>
4018
- <span class="cstat-no" title="statement not covered" > this.httpsServer</span>
4019
- <span class="cstat-no" title="statement not covered" > .listen(</span>
4020
- <span class="cstat-no" title="statement not covered" > this._portSettings.httpsPort, </span>
4021
- <span class="cstat-no" title="statement not covered" > this.params.secureHost, </span>
4022
- <span class="cstat-no" title="statement not covered" > this.params.expressBacklog, </span>
4023
- <span class="cstat-no" title="statement not covered" > (): void =&gt; {</span>
4024
- <span class="cstat-no" title="statement not covered" > this.systemControls.httpsServer.started = true;</span>
4025
- <span class="cstat-no" title="statement not covered" > DyFM_Log.success(</span>
4026
- <span class="cstat-no" title="statement not covered" > `\nHTTPS (secure) server is listening on port: ` +</span>
4027
- <span class="cstat-no" title="statement not covered" > `${this.params.secureHost}:${this._portSettings.httpsPort}`</span>
4028
- <span class="cstat-no" title="statement not covered" > );</span>
4029
- <span class="cstat-no" title="statement not covered" ></span>
4030
- <span class="cstat-no" title="statement not covered" > resolve();</span>
4031
- <span class="cstat-no" title="statement not covered" > })</span>
4032
- <span class="cstat-no" title="statement not covered" > .on('error', (error): void =&gt; {</span>
4033
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) DyFM_Log.error(`\nHTTPS (secure) server ERROR`, error);</span>
4034
- <span class="cstat-no" title="statement not covered" > </span>
4035
- <span class="cstat-no" title="statement not covered" > if (!this.systemControls.httpsServer.started) {</span>
4036
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4037
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startExpresses', error),</span>
4038
- <span class="cstat-no" title="statement not covered" ></span>
4039
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE1`,</span>
4040
- <span class="cstat-no" title="statement not covered" > message: `HTTPS (secure) start server ERROR`,</span>
4041
- <span class="cstat-no" title="statement not covered" > });</span>
4042
- <span class="cstat-no" title="statement not covered" ></span>
4043
- <span class="cstat-no" title="statement not covered" > this.constructErrors.push(d_error);</span>
4044
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4045
- <span class="cstat-no" title="statement not covered" ></span>
4046
- <span class="cstat-no" title="statement not covered" > reject(d_error);</span>
4047
- <span class="cstat-no" title="statement not covered" ></span>
4048
- <span class="cstat-no" title="statement not covered" > } else {</span>
4049
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4050
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('httpsServer.on(error)', error),</span>
4051
- <span class="cstat-no" title="statement not covered" ></span>
4052
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE2`,</span>
4053
- <span class="cstat-no" title="statement not covered" > message: `HTTPS (secure) server ERROR`,</span>
4054
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.serious,</span>
4055
- <span class="cstat-no" title="statement not covered" > });</span>
4056
- <span class="cstat-no" title="statement not covered" ></span>
4057
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4058
- <span class="cstat-no" title="statement not covered" > }</span>
4059
- <span class="cstat-no" title="statement not covered" > })</span>
4060
- <span class="cstat-no" title="statement not covered" > .on('uncaughtException', (exception): void =&gt; {</span>
4061
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4062
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('httpsServer.on(uncaughtException)', exception),</span>
4063
- <span class="cstat-no" title="statement not covered" ></span>
4064
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE3`,</span>
4065
- <span class="cstat-no" title="statement not covered" > message: `HTTPS (secure) server uncaughtException`,</span>
4066
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.critical,</span>
4067
- <span class="cstat-no" title="statement not covered" > });</span>
4068
- <span class="cstat-no" title="statement not covered" ></span>
4069
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) DyFM_Log.warn(</span>
4070
- <span class="cstat-no" title="statement not covered" > `\nHTTPS (secure) server uncaughtException`, </span>
4071
- <span class="cstat-no" title="statement not covered" > d_error</span>
4072
- <span class="cstat-no" title="statement not covered" > );</span>
4073
- <span class="cstat-no" title="statement not covered" ></span>
4074
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4075
- <span class="cstat-no" title="statement not covered" > });</span>
4076
- <span class="cstat-no" title="statement not covered" > });</span>
4077
- <span class="cstat-no" title="statement not covered" > }</span>
4078
- &nbsp;
4079
- if (this._security &amp;&amp; this._security !== DyNTS_RouteSecurity.secure) {
4080
- this.systemControls.httpServer.init = true;
4081
- await new Promise&lt;void&gt;((resolve, reject): void =&gt; {
4082
- this.httpServer = this.openExpress
4083
- .listen(
4084
- this._portSettings.httpPort,
4085
- this.params.openHost,
4086
- this.params.expressBacklog,
4087
- (): void =&gt; {
4088
- this.systemControls.httpServer.started = true;
4089
- DyFM_Log.success(
4090
- `\nHTTP (open) server is listening on port: ` +
4091
- `${this.params.openHost}:${this._portSettings.httpPort}`
4092
- );
4093
- &nbsp;
4094
- resolve();
4095
- }
4096
- )
4097
- .on('error', (error): void =&gt; {
4098
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) DyFM_Log.error(`\nHTTP (open) server ERROR`, error);</span>
4099
- <span class="cstat-no" title="statement not covered" ></span>
4100
- <span class="cstat-no" title="statement not covered" > if (!this.systemControls.httpServer.started) {</span>
4101
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4102
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startExpresses', error),</span>
4103
- <span class="cstat-no" title="statement not covered" ></span>
4104
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE3`,</span>
4105
- <span class="cstat-no" title="statement not covered" > message: `HTTP (open) start server ERROR`,</span>
4106
- <span class="cstat-no" title="statement not covered" > });</span>
4107
- <span class="cstat-no" title="statement not covered" > </span>
4108
- <span class="cstat-no" title="statement not covered" > this.constructErrors.push(d_error);</span>
4109
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4110
- <span class="cstat-no" title="statement not covered" ></span>
4111
- <span class="cstat-no" title="statement not covered" > reject(d_error);</span>
4112
- <span class="cstat-no" title="statement not covered" ></span>
4113
- <span class="cstat-no" title="statement not covered" > } else {</span>
4114
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4115
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('httpServer.on(error)', error),</span>
4116
- <span class="cstat-no" title="statement not covered" ></span>
4117
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE4`,</span>
4118
- <span class="cstat-no" title="statement not covered" > message: `HTTP (open) server ERROR`,</span>
4119
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.serious,</span>
4120
- <span class="cstat-no" title="statement not covered" > });</span>
4121
- <span class="cstat-no" title="statement not covered" ></span>
4122
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4123
- <span class="cstat-no" title="statement not covered" > }</span>
4124
- })
4125
- .on('uncaughtException', (exception): void =&gt; {
4126
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4127
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('httpServer.on(uncaughtException)', exception),</span>
4128
- <span class="cstat-no" title="statement not covered" ></span>
4129
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE5`,</span>
4130
- <span class="cstat-no" title="statement not covered" > message: `HTTP (open) server uncaughtException`,</span>
4131
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.critical,</span>
4132
- <span class="cstat-no" title="statement not covered" > });</span>
4133
- <span class="cstat-no" title="statement not covered" ></span>
4134
- <span class="cstat-no" title="statement not covered" > if (this.debugLog) {</span>
4135
- <span class="cstat-no" title="statement not covered" > DyFM_Log.warn(`\nHTTP (open) server uncaughtException`, d_error);</span>
4136
- <span class="cstat-no" title="statement not covered" > }</span>
4137
- <span class="cstat-no" title="statement not covered" ></span>
4138
- <span class="cstat-no" title="statement not covered" > DyNTS_GlobalService.globalErrorHandler?.(d_error);</span>
4139
- });
4140
- });
4141
- }
4142
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
4143
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
4144
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('startExpresses', error),</span>
4145
- <span class="cstat-no" title="statement not covered" > </span>
4146
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-SE0`,</span>
4147
- <span class="cstat-no" title="statement not covered" > });</span>
4148
- <span class="cstat-no" title="statement not covered" > }</span>
4149
- }
4150
- &nbsp;
4151
- /**
4152
- *
4153
- */
4154
- private <span class="fstat-no" title="function not covered" >async expressErrorHandling(error, req, res, next): Promise&lt;void&gt; {</span>
4155
- <span class="cstat-no" title="statement not covered" > try {</span>
4156
- <span class="cstat-no" title="statement not covered" > if (error) {</span>
4157
- <span class="cstat-no" title="statement not covered" > const d_error: DyFM_Error = new DyFM_Error({</span>
4158
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('expressErrorHandling', error),</span>
4159
- <span class="cstat-no" title="statement not covered" ></span>
4160
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-EEH1`,</span>
4161
- <span class="cstat-no" title="statement not covered" > message: `Express ERROR`,</span>
4162
- <span class="cstat-no" title="statement not covered" > additionalContent: {</span>
4163
- <span class="cstat-no" title="statement not covered" > req,</span>
4164
- <span class="cstat-no" title="statement not covered" > res,</span>
4165
- <span class="cstat-no" title="statement not covered" > },</span>
4166
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.error,</span>
4167
- <span class="cstat-no" title="statement not covered" > });</span>
4168
- <span class="cstat-no" title="statement not covered" ></span>
4169
- <span class="cstat-no" title="statement not covered" > await DyNTS_GlobalService.globalErrorHandler?.(d_error, req, res);</span>
4170
- <span class="cstat-no" title="statement not covered" ></span>
4171
- <span class="cstat-no" title="statement not covered" > } else {</span>
4172
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
4173
- <span class="cstat-no" title="statement not covered" > 'WTF??? express error; without error?...' + </span>
4174
- <span class="cstat-no" title="statement not covered" > '\nerr:', error,</span>
4175
- <span class="cstat-no" title="statement not covered" > '\nreq:', req,</span>
4176
- <span class="cstat-no" title="statement not covered" > '\nres:', res</span>
4177
- <span class="cstat-no" title="statement not covered" > );</span>
4178
- <span class="cstat-no" title="statement not covered" > }</span>
4179
- <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
4180
- <span class="cstat-no" title="statement not covered" > DyFM_Log.H_error(</span>
4181
- <span class="cstat-no" title="statement not covered" > 'MULTILEVEL ERROR (expressErrorHandling)....' +</span>
4182
- <span class="cstat-no" title="statement not covered" > '\n', error</span>
4183
- <span class="cstat-no" title="statement not covered" > );</span>
4184
- <span class="cstat-no" title="statement not covered" > }</span>
4185
- <span class="cstat-no" title="statement not covered" > }</span>
4186
- &nbsp;
4187
- /**
4188
- *
4189
- */
4190
- private <span class="fstat-no" title="function not covered" >async mountSecureRoutes (): Promise&lt;void&gt; {</span>
4191
- <span class="cstat-no" title="statement not covered" > try {</span>
4192
- <span class="cstat-no" title="statement not covered" > if (this.fnLogs &amp;&amp; this.deepLog) DyFM_Log.log('\nfn:. mountSecureRoutes');</span>
4193
- <span class="cstat-no" title="statement not covered" > </span>
4194
- <span class="cstat-no" title="statement not covered" > this.openExpress.use(</span>
4195
- <span class="cstat-no" title="statement not covered" > (error, req, res, next): Promise&lt;void&gt; =&gt; this.expressErrorHandling(error, req, res, next)</span>
4196
- <span class="cstat-no" title="statement not covered" > );</span>
4197
- <span class="cstat-no" title="statement not covered" ></span>
4198
- <span class="cstat-no" title="statement not covered" > await DyFM_Array.asyncForEach(</span>
4199
- <span class="cstat-no" title="statement not covered" > this._routingModules, </span>
4200
- <span class="cstat-no" title="statement not covered" > async (module: DyNTS_RoutingModule): Promise&lt;void&gt; =&gt; {</span>
4201
- <span class="cstat-no" title="statement not covered" > if (module.security !== DyNTS_RouteSecurity.open) {</span>
4202
- <span class="cstat-no" title="statement not covered" > if (this.logSetup) { </span>
4203
- <span class="cstat-no" title="statement not covered" > DyFM_Log.log(`route mount (secure): ${module.route}`);</span>
4204
- <span class="cstat-no" title="statement not covered" > }</span>
4205
- <span class="cstat-no" title="statement not covered" > </span>
4206
- <span class="cstat-no" title="statement not covered" > const existingRoutes: DyNTS_RoutingModule[] = this._routingModules.filter(</span>
4207
- <span class="cstat-no" title="statement not covered" > (mod: DyNTS_RoutingModule): boolean =&gt; mod.route === module.route</span>
4208
- <span class="cstat-no" title="statement not covered" > );</span>
4209
- <span class="cstat-no" title="statement not covered" ></span>
4210
- <span class="cstat-no" title="statement not covered" > if (1 &lt; existingRoutes.length) {</span>
4211
- <span class="cstat-no" title="statement not covered" > const error: Error = new Error(`ROUTE DUPLICATION: ${module.route}`);</span>
4212
- <span class="cstat-no" title="statement not covered" > const errorStack: string[] = error.stack.split('\n');</span>
4213
- <span class="cstat-no" title="statement not covered" ></span>
4214
- <span class="cstat-no" title="statement not covered" > errorStack.splice(1, 4);</span>
4215
- <span class="cstat-no" title="statement not covered" > error.stack = errorStack.join('\n');</span>
4216
- <span class="cstat-no" title="statement not covered" > </span>
4217
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`ROUTE DUPLICATION: ${module.route}`, error);</span>
4218
- <span class="cstat-no" title="statement not covered" ></span>
4219
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
4220
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('mountSecureRoutes', error),</span>
4221
- <span class="cstat-no" title="statement not covered" ></span>
4222
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-MSR1`,</span>
4223
- <span class="cstat-no" title="statement not covered" > message: `ROUTE DUPLICATION: ${module.route}`,</span>
4224
- <span class="cstat-no" title="statement not covered" > });</span>
4225
- <span class="cstat-no" title="statement not covered" > }</span>
4226
- <span class="cstat-no" title="statement not covered" ></span>
4227
- <span class="cstat-no" title="statement not covered" > this.secureExpress.use(module.route, module.secureRouter);</span>
4228
- <span class="cstat-no" title="statement not covered" > }</span>
4229
- <span class="cstat-no" title="statement not covered" > }</span>
4230
- <span class="cstat-no" title="statement not covered" > );</span>
4231
- <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
4232
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
4233
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('mountSecureRoutes', error),</span>
4234
- <span class="cstat-no" title="statement not covered" ></span>
4235
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-MSR0`,</span>
4236
- <span class="cstat-no" title="statement not covered" > });</span>
4237
- <span class="cstat-no" title="statement not covered" > }</span>
4238
- <span class="cstat-no" title="statement not covered" > }</span>
4239
- &nbsp;
4240
- /**
4241
- *
4242
- */
4243
- private async mountOpenRoutes(): Promise&lt;void&gt; {
4244
- try {
4245
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. mountOpenRoutes');</span>
4246
-
4247
- this.openExpress.use(
4248
- (error, req, res, next): Promise&lt;void&gt; =&gt; this.expressErrorHandling(error, req, res, next)
4249
- );
4250
-
4251
- await DyFM_Array.asyncForEach(
4252
- this._routingModules,
4253
- async (module: DyNTS_RoutingModule): Promise&lt;void&gt; =&gt; {
4254
- if (module.security !== DyNTS_RouteSecurity.secure) {
4255
- if (this.logSetup) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4256
- <span class="cstat-no" title="statement not covered" > DyFM_Log.log(`route mount (open): ${module.route}`);</span>
4257
- <span class="cstat-no" title="statement not covered" > }</span>
4258
-
4259
- const existingRoutes: DyNTS_RoutingModule[] = this._routingModules.filter(
4260
- (mod: DyNTS_RoutingModule): boolean =&gt; mod.route === module.route
4261
- );
4262
-
4263
- if (1 &lt; existingRoutes.length) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4264
- <span class="cstat-no" title="statement not covered" > const error: Error = new Error(`ROUTE DUPLICATION: ${module.route}`);</span>
4265
- <span class="cstat-no" title="statement not covered" > const errorStack: string[] = error.stack.split('\n');</span>
4266
- <span class="cstat-no" title="statement not covered" > </span>
4267
- <span class="cstat-no" title="statement not covered" > errorStack.splice(1, 4);</span>
4268
- <span class="cstat-no" title="statement not covered" > error.stack = errorStack.join('\n');</span>
4269
- <span class="cstat-no" title="statement not covered" > </span>
4270
- <span class="cstat-no" title="statement not covered" > DyFM_Log.error(`ROUTE DUPLICATION: ${module.route}`, error);</span>
4271
- <span class="cstat-no" title="statement not covered" > </span>
4272
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
4273
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('mountOpenRoutes', error),</span>
4274
- <span class="cstat-no" title="statement not covered" > </span>
4275
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-MOR1`,</span>
4276
- <span class="cstat-no" title="statement not covered" > message: `ROUTE DUPLICATION: ${module.route}`,</span>
4277
- <span class="cstat-no" title="statement not covered" > });</span>
4278
- <span class="cstat-no" title="statement not covered" > }</span>
4279
-
4280
- this.openExpress.use(module.route, module.openRouter);
4281
- }
4282
- }
4283
- );
4284
- } <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
4285
- <span class="cstat-no" title="statement not covered" > throw new DyFM_Error({</span>
4286
- <span class="cstat-no" title="statement not covered" > ...this._getDefaultErrorSettings('mountOpenRoutes', error),</span>
4287
- <span class="cstat-no" title="statement not covered" > </span>
4288
- <span class="cstat-no" title="statement not covered" > errorCode: `${DyNTS_global_settings.systemShortCodeName}|DyNTS-AS0-MOR0`,</span>
4289
- <span class="cstat-no" title="statement not covered" > });</span>
4290
- <span class="cstat-no" title="statement not covered" > }</span>
4291
- }
4292
- &nbsp;
4293
- /**
4294
- *
4295
- */
4296
- private setSecurity(): void {
4297
- if (this.fnLogs<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; this.deepLog)</span> <span class="branch-0 cbranch-no" title="branch not covered" >DyFM_Log.log('\nfn:. setSecurity');</span>
4298
- this._routingModules.forEach((module: DyNTS_RoutingModule): void =&gt; {
4299
- if (!module.security) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4300
- <span class="cstat-no" title="statement not covered" > DyFM_Log.warn(`RoutingModule security is not set for ${module.route}\n`);</span>
4301
- <span class="cstat-no" title="statement not covered" ></span>
4302
- } else if (!this._security) {
4303
- this._security = module.security;
4304
- &nbsp;
4305
- } else if (this._security !== module.security) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4306
- <span class="cstat-no" title="statement not covered" > this._security = DyNTS_RouteSecurity.both;</span>
4307
- <span class="cstat-no" title="statement not covered" > }</span>
4308
- });
4309
- &nbsp;
4310
- if (!this._security) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
4311
- <span class="cstat-no" title="statement not covered" > let msg = `Could not set security for the server! (${this.security})`;</span>
4312
- <span class="cstat-no" title="statement not covered" ></span>
4313
- <span class="cstat-no" title="statement not covered" > msg += '\n RoutingModules:';</span>
4314
- <span class="cstat-no" title="statement not covered" > this._routingModules.forEach((module: DyNTS_RoutingModule): void =&gt; {</span>
4315
- <span class="cstat-no" title="statement not covered" > msg += `\n ${module.route} (security: ${module.security})`;</span>
4316
- <span class="cstat-no" title="statement not covered" > });</span>
4317
- <span class="cstat-no" title="statement not covered" ></span>
4318
- <span class="cstat-no" title="statement not covered" > if (this._routingModules.length === 0) {</span>
4319
- <span class="cstat-no" title="statement not covered" > msg += '\n - no RoutingModule found -\n';</span>
4320
- <span class="cstat-no" title="statement not covered" > } </span>
4321
- <span class="cstat-no" title="statement not covered" > DyFM_Log.warn(msg);</span>
4322
- <span class="cstat-no" title="statement not covered" > }</span>
4323
- }
4324
-
4325
- private <span class="fstat-no" title="function not covered" >_getDefaultErrorSettings(</span>
4326
- <span class="cstat-no" title="statement not covered" > fnName: string, </span>
4327
- <span class="cstat-no" title="statement not covered" > error: DyFM_AnyError</span>
4328
- <span class="cstat-no" title="statement not covered" > ): DyFM_Error_Settings {</span>
4329
- <span class="cstat-no" title="statement not covered" > return {</span>
4330
- <span class="cstat-no" title="statement not covered" > status: (error as DyFM_Error)?.___status ?? 500,</span>
4331
- <span class="cstat-no" title="statement not covered" > message: (error as Error)?.message ?? </span>
4332
- <span class="cstat-no" title="statement not covered" > (error as DyFM_Error)?._message ??</span>
4333
- <span class="cstat-no" title="statement not covered" > `${fnName} was UNSUCCESSFUL (NTS)`,</span>
4334
- <span class="cstat-no" title="statement not covered" > userMessage: (error as DyFM_Error)?.__userMessage ?? this.defaultErrorUserMsg,</span>
4335
- <span class="cstat-no" title="statement not covered" > addECToUserMsg: !(error as DyFM_Error)?.__userMessage,</span>
4336
- <span class="cstat-no" title="statement not covered" > issuerService: `${this?.constructor?.name}-DyNTS_App`,</span>
4337
- <span class="cstat-no" title="statement not covered" > level: DyFM_ErrorLevel.fatal,</span>
4338
- <span class="cstat-no" title="statement not covered" > error: error,</span>
4339
- <span class="cstat-no" title="statement not covered" > systemVersion: DyNTS_global_settings.systemVersion,</span>
4340
- <span class="cstat-no" title="statement not covered" > };</span>
4341
- <span class="cstat-no" title="statement not covered" > }</span>
4342
- &nbsp;
4343
- /**
4344
- * MISSING Description (TODO)
4345
- */
4346
- abstract getAppParams(): DyNTS_App_Params;
4347
- &nbsp;
4348
- /**
4349
- * MISSING Description (TODO)
4350
- */
4351
- abstract getGlobalServiceCollection(): DyNTS_GlobalService_Settings;
4352
-
4353
- /**
4354
- * MISSING Description (TODO)
4355
- */
4356
- abstract getPortSettings(): DyNTS_Http_Settings;
4357
- &nbsp;
4358
- /**
4359
- * MISSING Description (TODO)
4360
- */
4361
- overrideDynamoNTSGlobalSettings?(): void;
4362
- &nbsp;
4363
- /**
4364
- * MISSING Description (TODO)
4365
- */
4366
- getRoutingModules?(): DyNTS_RoutingModule[];
4367
- &nbsp;
4368
- /**
4369
- * MISSING Description (TODO)
4370
- */
4371
- getRootServices?(): Promise&lt;any[]&gt;;
4372
-
4373
- /**
4374
- * MISSING Description (TODO)
4375
- */
4376
- getCertificationSettings?(): DyNTS_Certification_Settings;
4377
- &nbsp;
4378
- /**
4379
- * MISSING Description (TODO)
4380
- */
4381
- createEntries?(): Promise&lt;void&gt;;
4382
- &nbsp;
4383
- /**
4384
- * MISSING Description (TODO)
4385
- */
4386
- postProcess?(): Promise&lt;void&gt;;
4387
- &nbsp;
4388
- }
4389
- &nbsp;</pre></td></tr></table></pre>
4390
-
4391
- <div class='push'></div><!-- for sticky footer -->
4392
- </div><!-- /wrapper -->
4393
- <div class='footer quiet pad2 space-top1 center small'>
4394
- Code coverage generated by
4395
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4396
- at 2025-11-12T23:04:34.838Z
4397
- </div>
4398
- <script src="../../prettify.js"></script>
4399
- <script>
4400
- window.onload = function () {
4401
- prettyPrint();
4402
- };
4403
- </script>
4404
- <script src="../../sorter.js"></script>
4405
- <script src="../../block-navigation.js"></script>
4406
- </body>
4407
- </html>
4408
-