runlify 0.0.714 → 0.0.715

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 (352) hide show
  1. package/build/cli.js +20 -52
  2. package/build/commands/availableEnvironments.js +16 -51
  3. package/build/commands/generate.js +10 -46
  4. package/build/commands/init.js +73 -140
  5. package/build/commands/login.js +6 -42
  6. package/build/commands/logout.js +5 -41
  7. package/build/commands/pullEnvs.js +23 -70
  8. package/build/commands/readEnv.js +16 -45
  9. package/build/commands/regen.js +17 -48
  10. package/build/commands/runlify.js +6 -37
  11. package/build/commands/showToken.js +14 -45
  12. package/build/commands/start.js +57 -84
  13. package/build/commands/tryGetMeta.js +7 -43
  14. package/build/documentation/algoritmToDoc.js +4 -4
  15. package/build/documentation/algoritmToDoc.spec.js +5 -5
  16. package/build/documentation/curlExampleToText.js +15 -16
  17. package/build/documentation/curlExampleToText.spec.js +32 -16
  18. package/build/documentation/doc.js +1 -2
  19. package/build/documentation/docToFlatDoc.js +13 -17
  20. package/build/documentation/docToFlatDoc.spec.js +9 -9
  21. package/build/documentation/flatDoc.js +1 -2
  22. package/build/documentation/flatDocToText.js +4 -6
  23. package/build/documentation/flatDocToText.spec.js +20 -8
  24. package/build/documentation/templateDoc.js +1 -2
  25. package/build/documentation/templateDocToDoc.js +2 -2
  26. package/build/extensions/auth.js +64 -124
  27. package/build/extensions/cli-extension.js +3 -3
  28. package/build/extensions/cloudEnv.js +76 -120
  29. package/build/extensions/cloudMeta.js +35 -73
  30. package/build/extensions/globalConfig.js +37 -80
  31. package/build/extensions/localConfig.js +15 -46
  32. package/build/extensions/preventRunningIfUpdateAvailable.js +18 -52
  33. package/build/log.js +6 -6
  34. package/build/projectsGeneration/args.js +33 -53
  35. package/build/projectsGeneration/builders/AdditionalServiceBuilder.js +62 -96
  36. package/build/projectsGeneration/builders/BaseBuilder.js +30 -34
  37. package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +272 -312
  38. package/build/projectsGeneration/builders/CatalogBuilder.js +17 -46
  39. package/build/projectsGeneration/builders/ConfigVarBuilder.js +25 -36
  40. package/build/projectsGeneration/builders/DeploymentBuilder.js +18 -47
  41. package/build/projectsGeneration/builders/DocumentBuilder.js +26 -56
  42. package/build/projectsGeneration/builders/InfoRegistryBuilder.js +106 -140
  43. package/build/projectsGeneration/builders/PageBuilder.js +22 -51
  44. package/build/projectsGeneration/builders/PermissionBuilder.js +12 -41
  45. package/build/projectsGeneration/builders/ReportBuilder.js +23 -52
  46. package/build/projectsGeneration/builders/RestApiBuilder.js +20 -50
  47. package/build/projectsGeneration/builders/RestApiMethodBuilder.js +25 -54
  48. package/build/projectsGeneration/builders/RoleBuilder.js +12 -41
  49. package/build/projectsGeneration/builders/SumRegistryBuilder.js +100 -133
  50. package/build/projectsGeneration/builders/SystemMetaBuilder.js +281 -324
  51. package/build/projectsGeneration/builders/TelegramBotBuilder.js +18 -47
  52. package/build/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.js +8 -9
  53. package/build/projectsGeneration/builders/fields/BaseFieldBuilder.js +89 -105
  54. package/build/projectsGeneration/builders/fields/IdFieldBuilder.js +24 -54
  55. package/build/projectsGeneration/builders/fields/LinkFieldBuilder.js +33 -62
  56. package/build/projectsGeneration/builders/fields/ModelFieldBuilder.js +18 -47
  57. package/build/projectsGeneration/builders/fields/ScalarFieldBuilder.js +11 -42
  58. package/build/projectsGeneration/builders/fields/ViewLinkFieldBuilder.js +26 -55
  59. package/build/projectsGeneration/builders/integrationClients/IntegrationClientArgsModelBuilder.js +6 -23
  60. package/build/projectsGeneration/builders/integrationClients/IntegrationClientBaseModelBuilder.js +28 -57
  61. package/build/projectsGeneration/builders/integrationClients/IntegrationClientBuilder.js +25 -54
  62. package/build/projectsGeneration/builders/integrationClients/IntegrationClientQueryMethodsBuilder.js +18 -47
  63. package/build/projectsGeneration/builders/integrationClients/IntegrationClientReturnModelBuilder.js +12 -41
  64. package/build/projectsGeneration/builders/materialUiIcons.js +2 -2
  65. package/build/projectsGeneration/builders/mehods/ArgsModelBuilder.js +6 -23
  66. package/build/projectsGeneration/builders/mehods/BaseModelBuilder.js +30 -59
  67. package/build/projectsGeneration/builders/mehods/MethodBuilder.js +36 -66
  68. package/build/projectsGeneration/builders/mehods/ReturnModelBuilder.js +12 -41
  69. package/build/projectsGeneration/builders/menu/BaseMenuItemBuilder.js +24 -54
  70. package/build/projectsGeneration/builders/menu/ExternalEnvMenuItemBuilder.js +11 -40
  71. package/build/projectsGeneration/builders/menu/ExternalMenuItemBuilder.js +11 -40
  72. package/build/projectsGeneration/builders/menu/GroupMenuItemBuilder.js +31 -66
  73. package/build/projectsGeneration/builders/menu/InternalMenuItemBuilder.js +16 -45
  74. package/build/projectsGeneration/builders/tsFilterFields.js +11 -12
  75. package/build/projectsGeneration/builders/tsFilterFields.spec.js +29 -11
  76. package/build/projectsGeneration/builders/ui/FormsBuilder.js +9 -10
  77. package/build/projectsGeneration/builders/ui/ListFormBuilder.js +9 -10
  78. package/build/projectsGeneration/builders/ui/ListFormFilterBuilder.js +14 -16
  79. package/build/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.js +8 -9
  80. package/build/projectsGeneration/builders/utils/accessFunctions.js +4 -4
  81. package/build/projectsGeneration/builders/validation/baseValudationToYupAssertions.js +4 -4
  82. package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.js +5 -5
  83. package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.js +7 -7
  84. package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.js +4 -4
  85. package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.js +6 -6
  86. package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.js +9 -9
  87. package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.js +9 -9
  88. package/build/projectsGeneration/builders/validation/numberValudationToYupAssertions.js +10 -10
  89. package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.js +6 -6
  90. package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.js +6 -6
  91. package/build/projectsGeneration/commonEntities/addAggregateTrackings.js +3 -3
  92. package/build/projectsGeneration/commonEntities/addAuditLogs.js +6 -6
  93. package/build/projectsGeneration/commonEntities/addAutogeneration.js +4 -4
  94. package/build/projectsGeneration/commonEntities/addCommonCommands.js +2 -2
  95. package/build/projectsGeneration/commonEntities/addCommonEntities.js +14 -14
  96. package/build/projectsGeneration/commonEntities/addConfigurationVariables.js +4 -4
  97. package/build/projectsGeneration/commonEntities/addLanguages.js +3 -3
  98. package/build/projectsGeneration/commonEntities/addManagers.js +6 -6
  99. package/build/projectsGeneration/commonEntities/addRefreshTokens.js +4 -4
  100. package/build/projectsGeneration/commonEntities/addRoles.js +8 -8
  101. package/build/projectsGeneration/commonEntities/addTenants.js +3 -3
  102. package/build/projectsGeneration/commonEntities/addUserSettings.js +7 -7
  103. package/build/projectsGeneration/commonEntities/addUsers.js +4 -4
  104. package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +12 -13
  105. package/build/projectsGeneration/defaultCatalogs/files.js +6 -6
  106. package/build/projectsGeneration/fileCleaners/back/graphServices/cleanGraphServices.js +24 -59
  107. package/build/projectsGeneration/fileCleaners/back/services/cleanServices.js +32 -67
  108. package/build/projectsGeneration/fileCleaners/cleanFiles.js +7 -38
  109. package/build/projectsGeneration/fileCleaners/ui/cleanUi.js +7 -39
  110. package/build/projectsGeneration/fileCleaners/ui/pages/cleanPages.js +24 -59
  111. package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgets.js +10 -40
  112. package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgetsByType.js +29 -62
  113. package/build/projectsGeneration/genGraphSchemesByLocalGenerator.js +26 -68
  114. package/build/projectsGeneration/generateAdditionalService.js +41 -98
  115. package/build/projectsGeneration/generateEntity.js +215 -346
  116. package/build/projectsGeneration/generateEnvironment.js +157 -265
  117. package/build/projectsGeneration/generateProject.js +422 -724
  118. package/build/projectsGeneration/generators/fieldTypeToTsType.js +4 -4
  119. package/build/projectsGeneration/generators/fileTemplates/back/Entities.js +16 -14
  120. package/build/projectsGeneration/generators/fileTemplates/back/devEnum.js +17 -13
  121. package/build/projectsGeneration/generators/fileTemplates/back/elastic/elastic.js +8 -44
  122. package/build/projectsGeneration/generators/fileTemplates/back/elastic/jobs.js +36 -26
  123. package/build/projectsGeneration/generators/fileTemplates/back/enum.js +17 -13
  124. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.js +12 -8
  125. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.js +128 -12
  126. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.js +54 -8
  127. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/values.js +149 -13
  128. package/build/projectsGeneration/generators/fileTemplates/back/environment/ciNotify.js +19 -8
  129. package/build/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.js +5 -9
  130. package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.js +38 -8
  131. package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.js +42 -8
  132. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocSpec.js +3 -6
  133. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +27 -19
  134. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.js +7 -5
  135. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsIntegrationClient.js +44 -29
  136. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.js +45 -18
  137. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/findLinksToEntities.js +2 -4
  138. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getAllSavableEntities.js +7 -11
  139. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getProjectSpec.js +206 -216
  140. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/titleMd.js +5 -5
  141. package/build/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.js +272 -37
  142. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +78 -9
  143. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.js +42 -9
  144. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/index.js +36 -9
  145. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.js +56 -5
  146. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClients.js +12 -9
  147. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/fieldsToTsTypeFields.js +4 -6
  148. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/integrationClientConstrictors.js +13 -9
  149. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/tsModelTmpl.js +6 -4
  150. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/types.js +15 -7
  151. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.js +9 -2
  152. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/permissionToGraphql.js +16 -9
  153. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/resolvers.js +32 -12
  154. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/typeDefs.js +18 -11
  155. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.js +7 -2
  156. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.js +20 -9
  157. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.js +22 -10
  158. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.js +18 -9
  159. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.js +17 -2
  160. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.js +15 -5
  161. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.js +11 -2
  162. package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.js +26 -2
  163. package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.js +17 -2
  164. package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +52 -13
  165. package/build/projectsGeneration/generators/fileTemplates/back/graph/resolvers.js +52 -13
  166. package/build/projectsGeneration/generators/fileTemplates/back/graph/types.js +18 -11
  167. package/build/projectsGeneration/generators/fileTemplates/back/initCommon.js +30 -16
  168. package/build/projectsGeneration/generators/fileTemplates/back/initDev.js +27 -15
  169. package/build/projectsGeneration/generators/fileTemplates/back/initEntities.js +24 -10
  170. package/build/projectsGeneration/generators/fileTemplates/back/root/config/config.js +30 -16
  171. package/build/projectsGeneration/generators/fileTemplates/back/root/restRouter.js +21 -2
  172. package/build/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.js +7 -2
  173. package/build/projectsGeneration/generators/fileTemplates/back/services/BaseServices.js +18 -22
  174. package/build/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.js +30 -7
  175. package/build/projectsGeneration/generators/fileTemplates/back/services/additionalService/types.js +18 -13
  176. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +7 -5
  177. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +126 -49
  178. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +59 -40
  179. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.js +13 -5
  180. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.js +14 -6
  181. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.js +14 -6
  182. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.js +15 -6
  183. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.js +15 -6
  184. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.js +15 -6
  185. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.js +15 -6
  186. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.js +15 -6
  187. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.js +14 -6
  188. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.js +30 -7
  189. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.js +14 -6
  190. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.js +81 -8
  191. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.js +22 -10
  192. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.js +31 -6
  193. package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +26 -14
  194. package/build/projectsGeneration/generators/fileTemplates/ui/Dashboard.js +14 -2
  195. package/build/projectsGeneration/generators/fileTemplates/ui/MetaPage.js +120 -3
  196. package/build/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.js +45 -10
  197. package/build/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.js +5 -2
  198. package/build/projectsGeneration/generators/fileTemplates/ui/entityMapping.js +14 -12
  199. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.js +12 -8
  200. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.js +118 -13
  201. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.js +51 -8
  202. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.js +79 -8
  203. package/build/projectsGeneration/generators/fileTemplates/ui/environment/ciNotify.js +19 -8
  204. package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +27 -21
  205. package/build/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.js +179 -26
  206. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/App.js +107 -10
  207. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.js +67 -9
  208. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/getAdditionalMethods.js +55 -18
  209. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +93 -13
  210. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/i18nProvider/index.js +51 -19
  211. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.js +60 -9
  212. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.js +52 -9
  213. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +38 -9
  214. package/build/projectsGeneration/generators/fileTemplates/ui/functions/Functions.js +60 -7
  215. package/build/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.js +11 -2
  216. package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +136 -23
  217. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.js +3 -5
  218. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.js +3 -5
  219. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.js +3 -5
  220. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.js +3 -3
  221. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.js +3 -5
  222. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.js +33 -21
  223. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.js +23 -15
  224. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +101 -62
  225. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.js +15 -5
  226. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +176 -77
  227. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.js +15 -5
  228. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +68 -50
  229. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +83 -47
  230. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.js +12 -5
  231. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.js +15 -5
  232. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.js +54 -19
  233. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.js +53 -30
  234. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +45 -32
  235. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +57 -41
  236. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.js +3 -2
  237. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.js +7 -3
  238. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.js +15 -5
  239. package/build/projectsGeneration/generators/fileTemplates/ui/pages/Icon.js +8 -8
  240. package/build/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.js +45 -30
  241. package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +46 -12
  242. package/build/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.js +50 -9
  243. package/build/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.js +109 -14
  244. package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalar.js +8 -9
  245. package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalarStringified.js +4 -6
  246. package/build/projectsGeneration/generators/graph/fields/genGraphField.js +8 -9
  247. package/build/projectsGeneration/generators/graph/fields/genGraphIdField.js +7 -8
  248. package/build/projectsGeneration/generators/graph/fields/genGraphIdFieldType.js +6 -6
  249. package/build/projectsGeneration/generators/graph/fields/genGraphLinkField.js +10 -11
  250. package/build/projectsGeneration/generators/graph/fields/genGraphModelField.js +10 -11
  251. package/build/projectsGeneration/generators/graph/fields/genGraphScalarField.js +10 -11
  252. package/build/projectsGeneration/generators/graph/filters/genGraphField.js +7 -7
  253. package/build/projectsGeneration/generators/graph/filters/genGraphIdFilter.js +12 -14
  254. package/build/projectsGeneration/generators/graph/filters/genGraphLinkFilter.js +12 -24
  255. package/build/projectsGeneration/generators/graph/filters/genGraphScalarFilter.js +25 -37
  256. package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.js +35 -35
  257. package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.spec.js +148 -65
  258. package/build/projectsGeneration/generators/graph/genGraphCrudSchema.js +38 -50
  259. package/build/projectsGeneration/generators/graph/genGraphCrudSchema.spec.js +393 -34
  260. package/build/projectsGeneration/generators/graph/genGraphFilterType.js +11 -22
  261. package/build/projectsGeneration/generators/graph/genGraphFilterType.spec.js +75 -13
  262. package/build/projectsGeneration/generators/graph/genGraphModelType.js +15 -27
  263. package/build/projectsGeneration/generators/graph/genGraphType.js +7 -18
  264. package/build/projectsGeneration/generators/graph/genGraphType.spec.js +27 -12
  265. package/build/projectsGeneration/generators/graph/printGraphType.js +5 -7
  266. package/build/projectsGeneration/generators/graph/printGraphType.spec.js +11 -6
  267. package/build/projectsGeneration/generators/graph/utils/mapUtils.js +11 -30
  268. package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.js +14 -28
  269. package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.spec.js +18 -18
  270. package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.js +3 -3
  271. package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.spec.js +17 -28
  272. package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.js +14 -19
  273. package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.spec.js +40 -51
  274. package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.js +17 -26
  275. package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.spec.js +68 -68
  276. package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.js +21 -42
  277. package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.spec.js +85 -62
  278. package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.js +20 -31
  279. package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.spec.js +48 -49
  280. package/build/projectsGeneration/generators/graph/utils/serviceModels/getServiceModels.js +7 -7
  281. package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.js +6 -6
  282. package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.spec.js +13 -13
  283. package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.js +18 -21
  284. package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.spec.js +153 -153
  285. package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.js +25 -26
  286. package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.spec.js +69 -69
  287. package/build/projectsGeneration/generators/graph/utils/serviceModels/removeDublicatesFromServiceModels.js +4 -4
  288. package/build/projectsGeneration/generators/graph/utils/serviceModels/removeUnusedInOutputGeneralModels.js +6 -17
  289. package/build/projectsGeneration/generators/graph/utils/serviceModels/removeVoidsInServiceModels.js +5 -5
  290. package/build/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.js +3 -3
  291. package/build/projectsGeneration/generators/prisma/fieldTypeToPrismaType.js +3 -3
  292. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.js +3 -3
  293. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.js +20 -20
  294. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.js +7 -8
  295. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.js +6 -7
  296. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.js +7 -19
  297. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.js +10 -11
  298. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.js +13 -13
  299. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.js +15 -18
  300. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.js +27 -28
  301. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.js +12 -14
  302. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.js +29 -30
  303. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +23 -32
  304. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +104 -47
  305. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +5 -7
  306. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +19 -10
  307. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.js +3 -3
  308. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.js +7 -7
  309. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.js +3 -3
  310. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.js +5 -5
  311. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.js +10 -10
  312. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.js +3 -3
  313. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.js +3 -3
  314. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.js +7 -7
  315. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.js +3 -3
  316. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.js +2 -14
  317. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.js +17 -17
  318. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.js +3 -3
  319. package/build/projectsGeneration/generators/ui/getLinkShowComponent.spec.js +18 -18
  320. package/build/projectsGeneration/generators/ui/getScalarShowComponent.spec.js +11 -11
  321. package/build/projectsGeneration/generators/ui/getShowComponent.js +19 -20
  322. package/build/projectsGeneration/links/getLinksFromExternalEntities.js +2 -4
  323. package/build/projectsGeneration/links/getLinksFromExternalEntities.spec.js +11 -22
  324. package/build/projectsGeneration/links/getLinksOfEntities.js +6 -8
  325. package/build/projectsGeneration/links/getLinksOfEntities.spec.js +20 -31
  326. package/build/projectsGeneration/links/getLinksToExternalEntities.js +2 -4
  327. package/build/projectsGeneration/links/getLinksToExternalEntities.spec.js +11 -22
  328. package/build/projectsGeneration/metaUtils.js +17 -23
  329. package/build/projectsGeneration/modelsGeneration.serialization.spec.js +8 -8
  330. package/build/projectsGeneration/modules/addEmailModuleEntities.js +11 -11
  331. package/build/projectsGeneration/types.js +6 -6
  332. package/build/projectsGeneration/utils.js +24 -61
  333. package/build/refs/yup.spec.js +7 -7
  334. package/build/types/projectsGeneration/builders/InfoRegistryBuilder.d.ts +0 -4
  335. package/build/types/projectsGeneration/builders/SumRegistryBuilder.d.ts +0 -3
  336. package/build/types/projectsGeneration/fileCleaners/cleanFiles.d.ts +1 -1
  337. package/build/types/projectsGeneration/generateProject.d.ts +0 -5
  338. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.d.ts +1 -1
  339. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.d.ts +1 -1
  340. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.d.ts +1 -1
  341. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.d.ts +1 -1
  342. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.d.ts +1 -1
  343. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +1 -1
  344. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.d.ts +1 -1
  345. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.d.ts +1 -1
  346. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/App.d.ts +1 -1
  347. package/build/utils/TermSignals.js +35 -43
  348. package/build/utils/cases.js +12 -18
  349. package/build/utils/getPkgManager.js +4 -4
  350. package/package.json +12 -24
  351. package/build/projectsGeneration/fileCleaners/back/cleanBack.js +0 -50
  352. package/build/types/projectsGeneration/fileCleaners/back/cleanBack.d.ts +0 -3
