@kontur.candy/tools 2.210.1-cgroupv2.0 → 2.210.1-cgroupv2.1

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 (625) hide show
  1. package/distr/Common/AsyncUtils.js +18 -0
  2. package/distr/Common/AsyncUtils.js.map +1 -0
  3. package/distr/Common/AutoValidationUtils.js +8 -0
  4. package/distr/Common/AutoValidationUtils.js.map +1 -0
  5. package/distr/Common/CandyApiClient/CandyApiClient.js +578 -0
  6. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -0
  7. package/distr/Common/CandyApiClient/CandyApiClientContext.js +18 -0
  8. package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +1 -0
  9. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +6 -0
  10. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -0
  11. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +6 -0
  12. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +1 -0
  13. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +12 -0
  14. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +1 -0
  15. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +6 -0
  16. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +1 -0
  17. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +33 -0
  18. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +1 -0
  19. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +35 -0
  20. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +1 -0
  21. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +20 -0
  22. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +1 -0
  23. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +89 -0
  24. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +1 -0
  25. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +42 -0
  26. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +1 -0
  27. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +9 -0
  28. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +1 -0
  29. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +6 -0
  30. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +1 -0
  31. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +18 -0
  32. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +1 -0
  33. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +15 -0
  34. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +1 -0
  35. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +19 -0
  36. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -0
  37. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +6 -0
  38. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -0
  39. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +248 -0
  40. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -0
  41. package/distr/Common/CandyApiClient/ICandyApiClient.js +6 -0
  42. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -0
  43. package/distr/Common/CandyApiClient/IsBuffer.js +15 -0
  44. package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -0
  45. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +6 -0
  46. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -0
  47. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +6 -0
  48. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +1 -0
  49. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +6 -0
  50. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +1 -0
  51. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +6 -0
  52. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +1 -0
  53. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +6 -0
  54. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +1 -0
  55. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +24 -0
  56. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -0
  57. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +6 -0
  58. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +1 -0
  59. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +6 -0
  60. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -0
  61. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +9 -0
  62. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +1 -0
  63. package/distr/Common/CandyApiClient/Types/DraftFullId.js +6 -0
  64. package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +1 -0
  65. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +12 -0
  66. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +1 -0
  67. package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js +6 -0
  68. package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js.map +1 -0
  69. package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js +6 -0
  70. package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js.map +1 -0
  71. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +17 -0
  72. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -0
  73. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +13 -0
  74. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +1 -0
  75. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +6 -0
  76. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -0
  77. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +6 -0
  78. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +1 -0
  79. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +15 -0
  80. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +1 -0
  81. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +6 -0
  82. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +1 -0
  83. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +9 -0
  84. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +1 -0
  85. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +6 -0
  86. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +1 -0
  87. package/distr/Common/CandyApiClient/Types/Guid.js +6 -0
  88. package/distr/Common/CandyApiClient/Types/Guid.js.map +1 -0
  89. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +6 -0
  90. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +1 -0
  91. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +6 -0
  92. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +1 -0
  93. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
  94. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +1 -0
  95. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +24 -0
  96. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +1 -0
  97. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +6 -0
  98. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +1 -0
  99. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +6 -0
  100. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +1 -0
  101. package/distr/Common/CandyApiClient/Types/Print/PrintType.js +12 -0
  102. package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +1 -0
  103. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +15 -0
  104. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +1 -0
  105. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +19 -0
  106. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +1 -0
  107. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +15 -0
  108. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +1 -0
  109. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +15 -0
  110. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +1 -0
  111. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +13 -0
  112. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +1 -0
  113. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +15 -0
  114. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +1 -0
  115. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +15 -0
  116. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +1 -0
  117. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +15 -0
  118. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +1 -0
  119. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +21 -0
  120. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +1 -0
  121. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +15 -0
  122. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +1 -0
  123. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +19 -0
  124. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +1 -0
  125. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +15 -0
  126. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +1 -0
  127. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +6 -0
  128. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -0
  129. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +26 -0
  130. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -0
  131. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +6 -0
  132. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +1 -0
  133. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +16 -0
  134. package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +1 -0
  135. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +16 -0
  136. package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +1 -0
  137. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +6 -0
  138. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +1 -0
  139. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +6 -0
  140. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +1 -0
  141. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +6 -0
  142. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +1 -0
  143. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +6 -0
  144. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +1 -0
  145. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +6 -0
  146. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +1 -0
  147. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +14 -0
  148. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +1 -0
  149. package/distr/Common/CollectionUtils.js +15 -0
  150. package/distr/Common/CollectionUtils.js.map +1 -0
  151. package/distr/Common/CommonConstants/SectionNames.js +11 -0
  152. package/distr/Common/CommonConstants/SectionNames.js.map +1 -0
  153. package/distr/Common/Comparers.js +63 -0
  154. package/distr/Common/Comparers.js.map +1 -0
  155. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +22 -0
  156. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +1 -0
  157. package/distr/Common/EndPoints.js +16 -0
  158. package/distr/Common/EndPoints.js.map +1 -0
  159. package/distr/Common/Enums/ButtonSettingsTypeEnum.js +12 -0
  160. package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +1 -0
  161. package/distr/Common/Errors.js +44 -0
  162. package/distr/Common/Errors.js.map +1 -0
  163. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +31 -0
  164. package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +1 -0
  165. package/distr/Common/FSPrinterClient/FSPrinterClient.js +153 -0
  166. package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -0
  167. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +19 -0
  168. package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +1 -0
  169. package/distr/Common/FSPrinterClient/IFSPrinterClient.js +39 -0
  170. package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +1 -0
  171. package/distr/Common/FormActionHandlers/ContextualActionNames.js +14 -0
  172. package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +1 -0
  173. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +6 -0
  174. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +1 -0
  175. package/distr/Common/FormPathUtils.js +21 -0
  176. package/distr/Common/FormPathUtils.js.map +1 -0
  177. package/distr/Common/Funcs.js +11 -0
  178. package/distr/Common/Funcs.js.map +1 -0
  179. package/distr/Common/GFV.js +6 -0
  180. package/distr/Common/GFV.js.map +1 -0
  181. package/distr/Common/GetRngSchemaFileExtension.js +26 -0
  182. package/distr/Common/GetRngSchemaFileExtension.js.map +1 -0
  183. package/distr/Common/Hooks/UseLocalStorage.js +35 -0
  184. package/distr/Common/Hooks/UseLocalStorage.js.map +1 -0
  185. package/distr/Common/HttpClient/AuthenticationMode.js +31 -0
  186. package/distr/Common/HttpClient/AuthenticationMode.js.map +1 -0
  187. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +9 -0
  188. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +1 -0
  189. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +9 -0
  190. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +1 -0
  191. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +6 -0
  192. package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +1 -0
  193. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +8 -0
  194. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +1 -0
  195. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +36 -0
  196. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -0
  197. package/distr/Common/HttpClient/HttpClient.js +313 -0
  198. package/distr/Common/HttpClient/HttpClient.js.map +1 -0
  199. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +6 -0
  200. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +1 -0
  201. package/distr/Common/HttpClient/IHttpClient.js +6 -0
  202. package/distr/Common/HttpClient/IHttpClient.js.map +1 -0
  203. package/distr/Common/IndentString.js +16 -0
  204. package/distr/Common/IndentString.js.map +1 -0
  205. package/distr/Common/IntRangeUtils.js +32 -0
  206. package/distr/Common/IntRangeUtils.js.map +1 -0
  207. package/distr/Common/IterableUtils.js +288 -0
  208. package/distr/Common/IterableUtils.js.map +1 -0
  209. package/distr/Common/KCLangRuntimeUtils.js +266 -0
  210. package/distr/Common/KCLangRuntimeUtils.js.map +1 -0
  211. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +55 -0
  212. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -0
  213. package/distr/Common/ModelPath/BuildIterationSequence.js +41 -0
  214. package/distr/Common/ModelPath/BuildIterationSequence.js.map +1 -0
  215. package/distr/Common/ModelPath/EachCurrentCollision.js +12 -0
  216. package/distr/Common/ModelPath/EachCurrentCollision.js.map +1 -0
  217. package/distr/Common/ModelPath/IEquatable.js +6 -0
  218. package/distr/Common/ModelPath/IEquatable.js.map +1 -0
  219. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +23 -0
  220. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +1 -0
  221. package/distr/Common/ModelPath/Map/Map2.js +99 -0
  222. package/distr/Common/ModelPath/Map/Map2.js.map +1 -0
  223. package/distr/Common/ModelPath/Map/ModelPathMap.js +23 -0
  224. package/distr/Common/ModelPath/Map/ModelPathMap.js.map +1 -0
  225. package/distr/Common/ModelPath/ModelPath.js +476 -0
  226. package/distr/Common/ModelPath/ModelPath.js.map +1 -0
  227. package/distr/Common/ModelPath/ModelPathBuilder.js +42 -0
  228. package/distr/Common/ModelPath/ModelPathBuilder.js.map +1 -0
  229. package/distr/Common/ModelPath/ModelPathHelper.js +34 -0
  230. package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -0
  231. package/distr/Common/ModelPath/PathMatcher.js +95 -0
  232. package/distr/Common/ModelPath/PathMatcher.js.map +1 -0
  233. package/distr/Common/ModelPath/PathSplitHelper.js +21 -0
  234. package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -0
  235. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +31 -0
  236. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +1 -0
  237. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +31 -0
  238. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +1 -0
  239. package/distr/Common/ModelPath/Set/ModelPathSet.js +31 -0
  240. package/distr/Common/ModelPath/Set/ModelPathSet.js.map +1 -0
  241. package/distr/Common/ModelPath/Set/Set2.js +59 -0
  242. package/distr/Common/ModelPath/Set/Set2.js.map +1 -0
  243. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +33 -0
  244. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +1 -0
  245. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +6 -0
  246. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +1 -0
  247. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +11 -0
  248. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +1 -0
  249. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +66 -0
  250. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +1 -0
  251. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +108 -0
  252. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +1 -0
  253. package/distr/Common/NidusClient/INidusClient.js +14 -0
  254. package/distr/Common/NidusClient/INidusClient.js.map +1 -0
  255. package/distr/Common/NidusClient/NidusClientContext.js +34 -0
  256. package/distr/Common/NidusClient/NidusClientContext.js.map +1 -0
  257. package/distr/Common/NidusClient/NidusClientImpl.js +55 -0
  258. package/distr/Common/NidusClient/NidusClientImpl.js.map +1 -0
  259. package/distr/Common/PathConstants.js +11 -0
  260. package/distr/Common/PathConstants.js.map +1 -0
  261. package/distr/Common/PicklistApiClient/IPicklistApiClient.js +6 -0
  262. package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +1 -0
  263. package/distr/Common/PicklistApiClient/PicklistApiClient.js +31 -0
  264. package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -0
  265. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +36 -0
  266. package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -0
  267. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +53 -0
  268. package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -0
  269. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +37 -0
  270. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -0
  271. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +6 -0
  272. package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -0
  273. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +6 -0
  274. package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +1 -0
  275. package/distr/Common/RngSchemeTypes/types.js +6 -0
  276. package/distr/Common/RngSchemeTypes/types.js.map +1 -0
  277. package/distr/Common/StringArrayKey.js +26 -0
  278. package/distr/Common/StringArrayKey.js.map +1 -0
  279. package/distr/Common/TextExtractor/TextExtractorTypes.js +6 -0
  280. package/distr/Common/TextExtractor/TextExtractorTypes.js.map +1 -0
  281. package/distr/Common/TypingUtils.js +118 -0
  282. package/distr/Common/TypingUtils.js.map +1 -0
  283. package/distr/Common/UUID.js +14 -0
  284. package/distr/Common/UUID.js.map +1 -0
  285. package/distr/Common/UseAsyncEffect.js +20 -0
  286. package/distr/Common/UseAsyncEffect.js.map +1 -0
  287. package/distr/Common/UseShowOnce.js +60 -0
  288. package/distr/Common/UseShowOnce.js.map +1 -0
  289. package/distr/Common/UseTypedSelector.js +10 -0
  290. package/distr/Common/UseTypedSelector.js.map +1 -0
  291. package/distr/Common/WellKnownDirectories.js +14 -0
  292. package/distr/Common/WellKnownDirectories.js.map +1 -0
  293. package/distr/Common/hashUtils.js +14 -0
  294. package/distr/Common/hashUtils.js.map +1 -0
  295. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +77 -0
  296. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -0
  297. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +14 -0
  298. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +1 -0
  299. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +22 -0
  300. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +1 -0
  301. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +88 -0
  302. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +1 -0
  303. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +82 -0
  304. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -0
  305. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +10 -0
  306. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +1 -0
  307. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +42 -0
  308. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -0
  309. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +30 -0
  310. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +1 -0
  311. package/distr/Tools/src/BuildTasks/FSTask.js +67 -0
  312. package/distr/Tools/src/BuildTasks/FSTask.js.map +1 -0
  313. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +52 -0
  314. package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -0
  315. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +44 -0
  316. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -0
  317. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +37 -0
  318. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -0
  319. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +25 -0
  320. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +1 -0
  321. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +31 -0
  322. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -0
  323. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +27 -0
  324. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +1 -0
  325. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +95 -0
  326. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -0
  327. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +126 -0
  328. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -0
  329. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +174 -0
  330. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -0
  331. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +121 -0
  332. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -0
  333. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +45 -0
  334. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -0
  335. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +52 -0
  336. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -0
  337. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +49 -0
  338. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -0
  339. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +19 -0
  340. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +1 -0
  341. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +64 -0
  342. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +1 -0
  343. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +84 -0
  344. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -0
  345. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +174 -0
  346. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -0
  347. package/distr/Tools/src/BuildTasks/ReadFormSource.js +112 -0
  348. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -0
  349. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +107 -0
  350. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -0
  351. package/distr/Tools/src/BuildTasks/Version.js +41 -0
  352. package/distr/Tools/src/BuildTasks/Version.js.map +1 -0
  353. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +27 -0
  354. package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -0
  355. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +28 -0
  356. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +1 -0
  357. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +169 -0
  358. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -0
  359. package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js +24 -0
  360. package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js.map +1 -0
  361. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +234 -0
  362. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -0
  363. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +36 -0
  364. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +1 -0
  365. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +112 -0
  366. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -0
  367. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +158 -0
  368. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -0
  369. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +94 -0
  370. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -0
  371. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +129 -0
  372. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -0
  373. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js +45 -0
  374. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js.map +1 -0
  375. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +76 -0
  376. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +1 -0
  377. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +67 -0
  378. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +1 -0
  379. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +65 -0
  380. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -0
  381. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +117 -0
  382. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +1 -0
  383. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +22 -0
  384. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +1 -0
  385. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +96 -0
  386. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +1 -0
  387. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +231 -0
  388. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -0
  389. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js +70 -0
  390. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js.map +1 -0
  391. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +57 -0
  392. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -0
  393. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +67 -0
  394. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -0
  395. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +21 -0
  396. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +1 -0
  397. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +52 -0
  398. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -0
  399. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +80 -0
  400. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -0
  401. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +31 -0
  402. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -0
  403. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +6 -0
  404. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +1 -0
  405. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +6 -0
  406. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -0
  407. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +184 -0
  408. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -0
  409. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +213 -0
  410. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -0
  411. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +28 -0
  412. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +1 -0
  413. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +6 -0
  414. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -0
  415. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +110 -0
  416. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -0
  417. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +50 -0
  418. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +1 -0
  419. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +19 -0
  420. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +1 -0
  421. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +30 -0
  422. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +1 -0
  423. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +6 -0
  424. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +1 -0
  425. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +163 -0
  426. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -0
  427. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +112 -0
  428. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -0
  429. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +34 -0
  430. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -0
  431. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +50 -0
  432. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -0
  433. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +54 -0
  434. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +1 -0
  435. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}./320/232/320/241.candy.js.kclang +0 -0
  436. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.AfterMerge.xslt +11 -0
  437. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.BeforePreload.xslt +11 -0
  438. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.fufPatcher.xslt +11 -0
  439. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.outer.inner.json +1 -0
  440. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +2 -0
  441. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +1 -0
  442. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/form.json +12 -0
  443. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/addPril1.txt +6 -0
  444. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/presentations.json +8 -0
  445. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{gfv}.0.rng.xml +20 -0
  446. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/sugar/index.sugar.xml +10 -0
  447. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +16 -0
  448. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -0
  449. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +23 -0
  450. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +1 -0
  451. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/validations.KC.kclang +0 -0
  452. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +34 -0
  453. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +1 -0
  454. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +117 -0
  455. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +1 -0
  456. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +44 -0
  457. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +1 -0
  458. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +73 -0
  459. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -0
  460. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +25 -0
  461. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +1 -0
  462. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +38 -0
  463. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +1 -0
  464. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +36 -0
  465. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -0
  466. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +50 -0
  467. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -0
  468. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +144 -0
  469. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -0
  470. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +78 -0
  471. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +1 -0
  472. package/distr/Tools/src/CandyCLI.js +144 -0
  473. package/distr/Tools/src/CandyCLI.js.map +1 -0
  474. package/distr/Tools/src/CheckNodeJsVersion.js +32 -0
  475. package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -0
  476. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +28 -0
  477. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +1 -0
  478. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +93 -0
  479. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +1 -0
  480. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +24 -0
  481. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +1 -0
  482. package/distr/Tools/src/Commons/ErrorUntyped.js +6 -0
  483. package/distr/Tools/src/Commons/ErrorUntyped.js.map +1 -0
  484. package/distr/Tools/src/Commons/EventObject.js +74 -0
  485. package/distr/Tools/src/Commons/EventObject.js.map +1 -0
  486. package/distr/Tools/src/Commons/ExecUtils.js +38 -0
  487. package/distr/Tools/src/Commons/ExecUtils.js.map +1 -0
  488. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +21 -0
  489. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +1 -0
  490. package/distr/Tools/src/Commons/FormGlobsUtils.js +137 -0
  491. package/distr/Tools/src/Commons/FormGlobsUtils.js.map +1 -0
  492. package/distr/Tools/src/Commons/FormLocationInfo.js +6 -0
  493. package/distr/Tools/src/Commons/FormLocationInfo.js.map +1 -0
  494. package/distr/Tools/src/Commons/FsUtils.js +35 -0
  495. package/distr/Tools/src/Commons/FsUtils.js.map +1 -0
  496. package/distr/Tools/src/Commons/GetCpuLimits.js +64 -0
  497. package/distr/Tools/src/Commons/GetCpuLimits.js.map +1 -0
  498. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +38 -0
  499. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +1 -0
  500. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +57 -0
  501. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -0
  502. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +15 -0
  503. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +1 -0
  504. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +18 -0
  505. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -0
  506. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +6 -0
  507. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +1 -0
  508. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +14 -0
  509. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -0
  510. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +17 -0
  511. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -0
  512. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +22 -0
  513. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -0
  514. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +20 -0
  515. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -0
  516. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +46 -0
  517. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +1 -0
  518. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +13 -0
  519. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +1 -0
  520. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +18 -0
  521. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +1 -0
  522. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +13 -0
  523. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +1 -0
  524. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +13 -0
  525. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +1 -0
  526. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +6 -0
  527. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +1 -0
  528. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +13 -0
  529. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +1 -0
  530. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +13 -0
  531. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +1 -0
  532. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +113 -0
  533. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -0
  534. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +24 -0
  535. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +1 -0
  536. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +106 -0
  537. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +1 -0
  538. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +22 -0
  539. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +1 -0
  540. package/distr/Tools/src/Commons/Locks/Lock.js +24 -0
  541. package/distr/Tools/src/Commons/Locks/Lock.js.map +1 -0
  542. package/distr/Tools/src/Commons/Locks/LockHandle.js +17 -0
  543. package/distr/Tools/src/Commons/Locks/LockHandle.js.map +1 -0
  544. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +31 -0
  545. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +1 -0
  546. package/distr/Tools/src/Commons/Logging/ELKLogger.js +56 -0
  547. package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -0
  548. package/distr/Tools/src/Commons/Logging/ILogger.js +25 -0
  549. package/distr/Tools/src/Commons/Logging/ILogger.js.map +1 -0
  550. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +61 -0
  551. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +1 -0
  552. package/distr/Tools/src/Commons/Logging/Logger.js +78 -0
  553. package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -0
  554. package/distr/Tools/src/Commons/Logging/StaticLogger.js +37 -0
  555. package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +1 -0
  556. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +2 -0
  557. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -0
  558. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +152 -0
  559. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +1 -0
  560. package/distr/Tools/src/Commons/PathPattern.js +42 -0
  561. package/distr/Tools/src/Commons/PathPattern.js.map +1 -0
  562. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +16 -0
  563. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +1 -0
  564. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +6 -0
  565. package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +1 -0
  566. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +668 -0
  567. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -0
  568. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +77 -0
  569. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +1 -0
  570. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +20 -0
  571. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +1 -0
  572. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +48 -0
  573. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -0
  574. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +45 -0
  575. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -0
  576. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +25 -0
  577. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -0
  578. package/distr/Tools/src/Commons/TasksCore/Observe.js +35 -0
  579. package/distr/Tools/src/Commons/TasksCore/Observe.js.map +1 -0
  580. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +29 -0
  581. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +1 -0
  582. package/distr/Tools/src/Commons/TimingUtils.js +13 -0
  583. package/distr/Tools/src/Commons/TimingUtils.js.map +1 -0
  584. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +180 -0
  585. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -0
  586. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +145 -0
  587. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -0
  588. package/distr/Tools/src/FormWebpackConfiguration/variables.less +132 -0
  589. package/distr/Tools/src/GenerateReadMe.js +54 -0
  590. package/distr/Tools/src/GenerateReadMe.js.map +1 -0
  591. package/distr/Tools/src/Keys/localhost-key.pem +116 -0
  592. package/distr/Tools/src/Keys/localhost.pem +35 -0
  593. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +2 -0
  594. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +49 -0
  595. package/distr/Tools/src/LocalServerFrontEndDist/favicon-16x16.png +0 -0
  596. package/distr/Tools/src/LocalServerFrontEndDist/favicon-32x32.png +0 -0
  597. package/distr/Tools/src/LocalServerFrontEndDist/favicon.ico +0 -0
  598. package/distr/Tools/src/LocalServerFrontEndDist/index.html +1 -0
  599. package/distr/Tools/src/LocalServerFrontEndDist/index.js +3 -0
  600. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +60 -0
  601. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -0
  602. package/distr/Tools/src/Options/CandyToolOptions.js +20 -0
  603. package/distr/Tools/src/Options/CandyToolOptions.js.map +1 -0
  604. package/distr/Tools/src/ReadFarmConfig.js +18 -0
  605. package/distr/Tools/src/ReadFarmConfig.js.map +1 -0
  606. package/distr/Tools/src/SelfUpdate.js +121 -0
  607. package/distr/Tools/src/SelfUpdate.js.map +1 -0
  608. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1722 -0
  609. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
  610. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -0
  611. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +1076 -0
  612. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -0
  613. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +3328 -0
  614. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +1 -0
  615. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +6517 -0
  616. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +1 -0
  617. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +222 -0
  618. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +1 -0
  619. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +3328 -0
  620. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +1 -0
  621. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +6517 -0
  622. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +1 -0
  623. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +222 -0
  624. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +1 -0
  625. package/package.json +1 -1
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.devBuildServerCommandDefinition = exports.buildServerCommandDefinition = void 0;
7
+ var _CommandBasedOptionsParser = require("../../Commons/Options/CommandBasedOptionsParser");
8
+ var _BuildDebugOnlyOption = require("../CommonOptions/BuildDebugOnlyOption");
9
+ var _CommonOptionDefintions = require("../CommonOptions/CommonOptionDefintions");
10
+ const buildServerCommandDefinition = exports.buildServerCommandDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("build-server", "build-server", (0, _CommandBasedOptionsParser.optionsDefinition)({
11
+ alias: "g",
12
+ name: "gfvs",
13
+ defaultValue: {},
14
+ parse: input => ({}),
15
+ defaultOption: true,
16
+ multiple: true,
17
+ description: "Опция устарела. Оставлена для обратной совместимости."
18
+ }, {
19
+ alias: "a",
20
+ name: "all-farm-dir",
21
+ defaultValue: {
22
+ allFarmsDir: []
23
+ },
24
+ parse: input => ({
25
+ allFarmsDir: input
26
+ }),
27
+ defaultOption: false,
28
+ multiple: true,
29
+ description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy"
30
+ }, {
31
+ name: "nightly",
32
+ defaultValue: {
33
+ nightly: false
34
+ },
35
+ parse: input => ({
36
+ nightly: input
37
+ }),
38
+ doesNotRequireValue: true,
39
+ description: "Включает сборку форм на движке nightly."
40
+ }, {
41
+ name: "no-client-override",
42
+ defaultValue: {
43
+ disableClientOverride: false
44
+ },
45
+ parse: input => ({
46
+ disableClientOverride: input
47
+ }),
48
+ doesNotRequireValue: true,
49
+ description: "Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы."
50
+ }, {
51
+ name: "reformat",
52
+ alias: "r",
53
+ doesNotRequireValue: true,
54
+ defaultValue: {
55
+ skipGeneratedCodeReformatting: true
56
+ },
57
+ parse: input => ({
58
+ skipGeneratedCodeReformatting: !input
59
+ }),
60
+ description: "Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)"
61
+ }, _BuildDebugOnlyOption.debugOnlyOptionDefinition, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
62
+ description: "Magic"
63
+ });
64
+ const devBuildServerCommandDefinition = exports.devBuildServerCommandDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("dev-build-server", "dev-build-server", (0, _CommandBasedOptionsParser.optionsDefinition)({
65
+ alias: "g",
66
+ name: "gfvs",
67
+ defaultValue: {
68
+ formGlobs: ["*"]
69
+ },
70
+ parse: input => ({
71
+ formGlobs: input
72
+ }),
73
+ defaultOption: true,
74
+ multiple: true,
75
+ description: "Одна или несколько GFV или GFV-масок для пересобрки."
76
+ }, {
77
+ alias: "a",
78
+ name: "all-farm-dir",
79
+ defaultValue: {
80
+ allFarmsDir: []
81
+ },
82
+ parse: input => ({
83
+ allFarmsDir: input
84
+ }),
85
+ defaultOption: false,
86
+ multiple: true,
87
+ description: "Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy"
88
+ }, {
89
+ name: "no-client-override",
90
+ defaultValue: {
91
+ disableClientOverride: false
92
+ },
93
+ parse: input => ({
94
+ disableClientOverride: input
95
+ }),
96
+ doesNotRequireValue: true,
97
+ description: "Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы."
98
+ }, {
99
+ name: "reformat",
100
+ alias: "r",
101
+ doesNotRequireValue: true,
102
+ defaultValue: {
103
+ skipGeneratedCodeReformatting: true
104
+ },
105
+ parse: input => ({
106
+ skipGeneratedCodeReformatting: !input
107
+ }),
108
+ description: "Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)"
109
+ }, _BuildDebugOnlyOption.debugOnlyOptionDefinition, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
110
+ description: "Magic"
111
+ });
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQnVpbGREZWJ1Z09ubHlPcHRpb24iLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsImJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24iLCJleHBvcnRzIiwiY29tbWFuZERlZmluaXRpb24iLCJvcHRpb25zRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsInBhcnNlIiwiaW5wdXQiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJkZXNjcmlwdGlvbiIsImFsbEZhcm1zRGlyIiwibmlnaHRseSIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsImRlYnVnT25seU9wdGlvbkRlZmluaXRpb24iLCJkZXZNb2RlT3B0aW9uIiwibG9nVmVyYm9zaXR5T3B0aW9uIiwiZGV2QnVpbGRTZXJ2ZXJDb21tYW5kRGVmaW5pdGlvbiIsImZvcm1HbG9icyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBCdWlsZERlYnVnT25seU9wdGlvbiwgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuLi9Db21tb25PcHRpb25zL0J1aWxkRGVidWdPbmx5T3B0aW9uXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU2VydmVyT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMsIEJ1aWxkRGVidWdPbmx5T3B0aW9uIHtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgbmlnaHRseTogYm9vbGVhbjtcbiAgICBhbGxGYXJtc0Rpcjogc3RyaW5nW10gfCBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZCdWlsZFNlcnZlck9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zLCBCdWlsZERlYnVnT25seU9wdGlvbiB7XG4gICAgZm9ybUdsb2JzOiBzdHJpbmdbXTtcbiAgICBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW47XG4gICAgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgYWxsRmFybXNEaXI6IHN0cmluZ1tdIHwgW107XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFNlcnZlckNvbW1hbmREZWZpbml0aW9uID0gY29tbWFuZERlZmluaXRpb248XCJidWlsZC1zZXJ2ZXJcIiwgQnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImJ1aWxkLXNlcnZlclwiLFxuICAgIFwiYnVpbGQtc2VydmVyXCIsXG4gICAgb3B0aW9uc0RlZmluaXRpb24oXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoe30pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7Qv9GG0LjRjyDRg9GB0YLQsNGA0LXQu9CwLiDQntGB0YLQsNCy0LvQtdC90LAg0LTQu9GPINC+0LHRgNCw0YLQvdC+0Lkg0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBjYW5keVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5pZ2h0bHlcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBuaWdodGx5OiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IG5pZ2h0bHk6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCS0LrQu9GO0YfQsNC10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INC90LAg0LTQstC40LbQutC1IG5pZ2h0bHkuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibm8tY2xpZW50LW92ZXJyaWRlXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZGlzYWJsZUNsaWVudE92ZXJyaWRlOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IGRpc2FibGVDbGllbnRPdmVycmlkZTogaW5wdXQgfSksXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQntGC0LrQu9GO0YfQsNC10YIg0L/QtdGA0LXRhdCy0LDRgiBjbGllbnQuanMuINCSINGN0YLQvtC8INGB0LvRg9GH0LDQtSDQvdC1INCx0YPQtNC10YIg0YDQsNCx0L7RgtCw0YLRjCDQvtGC0L7QsdGA0LDQttC10L3QuNC1INC70L7Qs9C+0LIg0YHQsdC+0YDQutC4INC4INC+0LbQuNC00LDQvdC40Y8g0YHQsdC+0YDQutC4INGE0L7RgNC80YsuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwicmVmb3JtYXRcIixcbiAgICAgICAgICAgIGFsaWFzOiBcInJcIixcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IHRydWUgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiAhaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCS0LrQu9GO0YfQsNC10YIg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSDQs9C10L3QtdGA0LjRgNGD0LXQvNC+0LPQviDQutC+0LTQsC4g0KDQsNCx0L7RgtCw0LXRgiwg0YLQvtC70YzQutC+INC10YHQu9C4INCy0LXRgNGB0LjRjyDQs9C10L3QtdGA0LDRgtC+0YDQsCDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0Y3RgtGDINC+0L/RhtC40Y4uINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L7RgtC70LDQtNC60Lgg0Lgg0L/RgNC+0YHQvNC+0YLRgNCwINGB0LPQtdC90LXRgNC40YDQvtCy0LDQvdC90YvRhSDRhNC+0YDQvCDQsiDQvtGC0LTQsNC00YfQuNC60LUuIChkZWZhdWx0OiBmYWxzZSlcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWdPbmx5T3B0aW9uRGVmaW5pdGlvbixcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIk1hZ2ljXCIsXG4gICAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRldkJ1aWxkU2VydmVyQ29tbWFuZERlZmluaXRpb24gPSBjb21tYW5kRGVmaW5pdGlvbjxcImRldi1idWlsZC1zZXJ2ZXJcIiwgRGV2QnVpbGRTZXJ2ZXJPcHRpb25zPihcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBcImRldi1idWlsZC1zZXJ2ZXJcIixcbiAgICBvcHRpb25zRGVmaW5pdGlvbihcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiZ1wiLFxuICAgICAgICAgICAgbmFtZTogXCJnZnZzXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZm9ybUdsb2JzOiBbXCIqXCJdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgZm9ybUdsb2JzOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCe0LTQvdCwINC40LvQuCDQvdC10YHQutC+0LvRjNC60L4gR0ZWINC40LvQuCBHRlYt0LzQsNGB0L7QuiDQtNC70Y8g0L/QtdGA0LXRgdC+0LHRgNC60LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImFcIixcbiAgICAgICAgICAgIG5hbWU6IFwiYWxsLWZhcm0tZGlyXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgYWxsRmFybXNEaXI6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgYWxsRmFybXNEaXI6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J/QvtC30LLQvtC70Y/QtdGCINC/0LXRgNC10LTQsNGC0Ywg0LzQsNGB0YHQuNCyINC/0YPRgtC10Lkg0LTQviDQstGB0LXRhSDRhNCw0YDQvNC+0LIgY2FuZHksINGH0YLQvtCx0Ysg0L7RgtC60YDRi9Cy0LDRgtGMINC40Lcg0LLRgdC10YUg0L3QuNGFINGE0L7RgNC80YsuINCf0YPRgtGMINC/0LXRgNC10LTQsNCy0LDRgtGMINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviBjYW5keVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLWNsaWVudC1vdmVycmlkZVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGRpc2FibGVDbGllbnRPdmVycmlkZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiBpbnB1dCA9PiAoeyBkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J7RgtC60LvRjtGH0LDQtdGCINC/0LXRgNC10YXQstCw0YIgY2xpZW50LmpzLiDQkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0L3QtSDQsdGD0LTQtdGCINGA0LDQsdC+0YLQsNGC0Ywg0L7RgtC+0LHRgNCw0LbQtdC90LjQtSDQu9C+0LPQvtCyINGB0LHQvtGA0LrQuCDQuCDQvtC20LjQtNCw0L3QuNGPINGB0LHQvtGA0LrQuCDRhNC+0YDQvNGLLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInJlZm9ybWF0XCIsXG4gICAgICAgICAgICBhbGlhczogXCJyXCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiB0cnVlIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBib29sZWFuKSA9PiAoeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogIWlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQktC60LvRjtGH0LDQtdGCINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LPQtdC90LXRgNC40YDRg9C10LzQvtCz0L4g0LrQvtC00LAuINCg0LDQsdC+0YLQsNC10YIsINGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQstC10YDRgdC40Y8g0LPQtdC90LXRgNCw0YLQvtGA0LAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINGN0YLRgyDQvtC/0YbQuNGOLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC+0YLQu9Cw0LTQutC4INC4INC/0YDQvtGB0LzQvtGC0YDQsCDRgdCz0LXQvdC10YDQuNGA0L7QstCw0L3QvdGL0YUg0YTQvtGA0Lwg0LIg0L7RgtC00LDQtNGH0LjQutC1LiAoZGVmYXVsdDogZmFsc2UpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnT25seU9wdGlvbkRlZmluaXRpb24sXG4gICAgICAgIGRldk1vZGVPcHRpb24sXG4gICAgICAgIGxvZ1ZlcmJvc2l0eU9wdGlvblxuICAgICksXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJNYWdpY1wiLFxuICAgIH1cbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLDBCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxxQkFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsdUJBQUEsR0FBQUYsT0FBQTtBQWdCTyxNQUFNRyw0QkFBNEIsR0FBQUMsT0FBQSxDQUFBRCw0QkFBQSxHQUFHLElBQUFFLDRDQUFpQixFQUN6RCxjQUFjLEVBQ2QsY0FBYyxFQUNkLElBQUFDLDRDQUFpQixFQUNiO0VBQ0lDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxNQUFNO0VBQ1pDLFlBQVksRUFBRSxDQUFDLENBQUM7RUFDaEJDLEtBQUssRUFBR0MsS0FBZSxLQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ2hDQyxhQUFhLEVBQUUsSUFBSTtFQUNuQkMsUUFBUSxFQUFFLElBQUk7RUFDZEMsV0FBVyxFQUFFO0FBQ2pCLENBQUMsRUFDRDtFQUNJUCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsY0FBYztFQUNwQkMsWUFBWSxFQUFFO0lBQUVNLFdBQVcsRUFBRTtFQUFHLENBQUM7RUFDakNMLEtBQUssRUFBR0MsS0FBZSxLQUFNO0lBQUVJLFdBQVcsRUFBRUo7RUFBTSxDQUFDLENBQUM7RUFDcERDLGFBQWEsRUFBRSxLQUFLO0VBQ3BCQyxRQUFRLEVBQUUsSUFBSTtFQUNkQyxXQUFXLEVBQ1A7QUFDUixDQUFDLEVBQ0Q7RUFDSU4sSUFBSSxFQUFFLFNBQVM7RUFDZkMsWUFBWSxFQUFFO0lBQUVPLE9BQU8sRUFBRTtFQUFNLENBQUM7RUFDaENOLEtBQUssRUFBRUMsS0FBSyxLQUFLO0lBQUVLLE9BQU8sRUFB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildServerServerOptions.js","names":["_CommandBasedOptionsParser","require","_BuildDebugOnlyOption","_CommonOptionDefintions","buildServerCommandDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","parse","input","defaultOption","multiple","description","allFarmsDir","nightly","doesNotRequireValue","disableClientOverride","skipGeneratedCodeReformatting","debugOnlyOptionDefinition","devModeOption","logVerbosityOption","devBuildServerCommandDefinition","formGlobs"],"sources":["../../../../../src/CLICommands/BuildServer/BuildServerServerOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { BuildDebugOnlyOption, debugOnlyOptionDefinition } from \"../CommonOptions/BuildDebugOnlyOption\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nexport interface BuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n nightly: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport interface DevBuildServerOptions extends CommonOptions, BuildDebugOnlyOption {\n formGlobs: string[];\n disableClientOverride: boolean;\n skipGeneratedCodeReformatting: boolean;\n allFarmsDir: string[] | [];\n}\n\nexport const buildServerCommandDefinition = commandDefinition<\"build-server\", BuildServerOptions>(\n \"build-server\",\n \"build-server\",\n optionsDefinition(\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: {},\n parse: (input: string[]) => ({}),\n defaultOption: true,\n multiple: true,\n description: \"Опция устарела. Оставлена для обратной совместимости.\",\n },\n {\n alias: \"a\",\n name: \"all-farm-dir\",\n defaultValue: { allFarmsDir: [] },\n parse: (input: string[]) => ({ allFarmsDir: input }),\n defaultOption: false,\n multiple: true,\n description:\n \"Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy\",\n },\n {\n name: \"nightly\",\n defaultValue: { nightly: false },\n parse: input => ({ nightly: input }),\n doesNotRequireValue: true,\n description: \"Включает сборку форм на движке nightly.\",\n },\n {\n name: \"no-client-override\",\n defaultValue: { disableClientOverride: false },\n parse: input => ({ disableClientOverride: input }),\n doesNotRequireValue: true,\n description:\n \"Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы.\",\n },\n {\n name: \"reformat\",\n alias: \"r\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: !input }),\n description:\n \"Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)\",\n },\n debugOnlyOptionDefinition,\n devModeOption,\n logVerbosityOption\n ),\n {\n description: \"Magic\",\n }\n);\n\nexport const devBuildServerCommandDefinition = commandDefinition<\"dev-build-server\", DevBuildServerOptions>(\n \"dev-build-server\",\n \"dev-build-server\",\n optionsDefinition(\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [\"*\"] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересобрки.\",\n },\n {\n alias: \"a\",\n name: \"all-farm-dir\",\n defaultValue: { allFarmsDir: [] },\n parse: (input: string[]) => ({ allFarmsDir: input }),\n defaultOption: false,\n multiple: true,\n description:\n \"Позволяет передать массив путей до всех фармов candy, чтобы открывать из всех них формы. Путь передавать относительно candy\",\n },\n {\n name: \"no-client-override\",\n defaultValue: { disableClientOverride: false },\n parse: input => ({ disableClientOverride: input }),\n doesNotRequireValue: true,\n description:\n \"Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы.\",\n },\n {\n name: \"reformat\",\n alias: \"r\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: !input }),\n description:\n \"Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)\",\n },\n debugOnlyOptionDefinition,\n devModeOption,\n logVerbosityOption\n ),\n {\n description: \"Magic\",\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BuildServerBackendResourcesController = void 0;
8
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
9
+ var _fs = require("fs");
10
+ var path = _interopRequireWildcard(require("path"));
11
+ var _fsExtra = require("fs-extra");
12
+ var _lodash = require("lodash");
13
+ var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
14
+ var _NotFoundWebError = require("../../../Commons/HttpServer/AttributeRouting/NotFoundWebError");
15
+ var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
16
+ var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
17
+ var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
18
+ var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
19
+ var _FarmDirectory = require("./Directories/FarmDirectory");
20
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _class;
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
+ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesController = (_dec = (0, _Methods.httpGet)("/gfvs", _Results.httpReturn.Json), _dec2 = (0, _Methods.httpGet)("/picklists", _Results.httpReturn.PlainText), _dec3 = (0, _Methods.httpGet)("/picklists/:picklistFilename", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("picklistFilename", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)("/converters", _Results.httpReturn.PlainText), _dec5 = (0, _Methods.httpGet)("/converters/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/mergers", _Results.httpReturn.PlainText), _dec7 = (0, _Methods.httpGet)("/mergers/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec8 = (0, _Methods.httpGet)("/schemas", _Results.httpReturn.PlainText), _dec9 = (0, _Methods.httpGet)("/schemas/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec10 = (0, _Methods.httpGet)("/normalize", _Results.httpReturn.PlainText), _dec11 = (0, _Methods.httpGet)("/normalize/:gfv.xml", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec12 = (0, _Methods.httpGet)("/normalize/:gfv.normalize", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec13 = (0, _Methods.httpGet)("/attachmentpaths", _Results.httpReturn.PlainText), _dec14 = (0, _Methods.httpGet)("/attachmentpaths/:gfv.json", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec15 = (0, _Methods.httpGet)("/unmap", _Results.httpReturn.PlainText), _dec16 = (0, _Methods.httpGet)("/unmap/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec17 = (0, _Methods.httpGet)("/map", _Results.httpReturn.PlainText), _dec18 = (0, _Methods.httpGet)("/map/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec19 = (0, _Methods.httpGet)("/patch", _Results.httpReturn.PlainText), _dec20 = (0, _Methods.httpGet)("/patch/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), (_class = class BuildServerBackendResourcesController extends _SingletonController.SingletonController {
24
+ constructor(allFarmConfig, flangNormalizationSourcesProvider) {
25
+ super();
26
+ this.generatedServerSideSourcesProvider = void 0;
27
+ this.allSchemasFiles = void 0;
28
+ this.resetAllSchemaFilesDebounced = void 0;
29
+ this.allFarmDirectories = void 0;
30
+ this.allFarmConfig = void 0;
31
+ this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;
32
+ this.allFarmConfig = allFarmConfig;
33
+ this.allFarmDirectories = allFarmConfig.map(i => new _FarmDirectory.FarmDirectory(i.farmDirectory));
34
+ this.resetAllSchemaFilesDebounced = (0, _lodash.debounce)(() => {
35
+ this.allSchemasFiles = undefined;
36
+ }, 5000);
37
+ }
38
+ async getAllGfvs() {
39
+ return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();
40
+ }
41
+ async getAllPicklists() {
42
+ return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join("\n");
43
+ }
44
+ async getPicklists(picklistFilename) {
45
+ const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, "picklists", picklistFilename));
46
+ for (const pathFile of allFilePath) {
47
+ if (await (0, _fsExtra.pathExists)(pathFile)) {
48
+ return (0, _fs.createReadStream)(pathFile);
49
+ }
50
+ }
51
+ throw Error(`not found picklistFilename ${picklistFilename}`);
52
+ }
53
+ async getAllConvertersFiles() {
54
+ return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths()))).flat().map(x => path.basename(x)).join("\n");
55
+ }
56
+ async getConverterFile(filename) {
57
+ for (const farmDirectory of this.allFarmDirectories) {
58
+ const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);
59
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
60
+ return new _StreamResultHandler.FileStreamResult(filePath);
61
+ }
62
+ }
63
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
64
+ }
65
+ async getAllMergersFiles() {
66
+ return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths()))).flat().map(x => path.basename(x)).join("\n");
67
+ }
68
+ async getMergerFile(filename) {
69
+ for (const farmDirectory of this.allFarmDirectories) {
70
+ const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);
71
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
72
+ return new _StreamResultHandler.FileStreamResult(filePath);
73
+ }
74
+ }
75
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
76
+ }
77
+ async getAllSchemasFiles() {
78
+ if (this.allSchemasFiles === undefined) {
79
+ this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths()))).flat().map(x => path.basename(x)).join("\n");
80
+ }
81
+ this.resetAllSchemaFilesDebounced();
82
+ return this.allSchemasFiles;
83
+ }
84
+ async getFormSchemas(filename) {
85
+ for (const farmDirectory of this.allFarmDirectories) {
86
+ const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);
87
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
88
+ return new _StreamResultHandler.FileStreamResult(filePath);
89
+ }
90
+ }
91
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
92
+ }
93
+ async getAllNormalizeFiles() {
94
+ const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();
95
+ const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();
96
+ return [...files.map(x => path.basename(x)), ...flangFiles].join("\n");
97
+ }
98
+ async getNormalizeFile(gfv) {
99
+ for (const farmDirectory of this.allFarmDirectories) {
100
+ const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);
101
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
102
+ return new _StreamResultHandler.FileStreamResult(filePath);
103
+ }
104
+ }
105
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
106
+ }
107
+ async getFLangNormalizeFile(gfv) {
108
+ const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);
109
+ if (stream == null) {
110
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
111
+ }
112
+ return new _StreamResultHandler.StreamResult(stream);
113
+ }
114
+ async getAllAttachmentPathsFileNames() {
115
+ const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();
116
+ return flangFiles.join("\n");
117
+ }
118
+ async getAttachmentPathFile(gfv) {
119
+ return new _StreamResultHandler.StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));
120
+ }
121
+ async getAllUnmapFiles() {
122
+ return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths()))).flat().map(x => path.basename(x)).join("\n");
123
+ }
124
+ async getUnmapFile(filename) {
125
+ for (const farmDirectory of this.allFarmDirectories) {
126
+ const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);
127
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
128
+ return new _StreamResultHandler.FileStreamResult(filePath);
129
+ }
130
+ }
131
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
132
+ }
133
+ async getAllMapFiles() {
134
+ return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths()))).flat().map(x => path.basename(x)).join("\n");
135
+ }
136
+ async getMapFile(filename) {
137
+ for (const farmDirectory of this.allFarmDirectories) {
138
+ const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);
139
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
140
+ return new _StreamResultHandler.FileStreamResult(filePath);
141
+ }
142
+ }
143
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
144
+ }
145
+ async getAllPatchFiles() {
146
+ return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths()))).flat().map(x => path.basename(x)).join("\n");
147
+ }
148
+ async getPatchFile(filename) {
149
+ for (const farmDirectory of this.allFarmDirectories) {
150
+ const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);
151
+ if (filePath != null && (await (0, _fsExtra.pathExists)(filePath))) {
152
+ return new _StreamResultHandler.FileStreamResult(filePath);
153
+ }
154
+ }
155
+ throw new _NotFoundWebError.NotFoundWebError("File not found", false);
156
+ }
157
+ }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllGfvs", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getAllGfvs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPicklists", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPicklists", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllConvertersFiles", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getAllConvertersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getConverterFile", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getConverterFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMergersFiles", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMergersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMergerFile", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getMergerFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllSchemasFiles", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getAllSchemasFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormSchemas", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, "getFormSchemas"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllNormalizeFiles", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, "getAllNormalizeFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getNormalizeFile", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, "getNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFLangNormalizeFile", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, "getFLangNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllAttachmentPathsFileNames", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, "getAllAttachmentPathsFileNames"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathFile", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllUnmapFiles", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, "getAllUnmapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getUnmapFile", [_dec16], Object.getOwnPropertyDescriptor(_class.prototype, "getUnmapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMapFiles", [_dec17], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMapFile", [_dec18], Object.getOwnPropertyDescriptor(_class.prototype, "getMapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPatchFiles", [_dec19], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPatchFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPatchFile", [_dec20], Object.getOwnPropertyDescriptor(_class.prototype, "getPatchFile"), _class.prototype)), _class));
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJyZXF1aXJlIiwicGF0aCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2ZzRXh0cmEiLCJfbG9kYXNoIiwiX01ldGhvZHMiLCJfTm90Rm91bmRXZWJFcnJvciIsIl9QYXJhbXMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfRmFybURpcmVjdG9yeSIsIl9kZWMiLCJfZGVjMiIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiX2RlYzEzIiwiX2RlYzE0IiwiX2RlYzE1IiwiX2RlYzE2IiwiX2RlYzE3IiwiX2RlYzE4IiwiX2RlYzE5IiwiX2RlYzIwIiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsImV4cG9ydHMiLCJodHRwR2V0IiwiaHR0cFJldHVybiIsIkpzb24iLCJQbGFpblRleHQiLCJTdHJlYW1XaXRoTWltZSIsImh0dHBVcmxQYXJhbSIsImh0dHBUeXBlIiwiU3RyaW5nIiwiU3RyZWFtIiwiU2luZ2xldG9uQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYWxsRmFybUNvbmZpZyIsImZsYW5nTm9ybWFsaXphdGlvblNvdXJjZXNQcm92aWRlciIsImdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIiLCJhbGxTY2hlbWFzRmlsZXMiLCJyZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkIiwiYWxsRmFybURpcmVjdG9yaWVzIiwibWFwIiwiRmFybURpcmVjdG9yeSIsImZhcm1EaXJlY3RvcnkiLCJkZWJvdW5jZSIsInVuZGVmaW5lZCIsImdldEFsbEdmdnMiLCJQcm9taXNlIiwiYWxsIiwieCIsImZsYXQiLCJnZXRBbGxQaWNrbGlzdHMiLCJqb2luIiwiZ2V0UGlja2xpc3RzIiwicGlja2xpc3RGaWxlbmFtZSIsImFsbEZpbGVQYXRoIiwicGF0aEZpbGUiLCJwYXRoRXhpc3RzIiwiY3JlYXRlUmVhZFN0cmVhbSIsIkVycm9yIiwiZ2V0QWxsQ29udmVydGVyc0ZpbGVzIiwiZmxhdE1hcCIsImdldEFsbENvbnZlcnRlckZpbGVQYXRocyIsImJhc2VuYW1lIiwiZ2V0Q29udmVydGVyRmlsZSIsImZpbGVuYW1lIiwiZmlsZVBhdGgiLCJnZXRDb252ZXJ0ZXJGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsIkZpbGVTdHJlYW1SZXN1bHQiLCJOb3RGb3VuZFdlYkVycm9yIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVzIiwiZ2V0QWxsTWVyZ2Vyc0ZpbGVQYXRocyIsImdldE1lcmdlckZpbGUiLCJnZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxTY2hlbWFzRmlsZXMiLCJnZXRBbGxTY2hlbWFzRmlsZVBhdGhzIiwiZ2V0Rm9ybVNjaGVtYXMiLCJnZXRTY2hlbWFGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEFsbE5vcm1hbGl6ZUZpbGVzIiwiZmlsZXMiLCJnZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMiLCJmbGFuZ0ZpbGVzIiwiZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcyIsImdldE5vcm1hbGl6ZUZpbGUiLCJnZnYiLCJnZXROb3JtYWxpemVGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZCIsImdldEZMYW5nTm9ybWFsaXplRmlsZSIsInN0cmVhbSIsImdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudCIsIlN0cmVhbVJlc3VsdCIsImdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcyIsImdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzIiwiZ2V0QXR0YWNobWVudFBhdGhGaWxlIiwiZ2V0QXR0YWNobWVudFBhdGhzRmlsZUNvbnRlbnQiLCJnZXRBbGxVbm1hcEZpbGVzIiwiZ2V0QWxsVW5tYXBGaWxlUGF0aHMiLCJnZXRVbm1hcEZpbGUiLCJnZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiZ2V0QWxsTWFwRmlsZXMiLCJnZXRBbGxNYXBGaWxlUGF0aHMiLCJnZXRNYXBGaWxlIiwiZ2V0TWFwRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQiLCJnZXRBbGxQYXRjaEZpbGVzIiwiZ2V0QWxsUGF0Y2hGaWxlUGF0aHMiLCJnZXRQYXRjaEZpbGUiLCJnZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtLCBSZWFkU3RyZWFtIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHBhdGhFeGlzdHMgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBfLCB7IGRlYm91bmNlIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgRmFybUNvbmZpZyB9IGZyb20gXCJUb29scy9zcmMvQ2FuZHlDTElcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuaW1wb3J0IHsgSUdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgfSBmcm9tIFwiLi9JR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclwiO1xuaW1wb3J0IHsgRmFybURpcmVjdG9yeSB9IGZyb20gXCIuL0RpcmVjdG9yaWVzL0Zhcm1EaXJlY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXI6IElHZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyO1xuICAgIHByaXZhdGUgYWxsU2NoZW1hc0ZpbGVzOiB1bmRlZmluZWQgfCBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yaWVzOiBGYXJtRGlyZWN0b3J5W107XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXSxcbiAgICAgICAgZmxhbmdOb3JtYWxpemF0aW9uU291cmNlc1Byb3ZpZGVyOiBJR2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIgPSBmbGFuZ05vcm1hbGl6YXRpb25Tb3VyY2VzUHJvdmlkZXI7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzID0gYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBuZXcgRmFybURpcmVjdG9yeShpLmZhcm1EaXJlY3RvcnkpKTtcbiAgICAgICAgdGhpcy5yZXNldEFsbFNjaGVtYUZpbGVzRGVib3VuY2VkID0gZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGxTY2hlbWFzRmlsZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0sIDUwMDApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2dmdnNcIiwgaHR0cFJldHVybi5Kc29uKVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxHZnZzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbEdmdnMoKSkpKS5mbGF0KCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcGlja2xpc3RzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQaWNrbGlzdHMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoeCA9PiB4LmdldEFsbFBpY2tsaXN0cygpKSkpLmZsYXQoKS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9waWNrbGlzdHMvOnBpY2tsaXN0RmlsZW5hbWVcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2pzb25cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInBpY2tsaXN0RmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0UGlja2xpc3RzKHBpY2tsaXN0RmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8UmVhZFN0cmVhbT4ge1xuICAgICAgICBjb25zdCBhbGxGaWxlUGF0aCA9IHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoaSA9PiBwYXRoLmpvaW4oaS5mYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiLCBwaWNrbGlzdEZpbGVuYW1lKSk7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aEZpbGUgb2YgYWxsRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHBhdGhGaWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZWFkU3RyZWFtKHBhdGhGaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBFcnJvcihgbm90IGZvdW5kIHBpY2tsaXN0RmlsZW5hbWUgJHtwaWNrbGlzdEZpbGVuYW1lfWApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbENvbnZlcnRlcnNGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbENvbnZlcnRlckZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL2NvbnZlcnRlcnMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDb252ZXJ0ZXJGaWxlKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Q29udmVydGVyRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9tZXJnZXJzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNZXJnZXJzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxNZXJnZXJzRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWVyZ2Vycy86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1lcmdlckZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNZXJnZXJzRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoZmlsZW5hbWUpO1xuICAgICAgICAgICAgaWYgKGZpbGVQYXRoICE9IG51bGwgJiYgKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChmaWxlUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9zY2hlbWFzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxTY2hlbWFzRmlsZXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKHRoaXMuYWxsU2NoZW1hc0ZpbGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWxsU2NoZW1hc0ZpbGVzID0gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFNjaGVtYXNGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0QWxsU2NoZW1hRmlsZXNEZWJvdW5jZWQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsU2NoZW1hc0ZpbGVzO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3NjaGVtYXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtU2NoZW1hcyhmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxGaWxlU3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIGZvciAoY29uc3QgZmFybURpcmVjdG9yeSBvZiB0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBmYXJtRGlyZWN0b3J5LmdldFNjaGVtYUZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxOb3JtYWxpemVGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWxlcyA9IChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5mbGF0TWFwKHggPT4geC5nZXRBbGxOb3JtYWxpemVGaWxlUGF0aHMoKSkpKS5mbGF0KCk7XG4gICAgICAgIGNvbnN0IGZsYW5nRmlsZXMgPSBhd2FpdCB0aGlzLmdlbmVyYXRlZFNlcnZlclNpZGVTb3VyY2VzUHJvdmlkZXIuZ2V0QWxsTm9ybWFsaXphdGlvbkZpbGVOYW1lcygpO1xuICAgICAgICByZXR1cm4gWy4uLmZpbGVzLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpLCAuLi5mbGFuZ0ZpbGVzXS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL25vcm1hbGl6ZS86Z2Z2LnhtbFwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE5vcm1hbGl6ZUZpbGUoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPEZpbGVTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgZm9yIChjb25zdCBmYXJtRGlyZWN0b3J5IG9mIHRoaXMuYWxsRmFybURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IGF3YWl0IGZhcm1EaXJlY3RvcnkuZ2V0Tm9ybWFsaXplRmlsZVBhdGhCeUZpbGVOYW1lT3JVbmRlZmluZWQoYCR7Z2Z2fS54bWxgKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbm9ybWFsaXplLzpnZnYubm9ybWFsaXplXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJnZnZcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RkxhbmdOb3JtYWxpemVGaWxlKGdmdjogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldE5vcm1hbGl6YXRpb25GaWxlQ29udGVudChnZnYpO1xuICAgICAgICBpZiAoc3RyZWFtID09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoc3RyZWFtKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9hdHRhY2htZW50cGF0aHNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEF0dGFjaG1lbnRQYXRoc0ZpbGVOYW1lcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmbGFuZ0ZpbGVzID0gYXdhaXQgdGhpcy5nZW5lcmF0ZWRTZXJ2ZXJTaWRlU291cmNlc1Byb3ZpZGVyLmdldEFsbEF0dGFjaG1lbnRQYXRoRmlsZU5hbWVzKCk7XG4gICAgICAgIHJldHVybiBmbGFuZ0ZpbGVzLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvYXR0YWNobWVudHBhdGhzLzpnZnYuanNvblwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEF0dGFjaG1lbnRQYXRoRmlsZShnZnY6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KGF3YWl0IHRoaXMuZ2VuZXJhdGVkU2VydmVyU2lkZVNvdXJjZXNQcm92aWRlci5nZXRBdHRhY2htZW50UGF0aHNGaWxlQ29udGVudChnZnYpKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi91bm1hcFwiLCBodHRwUmV0dXJuLlBsYWluVGV4dClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWxsVW5tYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbFVubWFwRmlsZVBhdGhzKCkpKSlcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoeCA9PiBwYXRoLmJhc2VuYW1lKHgpKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvdW5tYXAvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRVbm1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRVbm1hcEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWFwXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxNYXBGaWxlcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLmZsYXRNYXAoeCA9PiB4LmdldEFsbE1hcEZpbGVQYXRocygpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAubWFwKHggPT4gcGF0aC5iYXNlbmFtZSh4KSlcbiAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL21hcC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldE1hcEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRNYXBGaWxlUGF0aEJ5RmlsZU5hbWVPclVuZGVmaW5lZChmaWxlbmFtZSk7XG4gICAgICAgICAgICBpZiAoZmlsZVBhdGggIT0gbnVsbCAmJiAoYXdhaXQgcGF0aEV4aXN0cyhmaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KGZpbGVQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgZmFsc2UpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3BhdGNoXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxQYXRjaEZpbGVzKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMuZmxhdE1hcCh4ID0+IHguZ2V0QWxsUGF0Y2hGaWxlUGF0aHMoKSkpKVxuICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgLm1hcCh4ID0+IHBhdGguYmFzZW5hbWUoeCkpXG4gICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wYXRjaC86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImdmdlwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRQYXRjaEZpbGUoZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZVN0cmVhbVJlc3VsdD4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZhcm1EaXJlY3Rvcnkgb2YgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgZmFybURpcmVjdG9yeS5nZXRQYXRjaEZpbGVQYXRoQnlGaWxlTmFtZU9yVW5kZWZpbmVkKGZpbGVuYW1lKTtcbiAgICAgICAgICAgIGlmIChmaWxlUGF0aCAhPSBudWxsICYmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoZmlsZVBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCBmYWxzZSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUdBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxvQkFBQSxHQUFBVCxPQUFBO0FBSUEsSUFBQVUsb0JBQUEsR0FBQVYsT0FBQTtBQUdBLElBQUFXLGNBQUEsR0FBQVgsT0FBQTtBQUE0RCxJQUFBWSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9B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RCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHlCQUFBekgsS0FBQSxHQUFBNEIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHlCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLG9CQUFBeEgsS0FBQSxHQUFBMkIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLG9CQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHlCQUFBdkgsS0FBQSxHQUFBMEIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHlCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHFCQUFBdEgsS0FBQSxHQUFBeUIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHFCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLDJCQUFBckgsTUFBQSxHQUFBd0IsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLDJCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHVCQUFBcEgsTUFBQSxHQUFBdUIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHVCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLDRCQUFBbkgsTUFBQSxHQUFBc0IsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLDRCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHFDQUFBbEgsTUFBQSxHQUFBcUIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHFDQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLDRCQUFBakgsTUFBQSxHQUFBb0IsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLDRCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHVCQUFBaEgsTUFBQSxHQUFBbUIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHVCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLG1CQUFBL0csTUFBQSxHQUFBa0IsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLG1CQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHFCQUFBOUcsTUFBQSxHQUFBaUIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLHFCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLGlCQUFBN0csTUFBQSxHQUFBZ0IsTUFBQSxDQUFBRSx3QkFBQSxDQUFBZixNQUFBLENBQUEwRyxTQUFBLGlCQUFBMUcsTUFBQSxDQUFBMEcsU0FBQSxPQUFBRCwwQkFBQSxDQUFBbEcsT0FBQSxFQUFBUCxNQUFBLENBQUEwRyxTQUFBLHVCQUFBNUcsTUFBQSxHQUFBZSxNQUFBLENBQUFFLHdCQUFBLENBQUFmLE1BQUEsQ0FBQTBHLFNBQUEsdUJBQUExRyxNQUFBLENBQUEwRyxTQUFBLE9BQUFELDBCQUFBLENBQUFsRyxPQUFBLEVBQUFQLE1BQUEsQ0FBQTBHLFNBQUEsbUJBQUEzRyxNQUFBLEdBQUFjLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsTUFBQSxDQUFBMEcsU0FBQSxtQkFBQTFHLE1BQUEsQ0FBQTBHLFNBQUEsSUFBQTFHLE1BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildServerBackendResourcesController.js","names":["_fs","require","path","_interopRequireWildcard","_fsExtra","_lodash","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBackendResourcesController","exports","httpGet","httpReturn","Json","PlainText","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","flangNormalizationSourcesProvider","generatedServerSideSourcesProvider","allSchemasFiles","resetAllSchemaFilesDebounced","allFarmDirectories","map","FarmDirectory","farmDirectory","debounce","undefined","getAllGfvs","Promise","all","x","flat","getAllPicklists","join","getPicklists","picklistFilename","allFilePath","pathFile","pathExists","createReadStream","Error","getAllConvertersFiles","flatMap","getAllConverterFilePaths","basename","getConverterFile","filename","filePath","getConverterFilePathByFileNameOrUndefined","FileStreamResult","NotFoundWebError","getAllMergersFiles","getAllMergersFilePaths","getMergerFile","getMergersFilePathByFileNameOrUndefined","getAllSchemasFiles","getAllSchemasFilePaths","getFormSchemas","getSchemaFilePathByFileNameOrUndefined","getAllNormalizeFiles","files","getAllNormalizeFilePaths","flangFiles","getAllNormalizationFileNames","getNormalizeFile","gfv","getNormalizeFilePathByFileNameOrUndefined","getFLangNormalizeFile","stream","getNormalizationFileContent","StreamResult","getAllAttachmentPathsFileNames","getAllAttachmentPathFileNames","getAttachmentPathFile","getAttachmentPathsFileContent","getAllUnmapFiles","getAllUnmapFilePaths","getUnmapFile","getUnmapFilePathByFileNameOrUndefined","getAllMapFiles","getAllMapFilePaths","getMapFile","getMapFilePathByFileNameOrUndefined","getAllPatchFiles","getAllPatchFilePaths","getPatchFile","getPatchFilePathByFileNameOrUndefined","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.ts"],"sourcesContent":["import { createReadStream, ReadStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _, { debounce } from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerBackendResourcesController extends SingletonController {\n private readonly generatedServerSideSourcesProvider: IGeneratedServerSideSourcesProvider;\n private allSchemasFiles: undefined | string;\n private readonly resetAllSchemaFilesDebounced: () => void;\n private readonly allFarmDirectories: FarmDirectory[];\n private readonly allFarmConfig: FarmConfig[];\n\n public constructor(\n allFarmConfig: FarmConfig[],\n flangNormalizationSourcesProvider: IGeneratedServerSideSourcesProvider\n ) {\n super();\n this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.resetAllSchemaFilesDebounced = debounce(() => {\n this.allSchemasFiles = undefined;\n }, 5000);\n }\n\n @httpGet(\"/gfvs\", httpReturn.Json)\n public async getAllGfvs(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();\n }\n\n @httpGet(\"/picklists\", httpReturn.PlainText)\n public async getAllPicklists(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join(\"\\n\");\n }\n\n @httpGet(\n \"/picklists/:picklistFilename\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"picklistFilename\", httpType.String)\n )\n public async getPicklists(picklistFilename: string): Promise<ReadStream> {\n const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, \"picklists\", picklistFilename));\n for (const pathFile of allFilePath) {\n if (await pathExists(pathFile)) {\n return createReadStream(pathFile);\n }\n }\n throw Error(`not found picklistFilename ${picklistFilename}`);\n }\n\n @httpGet(\"/converters\", httpReturn.PlainText)\n public async getAllConvertersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/converters/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getConverterFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/mergers\", httpReturn.PlainText)\n public async getAllMergersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/mergers/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMergerFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/schemas\", httpReturn.PlainText)\n public async getAllSchemasFiles(): Promise<string> {\n if (this.allSchemasFiles === undefined) {\n this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n this.resetAllSchemaFilesDebounced();\n return this.allSchemasFiles;\n }\n\n @httpGet(\"/schemas/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormSchemas(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize\", httpReturn.PlainText)\n public async getAllNormalizeFiles(): Promise<string> {\n const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();\n return [...files.map(x => path.basename(x)), ...flangFiles].join(\"\\n\");\n }\n\n @httpGet(\"/normalize/:gfv.xml\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getNormalizeFile(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize/:gfv.normalize\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFLangNormalizeFile(gfv: string): Promise<StreamResult> {\n const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);\n if (stream == null) {\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n return new StreamResult(stream);\n }\n\n @httpGet(\"/attachmentpaths\", httpReturn.PlainText)\n public async getAllAttachmentPathsFileNames(): Promise<string> {\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();\n return flangFiles.join(\"\\n\");\n }\n\n @httpGet(\"/attachmentpaths/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));\n }\n\n @httpGet(\"/unmap\", httpReturn.PlainText)\n public async getAllUnmapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/unmap/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getUnmapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/map\", httpReturn.PlainText)\n public async getAllMapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/map/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/patch\", httpReturn.PlainText)\n public async getAllPatchFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/patch/:filename\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getPatchFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BuildServerBackendResourcesUpdatesController = void 0;
8
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
9
+ var _fs = require("fs");
10
+ var _path = _interopRequireDefault(require("path"));
11
+ var _lodash = _interopRequireDefault(require("lodash"));
12
+ var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
13
+ var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
14
+ var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
15
+ var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
16
+ var _WellKnownDirectories = require("../../../../../Common/WellKnownDirectories");
17
+ var _GlobToRegexp = require("./GlobToRegexp");
18
+ var _dec, _class;
19
+ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendResourcesUpdatesController = (_dec = (0, _Methods.httpGet)("/updates-observer/check-last-update-long-poll", _Results.httpReturn.PlainText, (0, _Params.httpQueryParam)("prevLastUpdate", _Params.httpType.Number)), (_class = class BuildServerBackendResourcesUpdatesController extends _SingletonController.SingletonController {
20
+ constructor(allFarmConfig) {
21
+ super();
22
+ this.lastUpdateTime = 0;
23
+ this.updateMonitor = new Monitor();
24
+ this.farmWatchers = void 0;
25
+ this.formWatchers = void 0;
26
+ this.resourcesWatcher = void 0;
27
+ this.allFarmConfig = void 0;
28
+ this.farmWatchingRegexps = ["sugarTemplates", "legacyfetchfunctions", "jsHelpers", `images`, "tour", "controls", "commonResources", "externalConverters"].map(_GlobToRegexp.globToRegexp);
29
+ this.formsWatchingRegexps = [`**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/schemas`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/converters`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/mergers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/autocalc`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/validations`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/helpers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/sugar`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalize`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/unmap`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/map`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/patch`].map(_GlobToRegexp.globToRegexp);
30
+ this.handleFarmFSUpdate = (eventType, filePath, rootDir) => {
31
+ if (this.farmWatchingRegexps.some(x => x.test(filePath))) {
32
+ (0, _fs.stat)(_path.default.join(rootDir, filePath), (err, fileStat) => {
33
+ const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);
34
+ if (fileTicks > this.lastUpdateTime) {
35
+ this.lastUpdateTime = Date.now();
36
+ this.updateMonitor.pulseAll();
37
+ }
38
+ });
39
+ }
40
+ };
41
+ this.handleFormFSUpdate = (eventType, filePath, rootDir) => {
42
+ if (this.formsWatchingRegexps.some(x => x.test(filePath))) {
43
+ (0, _fs.stat)(_path.default.join(rootDir, filePath), (err, fileStat) => {
44
+ const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);
45
+ if (fileTicks > this.lastUpdateTime) {
46
+ this.lastUpdateTime = Date.now();
47
+ this.updateMonitor.pulseAll();
48
+ }
49
+ });
50
+ }
51
+ };
52
+ this.allFarmConfig = allFarmConfig;
53
+ this.lastUpdateTime = Date.now();
54
+ }
55
+ async beforeStart() {
56
+ this.farmWatchers = this.allFarmConfig.map(config => (0, _fs.watch)(config.farmDirectory, {
57
+ recursive: true
58
+ }, _lodash.default.debounce((x, y) => this.handleFarmFSUpdate(x, y, config.farmDirectory), 200)));
59
+ this.formWatchers = this.allFarmConfig.map(config => {
60
+ const formRootDirectory = _path.default.normalize(_path.default.join(config.farmDirectory, "..", _WellKnownDirectories.WellKnownDirectories.FormsDirectory));
61
+ return (0, _fs.watch)(formRootDirectory, {
62
+ recursive: true
63
+ }, _lodash.default.debounce((x, y) => this.handleFormFSUpdate(x, y, formRootDirectory), 200));
64
+ });
65
+ }
66
+ async getLastUpdateTime(prevLastUpdateTime) {
67
+ return this.lastUpdateTime.toString();
68
+ }
69
+ async afterStop() {
70
+ var _this$farmWatchers, _this$formWatchers, _this$resourcesWatche;
71
+ (_this$farmWatchers = this.farmWatchers) === null || _this$farmWatchers === void 0 || _this$farmWatchers.map(i => i.close());
72
+ (_this$formWatchers = this.formWatchers) === null || _this$formWatchers === void 0 || _this$formWatchers.map(i => i.close());
73
+ (_this$resourcesWatche = this.resourcesWatcher) === null || _this$resourcesWatche === void 0 || _this$resourcesWatche.close();
74
+ }
75
+ }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLastUpdateTime", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getLastUpdateTime"), _class.prototype)), _class));
76
+ class Monitor {
77
+ constructor() {
78
+ this.awaiters = [];
79
+ this.waitPromiseHandler = resolve => {
80
+ this.awaiters.push(resolve);
81
+ };
82
+ }
83
+ wait() {
84
+ return new Promise(this.waitPromiseHandler);
85
+ }
86
+ pulseAll() {
87
+ const awaiters = [...this.awaiters];
88
+ this.awaiters = [];
89
+ for (const awaiter of awaiters) {
90
+ awaiter();
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJyZXF1aXJlIiwiX3BhdGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZGFzaCIsIl9NZXRob2RzIiwiX1BhcmFtcyIsIl9SZXN1bHRzIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfR2xvYlRvUmVnZXhwIiwiX2RlYyIsIl9jbGFzcyIsIkJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyIiwiZXhwb3J0cyIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiUGxhaW5UZXh0IiwiaHR0cFF1ZXJ5UGFyYW0iLCJodHRwVHlwZSIsIk51bWJlciIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFsbEZhcm1Db25maWciLCJsYXN0VXBkYXRlVGltZSIsInVwZGF0ZU1vbml0b3IiLCJNb25pdG9yIiwiZmFybVdhdGNoZXJzIiwiZm9ybVdhdGNoZXJzIiwicmVzb3VyY2VzV2F0Y2hlciIsImZhcm1XYXRjaGluZ1JlZ2V4cHMiLCJtYXAiLCJnbG9iVG9SZWdleHAiLCJmb3Jtc1dhdGNoaW5nUmVnZXhwcyIsIldlbGxLbm93bkRpcmVjdG9yaWVzIiwiQ2FuZHlTdWJkaXJlY3RvcnlOYW1lIiwiRm9ybUpzb25GaWxlTmFtZSIsImhhbmRsZUZhcm1GU1VwZGF0ZSIsImV2ZW50VHlwZSIsImZpbGVQYXRoIiwicm9vdERpciIsInNvbWUiLCJ4IiwidGVzdCIsInN0YXQiLCJwYXRoIiwiam9pbiIsImVyciIsImZpbGVTdGF0IiwiZmlsZVRpY2tzIiwiTWF0aCIsIm1heCIsIm10aW1lTXMiLCJjdGltZU1zIiwiRGF0ZSIsIm5vdyIsInB1bHNlQWxsIiwiaGFuZGxlRm9ybUZTVXBkYXRlIiwiYmVmb3JlU3RhcnQiLCJjb25maWciLCJ3YXRjaCIsImZhcm1EaXJlY3RvcnkiLCJyZWN1cnNpdmUiLCJfIiwiZGVib3VuY2UiLCJ5IiwiZm9ybVJvb3REaXJlY3RvcnkiLCJub3JtYWxpemUiLCJGb3Jtc0RpcmVjdG9yeSIsImdldExhc3RVcGRhdGVUaW1lIiwicHJldkxhc3RVcGRhdGVUaW1lIiwidG9TdHJpbmciLCJhZnRlclN0b3AiLCJfdGhpcyRmYXJtV2F0Y2hlcnMiLCJfdGhpcyRmb3JtV2F0Y2hlcnMiLCJfdGhpcyRyZXNvdXJjZXNXYXRjaGUiLCJpIiwiY2xvc2UiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yMiIsImRlZmF1bHQiLCJwcm90b3R5cGUiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJhd2FpdGVycyIsIndhaXRQcm9taXNlSGFuZGxlciIsInJlc29sdmUiLCJwdXNoIiwid2FpdCIsIlByb21pc2UiLCJhd2FpdGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciwgd2F0Y2gsIHN0YXQgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5cbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTWV0aG9kc1wiO1xuaW1wb3J0IHsgaHR0cFF1ZXJ5UGFyYW0sIGh0dHBUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1BhcmFtc1wiO1xuaW1wb3J0IHsgaHR0cFJldHVybiB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzXCI7XG5pbXBvcnQgeyBTaW5nbGV0b25Db250cm9sbGVyIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9TaW5nbGV0b25Db250cm9sbGVyXCI7XG5pbXBvcnQgeyBXZWxsS25vd25EaXJlY3RvcmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9Db21tb24vV2VsbEtub3duRGlyZWN0b3JpZXNcIjtcblxuaW1wb3J0IHsgZ2xvYlRvUmVnZXhwIH0gZnJvbSBcIi4vR2xvYlRvUmVnZXhwXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciBleHRlbmRzIFNpbmdsZXRvbkNvbnRyb2xsZXIge1xuICAgIHByaXZhdGUgbGFzdFVwZGF0ZVRpbWUgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlTW9uaXRvcjogTW9uaXRvciA9IG5ldyBNb25pdG9yKCk7XG4gICAgcHJpdmF0ZSBmYXJtV2F0Y2hlcnM/OiBGU1dhdGNoZXJbXTtcbiAgICBwcml2YXRlIGZvcm1XYXRjaGVycz86IEZTV2F0Y2hlcltdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VzV2F0Y2hlcj86IEZTV2F0Y2hlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZhcm1XYXRjaGluZ1JlZ2V4cHMgPSBbXG4gICAgICAgIFwic3VnYXJUZW1wbGF0ZXNcIixcbiAgICAgICAgXCJsZWdhY3lmZXRjaGZ1bmN0aW9uc1wiLFxuICAgICAgICBcImpzSGVscGVyc1wiLFxuICAgICAgICBgaW1hZ2VzYCxcbiAgICAgICAgXCJ0b3VyXCIsXG4gICAgICAgIFwiY29udHJvbHNcIixcbiAgICAgICAgXCJjb21tb25SZXNvdXJjZXNcIixcbiAgICAgICAgXCJleHRlcm5hbENvbnZlcnRlcnNcIixcbiAgICBdLm1hcChnbG9iVG9SZWdleHApO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybXNXYXRjaGluZ1JlZ2V4cHMgPSBbXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vc2NoZW1hc2AsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vY29udmVydGVyc2AsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vbWVyZ2Vyc2AsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vYXV0b2NhbGNgLFxuICAgICAgICBgKiovKiovKiovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWV9L3ZhbGlkYXRpb25zYCxcbiAgICAgICAgYCoqLyoqLyoqLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfS9mZXRjaGZ1bmN0aW9uc2AsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vaGVscGVyc2AsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vJHtXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lfWAsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vc3VnYXJgLFxuICAgICAgICBgKiovKiovKiovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWV9L25vcm1hbGl6ZWAsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vdW5tYXBgLFxuICAgICAgICBgKiovKiovKiovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWV9L21hcGAsXG4gICAgICAgIGAqKi8qKi8qKi8ke1dlbGxLbm93bkRpcmVjdG9yaWVzLkNhbmR5U3ViZGlyZWN0b3J5TmFtZX0vcGF0Y2hgLFxuICAgIF0ubWFwKGdsb2JUb1JlZ2V4cCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYWxsRmFybUNvbmZpZzogRmFybUNvbmZpZ1tdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMubGFzdFVwZGF0ZVRpbWUgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBiZWZvcmVTdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5mYXJtV2F0Y2hlcnMgPSB0aGlzLmFsbEZhcm1Db25maWcubWFwKGNvbmZpZyA9PlxuICAgICAgICAgICAgd2F0Y2goXG4gICAgICAgICAgICAgICAgY29uZmlnLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgeyByZWN1cnNpdmU6IHRydWUgfSxcbiAgICAgICAgICAgICAgICBfLmRlYm91bmNlKCh4OiBzdHJpbmcsIHk6IHN0cmluZykgPT4gdGhpcy5oYW5kbGVGYXJtRlNVcGRhdGUoeCwgeSwgY29uZmlnLmZhcm1EaXJlY3RvcnkpLCAyMDApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZm9ybVdhdGNoZXJzID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChjb25maWcgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybVJvb3REaXJlY3RvcnkgPSBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oY29uZmlnLmZhcm1EaXJlY3RvcnksIFwiLi5cIiwgV2VsbEtub3duRGlyZWN0b3JpZXMuRm9ybXNEaXJlY3RvcnkpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gd2F0Y2goXG4gICAgICAgICAgICAgICAgZm9ybVJvb3REaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgeyByZWN1cnNpdmU6IHRydWUgfSxcbiAgICAgICAgICAgICAgICBfLmRlYm91bmNlKCh4OiBzdHJpbmcsIHk6IHN0cmluZykgPT4gdGhpcy5oYW5kbGVGb3JtRlNVcGRhdGUoeCwgeSwgZm9ybVJvb3REaXJlY3RvcnkpLCAyMDApXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvdXBkYXRlcy1vYnNlcnZlci9jaGVjay1sYXN0LXVwZGF0ZS1sb25nLXBvbGxcIixcbiAgICAgICAgaHR0cFJldHVybi5QbGFpblRleHQsXG4gICAgICAgIGh0dHBRdWVyeVBhcmFtKFwicHJldkxhc3RVcGRhdGVcIiwgaHR0cFR5cGUuTnVtYmVyKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TGFzdFVwZGF0ZVRpbWUocHJldkxhc3RVcGRhdGVUaW1lPzogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFVwZGF0ZVRpbWUudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYWZ0ZXJTdG9wKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLmZhcm1XYXRjaGVycz8ubWFwKGkgPT4gaS5jbG9zZSgpKTtcbiAgICAgICAgdGhpcy5mb3JtV2F0Y2hlcnM/Lm1hcChpID0+IGkuY2xvc2UoKSk7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzV2F0Y2hlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUZhcm1GU1VwZGF0ZSA9IChldmVudFR5cGU6IHN0cmluZywgZmlsZVBhdGg6IHN0cmluZywgcm9vdERpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZhcm1XYXRjaGluZ1JlZ2V4cHMuc29tZSh4ID0+IHgudGVzdChmaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICBzdGF0KHBhdGguam9pbihyb290RGlyLCBmaWxlUGF0aCksIChlcnIsIGZpbGVTdGF0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZVRpY2tzID0gTWF0aC5tYXgoZmlsZVN0YXQubXRpbWVNcywgZmlsZVN0YXQuY3RpbWVNcyk7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGVUaWNrcyA+IHRoaXMubGFzdFVwZGF0ZVRpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VXBkYXRlVGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9uaXRvci5wdWxzZUFsbCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlRm9ybUZTVXBkYXRlID0gKGV2ZW50VHlwZTogc3RyaW5nLCBmaWxlUGF0aDogc3RyaW5nLCByb290RGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybXNXYXRjaGluZ1JlZ2V4cHMuc29tZSh4ID0+IHgudGVzdChmaWxlUGF0aCkpKSB7XG4gICAgICAgICAgICBzdGF0KHBhdGguam9pbihyb290RGlyLCBmaWxlUGF0aCksIChlcnIsIGZpbGVTdGF0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZVRpY2tzID0gTWF0aC5tYXgoZmlsZVN0YXQubXRpbWVNcywgZmlsZVN0YXQuY3RpbWVNcyk7XG4gICAgICAgICAgICAgICAgaWYgKGZpbGVUaWNrcyA+IHRoaXMubGFzdFVwZGF0ZVRpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VXBkYXRlVGltZSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9uaXRvci5wdWxzZUFsbCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuY2xhc3MgTW9uaXRvciB7XG4gICAgcHJpdmF0ZSBhd2FpdGVyczogQXJyYXk8KCkgPT4gdm9pZD4gPSBbXTtcblxuICAgIHB1YmxpYyB3YWl0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UodGhpcy53YWl0UHJvbWlzZUhhbmRsZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwdWxzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXdhaXRlcnMgPSBbLi4udGhpcy5hd2FpdGVyc107XG4gICAgICAgIHRoaXMuYXdhaXRlcnMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBhd2FpdGVyIG9mIGF3YWl0ZXJzKSB7XG4gICAgICAgICAgICBhd2FpdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHdhaXRQcm9taXNlSGFuZGxlciA9IChyZXNvbHZlOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIHRoaXMuYXdhaXRlcnMucHVzaChyZXNvbHZlKTtcbiAgICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxxQkFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsYUFBQSxHQUFBVCxPQUFBO0FBQThDLElBQUFVLElBQUEsRUFBQUMsTUFBQTtBQUFBLElBRWpDQyw0Q0FB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