@@ -1,153 +1,145 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- var markdown_table_1 = __importDefault(require("markdown-table"));
16
- var buildedTypes_1 = require("../../../../../../builders/buildedTypes");
17
- var findLinksToEntities_1 = __importDefault(require("./findLinksToEntities"));
18
- var getAllSavableEntities_1 = __importDefault(require("./getAllSavableEntities"));
19
- var titleMd_1 = require("./titleMd");
20
- var toUrl = function (source) { return source.toLowerCase().replaceAll(' ', '-').replaceAll('.', ''); };
21
- var getLink = function (title, link) { return "[".concat(title, "](#").concat(toUrl(link), ")"); };
22
- var getSimpleLink = function (title) { return getLink(title, title); };
23
- var getEntityLink = function (lang, entity) { return getLink("`".concat(entity.title[lang].plural, "`"), entity.title[lang].plural); };
24
- var getToCLink = function (title, link, level) { return "".concat(' '.repeat(level - 1), "* ").concat(getLink(title, link), "\n"); };
25
- var getToCSimpleLink = function (title, level) { return "".concat(' '.repeat(level - 1), "* ").concat(getSimpleLink(title), "\n"); };
26
- var getEntityHeaderSpec = function (lang, entity) {
27
- var docs = '';
28
- docs += (0, titleMd_1.titleMd2)("".concat(entity.title[lang].singular));
29
- docs += "`".concat(entity.name, "`\n\n");
6
+ const markdown_table_1 = __importDefault(require("markdown-table"));
7
+ const buildedTypes_1 = require("../../../../../../builders/buildedTypes");
8
+ const findLinksToEntities_1 = __importDefault(require("./findLinksToEntities"));
9
+ const getAllSavableEntities_1 = __importDefault(require("./getAllSavableEntities"));
10
+ const titleMd_1 = require("./titleMd");
11
+ const toUrl = (source) => source.toLowerCase().replaceAll(' ', '-').replaceAll('.', '');
12
+ const getLink = (title, link) => `[${title}](#${toUrl(link)})`;
13
+ const getSimpleLink = (title) => getLink(title, title);
14
+ const getEntityLink = (lang, entity) => getLink(`\`${entity.title[lang].plural}\``, entity.title[lang].plural);
15
+ const getToCLink = (title, link, level) => `${' '.repeat(level - 1)}* ${getLink(title, link)}\n`;
16
+ const getToCSimpleLink = (title, level) => `${' '.repeat(level - 1)}* ${getSimpleLink(title)}\n`;
17
+ const getEntityHeaderSpec = (lang, entity) => {
18
+ let docs = '';
19
+ docs += (0, titleMd_1.titleMd2)(`${entity.title[lang].singular}`);
20
+ docs += `\`${entity.name}\`\n\n`;
30
21
  if (entity.needFor[lang]) {
31
- docs += "\u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(entity.needFor[lang], "\n\n");
22
+ docs += `Нужен для: ${entity.needFor[lang]}\n\n`;
32
23
  }
33
24
  return docs;
34
25
  };
35
- var getSavableEntityHeaderSpec = function (lang, entity) {
36
- var docs = '';
37
- docs += (0, titleMd_1.titleMd2)("".concat(entity.title[lang].plural));
38
- docs += "`".concat(entity.name, "`\n\n");
26
+ const getSavableEntityHeaderSpec = (lang, entity) => {
27
+ let docs = '';
28
+ docs += (0, titleMd_1.titleMd2)(`${entity.title[lang].plural}`);
29
+ docs += `\`${entity.name}\`\n\n`;
39
30
  if (entity.needFor[lang]) {
40
- docs += "\u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(entity.needFor[lang], "\n\n");
31
+ docs += `Нужен для: ${entity.needFor[lang]}\n\n`;
41
32
  }
42
33
  return docs;
43
34
  };
44
- var getEntityLinksToEntitySpec = function (lang, links) {
45
- var docs = '';
35
+ const getEntityLinksToEntitySpec = (lang, links) => {
36
+ let docs = '';
46
37
  if (links.length) {
47
- docs += "\u041D\u0430 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u044C \u0441\u0441\u044B\u043B\u0430\u044E\u0442\u0441\u044F: ".concat(links.map(function (entity) { return "".concat(getEntityLink(lang, entity)); }).join(', '), "\n");
38
+ docs += `На сущность ссылаются: ${links.map(entity => `${getEntityLink(lang, entity)}`).join(', ')}\n`;
48
39
  }
49
40
  else {
50
41
  docs += 'На сущность нет ссылок\n';
51
42
  }
52
43
  return docs;
53
44
  };
54
- var getEntityFieldsSpec = function (lang, entity, entities) {
55
- var docs = '';
56
- docs += "".concat((0, markdown_table_1.default)(__spreadArray([
57
- ['Имя поля', 'Наименование', 'Тип данных', 'Обязательное', 'Справочник']
58
- ], entity.fields
59
- .filter(function (f) { return !f.hidden; })
60
- .map(function (f) { return [
61
- f.name,
62
- f.title[lang],
63
- f.type,
64
- f.required ? 'Обязательное' : 'Не обязательное',
65
- f.category === 'link' ? "\u0441\u0441\u044B\u043B\u0430\u0435\u0442\u0441\u044F \u043D\u0430 ".concat(getEntityLink(lang, entities.find(function (c) { return c.name === f.externalEntity; }))) : '',
66
- ]; }), true)));
45
+ const getEntityFieldsSpec = (lang, entity, entities) => {
46
+ let docs = '';
47
+ docs += `${(0, markdown_table_1.default)([
48
+ ['Имя поля', 'Наименование', 'Тип данных', 'Обязательное', 'Справочник'],
49
+ ...entity.fields
50
+ .filter(f => !f.hidden)
51
+ .map((f) => [
52
+ f.name,
53
+ f.title[lang],
54
+ f.type,
55
+ f.required ? 'Обязательное' : 'Не обязательное',
56
+ f.category === 'link' ? `ссылается на ${getEntityLink(lang, entities.find(c => c.name === f.externalEntity))}` : '',
57
+ ]),
58
+ ])}`;
67
59
  docs += '\n';
68
60
  return docs;
69
61
  };
70
- var getSavableEntityMethodsSpec = function (lang, entity) {
71
- var docs = '';
62
+ const getSavableEntityMethodsSpec = (lang, entity) => {
63
+ let docs = '';
72
64
  if (entity.methods.length) {
73
65
  docs += '\n';
74
- docs += (0, titleMd_1.titleMd3)("\u041C\u0435\u0442\u043E\u0434\u044B");
75
- for (var _i = 0, _a = entity.methods; _i < _a.length; _i++) {
76
- var method = _a[_i];
66
+ docs += (0, titleMd_1.titleMd3)(`Методы`);
67
+ for (const method of entity.methods) {
77
68
  docs += getServiceMethodSpec(lang, entity, method);
78
69
  }
79
70
  }
80
71
  return docs;
81
72
  };
82
- var getSavableEntityLabelsSpec = function (entity) {
83
- var docs = '';
73
+ const getSavableEntityLabelsSpec = (entity) => {
74
+ let docs = '';
84
75
  if (entity.labels.length) {
85
76
  docs += '\n';
86
- docs += (0, titleMd_1.titleMd3)("\u041B\u0435\u0439\u0431\u043B\u044B");
87
- docs += entity.labels.map(function (label) { return "* ".concat(label, "\n"); }).join('');
77
+ docs += (0, titleMd_1.titleMd3)(`Лейблы`);
78
+ docs += entity.labels.map(label => `* ${label}\n`).join('');
88
79
  }
89
80
  return docs;
90
81
  };
91
- var getReportLabelsSpec = function (entity) {
92
- var docs = '';
82
+ const getReportLabelsSpec = (entity) => {
83
+ let docs = '';
93
84
  if (entity.labels.length) {
94
85
  docs += '\n';
95
- docs += (0, titleMd_1.titleMd3)("\u041B\u0435\u0439\u0431\u043B\u044B");
96
- docs += entity.labels.map(function (label) { return "* ".concat(label, "\n"); }).join('');
86
+ docs += (0, titleMd_1.titleMd3)(`Лейблы`);
87
+ docs += entity.labels.map(label => `* ${label}\n`).join('');
97
88
  }
98
89
  return docs;
99
90
  };
100
- var getSavableEntityClearDBAfterSpec = function (entity) {
101
- var docs = '';
91
+ const getSavableEntityClearDBAfterSpec = (entity) => {
92
+ let docs = '';
102
93
  if (entity.clearDBAfter.length) {
103
94
  docs += '\n';
104
- docs += (0, titleMd_1.titleMd3)("\u041F\u0435\u0440\u0438\u043E\u0434\u044B \u0430\u0432\u0442\u043E\u043E\u0447\u0438\u0441\u0442\u043A\u0438");
105
- docs += entity.clearDBAfter.map(function (clearDBAfter) { return "* ".concat(clearDBAfter.count, " ").concat(clearDBAfter.unit, "\n"); }).join('');
95
+ docs += (0, titleMd_1.titleMd3)(`Периоды автоочистки`);
96
+ docs += entity.clearDBAfter.map(clearDBAfter => `* ${clearDBAfter.count} ${clearDBAfter.unit}\n`).join('');
106
97
  }
107
98
  return docs;
108
99
  };
109
- var getEntityPredefinedSpec = function (entity) {
110
- var docs = '';
100
+ const getEntityPredefinedSpec = (entity) => {
101
+ let docs = '';
111
102
  if (entity.predefinedElements.length) {
112
103
  docs += '\n';
113
- docs += (0, titleMd_1.titleMd3)("\u041F\u0440\u0435\u0434\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B");
114
- docs += "".concat((0, markdown_table_1.default)(__spreadArray([
115
- entity.fields.filter(function (f) { return !f.hidden; }).map(function (f) { return f.name; })
116
- ], entity.predefinedElements.map(function (f) { return entity.fields.filter(function (f) { return !f.hidden; }).map(function (field) { return f[field.name]; }); }), true)));
104
+ docs += (0, titleMd_1.titleMd3)(`Предопределенные элементы`);
105
+ docs += `${(0, markdown_table_1.default)([
106
+ entity.fields.filter(f => !f.hidden).map(f => f.name),
107
+ ...entity.predefinedElements.map((f) => entity.fields.filter(f => !f.hidden).map(field => f[field.name])),
108
+ ])}`;
117
109
  docs += '\n';
118
110
  }
119
111
  return docs;
120
112
  };
121
- var getEntityUniqueConstraintsSpec = function (entity) {
122
- var docs = '';
113
+ const getEntityUniqueConstraintsSpec = (entity) => {
114
+ let docs = '';
123
115
  if (entity.uniqueConstraints.length) {
124
116
  docs += '\n';
125
- docs += (0, titleMd_1.titleMd3)("\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u0438");
126
- docs += entity.uniqueConstraints.map(function (с) { return "* ".concat(с.map(function (c) { return "`".concat(c, "`"); }).join(', '), "\n"); }).join('');
117
+ docs += (0, titleMd_1.titleMd3)(`Ограничения уникальности`);
118
+ docs += entity.uniqueConstraints.map(с => `* ${с.map(c => `\`${c}\``).join(', ')}\n`).join('');
127
119
  }
128
120
  return docs;
129
121
  };
130
- var getDocRegistriesSpec = function (lang, entity, entities) {
131
- var docs = '';
122
+ const getDocRegistriesSpec = (lang, entity, entities) => {
123
+ let docs = '';
132
124
  if (entity.registries.length) {
133
125
  docs += '\n';
134
- docs += (0, titleMd_1.titleMd3)("\u0421\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044B");
135
- docs += "".concat(entity.registries.map(function (name) { return "".concat(getEntityLink(lang, entities.find(function (r) { return r.name === name; }))); }).join(', '), "\n");
126
+ docs += (0, titleMd_1.titleMd3)(`Связанные регистры`);
127
+ docs += `${entity.registries.map(name => `${getEntityLink(lang, entities.find(r => r.name === name))}`).join(', ')}\n`;
136
128
  }
137
129
  return docs;
138
130
  };
139
- var getSumRegistryRegistrarsSpec = function (lang, entity, documents) {
140
- var docs = '';
141
- var registrars = documents.filter(function (d) { return d.registries.includes(entity.name); });
131
+ const getSumRegistryRegistrarsSpec = (lang, entity, documents) => {
132
+ let docs = '';
133
+ const registrars = documents.filter(d => d.registries.includes(entity.name));
142
134
  if (registrars.length) {
143
135
  docs += '\n';
144
- docs += (0, titleMd_1.titleMd3)("\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u044B");
145
- docs += "".concat(registrars.map(function (registrar) { return "".concat(getEntityLink(lang, registrar)); }).join(', '), "\n");
136
+ docs += (0, titleMd_1.titleMd3)(`Регистраторы`);
137
+ docs += `${registrars.map(registrar => `${getEntityLink(lang, registrar)}`).join(', ')}\n`;
146
138
  }
147
139
  return docs;
148
140
  };
149
- var getEntitySpec = function (lang, entity, entities, links) {
150
- var docs = '';
141
+ const getEntitySpec = (lang, entity, entities, links) => {
142
+ let docs = '';
151
143
  docs += getSavableEntityHeaderSpec(lang, entity);
152
144
  docs += getEntityLinksToEntitySpec(lang, links);
153
145
  docs += '\n';
@@ -159,8 +151,8 @@ var getEntitySpec = function (lang, entity, entities, links) {
159
151
  docs += getSavableEntityClearDBAfterSpec(entity);
160
152
  return docs;
161
153
  };
162
- var getDocSpec = function (lang, entity, entities, links) {
163
- var docs = '';
154
+ const getDocSpec = (lang, entity, entities, links) => {
155
+ let docs = '';
164
156
  docs += getSavableEntityHeaderSpec(lang, entity);
165
157
  docs += getEntityLinksToEntitySpec(lang, links);
166
158
  docs += '\n';
@@ -172,8 +164,8 @@ var getDocSpec = function (lang, entity, entities, links) {
172
164
  docs += getSavableEntityLabelsSpec(entity);
173
165
  return docs;
174
166
  };
175
- var getSumRegistrySpec = function (lang, entity, entities, documents, links) {
176
- var docs = '';
167
+ const getSumRegistrySpec = (lang, entity, entities, documents, links) => {
168
+ let docs = '';
177
169
  docs += getSavableEntityHeaderSpec(lang, entity);
178
170
  docs += getEntityLinksToEntitySpec(lang, links);
179
171
  docs += '\n';
@@ -185,44 +177,47 @@ var getSumRegistrySpec = function (lang, entity, entities, documents, links) {
185
177
  docs += getSavableEntityLabelsSpec(entity);
186
178
  return docs;
187
179
  };
188
- var getEntitiesToCLinks = function (lang, title, entities) {
189
- var text = '';
180
+ const getEntitiesToCLinks = (lang, title, entities) => {
181
+ let text = '';
190
182
  text += getToCSimpleLink(title, 1);
191
- text += entities.map(function (m) { return getToCSimpleLink(m.title[lang].singular, 2); }).join('');
183
+ text += entities.map(m => getToCSimpleLink(m.title[lang].singular, 2)).join('');
192
184
  return text;
193
185
  };
194
- var getRestApisToCLinks = function (lang, title, apis) {
195
- var text = '';
186
+ const getRestApisToCLinks = (lang, title, apis) => {
187
+ let text = '';
196
188
  text += getToCSimpleLink(title, 1);
197
- text += apis.map(function (api) { return __spreadArray([
198
- getToCSimpleLink(api.title[lang].singular, 2)
199
- ], api.methods.map(function (m) { return getToCLink(m.name, "".concat(api.name, ".").concat(m.name), 3); }), true); }).flat().join('');
189
+ text += apis.map(api => [
190
+ getToCSimpleLink(api.title[lang].singular, 2),
191
+ ...api.methods.map(m => getToCLink(m.name, `${api.name}.${m.name}`, 3)),
192
+ ]).flat().join('');
200
193
  return text;
201
194
  };
202
- var getIntegrationClientsToCLinks = function (lang, title, cleints) {
203
- var text = '';
195
+ const getIntegrationClientsToCLinks = (lang, title, cleints) => {
196
+ let text = '';
204
197
  text += getToCSimpleLink(title, 1);
205
- text += cleints.map(function (cleint) { return __spreadArray([
206
- getToCSimpleLink(cleint.title[lang].singular, 2)
207
- ], cleint.queryMethods.map(function (m) { return getToCLink(m.name, "".concat(cleint.name, ".").concat(m.name), 3); }), true); }).flat().join('');
198
+ text += cleints.map(cleint => [
199
+ getToCSimpleLink(cleint.title[lang].singular, 2),
200
+ ...cleint.queryMethods.map(m => getToCLink(m.name, `${cleint.name}.${m.name}`, 3)),
201
+ ]).flat().join('');
208
202
  return text;
209
203
  };
210
- var getAdditionalServicesToCLinks = function (lang, title, cleints) {
211
- var text = '';
204
+ const getAdditionalServicesToCLinks = (lang, title, cleints) => {
205
+ let text = '';
212
206
  text += getToCSimpleLink(title, 1);
213
- text += cleints.map(function (cleint) { return __spreadArray([
214
- getToCSimpleLink(cleint.title[lang].singular, 2)
215
- ], cleint.methods.map(function (m) { return getToCLink(m.name, "".concat(cleint.name, ".").concat(m.name), 3); }), true); }).flat().join('');
207
+ text += cleints.map(cleint => [
208
+ getToCSimpleLink(cleint.title[lang].singular, 2),
209
+ ...cleint.methods.map(m => getToCLink(m.name, `${cleint.name}.${m.name}`, 3)),
210
+ ]).flat().join('');
216
211
  return text;
217
212
  };
218
- var getSavableEntityToCLinks = function (lang, title, entities) {
219
- var text = '';
213
+ const getSavableEntityToCLinks = (lang, title, entities) => {
214
+ let text = '';
220
215
  text += getToCSimpleLink(title, 1);
221
- text += entities.map(function (m) { return getToCSimpleLink(m.title[lang].plural, 2); }).join('');
216
+ text += entities.map(m => getToCSimpleLink(m.title[lang].plural, 2)).join('');
222
217
  return text;
223
218
  };
224
- var getTableOfContentsSpec = function (meta) {
225
- var text = '';
219
+ const getTableOfContentsSpec = (meta) => {
220
+ let text = '';
226
221
  text += (0, titleMd_1.titleMd1)('Оглавление');
227
222
  if (meta.catalogs.length) {
228
223
  text += getSavableEntityToCLinks(meta.defaultLanguage, 'Каталоги', meta.catalogs);
@@ -259,262 +254,257 @@ var getTableOfContentsSpec = function (meta) {
259
254
  }
260
255
  return text;
261
256
  };
262
- var getCommonInfoSpec = function (meta) {
263
- var text = '';
257
+ const getCommonInfoSpec = (meta) => {
258
+ let text = '';
264
259
  text += (0, titleMd_1.titleMd1)('Общие сведения');
265
- text += "* \u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435: ".concat(meta.name, "\n");
266
- text += "* \u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(meta.needFor, "\n");
267
- text += "* \u041F\u0440\u0435\u0444\u0438\u043A\u0441: ".concat(meta.prefix, "\n");
260
+ text += `* Название: ${meta.name}\n`;
261
+ text += `* Нужен для: ${meta.needFor}\n`;
262
+ text += `* Префикс: ${meta.prefix}\n`;
268
263
  return text;
269
264
  };
270
- var getMenuItemSpec = function (item, level) {
265
+ const getMenuItemSpec = (item, level) => {
271
266
  switch (item.itemType) {
272
267
  case buildedTypes_1.MenuItemType.Group:
273
- return item.items.map(function (i) { return getMenuItemSpec(i, level + 1); }).join('');
268
+ return item.items.map(i => getMenuItemSpec(i, level + 1)).join('');
274
269
  case buildedTypes_1.MenuItemType.Internal:
275
- return "".concat(' '.repeat(level - 1), "* ").concat(item.label, " (").concat(item.link, ")\n");
270
+ return `${' '.repeat(level - 1)}* ${item.label} (${item.link})\n`;
276
271
  case buildedTypes_1.MenuItemType.External:
277
- return "".concat(' '.repeat(level - 1), "* ").concat(item.label, " (").concat(item.link, ")\n");
272
+ return `${' '.repeat(level - 1)}* ${item.label} (${item.link})\n`;
278
273
  }
279
274
  };
280
- var getMethodsSpec = function (meta) {
275
+ const getMethodsSpec = (meta) => {
281
276
  if (!meta.methods.length) {
282
277
  return;
283
278
  }
284
- var text = '';
279
+ let text = '';
285
280
  text += (0, titleMd_1.titleMd1)('Доп методы');
286
- for (var _i = 0, _a = meta.methods; _i < _a.length; _i++) {
287
- var method = _a[_i];
288
- var docs = '';
289
- docs += "* ".concat(method, "\n");
281
+ for (const method of meta.methods) {
282
+ let docs = '';
283
+ docs += `* ${method}\n`;
290
284
  return docs;
291
285
  }
292
286
  text += '\n';
293
287
  return text;
294
288
  };
295
- var getLabelsSpec = function (meta) {
289
+ const getLabelsSpec = (meta) => {
296
290
  if (!meta.labels.length) {
297
291
  return;
298
292
  }
299
- var text = '';
293
+ let text = '';
300
294
  text += (0, titleMd_1.titleMd1)('Доп лейблы');
301
- for (var _i = 0, _a = meta.labels; _i < _a.length; _i++) {
302
- var label = _a[_i];
303
- var docs = '';
304
- docs += "* ".concat(label, "\n");
295
+ for (const label of meta.labels) {
296
+ let docs = '';
297
+ docs += `* ${label}\n`;
305
298
  return docs;
306
299
  }
307
300
  text += '\n';
308
301
  return text;
309
302
  };
310
- var getMenuSpec = function (meta) {
303
+ const getMenuSpec = (meta) => {
311
304
  if (!meta.menuItems.length) {
312
305
  return;
313
306
  }
314
- var text = '';
307
+ let text = '';
315
308
  text += (0, titleMd_1.titleMd1)('Меню');
316
- for (var _i = 0, _a = meta.menuItems; _i < _a.length; _i++) {
317
- var item = _a[_i];
309
+ for (const item of meta.menuItems) {
318
310
  text += getMenuItemSpec(item, 1);
319
311
  }
320
312
  return text;
321
313
  };
322
- var getGlosarySpec = function (meta) {
314
+ const getGlosarySpec = (meta) => {
323
315
  if (!meta.glossary.length) {
324
316
  return;
325
317
  }
326
- var text = '';
318
+ let text = '';
327
319
  text += (0, titleMd_1.titleMd1)('Глоссарий');
328
- text += "".concat((0, markdown_table_1.default)(__spreadArray([
329
- ['Термин', 'Расшифровка']
330
- ], meta.glossary.map(function (f) { return [
331
- f.term,
332
- f.definition,
333
- ]; }), true)));
320
+ text += `${(0, markdown_table_1.default)([
321
+ ['Термин', 'Расшифровка'],
322
+ ...meta.glossary.map((f) => [
323
+ f.term,
324
+ f.definition,
325
+ ]),
326
+ ])}`;
334
327
  text += '\n';
335
328
  return text;
336
329
  };
337
- var getDocumentsSpec = function (meta) {
330
+ const getDocumentsSpec = (meta) => {
338
331
  if (!meta.documents.length) {
339
332
  return;
340
333
  }
341
- var text = '';
334
+ let text = '';
342
335
  text += (0, titleMd_1.titleMd1)('Документы');
343
- var entities = (0, getAllSavableEntities_1.default)(meta);
344
- text += meta.documents.map(function (entity) {
345
- var links = (0, findLinksToEntities_1.default)(entities, entity.name);
336
+ const entities = (0, getAllSavableEntities_1.default)(meta);
337
+ text += meta.documents.map(entity => {
338
+ const links = (0, findLinksToEntities_1.default)(entities, entity.name);
346
339
  return getDocSpec(meta.defaultLanguage, entity, entities, links);
347
340
  }).join('\n');
348
341
  return text;
349
342
  };
350
- var getCatalogsSpec = function (meta) {
343
+ const getCatalogsSpec = (meta) => {
351
344
  if (!meta.catalogs.length) {
352
345
  return;
353
346
  }
354
- var text = '';
347
+ let text = '';
355
348
  text += (0, titleMd_1.titleMd1)('Каталоги');
356
- var entities = (0, getAllSavableEntities_1.default)(meta);
357
- text += meta.catalogs.map(function (entity) {
358
- var links = (0, findLinksToEntities_1.default)(entities, entity.name);
349
+ const entities = (0, getAllSavableEntities_1.default)(meta);
350
+ text += meta.catalogs.map(entity => {
351
+ const links = (0, findLinksToEntities_1.default)(entities, entity.name);
359
352
  return getEntitySpec(meta.defaultLanguage, entity, entities, links);
360
353
  }).join('\n');
361
354
  text += '\n';
362
355
  return text;
363
356
  };
364
- var getInfoRegistriesSpec = function (meta) {
357
+ const getInfoRegistriesSpec = (meta) => {
365
358
  if (!meta.infoRegistries.length) {
366
359
  return;
367
360
  }
368
- var text = '';
361
+ let text = '';
369
362
  text += (0, titleMd_1.titleMd1)('Информационные регистры');
370
- var entities = (0, getAllSavableEntities_1.default)(meta);
371
- text += meta.infoRegistries.map(function (entity) {
372
- var links = (0, findLinksToEntities_1.default)(entities, entity.name);
363
+ const entities = (0, getAllSavableEntities_1.default)(meta);
364
+ text += meta.infoRegistries.map(entity => {
365
+ const links = (0, findLinksToEntities_1.default)(entities, entity.name);
373
366
  return getEntitySpec(meta.defaultLanguage, entity, entities, links);
374
367
  }).join('\n');
375
368
  return text;
376
369
  };
377
- var getSumRegistriesSpec = function (meta) {
370
+ const getSumRegistriesSpec = (meta) => {
378
371
  if (!meta.sumRegistries.length) {
379
372
  return;
380
373
  }
381
- var text = '';
374
+ let text = '';
382
375
  text += (0, titleMd_1.titleMd1)('Регистры накопления');
383
- var entities = (0, getAllSavableEntities_1.default)(meta);
384
- text += meta.sumRegistries.map(function (entity) {
385
- var links = (0, findLinksToEntities_1.default)(entities, entity.name);
376
+ const entities = (0, getAllSavableEntities_1.default)(meta);
377
+ text += meta.sumRegistries.map(entity => {
378
+ const links = (0, findLinksToEntities_1.default)(entities, entity.name);
386
379
  return getSumRegistrySpec(meta.defaultLanguage, entity, entities, meta.documents, links);
387
380
  }).join('\n');
388
381
  return text;
389
382
  };
390
- var getLanguagesSpec = function (meta) {
383
+ const getLanguagesSpec = (meta) => {
391
384
  if (!meta.languages.length) {
392
385
  return;
393
386
  }
394
- var text = '';
387
+ let text = '';
395
388
  text += (0, titleMd_1.titleMd1)('Языки');
396
- text += meta.languages.map(function (l) { return "* ".concat(l.title, " (").concat(l.id, ")\n"); }).join('');
389
+ text += meta.languages.map(l => `* ${l.title} (${l.id})\n`).join('');
397
390
  return text;
398
391
  };
399
- var getRolesSpec = function (meta) {
392
+ const getRolesSpec = (meta) => {
400
393
  if (!meta.roles.length) {
401
394
  return;
402
395
  }
403
- var text = '';
396
+ let text = '';
404
397
  text += (0, titleMd_1.titleMd1)('Роли');
405
- text += meta.roles.map(function (r) { return "* ".concat(r.name, " ").concat(r.title[meta.defaultLanguage].singular, " (").concat(r.needFor[meta.defaultLanguage], ")\n"); }).join('');
398
+ text += meta.roles.map(r => `* ${r.name} ${r.title[meta.defaultLanguage].singular} (${r.needFor[meta.defaultLanguage]})\n`).join('');
406
399
  return text;
407
400
  };
408
- var getReportsSpec = function (meta) {
401
+ const getReportsSpec = (meta) => {
409
402
  if (!meta.reports.length) {
410
403
  return;
411
404
  }
412
- var text = '';
405
+ let text = '';
413
406
  text += (0, titleMd_1.titleMd1)('Отчеты');
414
- text += meta.reports.map(function (report) {
415
- var docs = '';
407
+ text += meta.reports.map(report => {
408
+ let docs = '';
416
409
  docs += getEntityHeaderSpec(meta.defaultLanguage, report);
417
410
  docs += getReportLabelsSpec(report);
418
411
  return docs;
419
412
  }).join('\n');
420
413
  return text;
421
414
  };
422
- var getRestApisSpec = function (meta) {
415
+ const getRestApisSpec = (meta) => {
423
416
  if (!meta.restApis.length) {
424
417
  return;
425
418
  }
426
- var text = '';
419
+ let text = '';
427
420
  text += (0, titleMd_1.titleMd1)('Апи');
428
- text += meta.restApis.map(function (entity) {
429
- var docs = '';
421
+ text += meta.restApis.map(entity => {
422
+ let docs = '';
430
423
  docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
431
- for (var _i = 0, _a = entity.methods; _i < _a.length; _i++) {
432
- var method = _a[_i];
433
- docs += (0, titleMd_1.titleMd3)("".concat(entity.name, ".").concat(method.name));
434
- docs += "".concat(method.title[meta.defaultLanguage].singular, ". `").concat(method.httpMethod, "`\n\n");
424
+ for (const method of entity.methods) {
425
+ docs += (0, titleMd_1.titleMd3)(`${entity.name}.${method.name}`);
426
+ docs += `${method.title[meta.defaultLanguage].singular}. \`${method.httpMethod}\`\n\n`;
435
427
  if (method.urlExample) {
436
- docs += "\u041F\u0440\u0438\u043C\u0435\u0440 \u0443\u0440\u043B\u0430: `".concat(method.urlExample, "`\n\n");
428
+ docs += `Пример урла: \`${method.urlExample}\`\n\n`;
437
429
  }
438
430
  if (method.needFor[meta.defaultLanguage]) {
439
- docs += "\u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(method.needFor[meta.defaultLanguage], "\n\n");
431
+ docs += `Нужен для: ${method.needFor[meta.defaultLanguage]}\n\n`;
440
432
  }
441
433
  }
442
434
  return docs;
443
435
  }).join('\n');
444
436
  return text;
445
437
  };
446
- var getIntegrationClientsSpec = function (meta) {
438
+ const getIntegrationClientsSpec = (meta) => {
447
439
  if (!meta.integrationClients.length) {
448
440
  return;
449
441
  }
450
- var text = '';
442
+ let text = '';
451
443
  text += (0, titleMd_1.titleMd1)('Интеграционные клиенты');
452
- text += "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u0434\u043B\u0438 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432 \u0432\u043E \u0432\u043D\u0435\u0448\u043D\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u044B\n\n";
453
- text += meta.integrationClients.map(function (entity) {
444
+ text += `Используются дли запросов во внешние системы\n\n`;
445
+ text += meta.integrationClients.map(entity => {
454
446
  if (!entity.queryMethods.length) {
455
447
  return;
456
448
  }
457
- var docs = '';
449
+ let docs = '';
458
450
  docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
459
- for (var _i = 0, _a = entity.queryMethods; _i < _a.length; _i++) {
460
- var queryMethod = _a[_i];
461
- docs += (0, titleMd_1.titleMd3)("".concat(entity.name, ".").concat(queryMethod.name));
462
- docs += "".concat(queryMethod.title[meta.defaultLanguage].singular, "\n\n");
451
+ for (const queryMethod of entity.queryMethods) {
452
+ docs += (0, titleMd_1.titleMd3)(`${entity.name}.${queryMethod.name}`);
453
+ docs += `${queryMethod.title[meta.defaultLanguage].singular}\n\n`;
463
454
  if (queryMethod.needFor[meta.defaultLanguage]) {
464
- docs += "\u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(queryMethod.needFor[meta.defaultLanguage], "\n\n");
455
+ docs += `Нужен для: ${queryMethod.needFor[meta.defaultLanguage]}\n\n`;
465
456
  }
466
457
  }
467
458
  return docs;
468
459
  }).filter(Boolean).join('\n');
469
460
  return text;
470
461
  };
471
- var getServiceMethodSpec = function (lang, service, method) {
472
- var text = '';
473
- text += (0, titleMd_1.titleMd3)("".concat(service.name, ".").concat(method.name));
474
- text += "".concat(method.title[lang].singular, "\n\n");
475
- text += "\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0447\u0435\u0440\u0435\u0437 \u0430\u043F\u0438: ".concat(method.exportedToApi ? 'да' : 'нет', "\n\n");
476
- text += "\u041C\u043E\u0436\u043D\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u043E\u0447\u0435\u0440\u0435\u0434\u044C: ".concat(method.queable ? 'да' : 'нет', "\n\n");
477
- text += "\u0422\u0438\u043F: `".concat(method.methodType, "`\n\n");
462
+ const getServiceMethodSpec = (lang, service, method) => {
463
+ let text = '';
464
+ text += (0, titleMd_1.titleMd3)(`${service.name}.${method.name}`);
465
+ text += `${method.title[lang].singular}\n\n`;
466
+ text += `Экспортируется через апи: ${method.exportedToApi ? 'да' : 'нет'}\n\n`;
467
+ text += `Можно запускать через очередь: ${method.queable ? 'да' : 'нет'}\n\n`;
468
+ text += `Тип: \`${method.methodType}\`\n\n`;
478
469
  if (method.needFor[lang]) {
479
- text += "\u041D\u0443\u0436\u0435\u043D \u0434\u043B\u044F: ".concat(method.needFor[lang], "\n\n");
470
+ text += `Нужен для: ${method.needFor[lang]}\n\n`;
480
471
  }
481
472
  return text;
482
473
  };
483
- var getAdditionalServicesSpec = function (meta) {
474
+ const getAdditionalServicesSpec = (meta) => {
484
475
  if (!meta.additionalServices.length) {
485
476
  return;
486
477
  }
487
- var text = '';
478
+ let text = '';
488
479
  text += (0, titleMd_1.titleMd1)('Дополнителььные сервисы');
489
- text += meta.additionalServices.map(function (entity) {
480
+ text += meta.additionalServices.map(entity => {
490
481
  if (!entity.methods.length) {
491
482
  return;
492
483
  }
493
- var docs = '';
484
+ let docs = '';
494
485
  docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
495
- for (var _i = 0, _a = entity.methods; _i < _a.length; _i++) {
496
- var method = _a[_i];
486
+ for (const method of entity.methods) {
497
487
  docs += getServiceMethodSpec(meta.defaultLanguage, entity, method);
498
488
  }
499
489
  return docs;
500
490
  }).filter(Boolean).join('\n');
501
491
  return text;
502
492
  };
503
- var getSystemAdditionalPagesSpec = function (meta) {
493
+ const getSystemAdditionalPagesSpec = (meta) => {
504
494
  if (!meta.pages.length) {
505
495
  return;
506
496
  }
507
- var text = '';
497
+ let text = '';
508
498
  text += (0, titleMd_1.titleMd1)('Доп старницы');
509
- text += meta.pages.map(function (page) {
510
- var docs = '';
511
- docs += (0, titleMd_1.titleMd3)("".concat(page.title[meta.defaultLanguage].singular));
499
+ text += meta.pages.map(page => {
500
+ let docs = '';
501
+ docs += (0, titleMd_1.titleMd3)(`${page.title[meta.defaultLanguage].singular}`);
512
502
  return docs;
513
503
  }).filter(Boolean).join('\n');
514
504
  return text;
515
505
  };
516
- var getProjectSpec = function (meta) {
517
- var spec = '\n';
506
+ const getProjectSpec = (meta) => {
507
+ let spec = '\n';
518
508
  spec += [
519
509
  getCommonInfoSpec(meta),
520
510
  getTableOfContentsSpec(meta),
@@ -539,4 +529,4 @@ var getProjectSpec = function (meta) {
539
529
  return spec;
540
530
  };
541
531
  exports.default = getProjectSpec;
542
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJvamVjdFNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2Vudmlyb25tZW50L2RvY3Mvc3BlYy9nZXRQcm9qZWN0U3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUEyQztBQUMzQyx3RUFlaUQ7QUFDakQsOEVBQXdEO0FBQ3hELGtGQUE0RDtBQUM1RCxxQ0FBdUQ7QUFFdkQsSUFBTSxLQUFLLEdBQUcsVUFBQyxNQUFjLElBQUssT0FBQSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUE3RCxDQUE2RCxDQUFDO0FBQ2hHLElBQU0sT0FBTyxHQUFHLFVBQUMsS0FBYSxFQUFFLElBQVksSUFBSyxPQUFBLFdBQUksS0FBSyxnQkFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQUcsRUFBN0IsQ0FBNkIsQ0FBQztBQUMvRSxJQUFNLGFBQWEsR0FBRyxVQUFDLEtBQWEsSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQXJCLENBQXFCLENBQUM7QUFDL0QsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFZLEVBQUUsTUFBeUIsSUFBSyxPQUFBLE9BQU8sQ0FBQyxXQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxNQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBdEUsQ0FBc0UsQ0FBQztBQUMxSSxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBYSxJQUFLLE9BQUEsVUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsZUFBSyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFJLEVBQXRELENBQXNELENBQUM7QUFDMUgsSUFBTSxnQkFBZ0IsR0FBRyxVQUFDLEtBQWEsRUFBRSxLQUFhLElBQUssT0FBQSxVQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxlQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBSSxFQUF0RCxDQUFzRCxDQUFDO0FBRWxILElBQU0sbUJBQW1CLEdBQUcsVUFDMUIsSUFBWSxFQUNaLE1BQWtCO0lBRWxCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMsVUFBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUM7SUFDbkQsSUFBSSxJQUFJLFdBQUssTUFBTSxDQUFDLElBQUksVUFBUSxDQUFDO0lBRWpDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN4QixJQUFJLElBQUksNkRBQWMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBTSxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLDBCQUEwQixHQUFHLFVBQ2pDLElBQVksRUFDWixNQUF5QjtJQUV6QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLFVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFDO0lBQ2pELElBQUksSUFBSSxXQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVEsQ0FBQztJQUVqQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEIsSUFBSSxJQUFJLDZEQUFjLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQU0sQ0FBQztLQUNsRDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSwwQkFBMEIsR0FBRyxVQUNqQyxJQUFZLEVBQ1osS0FBMEI7SUFFMUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLElBQUksSUFBSSxnSUFBMEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLFVBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBRSxFQUFoQyxDQUFnQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFJLENBQUM7S0FDeEc7U0FBTTtRQUNMLElBQUksSUFBSSwwQkFBMEIsQ0FBQztLQUNwQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxtQkFBbUIsR0FBRyxVQUMxQixJQUFZLEVBQ1osTUFBeUIsRUFDekIsUUFBa0I7SUFFbEIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLFVBQUcsSUFBQSx3QkFBYTtRQUN0QixDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUM7T0FDckUsTUFBTSxDQUFDLE1BQU07U0FDYixNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQVQsQ0FBUyxDQUFDO1NBQ3RCLEdBQUcsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBO1FBQ1YsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNiLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFDL0MsQ0FBQyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLDhFQUFnQixhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxjQUFjLEVBQTNCLENBQTJCLENBQVksQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDL0gsRUFOVyxDQU1YLENBQUMsUUFDSixDQUFFLENBQUM7SUFFTCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLDJCQUEyQixHQUFHLFVBQ2xDLElBQVksRUFDWixNQUF5QjtJQUV6QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ3pCLElBQUksSUFBSSxJQUFJLENBQUM7UUFFYixJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLHNDQUFRLENBQUMsQ0FBQztRQUUzQixLQUFxQixVQUFjLEVBQWQsS0FBQSxNQUFNLENBQUMsT0FBTyxFQUFkLGNBQWMsRUFBZCxJQUFjLEVBQUU7WUFBaEMsSUFBTSxNQUFNLFNBQUE7WUFDZixJQUFJLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRDtLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLDBCQUEwQixHQUFHLFVBQ2pDLE1BQXlCO0lBRXpCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDeEIsSUFBSSxJQUFJLElBQUksQ0FBQztRQUViLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMsc0NBQVEsQ0FBQyxDQUFDO1FBRTNCLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLFlBQUssS0FBSyxPQUFJLEVBQWQsQ0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLG1CQUFtQixHQUFHLFVBQzFCLE1BQWM7SUFFZCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3hCLElBQUksSUFBSSxJQUFJLENBQUM7UUFFYixJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLHNDQUFRLENBQUMsQ0FBQztRQUUzQixJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxZQUFLLEtBQUssT0FBSSxFQUFkLENBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM3RDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxnQ0FBZ0MsR0FBRyxVQUN2QyxNQUF5QjtJQUV6QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1FBQzlCLElBQUksSUFBSSxJQUFJLENBQUM7UUFFYixJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLCtHQUFxQixDQUFDLENBQUM7UUFFeEMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQUEsWUFBWSxJQUFJLE9BQUEsWUFBSyxZQUFZLENBQUMsS0FBSyxjQUFJLFlBQVksQ0FBQyxJQUFJLE9BQUksRUFBaEQsQ0FBZ0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM1RztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSx1QkFBdUIsR0FBRyxVQUFDLE1BQXlCO0lBQ3hELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtRQUNwQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBRWIsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxtSkFBMkIsQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxVQUFHLElBQUEsd0JBQWE7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQVQsQ0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLElBQUksRUFBTixDQUFNLENBQUM7V0FDbEQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDOUIsVUFBQyxDQUFDLElBQUssT0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBVCxDQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFiLENBQWEsQ0FBQyxFQUFoRSxDQUFnRSxDQUN4RSxRQUNELENBQUUsQ0FBQztRQUVMLElBQUksSUFBSSxJQUFJLENBQUM7S0FDZDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSw4QkFBOEIsR0FBRyxVQUFDLE1BQXlCO0lBQy9ELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtRQUNuQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBRWIsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyw2SUFBMEIsQ0FBQyxDQUFDO1FBRTdDLElBQUksSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsWUFBSyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsV0FBSyxDQUFDLE1BQUksRUFBVixDQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQUksRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNoRztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxvQkFBb0IsR0FBRyxVQUMzQixJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsUUFBa0I7SUFFbEIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUM1QixJQUFJLElBQUksSUFBSSxDQUFDO1FBRWIsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyx5R0FBb0IsQ0FBQyxDQUFDO1FBRXZDLElBQUksSUFBSSxVQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsVUFBRyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksRUFBZixDQUFlLENBQWdCLENBQUMsQ0FBRSxFQUE1RSxDQUE0RSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFJLENBQUM7S0FDdkk7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sNEJBQTRCLEdBQUcsVUFDbkMsSUFBWSxFQUNaLE1BQW1CLEVBQ25CLFNBQXFCO0lBRXJCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQWxDLENBQWtDLENBQUMsQ0FBQztJQUU3RSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7UUFDckIsSUFBSSxJQUFJLElBQUksQ0FBQztRQUViLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMsMEVBQWMsQ0FBQyxDQUFDO1FBRWpDLElBQUksSUFBSSxVQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBQSxTQUFTLElBQUksT0FBQSxVQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUUsRUFBbkMsQ0FBbUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBSSxDQUFDO0tBQzVGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLGFBQWEsR0FBRyxVQUNwQixJQUFZLEVBQ1osTUFBeUIsRUFDekIsUUFBa0IsRUFDbEIsS0FBMEI7SUFFMUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxJQUFJLElBQUksMEJBQTBCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELElBQUksSUFBSSxJQUFJLENBQUM7SUFDYixJQUFJLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxJQUFJLElBQUksdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsSUFBSSxJQUFJLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLElBQUksSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsSUFBSSxJQUFJLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLElBQUksSUFBSSxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVqRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sVUFBVSxHQUFHLFVBQ2pCLElBQVksRUFDWixNQUFnQixFQUNoQixRQUFrQixFQUNsQixLQUEwQjtJQUUxQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksMEJBQTBCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELElBQUksSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEQsSUFBSSxJQUFJLElBQUksQ0FBQztJQUNiLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxJQUFJLElBQUksOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsSUFBSSxJQUFJLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsSUFBSSxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxJQUFJLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFM0MsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLGtCQUFrQixHQUFHLFVBQ3pCLElBQVksRUFDWixNQUFtQixFQUNuQixRQUFrQixFQUNsQixTQUFxQixFQUNyQixLQUEwQjtJQUUxQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksMEJBQTBCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELElBQUksSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEQsSUFBSSxJQUFJLElBQUksQ0FBQztJQUNiLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxJQUFJLElBQUksOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsSUFBSSxJQUFJLDRCQUE0QixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUQsSUFBSSxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxJQUFJLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFM0MsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLG1CQUFtQixHQUFHLFVBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxRQUFzQjtJQUM5RSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQUksSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQTNDLENBQTJDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFL0UsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLG1CQUFtQixHQUFHLFVBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxJQUFlO0lBQ3ZFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHLElBQUk7UUFDdEIsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO09BQzFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBRyxHQUFHLENBQUMsSUFBSSxjQUFJLENBQUMsQ0FBQyxJQUFJLENBQUUsRUFBRSxDQUFDLENBQUMsRUFBOUMsQ0FBOEMsQ0FBQyxTQUZqRCxDQUd2QixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRWxCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSw2QkFBNkIsR0FBRyxVQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBNEI7SUFDOUYsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU0sSUFBSTtRQUM1QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7T0FDN0MsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFHLE1BQU0sQ0FBQyxJQUFJLGNBQUksQ0FBQyxDQUFDLElBQUksQ0FBRSxFQUFFLENBQUMsQ0FBQyxFQUFqRCxDQUFpRCxDQUFDLFNBRnRELENBRzdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFbEIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLDZCQUE2QixHQUFHLFVBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxPQUE0QjtJQUM5RixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQUksSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJO1FBQzVCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztPQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFVBQUcsTUFBTSxDQUFDLElBQUksY0FBSSxDQUFDLENBQUMsSUFBSSxDQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQWpELENBQWlELENBQUMsU0FGakQsQ0FHN0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVsQixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sd0JBQXdCLEdBQUcsVUFBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFFBQTZCO0lBQzFGLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBekMsQ0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUU3RSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sc0JBQXNCLEdBQUcsVUFBQyxJQUFZO0lBQzFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFFL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUN4QixJQUFJLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ25GO0lBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUN6QixJQUFJLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtRQUN6QixJQUFJLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3JGO0lBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtRQUM5QixJQUFJLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDeEc7SUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQzdCLElBQUksSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNuRztJQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDekIsSUFBSSxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztLQUN0QztJQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7UUFDckIsSUFBSSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNyQztJQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDdkIsSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMzRTtJQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN6RTtJQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtRQUNsQyxJQUFJLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNoSDtJQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRTtRQUNsQyxJQUFJLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNoSDtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQVk7SUFDckMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25DLElBQUksSUFBSSw4REFBZSxJQUFJLENBQUMsSUFBSSxPQUFJLENBQUM7SUFDckMsSUFBSSxJQUFJLCtEQUFnQixJQUFJLENBQUMsT0FBTyxPQUFJLENBQUM7SUFDekMsSUFBSSxJQUFJLHdEQUFjLElBQUksQ0FBQyxNQUFNLE9BQUksQ0FBQztJQUV0QyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUFHLFVBQUMsSUFBYyxFQUFFLEtBQWE7SUFDcEQsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEtBQUssMkJBQVksQ0FBQyxLQUFLO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxlQUFlLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxLQUFLLDJCQUFZLENBQUMsUUFBUTtZQUN4QixPQUFPLFVBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLGVBQUssSUFBSSxDQUFDLEtBQUssZUFBSyxJQUFJLENBQUMsSUFBSSxRQUFLLENBQUM7UUFDckUsS0FBSywyQkFBWSxDQUFDLFFBQVE7WUFDeEIsT0FBTyxVQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxlQUFLLElBQUksQ0FBQyxLQUFLLGVBQUssSUFBSSxDQUFDLElBQUksUUFBSyxDQUFDO0tBQ3RFO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsSUFBTSxjQUFjLEdBQUcsVUFBQyxJQUFZO0lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUN4QixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBRS9CLEtBQXFCLFVBQVksRUFBWixLQUFBLElBQUksQ0FBQyxPQUFPLEVBQVosY0FBWSxFQUFaLElBQVksRUFBRTtRQUE5QixJQUFNLE1BQU0sU0FBQTtRQUNmLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLElBQUksSUFBSSxZQUFLLE1BQU0sT0FBSSxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLGFBQWEsR0FBRyxVQUFDLElBQVk7SUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3ZCLE9BQU87S0FDUjtJQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFFL0IsS0FBb0IsVUFBVyxFQUFYLEtBQUEsSUFBSSxDQUFDLE1BQU0sRUFBWCxjQUFXLEVBQVgsSUFBVyxFQUFFO1FBQTVCLElBQU0sS0FBSyxTQUFBO1FBQ2QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLFlBQUssS0FBSyxPQUFJLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksSUFBSSxJQUFJLENBQUM7SUFFYixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sV0FBVyxHQUFHLFVBQUMsSUFBWTtJQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDMUIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUV6QixLQUFtQixVQUFjLEVBQWQsS0FBQSxJQUFJLENBQUMsU0FBUyxFQUFkLGNBQWMsRUFBZCxJQUFjLEVBQUU7UUFBOUIsSUFBTSxJQUFJLFNBQUE7UUFDYixJQUFJLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNsQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxjQUFjLEdBQUcsVUFBQyxJQUFZO0lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUN6QixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLElBQUksSUFBSSxVQUFHLElBQUEsd0JBQWE7UUFDdEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO09BQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUE7UUFDMUIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUMsVUFBVTtLQUNiLEVBSDJCLENBRzNCLENBQUMsUUFDRixDQUFFLENBQUM7SUFFTCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLGdCQUFnQixHQUFHLFVBQUMsSUFBWTtJQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDMUIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUU5QixJQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFxQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDL0IsSUFBTSxLQUFLLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFZCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUFHLFVBQUMsSUFBWTtJQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDekIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxVQUFVLENBQUMsQ0FBQztJQUU3QixJQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFxQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDOUIsSUFBTSxLQUFLLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFZCxJQUFJLElBQUksSUFBSSxDQUFDO0lBRWIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLHFCQUFxQixHQUFHLFVBQUMsSUFBWTtJQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7UUFDL0IsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRTVDLElBQU0sUUFBUSxHQUFHLElBQUEsK0JBQXFCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQUEsTUFBTTtRQUNwQyxJQUFNLEtBQUssR0FBRyxJQUFBLDZCQUFtQixFQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVkLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLElBQVk7SUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQzlCLE9BQU87S0FDUjtJQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV4QyxJQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFxQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDbkMsSUFBTSxLQUFLLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0YsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixJQUFNLGdCQUFnQixHQUFHLFVBQUMsSUFBWTtJQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDMUIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxZQUFLLENBQUMsQ0FBQyxLQUFLLGVBQUssQ0FBQyxDQUFDLEVBQUUsUUFBSyxFQUExQixDQUEwQixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxZQUFZLEdBQUcsVUFBQyxJQUFZO0lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUN0QixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFlBQUssQ0FBQyxDQUFDLElBQUksY0FBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLGVBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQUssRUFBOUYsQ0FBOEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVySSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sY0FBYyxHQUFHLFVBQUMsSUFBWTtJQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDeEIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUUzQixJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxNQUFNO1FBQzdCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELElBQUksSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVkLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQUcsVUFBQyxJQUFZO0lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUN6QixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDOUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFMUQsS0FBcUIsVUFBYyxFQUFkLEtBQUEsTUFBTSxDQUFDLE9BQU8sRUFBZCxjQUFjLEVBQWQsSUFBYyxFQUFFO1lBQWhDLElBQU0sTUFBTSxTQUFBO1lBRWYsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxVQUFHLE1BQU0sQ0FBQyxJQUFJLGNBQUksTUFBTSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUM7WUFDbEQsSUFBSSxJQUFJLFVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxnQkFBTyxNQUFNLENBQUMsVUFBVSxVQUFRLENBQUM7WUFFdkYsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUNyQixJQUFJLElBQUksMEVBQWtCLE1BQU0sQ0FBQyxVQUFVLFVBQVEsQ0FBQzthQUNyRDtZQUVELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksSUFBSSw2REFBYyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBTSxDQUFDO2FBQ2xFO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVkLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSx5QkFBeUIsR0FBRyxVQUFDLElBQVk7SUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7UUFDbkMsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRTNDLElBQUksSUFBSSxxUEFBa0QsQ0FBQztJQUUzRCxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQy9CLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFELEtBQTBCLFVBQW1CLEVBQW5CLEtBQUEsTUFBTSxDQUFDLFlBQVksRUFBbkIsY0FBbUIsRUFBbkIsSUFBbUIsRUFBRTtZQUExQyxJQUFNLFdBQVcsU0FBQTtZQUVwQixJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLFVBQUcsTUFBTSxDQUFDLElBQUksY0FBSSxXQUFXLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLElBQUksVUFBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLFNBQU0sQ0FBQztZQUVsRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLElBQUksNkRBQWMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQU0sQ0FBQzthQUN2RTtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxvQkFBb0IsR0FBRyxVQUMzQixJQUFZLEVBQ1osT0FBOEMsRUFDOUMsTUFBcUI7SUFFckIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxVQUFHLE9BQU8sQ0FBQyxJQUFJLGNBQUksTUFBTSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUM7SUFDbkQsSUFBSSxJQUFJLFVBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLFNBQU0sQ0FBQztJQUM3QyxJQUFJLElBQUksa0pBQTZCLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFNLENBQUM7SUFDL0UsSUFBSSxJQUFJLDJLQUFrQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBTSxDQUFDO0lBQzlFLElBQUksSUFBSSwrQkFBVSxNQUFNLENBQUMsVUFBVSxVQUFRLENBQUM7SUFFNUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hCLElBQUksSUFBSSw2REFBYyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFNLENBQUM7S0FDbEQ7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0seUJBQXlCLEdBQUcsVUFBQyxJQUFZO0lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFO1FBQ25DLE9BQU87S0FDUjtJQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVkLElBQUksSUFBSSxJQUFBLGtCQUFRLEVBQUMseUJBQXlCLENBQUMsQ0FBQztJQUU1QyxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFBLE1BQU07UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQzFCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVkLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFELEtBQXFCLFVBQWMsRUFBZCxLQUFBLE1BQU0sQ0FBQyxPQUFPLEVBQWQsY0FBYyxFQUFkLElBQWMsRUFBRTtZQUFoQyxJQUFNLE1BQU0sU0FBQTtZQUNmLElBQUksSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5QixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLElBQU0sNEJBQTRCLEdBQUcsVUFBQyxJQUFZO0lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUN0QixPQUFPO0tBQ1I7SUFFRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFFZCxJQUFJLElBQUksSUFBQSxrQkFBUSxFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWpDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7UUFDekIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLElBQUEsa0JBQVEsRUFBQyxVQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBRSxDQUFDLENBQUM7UUFFakUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsSUFBTSxjQUFjLEdBQUcsVUFBQyxJQUFZO0lBQ2xDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztJQUVoQixJQUFJLElBQUs7UUFDUCxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFDdkIsc0JBQXNCLENBQUMsSUFBSSxDQUFDO1FBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDakIsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNwQixlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3JCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUN0QixxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFDM0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDO1FBQzFCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUN0QixZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDcEIsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNyQix5QkFBeUIsQ0FBQyxJQUFJLENBQUM7UUFDL0IseUJBQXlCLENBQUMsSUFBSSxDQUFDO1FBQy9CLDRCQUE0QixDQUFDLElBQUksQ0FBQztRQUNsQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3BCLGFBQWEsQ0FBQyxJQUFJLENBQUM7S0FDcEI7U0FDRSxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixrQkFBZSxjQUFjLENBQUMifQ==
532
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJvamVjdFNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2Vudmlyb25tZW50L2RvY3Mvc3BlYy9nZXRQcm9qZWN0U3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9FQUEyQztBQUMzQywwRUFlaUQ7QUFDakQsZ0ZBQXdEO0FBQ3hELG9GQUE0RDtBQUM1RCx1Q0FBdUQ7QUFFdkQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDaEcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUMvRSxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVksRUFBRSxNQUF5QixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUksTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMs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