@kontur.candy/tools 2.129.0 → 2.131.0

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 (249) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +6 -6
  3. package/distr/Common/AsyncUtils.js +1 -30
  4. package/distr/Common/CandyApiClient/CandyApiClient.js +56 -39
  5. package/distr/Common/CandyApiClient/CandyApiClientContext.js +1 -33
  6. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +0 -4
  7. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +0 -4
  8. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -29
  9. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +0 -4
  10. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -35
  11. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -35
  12. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -37
  13. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +1 -29
  14. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -34
  15. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +1 -28
  16. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +0 -4
  17. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +1 -33
  18. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -29
  19. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +1 -6
  20. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +0 -4
  21. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestResponse.js +0 -4
  22. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +22 -38
  23. package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -5
  24. package/distr/Common/CandyApiClient/IsBuffer.js +1 -29
  25. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +0 -4
  26. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +0 -4
  27. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +0 -4
  28. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +0 -4
  29. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +0 -4
  30. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +1 -6
  31. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +0 -4
  32. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +0 -4
  33. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +11 -0
  34. package/distr/Common/CandyApiClient/Types/DraftFullId.js +0 -4
  35. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +0 -4
  36. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +1 -6
  37. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +0 -4
  38. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +0 -4
  39. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +1 -6
  40. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +0 -4
  41. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +0 -4
  42. package/distr/Common/CandyApiClient/Types/Guid.js +0 -4
  43. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +1 -6
  44. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +0 -4
  45. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +0 -4
  46. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +1 -6
  47. package/distr/Common/CommonConstants/SectionNames.js +1 -28
  48. package/distr/Common/Comparers.js +8 -30
  49. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +1 -29
  50. package/distr/Common/EndPoints.js +1 -34
  51. package/distr/Common/Errors.js +3 -71
  52. package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -30
  53. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +0 -4
  54. package/distr/Common/Funcs.js +1 -29
  55. package/distr/Common/GFV.js +0 -4
  56. package/distr/Common/Hooks/UseLocalStorage.js +42 -0
  57. package/distr/Common/HttpClient/AuthenticationMode.js +1 -32
  58. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +12 -0
  59. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +1 -29
  60. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +0 -4
  61. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +1 -30
  62. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +3 -31
  63. package/distr/Common/HttpClient/HttpClient.js +12 -56
  64. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +0 -4
  65. package/distr/Common/HttpClient/IHttpClient.js +0 -4
  66. package/distr/Common/IndentString.js +18 -0
  67. package/distr/Common/IntRangeUtils.js +1 -31
  68. package/distr/Common/IterableUtils.js +23 -38
  69. package/distr/Common/KCLangRuntimeUtils.js +3 -38
  70. package/distr/Common/ModelPath/BuildIterationSequence.js +3 -31
  71. package/distr/Common/ModelPath/EachCurrentCollision.js +1 -6
  72. package/distr/Common/ModelPath/IEquatable.js +0 -4
  73. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +30 -0
  74. package/distr/Common/ModelPath/Map/Map2.js +103 -0
  75. package/distr/Common/ModelPath/Map/ModelPathMap.js +30 -0
  76. package/distr/Common/ModelPath/ModelPath.js +206 -206
  77. package/distr/Common/ModelPath/ModelPathBuilder.js +11 -40
  78. package/distr/Common/ModelPath/ModelPathHelper.js +13 -0
  79. package/distr/Common/ModelPath/PathMatcher.js +8 -37
  80. package/distr/Common/ModelPath/PathSplitHelper.js +26 -0
  81. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +40 -0
  82. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +40 -0
  83. package/distr/Common/ModelPath/Set/ModelPathSet.js +40 -0
  84. package/distr/Common/ModelPath/Set/Set2.js +60 -0
  85. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -34
  86. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +0 -4
  87. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -29
  88. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -34
  89. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -38
  90. package/distr/Common/NidusClient/INidusClient.js +1 -30
  91. package/distr/Common/NidusClient/NidusClientContext.js +1 -38
  92. package/distr/Common/NidusClient/NidusClientImpl.js +1 -34
  93. package/distr/Common/PathConstants.js +3 -31
  94. package/distr/Common/TypingUtils.js +6 -50
  95. package/distr/Common/UUID.js +1 -30
  96. package/distr/Common/UseAsyncEffect.js +1 -31
  97. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +3 -36
  98. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +1 -29
  99. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -30
  100. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +3 -36
  101. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +3 -36
  102. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -29
  103. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +3 -34
  104. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -28
  105. package/distr/Tools/src/BuildTasks/FSTask.js +3 -30
  106. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -32
  107. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -37
  108. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -34
  109. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +3 -31
  110. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +1 -29
  111. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -31
  112. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +3 -36
  113. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -37
  114. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -37
  115. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +2 -34
  116. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -5
  117. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -5
  118. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +3 -33
  119. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +1 -28
  120. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +3 -30
  121. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -34
  122. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +1 -45
  123. package/distr/Tools/src/BuildTasks/ReadFormSource.js +4 -39
  124. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +3 -33
  125. package/distr/Tools/src/BuildTasks/Version.js +1 -32
  126. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +3 -31
  127. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +1 -30
  128. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +7 -34
  129. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +3 -33
  130. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +1 -34
  131. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +1 -29
  132. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +6 -37
  133. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +6 -47
  134. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +26 -43
  135. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +6 -40
  136. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +6 -38
  137. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +6 -37
  138. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +6 -39
  139. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +6 -37
  140. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +6 -39
  141. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +3 -36
  142. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +3 -36
  143. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +12 -37
  144. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +3 -31
  145. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +5 -35
  146. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +4 -36
  147. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +3 -31
  148. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +0 -4
  149. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +0 -4
  150. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +2 -42
  151. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +3 -36
  152. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -29
  153. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +0 -4
  154. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -30
  155. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +1 -29
  156. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +1 -29
  157. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +1 -30
  158. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +0 -4
  159. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +1 -28
  160. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +3 -31
  161. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +1 -28
  162. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +3 -31
  163. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +6 -40
  164. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}.calc.js +1 -30
  165. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/setKppValue.js +1 -29
  166. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +1 -34
  167. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +6 -37
  168. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/kppValue.js +1 -29
  169. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +1 -28
  170. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +1 -30
  171. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +1 -28
  172. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +3 -32
  173. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +1 -32
  174. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +1 -29
  175. package/distr/Tools/src/CandyCLI.js +3 -31
  176. package/distr/Tools/src/CheckNodeJsVersion.js +3 -33
  177. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +4 -35
  178. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -34
  179. package/distr/Tools/src/Commons/ErrorUntyped.js +0 -4
  180. package/distr/Tools/src/Commons/EventObject.js +2 -44
  181. package/distr/Tools/src/Commons/ExecUtils.js +1 -29
  182. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -29
  183. package/distr/Tools/src/Commons/FormGlobsUtils.js +3 -36
  184. package/distr/Tools/src/Commons/FsUtils.js +3 -34
  185. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -32
  186. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +2 -33
  187. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -34
  188. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -34
  189. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +0 -4
  190. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -34
  191. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -34
  192. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +2 -34
  193. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -34
  194. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +1 -36
  195. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -34
  196. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -34
  197. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -34
  198. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -34
  199. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +0 -4
  200. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -34
  201. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -34
  202. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +3 -57
  203. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +1 -28
  204. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +3 -36
  205. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +1 -34
  206. package/distr/Tools/src/Commons/Locks/Lock.js +3 -36
  207. package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -34
  208. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +3 -36
  209. package/distr/Tools/src/Commons/Logging/ELKLogger.js +3 -33
  210. package/distr/Tools/src/Commons/Logging/ILogger.js +1 -36
  211. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +1 -41
  212. package/distr/Tools/src/Commons/Logging/Logger.js +3 -36
  213. package/distr/Tools/src/Commons/Logging/StaticLogger.js +1 -38
  214. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -30
  215. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +6 -53
  216. package/distr/Tools/src/Commons/PathPattern.js +1 -34
  217. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -34
  218. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +0 -4
  219. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +3 -89
  220. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +3 -36
  221. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +1 -34
  222. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +3 -36
  223. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +3 -36
  224. package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -28
  225. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +1 -34
  226. package/distr/Tools/src/Commons/TimingUtils.js +1 -29
  227. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +55 -48
  228. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +8 -36
  229. package/distr/Tools/src/GenerateReadMe.js +1 -31
  230. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  231. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  232. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  233. package/distr/Tools/src/Options/CandyToolOptions.js +1 -28
  234. package/distr/Tools/src/ReadFarmConfig.js +3 -31
  235. package/distr/Tools/src/SelfUpdate.js +4 -36
  236. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1000 -2036
  237. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  238. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +366 -361
  239. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  240. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +1 -5
  241. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1 -5
  242. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +1 -5
  243. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +1 -5
  244. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1 -5
  245. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +1 -5
  246. package/package.json +9 -8
  247. package/distr/Common/ModelPath/AbsoluteModelPathSet.js +0 -95
  248. package/distr/Common/ModelPath/ModelPathMap.js +0 -160
  249. package/distr/Common/ModelPath/ModelPathSet.js +0 -99
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -11,17 +13,6 @@ var _lodash = _interopRequireDefault(require("lodash"));
11
13
 
12
14
  var _ChainableValueProducer = require("./ChainableValueProducer");
13
15
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- (function () {
17
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
18
- enterModule && enterModule(module);
19
- })();
20
-
21
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
22
- return a;
23
- };
24
-
25
16
  class FileSystemEntriesProducer extends _ChainableValueProducer.ObservableValueProducerBase {
26
17
  constructor(pathToDir, masks) {
27
18
  super();
@@ -65,31 +56,7 @@ class FileSystemEntriesProducer extends _ChainableValueProducer.ObservableValueP
65
56
  await this.emitUpdate(this.pathToDir);
66
57
  }
67
58
 
68
- // @ts-ignore
69
- __reactstandin__regenerateByEval(key, code) {
70
- // @ts-ignore
71
- this[key] = eval(code);
72
- }
73
-
74
59
  }
75
60
 
76
61
  exports.FileSystemEntriesProducer = FileSystemEntriesProducer;
77
- ;
78
-
79
- (function () {
80
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
81
-
82
- if (!reactHotLoader) {
83
- return;
84
- }
85
-
86
- reactHotLoader.register(FileSystemEntriesProducer, "FileSystemEntriesProducer", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\Commons\\TasksCore\\FileSystemEntriesProducer.ts");
87
- })();
88
-
89
- ;
90
-
91
- (function () {
92
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
93
- leaveModule && leaveModule(module);
94
- })();
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9GaWxlU3lzdGVtRW50cmllc1Byb2R1Y2VyLnRzIl0sIm5hbWVzIjpbIkZpbGVTeXN0ZW1FbnRyaWVzUHJvZHVjZXIiLCJPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2UiLCJjb25zdHJ1Y3RvciIsInBhdGhUb0RpciIsIm1hc2tzIiwid2F0Y2hlciIsImJlZ2luTGlzdGVuaW5nIiwidW5kZWZpbmVkIiwiaWdub3JlSW5pdGlhbCIsImN3ZCIsImlnbm9yZVBlcm1pc3Npb25FcnJvcnMiLCJ1c2VQb2xsaW5nIiwiaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCIsIl8iLCJkZWJvdW5jZSIsImhhbmRsZUFueUZzRXZlbnQiLCJvbiIsInN0b3BMaXN0ZW5pbmciLCJjbG9zZSIsImdldEN1cnJlbnRWYWx1ZSIsImVtaXRVcGRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7OztBQUVPLE1BQU1BLHlCQUFOLFNBQXdDQyxtREFBeEMsQ0FBNEU7QUFLeEVDLEVBQUFBLFdBQVcsQ0FBQ0MsU0FBRCxFQUFvQkMsS0FBcEIsRUFBcUM7QUFDbkQ7QUFEbUQsU0FKdENELFNBSXNDO0FBQUEsU0FIdENDLEtBR3NDO0FBQUEsU0FGL0NDLE9BRStDO0FBRW5ELFNBQUtGLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsU0FBS0MsS0FBTCxHQUFhQSxLQUFiO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0I7QUFDNUMsUUFBSSxLQUFLRCxPQUFMLElBQWdCRSxTQUFwQixFQUErQjtBQUMzQjtBQUNIOztBQUNELFNBQUtGLE9BQUwsR0FBZSxxQkFBTSxLQUFLRCxLQUFYLEVBQWtCO0FBQzdCSSxNQUFBQSxhQUFhLEVBQUUsSUFEYztBQUU3QkMsTUFBQUEsR0FBRyxFQUFFLEtBQUtOLFNBRm1CO0FBRzdCTyxNQUFBQSxzQkFBc0IsRUFBRSxLQUhLO0FBSTdCQyxNQUFBQSxVQUFVLEVBQUU7QUFKaUIsS0FBbEIsQ0FBZjs7QUFNQSxVQUFNQyx5QkFBeUIsR0FBR0MsZ0JBQUVDLFFBQUYsQ0FBVyxNQUFNLEtBQUtDLGdCQUFMLEVBQWpCLEVBQTBDLEdBQTFDLENBQWxDOztBQUNBLFNBQUtWLE9BQUwsQ0FBYVcsRUFBYixDQUFnQixLQUFoQixFQUF1QkoseUJBQXZCO0FBQ0EsU0FBS1AsT0FBTCxDQUFhVyxFQUFiLENBQWdCLE9BQWhCLEVBQXlCSix5QkFBekI7QUFDSDs7QUFFNEIsUUFBYkssYUFBYSxHQUFrQjtBQUMzQyxRQUFJLEtBQUtaLE9BQUwsSUFBZ0JFLFNBQXBCLEVBQStCO0FBQzNCO0FBQ0EsV0FBS0YsT0FBTCxDQUFhYSxLQUFiO0FBQ0g7QUFDSjs7QUFFOEIsUUFBZkMsZUFBZSxHQUFvQjtBQUMvQyxXQUFPLEtBQUtoQixTQUFaO0FBQ0g7O0FBRTZCLFFBQWhCWSxnQkFBZ0IsR0FBa0I7QUFDNUMsVUFBTSxLQUFLSyxVQUFMLENBQWdCLEtBQUtqQixTQUFyQixDQUFOO0FBQ0g7O0FBdkM4RTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOzs7Ozs7Ozs7Ozs7MEJBQXRFSCx5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciwgd2F0Y2ggfSBmcm9tIFwiY2hva2lkYXJcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlciBleHRlbmRzIE9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZTxzdHJpbmc+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGhUb0Rpcjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFza3M6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgd2F0Y2hlcj86IEZTV2F0Y2hlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXRoVG9EaXI6IHN0cmluZywgbWFza3M6IHN0cmluZ1tdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucGF0aFRvRGlyID0gcGF0aFRvRGlyO1xuICAgICAgICB0aGlzLm1hc2tzID0gbWFza3M7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGJlZ2luTGlzdGVuaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy53YXRjaGVyICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2F0Y2hlciA9IHdhdGNoKHRoaXMubWFza3MsIHtcbiAgICAgICAgICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gICAgICAgICAgICBjd2Q6IHRoaXMucGF0aFRvRGlyLFxuICAgICAgICAgICAgaWdub3JlUGVybWlzc2lvbkVycm9yczogZmFsc2UsXG4gICAgICAgICAgICB1c2VQb2xsaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCA9IF8uZGVib3VuY2UoKCkgPT4gdGhpcy5oYW5kbGVBbnlGc0V2ZW50KCksIDUwMCk7XG4gICAgICAgIHRoaXMud2F0Y2hlci5vbihcImFsbFwiLCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkKTtcbiAgICAgICAgdGhpcy53YXRjaGVyLm9uKFwiZXJyb3JcIiwgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIHN0b3BMaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICAgICAgICB0aGlzLndhdGNoZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRDdXJyZW50VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aFRvRGlyO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaGFuZGxlQW55RnNFdmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0VXBkYXRlKHRoaXMucGF0aFRvRGlyKTtcbiAgICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9GaWxlU3lzdGVtRW50cmllc1Byb2R1Y2VyLnRzIl0sIm5hbWVzIjpbIkZpbGVTeXN0ZW1FbnRyaWVzUHJvZHVjZXIiLCJPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2UiLCJjb25zdHJ1Y3RvciIsInBhdGhUb0RpciIsIm1hc2tzIiwid2F0Y2hlciIsImJlZ2luTGlzdGVuaW5nIiwidW5kZWZpbmVkIiwiaWdub3JlSW5pdGlhbCIsImN3ZCIsImlnbm9yZVBlcm1pc3Npb25FcnJvcnMiLCJ1c2VQb2xsaW5nIiwiaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCIsIl8iLCJkZWJvdW5jZSIsImhhbmRsZUFueUZzRXZlbnQiLCJvbiIsInN0b3BMaXN0ZW5pbmciLCJjbG9zZSIsImdldEN1cnJlbnRWYWx1ZSIsImVtaXRVcGRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUVPLE1BQU1BLHlCQUFOLFNBQXdDQyxtREFBeEMsQ0FBNEU7QUFLeEVDLEVBQUFBLFdBQVcsQ0FBQ0MsU0FBRCxFQUFvQkMsS0FBcEIsRUFBcUM7QUFDbkQ7QUFEbUQsU0FKdENELFNBSXNDO0FBQUEsU0FIdENDLEtBR3NDO0FBQUEsU0FGL0NDLE9BRStDO0FBRW5ELFNBQUtGLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsU0FBS0MsS0FBTCxHQUFhQSxLQUFiO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0I7QUFDNUMsUUFBSSxLQUFLRCxPQUFMLElBQWdCRSxTQUFwQixFQUErQjtBQUMzQjtBQUNIOztBQUNELFNBQUtGLE9BQUwsR0FBZSxxQkFBTSxLQUFLRCxLQUFYLEVBQWtCO0FBQzdCSSxNQUFBQSxhQUFhLEVBQUUsSUFEYztBQUU3QkMsTUFBQUEsR0FBRyxFQUFFLEtBQUtOLFNBRm1CO0FBRzdCTyxNQUFBQSxzQkFBc0IsRUFBRSxLQUhLO0FBSTdCQyxNQUFBQSxVQUFVLEVBQUU7QUFKaUIsS0FBbEIsQ0FBZjs7QUFNQSxVQUFNQyx5QkFBeUIsR0FBR0MsZ0JBQUVDLFFBQUYsQ0FBVyxNQUFNLEtBQUtDLGdCQUFMLEVBQWpCLEVBQTBDLEdBQTFDLENBQWxDOztBQUNBLFNBQUtWLE9BQUwsQ0FBYVcsRUFBYixDQUFnQixLQUFoQixFQUF1QkoseUJBQXZCO0FBQ0EsU0FBS1AsT0FBTCxDQUFhVyxFQUFiLENBQWdCLE9BQWhCLEVBQXlCSix5QkFBekI7QUFDSDs7QUFFNEIsUUFBYkssYUFBYSxHQUFrQjtBQUMzQyxRQUFJLEtBQUtaLE9BQUwsSUFBZ0JFLFNBQXBCLEVBQStCO0FBQzNCO0FBQ0EsV0FBS0YsT0FBTCxDQUFhYSxLQUFiO0FBQ0g7QUFDSjs7QUFFOEIsUUFBZkMsZUFBZSxHQUFvQjtBQUMvQyxXQUFPLEtBQUtoQixTQUFaO0FBQ0g7O0FBRTZCLFFBQWhCWSxnQkFBZ0IsR0FBa0I7QUFDNUMsVUFBTSxLQUFLSyxVQUFMLENBQWdCLEtBQUtqQixTQUFyQixDQUFOO0FBQ0g7O0FBdkM4RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciwgd2F0Y2ggfSBmcm9tIFwiY2hva2lkYXJcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlciBleHRlbmRzIE9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZTxzdHJpbmc+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGhUb0Rpcjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFza3M6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgd2F0Y2hlcj86IEZTV2F0Y2hlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXRoVG9EaXI6IHN0cmluZywgbWFza3M6IHN0cmluZ1tdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMucGF0aFRvRGlyID0gcGF0aFRvRGlyO1xuICAgICAgICB0aGlzLm1hc2tzID0gbWFza3M7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGJlZ2luTGlzdGVuaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy53YXRjaGVyICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2F0Y2hlciA9IHdhdGNoKHRoaXMubWFza3MsIHtcbiAgICAgICAgICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gICAgICAgICAgICBjd2Q6IHRoaXMucGF0aFRvRGlyLFxuICAgICAgICAgICAgaWdub3JlUGVybWlzc2lvbkVycm9yczogZmFsc2UsXG4gICAgICAgICAgICB1c2VQb2xsaW5nOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCA9IF8uZGVib3VuY2UoKCkgPT4gdGhpcy5oYW5kbGVBbnlGc0V2ZW50KCksIDUwMCk7XG4gICAgICAgIHRoaXMud2F0Y2hlci5vbihcImFsbFwiLCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkKTtcbiAgICAgICAgdGhpcy53YXRjaGVyLm9uKFwiZXJyb3JcIiwgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIHN0b3BMaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICAgICAgICB0aGlzLndhdGNoZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRDdXJyZW50VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aFRvRGlyO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaGFuZGxlQW55RnNFdmVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0VXBkYXRlKHRoaXMucGF0aFRvRGlyKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -11,17 +13,6 @@ var _lodash = _interopRequireDefault(require("lodash"));
11
13
 
12
14
  var _ChainableValueProducer = require("./ChainableValueProducer");
13
15
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- (function () {
17
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
18
- enterModule && enterModule(module);
19
- })();
20
-
21
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
22
- return a;
23
- };
24
-
25
16
  class FileValueProducer extends _ChainableValueProducer.ObservableValueProducerBase {
26
17
  constructor(pathToFile) {
27
18
  super();
@@ -62,31 +53,7 @@ class FileValueProducer extends _ChainableValueProducer.ObservableValueProducerB
62
53
  await this.emitUpdate(this.pathToFile);
63
54
  }
64
55
 
65
- // @ts-ignore
66
- __reactstandin__regenerateByEval(key, code) {
67
- // @ts-ignore
68
- this[key] = eval(code);
69
- }
70
-
71
56
  }
72
57
 
73
58
  exports.FileValueProducer = FileValueProducer;
74
- ;
75
-
76
- (function () {
77
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
78
-
79
- if (!reactHotLoader) {
80
- return;
81
- }
82
-
83
- reactHotLoader.register(FileValueProducer, "FileValueProducer", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\Commons\\TasksCore\\FileValueProducer.ts");
84
- })();
85
-
86
- ;
87
-
88
- (function () {
89
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
90
- leaveModule && leaveModule(module);
91
- })();
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9GaWxlVmFsdWVQcm9kdWNlci50cyJdLCJuYW1lcyI6WyJGaWxlVmFsdWVQcm9kdWNlciIsIk9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZSIsImNvbnN0cnVjdG9yIiwicGF0aFRvRmlsZSIsIndhdGNoZXIiLCJiZWdpbkxpc3RlbmluZyIsInVuZGVmaW5lZCIsImlnbm9yZUluaXRpYWwiLCJpZ25vcmVQZXJtaXNzaW9uRXJyb3JzIiwidXNlUG9sbGluZyIsImhhbmRsZUFueUZzRXZlbnREZWJvdW5jZWQiLCJfIiwiZGVib3VuY2UiLCJoYW5kbGVBbnlGc0V2ZW50Iiwib24iLCJzdG9wTGlzdGVuaW5nIiwiY2xvc2UiLCJnZXRDdXJyZW50VmFsdWUiLCJlbWl0VXBkYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7QUFFTyxNQUFNQSxpQkFBTixTQUFnQ0MsbURBQWhDLENBQW9FO0FBSWhFQyxFQUFBQSxXQUFXLENBQUNDLFVBQUQsRUFBcUI7QUFDbkM7QUFEbUMsU0FIdEJBLFVBR3NCO0FBQUEsU0FGL0JDLE9BRStCO0FBRW5DLFNBQUtELFVBQUwsR0FBa0JBLFVBQWxCO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0I7QUFDNUMsUUFBSSxLQUFLRCxPQUFMLElBQWdCRSxTQUFwQixFQUErQjtBQUMzQjtBQUNIOztBQUNELFNBQUtGLE9BQUwsR0FBZSxxQkFBTSxLQUFLRCxVQUFYLEVBQXVCO0FBQ2xDSSxNQUFBQSxhQUFhLEVBQUUsSUFEbUI7QUFFbENDLE1BQUFBLHNCQUFzQixFQUFFLEtBRlU7QUFHbENDLE1BQUFBLFVBQVUsRUFBRTtBQUhzQixLQUF2QixDQUFmOztBQUtBLFVBQU1DLHlCQUF5QixHQUFHQyxnQkFBRUMsUUFBRixDQUFXLE1BQU0sS0FBS0MsZ0JBQUwsRUFBakIsRUFBMEMsSUFBMUMsQ0FBbEM7O0FBQ0EsU0FBS1QsT0FBTCxDQUFhVSxFQUFiLENBQWdCLEtBQWhCLEVBQXVCSix5QkFBdkI7QUFDQSxTQUFLTixPQUFMLENBQWFVLEVBQWIsQ0FBZ0IsT0FBaEIsRUFBeUJKLHlCQUF6QjtBQUNIOztBQUU0QixRQUFiSyxhQUFhLEdBQWtCO0FBQzNDLFFBQUksS0FBS1gsT0FBTCxJQUFnQkUsU0FBcEIsRUFBK0I7QUFDM0I7QUFDQSxXQUFLRixPQUFMLENBQWFZLEtBQWI7QUFDSDtBQUNKOztBQUU4QixRQUFmQyxlQUFlLEdBQW9CO0FBQy9DLFdBQU8sS0FBS2QsVUFBWjtBQUNIOztBQUU2QixRQUFoQlUsZ0JBQWdCLEdBQWtCO0FBQzVDLFVBQU0sS0FBS0ssVUFBTCxDQUFnQixLQUFLZixVQUFyQixDQUFOO0FBQ0g7O0FBcENzRTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOzs7Ozs7Ozs7Ozs7MEJBQTlESCxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciwgd2F0Y2ggfSBmcm9tIFwiY2hva2lkYXJcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsZVZhbHVlUHJvZHVjZXIgZXh0ZW5kcyBPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2U8c3RyaW5nPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXRoVG9GaWxlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB3YXRjaGVyPzogRlNXYXRjaGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGhUb0ZpbGU6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnBhdGhUb0ZpbGUgPSBwYXRoVG9GaWxlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBiZWdpbkxpc3RlbmluZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMud2F0Y2hlciAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndhdGNoZXIgPSB3YXRjaCh0aGlzLnBhdGhUb0ZpbGUsIHtcbiAgICAgICAgICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gICAgICAgICAgICBpZ25vcmVQZXJtaXNzaW9uRXJyb3JzOiBmYWxzZSxcbiAgICAgICAgICAgIHVzZVBvbGxpbmc6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkID0gXy5kZWJvdW5jZSgoKSA9PiB0aGlzLmhhbmRsZUFueUZzRXZlbnQoKSwgMTAwMCk7XG4gICAgICAgIHRoaXMud2F0Y2hlci5vbihcImFsbFwiLCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkKTtcbiAgICAgICAgdGhpcy53YXRjaGVyLm9uKFwiZXJyb3JcIiwgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIHN0b3BMaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICAgICAgICB0aGlzLndhdGNoZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRDdXJyZW50VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aFRvRmlsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGhhbmRsZUFueUZzRXZlbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdFVwZGF0ZSh0aGlzLnBhdGhUb0ZpbGUpO1xuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9GaWxlVmFsdWVQcm9kdWNlci50cyJdLCJuYW1lcyI6WyJGaWxlVmFsdWVQcm9kdWNlciIsIk9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZSIsImNvbnN0cnVjdG9yIiwicGF0aFRvRmlsZSIsIndhdGNoZXIiLCJiZWdpbkxpc3RlbmluZyIsInVuZGVmaW5lZCIsImlnbm9yZUluaXRpYWwiLCJpZ25vcmVQZXJtaXNzaW9uRXJyb3JzIiwidXNlUG9sbGluZyIsImhhbmRsZUFueUZzRXZlbnREZWJvdW5jZWQiLCJfIiwiZGVib3VuY2UiLCJoYW5kbGVBbnlGc0V2ZW50Iiwib24iLCJzdG9wTGlzdGVuaW5nIiwiY2xvc2UiLCJnZXRDdXJyZW50VmFsdWUiLCJlbWl0VXBkYXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFFTyxNQUFNQSxpQkFBTixTQUFnQ0MsbURBQWhDLENBQW9FO0FBSWhFQyxFQUFBQSxXQUFXLENBQUNDLFVBQUQsRUFBcUI7QUFDbkM7QUFEbUMsU0FIdEJBLFVBR3NCO0FBQUEsU0FGL0JDLE9BRStCO0FBRW5DLFNBQUtELFVBQUwsR0FBa0JBLFVBQWxCO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0I7QUFDNUMsUUFBSSxLQUFLRCxPQUFMLElBQWdCRSxTQUFwQixFQUErQjtBQUMzQjtBQUNIOztBQUNELFNBQUtGLE9BQUwsR0FBZSxxQkFBTSxLQUFLRCxVQUFYLEVBQXVCO0FBQ2xDSSxNQUFBQSxhQUFhLEVBQUUsSUFEbUI7QUFFbENDLE1BQUFBLHNCQUFzQixFQUFFLEtBRlU7QUFHbENDLE1BQUFBLFVBQVUsRUFBRTtBQUhzQixLQUF2QixDQUFmOztBQUtBLFVBQU1DLHlCQUF5QixHQUFHQyxnQkFBRUMsUUFBRixDQUFXLE1BQU0sS0FBS0MsZ0JBQUwsRUFBakIsRUFBMEMsSUFBMUMsQ0FBbEM7O0FBQ0EsU0FBS1QsT0FBTCxDQUFhVSxFQUFiLENBQWdCLEtBQWhCLEVBQXVCSix5QkFBdkI7QUFDQSxTQUFLTixPQUFMLENBQWFVLEVBQWIsQ0FBZ0IsT0FBaEIsRUFBeUJKLHlCQUF6QjtBQUNIOztBQUU0QixRQUFiSyxhQUFhLEdBQWtCO0FBQzNDLFFBQUksS0FBS1gsT0FBTCxJQUFnQkUsU0FBcEIsRUFBK0I7QUFDM0I7QUFDQSxXQUFLRixPQUFMLENBQWFZLEtBQWI7QUFDSDtBQUNKOztBQUU4QixRQUFmQyxlQUFlLEdBQW9CO0FBQy9DLFdBQU8sS0FBS2QsVUFBWjtBQUNIOztBQUU2QixRQUFoQlUsZ0JBQWdCLEdBQWtCO0FBQzVDLFVBQU0sS0FBS0ssVUFBTCxDQUFnQixLQUFLZixVQUFyQixDQUFOO0FBQ0g7O0FBcENzRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZTV2F0Y2hlciwgd2F0Y2ggfSBmcm9tIFwiY2hva2lkYXJcIjtcbmltcG9ydCBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsZVZhbHVlUHJvZHVjZXIgZXh0ZW5kcyBPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2U8c3RyaW5nPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXRoVG9GaWxlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB3YXRjaGVyPzogRlNXYXRjaGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGhUb0ZpbGU6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnBhdGhUb0ZpbGUgPSBwYXRoVG9GaWxlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBiZWdpbkxpc3RlbmluZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMud2F0Y2hlciAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndhdGNoZXIgPSB3YXRjaCh0aGlzLnBhdGhUb0ZpbGUsIHtcbiAgICAgICAgICAgIGlnbm9yZUluaXRpYWw6IHRydWUsXG4gICAgICAgICAgICBpZ25vcmVQZXJtaXNzaW9uRXJyb3JzOiBmYWxzZSxcbiAgICAgICAgICAgIHVzZVBvbGxpbmc6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkID0gXy5kZWJvdW5jZSgoKSA9PiB0aGlzLmhhbmRsZUFueUZzRXZlbnQoKSwgMTAwMCk7XG4gICAgICAgIHRoaXMud2F0Y2hlci5vbihcImFsbFwiLCBoYW5kbGVBbnlGc0V2ZW50RGVib3VuY2VkKTtcbiAgICAgICAgdGhpcy53YXRjaGVyLm9uKFwiZXJyb3JcIiwgaGFuZGxlQW55RnNFdmVudERlYm91bmNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIHN0b3BMaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXG4gICAgICAgICAgICB0aGlzLndhdGNoZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBnZXRDdXJyZW50VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGF0aFRvRmlsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGhhbmRsZUFueUZzRXZlbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZW1pdFVwZGF0ZSh0aGlzLnBhdGhUb0ZpbGUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -15,15 +15,6 @@ var _FileValueProducer = require("./FileValueProducer");
15
15
 
16
16
  var _SingleValueProducer = require("./SingleValueProducer");
17
17
 
18
- (function () {
19
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
20
- enterModule && enterModule(module);
21
- })();
22
-
23
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
24
- return a;
25
- };
26
-
27
18
  class Observe {
28
19
  static empty() {
29
20
  return new _EmptyProducer.EmptyProducer();
@@ -48,22 +39,4 @@ class Observe {
48
39
  }
49
40
 
50
41
  exports.Observe = Observe;
51
- ;
52
-
53
- (function () {
54
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
55
-
56
- if (!reactHotLoader) {
57
- return;
58
- }
59
-
60
- reactHotLoader.register(Observe, "Observe", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\Commons\\TasksCore\\Observe.ts");
61
- })();
62
-
63
- ;
64
-
65
- (function () {
66
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
67
- leaveModule && leaveModule(module);
68
- })();
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9PYnNlcnZlLnRzIl0sIm5hbWVzIjpbIk9ic2VydmUiLCJlbXB0eSIsIkVtcHR5UHJvZHVjZXIiLCJ2YWx1ZSIsIngiLCJTaW5nbGVWYWx1ZVByb2R1Y2VyIiwiZGlyZWN0b3J5IiwicGF0aFRvRGlyIiwibWFza3MiLCJEaXJlY3RvcnlFbnRyaWVzUHJvZHVjZXIiLCJza2lwVXBkYXRlc1VudGlsTmV4dENvbXBsZXRlZCIsImZpbGVzIiwiRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlciIsImZpbGUiLCJwYXRoVG9GaWxlIiwiRmlsZVZhbHVlUHJvZHVjZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7QUFFTyxNQUFNQSxPQUFOLENBQWM7QUFDRSxTQUFMQyxLQUFLLEdBQWtCO0FBQ2pDLFdBQU8sSUFBSUMsNEJBQUosRUFBUDtBQUNIOztBQUVrQixTQUFMQyxLQUFLLENBQUlDLENBQUosRUFBa0M7QUFDakQsV0FBTyxJQUFJQyx3Q0FBSixDQUEyQkQsQ0FBM0IsQ0FBUDtBQUNIOztBQUVzQixTQUFURSxTQUFTLENBQUNDLFNBQUQsRUFBb0JDLEtBQXBCLEVBQXVFO0FBQzFGLFdBQU8sSUFBSUMsa0RBQUosQ0FBNkJGLFNBQTdCLEVBQXdDQyxLQUF4QyxFQUErQ0UsNkJBQS9DLEVBQVA7QUFDSDs7QUFFa0IsU0FBTEMsS0FBSyxDQUFDSixTQUFELEVBQW9CLEdBQUdDLEtBQXZCLEVBQXdFO0FBQ3ZGLFdBQU8sSUFBSUksb0RBQUosQ0FBOEJMLFNBQTlCLEVBQXlDQyxLQUF6QyxFQUFnREUsNkJBQWhELEVBQVA7QUFDSDs7QUFFaUIsU0FBSkcsSUFBSSxDQUFDQyxVQUFELEVBQXFEO0FBQ25FLFdBQU8sSUFBSUMsb0NBQUosQ0FBc0JELFVBQXRCLEVBQWtDSiw2QkFBbEMsRUFBUDtBQUNIOztBQW5CZ0I7Ozs7Ozs7Ozs7OzswQkFBUlYsTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYWluYWJsZVZhbHVlUHJvZHVjZXIgfSBmcm9tIFwiLi9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBEaXJlY3RvcnlFbnRyaWVzUHJvZHVjZXIgfSBmcm9tIFwiLi9EaXJlY3RvcnlFbnRyaWVzUHJvZHVjZXJcIjtcbmltcG9ydCB7IEVtcHR5UHJvZHVjZXIgfSBmcm9tIFwiLi9FbXB0eVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBGaWxlU3lzdGVtRW50cmllc1Byb2R1Y2VyIH0gZnJvbSBcIi4vRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlclwiO1xuaW1wb3J0IHsgRmlsZVZhbHVlUHJvZHVjZXIgfSBmcm9tIFwiLi9GaWxlVmFsdWVQcm9kdWNlclwiO1xuaW1wb3J0IHsgU2luZ2xlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuL1NpbmdsZVZhbHVlUHJvZHVjZXJcIjtcblxuZXhwb3J0IGNsYXNzIE9ic2VydmUge1xuICAgIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogRW1wdHlQcm9kdWNlciB7XG4gICAgICAgIHJldHVybiBuZXcgRW1wdHlQcm9kdWNlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdmFsdWU8VD4oeDogVCk6IFNpbmdsZVZhbHVlUHJvZHVjZXI8VD4ge1xuICAgICAgICByZXR1cm4gbmV3IFNpbmdsZVZhbHVlUHJvZHVjZXI8VD4oeCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBkaXJlY3RvcnkocGF0aFRvRGlyOiBzdHJpbmcsIG1hc2tzOiBzdHJpbmdbXSk6IENoYWluYWJsZVZhbHVlUHJvZHVjZXI8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEaXJlY3RvcnlFbnRyaWVzUHJvZHVjZXIocGF0aFRvRGlyLCBtYXNrcykuc2tpcFVwZGF0ZXNVbnRpbE5leHRDb21wbGV0ZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbGVzKHBhdGhUb0Rpcjogc3RyaW5nLCAuLi5tYXNrczogc3RyaW5nW10pOiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTeXN0ZW1FbnRyaWVzUHJvZHVjZXIocGF0aFRvRGlyLCBtYXNrcykuc2tpcFVwZGF0ZXNVbnRpbE5leHRDb21wbGV0ZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbGUocGF0aFRvRmlsZTogc3RyaW5nKTogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlVmFsdWVQcm9kdWNlcihwYXRoVG9GaWxlKS5za2lwVXBkYXRlc1VudGlsTmV4dENvbXBsZXRlZCgpO1xuICAgIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9PYnNlcnZlLnRzIl0sIm5hbWVzIjpbIk9ic2VydmUiLCJlbXB0eSIsIkVtcHR5UHJvZHVjZXIiLCJ2YWx1ZSIsIngiLCJTaW5nbGVWYWx1ZVByb2R1Y2VyIiwiZGlyZWN0b3J5IiwicGF0aFRvRGlyIiwibWFza3MiLCJEaXJlY3RvcnlFbnRyaWVzUHJvZHVjZXIiLCJza2lwVXBkYXRlc1VudGlsTmV4dENvbXBsZXRlZCIsImZpbGVzIiwiRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlciIsImZpbGUiLCJwYXRoVG9GaWxlIiwiRmlsZVZhbHVlUHJvZHVjZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFTyxNQUFNQSxPQUFOLENBQWM7QUFDRSxTQUFMQyxLQUFLLEdBQWtCO0FBQ2pDLFdBQU8sSUFBSUMsNEJBQUosRUFBUDtBQUNIOztBQUVrQixTQUFMQyxLQUFLLENBQUlDLENBQUosRUFBa0M7QUFDakQsV0FBTyxJQUFJQyx3Q0FBSixDQUEyQkQsQ0FBM0IsQ0FBUDtBQUNIOztBQUVzQixTQUFURSxTQUFTLENBQUNDLFNBQUQsRUFBb0JDLEtBQXBCLEVBQXVFO0FBQzFGLFdBQU8sSUFBSUMsa0RBQUosQ0FBNkJGLFNBQTdCLEVBQXdDQyxLQUF4QyxFQUErQ0UsNkJBQS9DLEVBQVA7QUFDSDs7QUFFa0IsU0FBTEMsS0FBSyxDQUFDSixTQUFELEVBQW9CLEdBQUdDLEtBQXZCLEVBQXdFO0FBQ3ZGLFdBQU8sSUFBSUksb0RBQUosQ0FBOEJMLFNBQTlCLEVBQXlDQyxLQUF6QyxFQUFnREUsNkJBQWhELEVBQVA7QUFDSDs7QUFFaUIsU0FBSkcsSUFBSSxDQUFDQyxVQUFELEVBQXFEO0FBQ25FLFdBQU8sSUFBSUMsb0NBQUosQ0FBc0JELFVBQXRCLEVBQWtDSiw2QkFBbEMsRUFBUDtBQUNIOztBQW5CZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuaW1wb3J0IHsgRGlyZWN0b3J5RW50cmllc1Byb2R1Y2VyIH0gZnJvbSBcIi4vRGlyZWN0b3J5RW50cmllc1Byb2R1Y2VyXCI7XG5pbXBvcnQgeyBFbXB0eVByb2R1Y2VyIH0gZnJvbSBcIi4vRW1wdHlQcm9kdWNlclwiO1xuaW1wb3J0IHsgRmlsZVN5c3RlbUVudHJpZXNQcm9kdWNlciB9IGZyb20gXCIuL0ZpbGVTeXN0ZW1FbnRyaWVzUHJvZHVjZXJcIjtcbmltcG9ydCB7IEZpbGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4vRmlsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IFNpbmdsZVZhbHVlUHJvZHVjZXIgfSBmcm9tIFwiLi9TaW5nbGVWYWx1ZVByb2R1Y2VyXCI7XG5cbmV4cG9ydCBjbGFzcyBPYnNlcnZlIHtcbiAgICBwdWJsaWMgc3RhdGljIGVtcHR5KCk6IEVtcHR5UHJvZHVjZXIge1xuICAgICAgICByZXR1cm4gbmV3IEVtcHR5UHJvZHVjZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHZhbHVlPFQ+KHg6IFQpOiBTaW5nbGVWYWx1ZVByb2R1Y2VyPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBTaW5nbGVWYWx1ZVByb2R1Y2VyPFQ+KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZGlyZWN0b3J5KHBhdGhUb0Rpcjogc3RyaW5nLCBtYXNrczogc3RyaW5nW10pOiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiBuZXcgRGlyZWN0b3J5RW50cmllc1Byb2R1Y2VyKHBhdGhUb0RpciwgbWFza3MpLnNraXBVcGRhdGVzVW50aWxOZXh0Q29tcGxldGVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmaWxlcyhwYXRoVG9EaXI6IHN0cmluZywgLi4ubWFza3M6IHN0cmluZ1tdKTogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3lzdGVtRW50cmllc1Byb2R1Y2VyKHBhdGhUb0RpciwgbWFza3MpLnNraXBVcGRhdGVzVW50aWxOZXh0Q29tcGxldGVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmaWxlKHBhdGhUb0ZpbGU6IHN0cmluZyk6IENoYWluYWJsZVZhbHVlUHJvZHVjZXI8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVZhbHVlUHJvZHVjZXIocGF0aFRvRmlsZSkuc2tpcFVwZGF0ZXNVbnRpbE5leHRDb21wbGV0ZWQoKTtcbiAgICB9XG59XG4iXX0=
@@ -7,15 +7,6 @@ exports.SingleValueProducer = void 0;
7
7
 
8
8
  var _ChainableValueProducer = require("./ChainableValueProducer");
9
9
 
10
- (function () {
11
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
12
- enterModule && enterModule(module);
13
- })();
14
-
15
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
16
- return a;
17
- };
18
-
19
10
  class SingleValueProducer extends _ChainableValueProducer.ObservableValueProducerBase {
20
11
  constructor(initialValue) {
21
12
  super();
@@ -38,31 +29,7 @@ class SingleValueProducer extends _ChainableValueProducer.ObservableValueProduce
38
29
  return this.value;
39
30
  }
40
31
 
41
- // @ts-ignore
42
- __reactstandin__regenerateByEval(key, code) {
43
- // @ts-ignore
44
- this[key] = eval(code);
45
- }
46
-
47
32
  }
48
33
 
49
34
  exports.SingleValueProducer = SingleValueProducer;
50
- ;
51
-
52
- (function () {
53
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
54
-
55
- if (!reactHotLoader) {
56
- return;
57
- }
58
-
59
- reactHotLoader.register(SingleValueProducer, "SingleValueProducer", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\Commons\\TasksCore\\SingleValueProducer.ts");
60
- })();
61
-
62
- ;
63
-
64
- (function () {
65
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
66
- leaveModule && leaveModule(module);
67
- })();
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9TaW5nbGVWYWx1ZVByb2R1Y2VyLnRzIl0sIm5hbWVzIjpbIlNpbmdsZVZhbHVlUHJvZHVjZXIiLCJPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2UiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxWYWx1ZSIsInZhbHVlIiwiYmVnaW5MaXN0ZW5pbmciLCJzdG9wTGlzdGVuaW5nIiwidXBkYXRlIiwiZW1pdFVwZGF0ZSIsImdldEN1cnJlbnRWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7OztBQUVPLE1BQU1BLG1CQUFOLFNBQXFDQyxtREFBckMsQ0FBb0U7QUFHaEVDLEVBQUFBLFdBQVcsQ0FBQ0MsWUFBRCxFQUFrQjtBQUNoQztBQURnQyxTQUY1QkMsS0FFNEI7QUFFaEMsU0FBS0EsS0FBTCxHQUFhRCxZQUFiO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0IsQ0FDNUM7QUFDSDs7QUFFNEIsUUFBYkMsYUFBYSxHQUFrQixDQUMzQztBQUNIOztBQUVrQixRQUFOQyxNQUFNLENBQUNILEtBQUQsRUFBMEI7QUFDekMsU0FBS0EsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsVUFBTSxLQUFLSSxVQUFMLENBQWdCSixLQUFoQixDQUFOO0FBQ0g7O0FBRThCLFFBQWZLLGVBQWUsR0FBZTtBQUMxQyxXQUFPLEtBQUtMLEtBQVo7QUFDSDs7QUF2QnNFO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7Ozs7Ozs7Ozs7OzswQkFBOURKLG1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgU2luZ2xlVmFsdWVQcm9kdWNlcjxUPiBleHRlbmRzIE9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZTxUPiB7XG4gICAgcHJpdmF0ZSB2YWx1ZTogVDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU6IFQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGluaXRpYWxWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgYmVnaW5MaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vINCe0LHQvdC+0LLQu9C10L3QuNC1INC30L3QsNGH0LXQvdC40Lkg0L/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LjQt9Cy0L3QtVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBzdG9wTGlzdGVuaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyDQntCx0L3QvtCy0LvQtdC90LjQtSDQt9C90LDRh9C10L3QuNC5INC/0LXRgNC10LTQsNGR0YLRgdGPINC40LfQstC90LVcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdXBkYXRlKHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0VXBkYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0Q3VycmVudFZhbHVlKCk6IFByb21pc2U8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1Rhc2tzQ29yZS9TaW5nbGVWYWx1ZVByb2R1Y2VyLnRzIl0sIm5hbWVzIjpbIlNpbmdsZVZhbHVlUHJvZHVjZXIiLCJPYnNlcnZhYmxlVmFsdWVQcm9kdWNlckJhc2UiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxWYWx1ZSIsInZhbHVlIiwiYmVnaW5MaXN0ZW5pbmciLCJzdG9wTGlzdGVuaW5nIiwidXBkYXRlIiwiZW1pdFVwZGF0ZSIsImdldEN1cnJlbnRWYWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVPLE1BQU1BLG1CQUFOLFNBQXFDQyxtREFBckMsQ0FBb0U7QUFHaEVDLEVBQUFBLFdBQVcsQ0FBQ0MsWUFBRCxFQUFrQjtBQUNoQztBQURnQyxTQUY1QkMsS0FFNEI7QUFFaEMsU0FBS0EsS0FBTCxHQUFhRCxZQUFiO0FBQ0g7O0FBRTZCLFFBQWRFLGNBQWMsR0FBa0IsQ0FDNUM7QUFDSDs7QUFFNEIsUUFBYkMsYUFBYSxHQUFrQixDQUMzQztBQUNIOztBQUVrQixRQUFOQyxNQUFNLENBQUNILEtBQUQsRUFBMEI7QUFDekMsU0FBS0EsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsVUFBTSxLQUFLSSxVQUFMLENBQWdCSixLQUFoQixDQUFOO0FBQ0g7O0FBRThCLFFBQWZLLGVBQWUsR0FBZTtBQUMxQyxXQUFPLEtBQUtMLEtBQVo7QUFDSDs7QUF2QnNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZVZhbHVlUHJvZHVjZXJCYXNlIH0gZnJvbSBcIi4vQ2hhaW5hYmxlVmFsdWVQcm9kdWNlclwiO1xuXG5leHBvcnQgY2xhc3MgU2luZ2xlVmFsdWVQcm9kdWNlcjxUPiBleHRlbmRzIE9ic2VydmFibGVWYWx1ZVByb2R1Y2VyQmFzZTxUPiB7XG4gICAgcHJpdmF0ZSB2YWx1ZTogVDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0aWFsVmFsdWU6IFQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGluaXRpYWxWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgYmVnaW5MaXN0ZW5pbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vINCe0LHQvdC+0LLQu9C10L3QuNC1INC30L3QsNGH0LXQvdC40Lkg0L/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LjQt9Cy0L3QtVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBzdG9wTGlzdGVuaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyDQntCx0L3QvtCy0LvQtdC90LjQtSDQt9C90LDRh9C10L3QuNC5INC/0LXRgNC10LTQsNGR0YLRgdGPINC40LfQstC90LVcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdXBkYXRlKHZhbHVlOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgYXdhaXQgdGhpcy5lbWl0VXBkYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgZ2V0Q3VycmVudFZhbHVlKCk6IFByb21pc2U8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG59XG4iXX0=
@@ -5,38 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.printTime = printTime;
7
7
 
8
- (function () {
9
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
10
- enterModule && enterModule(module);
11
- })();
12
-
13
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
14
- return a;
15
- };
16
-
17
8
  function printTime(timespan) {
18
9
  const seconds = (Math.floor(timespan / 1000) % 60).toString().padStart(2, "0");
19
10
  const minutes = (Math.floor(timespan / 1000 / 60) % 60).toString().padStart(2, "0");
20
11
  const hours = Math.floor(timespan / 1000 / 60 / 60).toString().padStart(2, "0");
21
12
  return `${hours}:${minutes}:${seconds}`;
22
13
  }
23
-
24
- ;
25
-
26
- (function () {
27
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
28
-
29
- if (!reactHotLoader) {
30
- return;
31
- }
32
-
33
- reactHotLoader.register(printTime, "printTime", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\Commons\\TimingUtils.ts");
34
- })();
35
-
36
- ;
37
-
38
- (function () {
39
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
40
- leaveModule && leaveModule(module);
41
- })();
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1RpbWluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbInByaW50VGltZSIsInRpbWVzcGFuIiwic2Vjb25kcyIsIk1hdGgiLCJmbG9vciIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJtaW51dGVzIiwiaG91cnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTyxTQUFTQSxTQUFULENBQW1CQyxRQUFuQixFQUE2QztBQUNoRCxRQUFNQyxPQUFPLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDQyxLQUFMLENBQVdILFFBQVEsR0FBRyxJQUF0QixJQUE4QixFQUEvQixFQUFtQ0ksUUFBbkMsR0FBOENDLFFBQTlDLENBQXVELENBQXZELEVBQTBELEdBQTFELENBQWhCO0FBQ0EsUUFBTUMsT0FBTyxHQUFHLENBQUNKLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxRQUFRLEdBQUcsSUFBWCxHQUFrQixFQUE3QixJQUFtQyxFQUFwQyxFQUF3Q0ksUUFBeEMsR0FBbURDLFFBQW5ELENBQTRELENBQTVELEVBQStELEdBQS9ELENBQWhCO0FBQ0EsUUFBTUUsS0FBSyxHQUFHTCxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsUUFBUSxHQUFHLElBQVgsR0FBa0IsRUFBbEIsR0FBdUIsRUFBbEMsRUFDVEksUUFEUyxHQUVUQyxRQUZTLENBRUEsQ0FGQSxFQUVHLEdBRkgsQ0FBZDtBQUdBLFNBQVEsR0FBRUUsS0FBTSxJQUFHRCxPQUFRLElBQUdMLE9BQVEsRUFBdEM7QUFDSDs7Ozs7Ozs7Ozs7MEJBUGVGLFMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcHJpbnRUaW1lKHRpbWVzcGFuOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlY29uZHMgPSAoTWF0aC5mbG9vcih0aW1lc3BhbiAvIDEwMDApICUgNjApLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgXCIwXCIpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSAoTWF0aC5mbG9vcih0aW1lc3BhbiAvIDEwMDAgLyA2MCkgJSA2MCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIik7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHRpbWVzcGFuIC8gMTAwMCAvIDYwIC8gNjApXG4gICAgICAgIC50b1N0cmluZygpXG4gICAgICAgIC5wYWRTdGFydCgyLCBcIjBcIik7XG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xufVxuIl19
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Db21tb25zL1RpbWluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbInByaW50VGltZSIsInRpbWVzcGFuIiwic2Vjb25kcyIsIk1hdGgiLCJmbG9vciIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJtaW51dGVzIiwiaG91cnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxTQUFTQSxTQUFULENBQW1CQyxRQUFuQixFQUE2QztBQUNoRCxRQUFNQyxPQUFPLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDQyxLQUFMLENBQVdILFFBQVEsR0FBRyxJQUF0QixJQUE4QixFQUEvQixFQUFtQ0ksUUFBbkMsR0FBOENDLFFBQTlDLENBQXVELENBQXZELEVBQTBELEdBQTFELENBQWhCO0FBQ0EsUUFBTUMsT0FBTyxHQUFHLENBQUNKLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxRQUFRLEdBQUcsSUFBWCxHQUFrQixFQUE3QixJQUFtQyxFQUFwQyxFQUF3Q0ksUUFBeEMsR0FBbURDLFFBQW5ELENBQTRELENBQTVELEVBQStELEdBQS9ELENBQWhCO0FBQ0EsUUFBTUUsS0FBSyxHQUFHTCxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsUUFBUSxHQUFHLElBQVgsR0FBa0IsRUFBbEIsR0FBdUIsRUFBbEMsRUFDVEksUUFEUyxHQUVUQyxRQUZTLENBRUEsQ0FGQSxFQUVHLEdBRkgsQ0FBZDtBQUdBLFNBQVEsR0FBRUUsS0FBTSxJQUFHRCxPQUFRLElBQUdMLE9BQVEsRUFBdEM7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwcmludFRpbWUodGltZXNwYW46IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgc2Vjb25kcyA9IChNYXRoLmZsb29yKHRpbWVzcGFuIC8gMTAwMCkgJSA2MCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIik7XG4gICAgY29uc3QgbWludXRlcyA9IChNYXRoLmZsb29yKHRpbWVzcGFuIC8gMTAwMCAvIDYwKSAlIDYwKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIFwiMFwiKTtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IodGltZXNwYW4gLyAxMDAwIC8gNjAgLyA2MClcbiAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgLnBhZFN0YXJ0KDIsIFwiMFwiKTtcbiAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc306JHtzZWNvbmRzfWA7XG59XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -13,25 +15,18 @@ var _md = _interopRequireDefault(require("md5"));
13
15
 
14
16
  var _pLimit = _interopRequireDefault(require("p-limit"));
15
17
 
18
+ var _nodeFetch = _interopRequireDefault(require("node-fetch"));
19
+
16
20
  var _BuildCacheMode = require("../CLICommands/BuildForms/BuildCacheMode");
17
21
 
18
22
  var _TypingUtils = require("../../../Common/TypingUtils");
19
23
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ var _StaticLogger = require("../Commons/Logging/StaticLogger");
21
25
 
22
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
27
 
24
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
29
 
26
- (function () {
27
- var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
28
- enterModule && enterModule(module);
29
- })();
30
-
31
- var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
32
- return a;
33
- };
34
-
35
30
  const singleLimit = (0, _pLimit.default)(1);
36
31
 
37
32
  class CacheAssetsPlugin {
@@ -75,12 +70,6 @@ class CacheAssetsPlugin {
75
70
  await (0, _fsExtra.writeFile)(filePath, JSON.stringify(content), "utf-8");
76
71
  }
77
72
 
78
- // @ts-ignore
79
- __reactstandin__regenerateByEval(key, code) {
80
- // @ts-ignore
81
- this[key] = eval(code);
82
- }
83
-
84
73
  }
85
74
 
86
75
  exports.CacheAssetsPlugin = CacheAssetsPlugin;
@@ -89,8 +78,10 @@ class BuildCache {
89
78
  constructor(farmDirectory, mode) {
90
79
  this.farmDirectory = void 0;
91
80
  this.mode = void 0;
81
+ this.logger = void 0;
92
82
  this.farmDirectory = farmDirectory;
93
83
  this.mode = mode;
84
+ this.logger = (0, _StaticLogger.getLogger)().withPrefix("BUILD_CACHE");
94
85
  }
95
86
 
96
87
  async extract(generatorSource, gfv, depsHash, resourcesDirectory) {
@@ -125,7 +116,8 @@ class BuildCache {
125
116
  return false;
126
117
  }
127
118
 
128
- return (0, _fsExtra.pathExists)(this.getCacheFilePath(gfv, generatorSource.version, depsHash));
119
+ const cachedFilePath = await this.existsFileCacheOrDownload(gfv, generatorSource.version, depsHash);
120
+ return cachedFilePath != undefined;
129
121
  }
130
122
 
131
123
  async setContent(generatorSource, gfv, depsHash, resourcesDirectory, fileName, fileContent) {
@@ -140,51 +132,66 @@ class BuildCache {
140
132
  content = { ...content,
141
133
  [fileName]: fileContent
142
134
  };
143
- await (0, _fsExtra.ensureDir)(path.dirname(cacheFilePath));
144
135
  await (0, _fsExtra.writeFile)(cacheFilePath, JSON.stringify(content), "utf-8");
145
136
  }
146
137
 
147
- createWebpackPlugin(options) {
138
+ async createWebpackPlugin(options) {
148
139
  if (options.mode === _BuildCacheMode.BuildCacheMode.Disabled || options.mode === _BuildCacheMode.BuildCacheMode.ReadOnly) {
149
140
  return undefined;
150
141
  }
151
142
 
152
- return new CacheAssetsPlugin({
153
- cacheFile: this.getCacheFilePath(options.gfv, options.generatorVersion, options.depsHash)
154
- });
155
- }
143
+ const cachedFilePath = await this.existsFileCacheOrDownload(options.gfv, options.generatorVersion, options.depsHash);
156
144
 
157
- getCacheFilePath(gfv, generatorVersion, depsHash) {
158
- return path.join(this.farmDirectory, ".build-cache", "compile", `${(0, _md.default)(gfv)}-${(0, _md.default)(generatorVersion)}-${depsHash}.zip`);
159
- }
145
+ if (cachedFilePath != undefined) {
146
+ new CacheAssetsPlugin({
147
+ cacheFile: cachedFilePath
148
+ });
149
+ }
160
150
 
161
- // @ts-ignore
162
- __reactstandin__regenerateByEval(key, code) {
163
- // @ts-ignore
164
- this[key] = eval(code);
151
+ return undefined;
165
152
  }
166
153
 
167
- }
154
+ getCacheFilePath(gfv, generatorVersion, depsHash) {
155
+ const fileName = `${(0, _md.default)(gfv)}-${(0, _md.default)(generatorVersion)}-${depsHash}.zip`;
156
+ return path.join(this.farmDirectory, ".build-cache", "compile", fileName);
157
+ }
168
158
 
169
- exports.BuildCache = BuildCache;
170
- ;
159
+ async existsFileCacheOrDownload(gfv, generatorVersion, depsHash) {
160
+ const filePath = this.getCacheFilePath(gfv, generatorVersion, depsHash);
161
+ this.logger.log(`Start search file in local ${filePath}`);
162
+ await (0, _fsExtra.ensureDir)(path.dirname(filePath));
171
163
 
172
- (function () {
173
- var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
164
+ if (await (0, _fsExtra.pathExists)(filePath)) {
165
+ this.logger.log(`Found file in local directory`);
166
+ return filePath;
167
+ } else {
168
+ try {
169
+ this.logger.log("The cache file was not found in the local directory Im looking for it in drive");
170
+ const response = await (0, _nodeFetch.default)(`https://api.kontur.ru/drive/v1/public/${path.basename(filePath)}`);
171
+ this.logger.log(`Drive response status code: ${response.status.toString()}`);
172
+
173
+ if (response.status === 200) {
174
+ await (0, _fsExtra.writeFile)(filePath, await response.buffer(), "utf-8");
175
+ return filePath;
176
+ } else {
177
+ if (response.status === 404) {
178
+ this.logger.error("The cache file not found in drive storage");
179
+ } else {
180
+ this.logger.error(`Drive storage send ${response.status} status code, I don't process it in any way`);
181
+ }
174
182
 
175
- if (!reactHotLoader) {
176
- return;
183
+ return undefined;
184
+ }
185
+ } catch (e) {
186
+ this.logger.error("Drive storage responded with an error");
187
+ this.logger.error("The build will continue without a cache");
188
+ this.logger.error(e);
189
+ return undefined;
190
+ }
191
+ }
177
192
  }
178
193
 
179
- reactHotLoader.register(singleLimit, "singleLimit", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\FormWebpackConfiguration\\CacheAssetsPlugin.ts");
180
- reactHotLoader.register(CacheAssetsPlugin, "CacheAssetsPlugin", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\FormWebpackConfiguration\\CacheAssetsPlugin.ts");
181
- reactHotLoader.register(BuildCache, "BuildCache", "C:\\buildAgent\\work\\8df8f1edd755969c\\Tools\\src\\FormWebpackConfiguration\\CacheAssetsPlugin.ts");
182
- })();
183
-
184
- ;
194
+ }
185
195
 
186
- (function () {
187
- var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
188
- leaveModule && leaveModule(module);
189
- })();
190
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Gb3JtV2VicGFja0NvbmZpZ3VyYXRpb24vQ2FjaGVBc3NldHNQbHVnaW4udHMiXSwibmFtZXMiOlsic2luZ2xlTGltaXQiLCJDYWNoZUFzc2V0c1BsdWdpbiIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImFwcGx5IiwiY29tcGlsZXIiLCJob29rcyIsImVtaXQiLCJ0YXBQcm9taXNlIiwiY29tcGlsYXRpb24iLCJjYWNoZUl0ZW1zIiwiYXNzZXROYW1lIiwiT2JqZWN0Iiwia2V5cyIsImFzc2V0cyIsInNvdXJjZSIsIkJ1ZmZlciIsInR5cGUiLCJiYXNlNjRjb250ZW50IiwidG9TdHJpbmciLCJ1cGRhdGVGaWxlIiwiZmlsZVBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImNhY2hlRmlsZSIsImNvbnRlbnQiLCJKU09OIiwicGFyc2UiLCJkaXJuYW1lIiwic3RyaW5naWZ5IiwiQnVpbGRDYWNoZSIsImZhcm1EaXJlY3RvcnkiLCJtb2RlIiwiZXh0cmFjdCIsImdlbmVyYXRvclNvdXJjZSIsImdmdiIsImRlcHNIYXNoIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiRXJyb3IiLCJnZXRDYWNoZUZpbGVQYXRoIiwidmVyc2lvbiIsImFzc2V0UGF0aCIsImNvbnRlbnRFbGVtZW50Iiwiam9pbiIsImZyb20iLCJleGlzdHMiLCJCdWlsZENhY2hlTW9kZSIsIkRpc2FibGVkIiwiRm9yY2VVcGRhdGUiLCJzZXRDb250ZW50IiwiZmlsZU5hbWUiLCJmaWxlQ29udGVudCIsImNhY2hlRmlsZVBhdGgiLCJjcmVhdGVXZWJwYWNrUGx1Z2luIiwiUmVhZE9ubHkiLCJ1bmRlZmluZWQiLCJnZW5lcmF0b3JWZXJzaW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsTUFBTUEsV0FBVyxHQUFHLHFCQUFPLENBQVAsQ0FBcEI7O0FBTU8sTUFBTUMsaUJBQU4sQ0FB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LENBQVMsSUFBRyxpQkFBSXFCLGdCQUFKLENBQXNCLElBQUdwQixRQUFTLE1BSjlDLENBQVA7QUFNSDs7QUFsRm1CO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7Ozs7Ozs7Ozs7OzswQkEvQ2xCcEMsVzswQkFNT0MsaUI7MEJBeUNBNkIsVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgZW5zdXJlRGlyLCBwYXRoRXhpc3RzLCByZWFkRmlsZSwgd3JpdGVGaWxlIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgbWQ1IGZyb20gXCJtZDVcIjtcbmltcG9ydCBwTGltaXQgZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB3ZWJwYWNrIGZyb20gXCJ3ZWJwYWNrXCI7XG5cbmltcG9ydCB7IEdlbmVyYXRvclNvdXJjZSB9IGZyb20gXCIuLi9CdWlsZFRhc2tzL0dlbmVyYXRvci9BY3F1aXJlRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgQnVpbGRDYWNoZU1vZGUgfSBmcm9tIFwiLi4vQ0xJQ29tbWFuZHMvQnVpbGRGb3Jtcy9CdWlsZENhY2hlTW9kZVwiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbi9UeXBpbmdVdGlsc1wiO1xuXG5pbnRlcmZhY2UgQ2FjaGVBc3NldHNQbHVnaW5PcHRpb25zIHtcbiAgICBjYWNoZUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtQnVpbGRDYWNoZU9wdGlvbnMge1xuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBtb2RlOiBCdWlsZENhY2hlTW9kZTtcbiAgICBnZW5lcmF0b3JWZXJzaW9uOiBzdHJpbmc7XG4gICAgZ2Z2OiBzdHJpbmc7XG4gICAgZGVwc0hhc2g6IHN0cmluZztcbn1cblxuY29uc3Qgc2luZ2xlTGltaXQgPSBwTGltaXQoMSk7XG5cbmludGVyZmFjZSBCdWlsZFJlc3VsdHNTZXJpYWxpemVkIHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nIHwgeyB0eXBlOiBcIkJ1ZmZlclwiOyBiYXNlNjRjb250ZW50OiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENhY2hlQXNzZXRzUGx1Z2luIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENhY2hlQXNzZXRzUGx1Z2luT3B0aW9ucztcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDYWNoZUFzc2V0c1BsdWdpbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgYXBwbHkoY29tcGlsZXI6IHdlYnBhY2suQ29tcGlsZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29tcGlsZXIuaG9va3MuZW1pdC50YXBQcm9taXNlKFwiQ2FjaGVBc3NldHNQbHVnaW5cIiwgY29tcGlsYXRpb24gPT5cbiAgICAgICAgICAgIHNpbmdsZUxpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUl0ZW1zOiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0ge307XG4gICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFzc2V0TmFtZSBvZiBPYmplY3Qua2V5cyhjb21waWxhdGlvbi5hc3NldHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZTogc3RyaW5nIHwgQnVmZmVyID0gY29tcGlsYXRpb24uYXNzZXRzW2Fzc2V0TmFtZV0/LnNvdXJjZSgpID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc291cmNlIGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUl0ZW1zW2Fzc2V0TmFtZV0gPSB7IHR5cGU6IFwiQnVmZmVyXCIsIGJhc2U2NGNvbnRlbnQ6IHNvdXJjZS50b1N0cmluZyhcImJhc2U2NFwiKSB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVJdGVtc1thc3NldE5hbWVdID0gc291cmNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlRmlsZShjYWNoZUl0ZW1zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB1cGRhdGVGaWxlKGNhY2hlSXRlbXM6IEJ1aWxkUmVzdWx0c1NlcmlhbGl6ZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5vcHRpb25zLmNhY2hlRmlsZSk7XG4gICAgICAgIGxldCBjb250ZW50OiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0gKGF3YWl0IHBhdGhFeGlzdHMoZmlsZVBhdGgpKVxuICAgICAgICAgICAgPyAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICAgICAgICBKU09OLnBhcnNlKGF3YWl0IHJlYWRGaWxlKGZpbGVQYXRoLCBcInV0Zi04XCIpKVxuICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgY29udGVudCA9IHtcbiAgICAgICAgICAgIC4uLmNvbnRlbnQsXG4gICAgICAgICAgICAuLi5jYWNoZUl0ZW1zLFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY29udGVudCksIFwidXRmLThcIik7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRDYWNoZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBCdWlsZENhY2hlTW9kZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihmYXJtRGlyZWN0b3J5OiBzdHJpbmcsIG1vZGU6IEJ1aWxkQ2FjaGVNb2RlKSB7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IGZhcm1EaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4dHJhY3QoXG4gICAgICAgIGdlbmVyYXRvclNvdXJjZTogR2VuZXJhdG9yU291cmNlLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgZGVwc0hhc2g6IHN0cmluZyxcbiAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5OiBzdHJpbmdcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGdlbmVyYXRvclNvdXJjZS50eXBlID09PSBcIkdlbmVyYXRvclNvdXJjZXNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9jYWwgZ2VuZXJhdG9yIGRvZXMgbm90IHN1cHBvcnRzIGNhY2hpbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgY29uc3QgY29udGVudDogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICBhd2FpdCByZWFkRmlsZSh0aGlzLmdldENhY2hlRmlsZVBhdGgoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UudmVyc2lvbiwgZGVwc0hhc2gpLCBcInV0Zi04XCIpXG4gICAgICAgICk7XG4gICAgICAgIGZvciAoY29uc3QgYXNzZXRQYXRoIG9mIE9iamVjdC5rZXlzKGNvbnRlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IGNvbnRlbnRbYXNzZXRQYXRoXSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgYXNzZXRQYXRoKTtcbiAgICAgICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY29udGVudEVsZW1lbnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnRFbGVtZW50LCBcInV0ZjhcIik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgQnVmZmVyLmZyb20oY29udGVudEVsZW1lbnQuYmFzZTY0Y29udGVudCwgXCJiYXNlNjRcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGV4aXN0cyhnZW5lcmF0b3JTb3VyY2U6IEdlbmVyYXRvclNvdXJjZSwgZ2Z2OiBzdHJpbmcsIGRlcHNIYXNoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKGdlbmVyYXRvclNvdXJjZS50eXBlID09PSBcIkdlbmVyYXRvclNvdXJjZXNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9jYWwgZ2VuZXJhdG9yIGRvZXMgbm90IHN1cHBvcnRzIGNhY2hpbmdcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gQnVpbGRDYWNoZU1vZGUuRGlzYWJsZWQgfHwgdGhpcy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5Gb3JjZVVwZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoRXhpc3RzKHRoaXMuZ2V0Q2FjaGVGaWxlUGF0aChnZnYsIGdlbmVyYXRvclNvdXJjZS52ZXJzaW9uLCBkZXBzSGFzaCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDb250ZW50KFxuICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHN0cmluZyxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlQ29udGVudDogc3RyaW5nXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNhY2hlRmlsZVBhdGggPSB0aGlzLmdldENhY2hlRmlsZVBhdGgoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UsIGRlcHNIYXNoKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhjYWNoZUZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICBsZXQgY29udGVudDogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoY2FjaGVGaWxlUGF0aCwgXCJ1dGYtOFwiKSk7XG4gICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgW2ZpbGVOYW1lXTogZmlsZUNvbnRlbnQsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IGVuc3VyZURpcihwYXRoLmRpcm5hbWUoY2FjaGVGaWxlUGF0aCkpO1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoY2FjaGVGaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoY29udGVudCksIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZVdlYnBhY2tQbHVnaW4ob3B0aW9uczogRm9ybUJ1aWxkQ2FjaGVPcHRpb25zKTogQ2FjaGVBc3NldHNQbHVnaW4gfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAob3B0aW9ucy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5EaXNhYmxlZCB8fCBvcHRpb25zLm1vZGUgPT09IEJ1aWxkQ2FjaGVNb2RlLlJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ2FjaGVBc3NldHNQbHVnaW4oe1xuICAgICAgICAgICAgY2FjaGVGaWxlOiB0aGlzLmdldENhY2hlRmlsZVBhdGgob3B0aW9ucy5nZnYsIG9wdGlvbnMuZ2VuZXJhdG9yVmVyc2lvbiwgb3B0aW9ucy5kZXBzSGFzaCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FjaGVGaWxlUGF0aChnZnY6IHN0cmluZywgZ2VuZXJhdG9yVmVyc2lvbjogc3RyaW5nLCBkZXBzSGFzaDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhdGguam9pbihcbiAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIFwiLmJ1aWxkLWNhY2hlXCIsXG4gICAgICAgICAgICBcImNvbXBpbGVcIixcbiAgICAgICAgICAgIGAke21kNShnZnYpfS0ke21kNShnZW5lcmF0b3JWZXJzaW9uKX0tJHtkZXBzSGFzaH0uemlwYFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
196
+ exports.BuildCache = BuildCache;
197
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9Gb3JtV2VicGFja0NvbmZpZ3VyYXRpb24vQ2FjaGVBc3NldHNQbHVnaW4udHMiXSwibmFtZXMiOlsic2luZ2xlTGltaXQiLCJDYWNoZUFzc2V0c1BsdWdpbiIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImFwcGx5IiwiY29tcGlsZXIiLCJob29rcyIsImVtaXQiLCJ0YXBQcm9taXNlIiwiY29tcGlsYXRpb24iLCJjYWNoZUl0ZW1zIiwiYXNzZXROYW1lIiwiT2JqZWN0Iiwia2V5cyIsImFzc2V0cyIsInNvdXJjZSIsIkJ1ZmZlciIsInR5cGUiLCJiYXNlNjRjb250ZW50IiwidG9TdHJpbmciLCJ1cGRhdGVGaWxlIiwiZmlsZVBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImNhY2hlRmlsZSIsImNvbnRlbnQiLCJKU09OIiwicGFyc2UiLCJkaXJuYW1lIiwic3RyaW5naWZ5IiwiQnVpbGRDYWNoZSIsImZhcm1EaXJlY3RvcnkiLCJtb2RlIiwibG9nZ2VyIiwid2l0aFByZWZpeCIsImV4dHJhY3QiLCJnZW5lcmF0b3JTb3VyY2UiLCJnZnYiLCJkZXBzSGFzaCIsInJlc291cmNlc0RpcmVjdG9yeSIsIkVycm9yIiwiZ2V0Q2FjaGVGaWxlUGF0aCIsInZlcnNpb24iLCJhc3NldFBhdGgiLCJjb250ZW50RWxlbWVudCIsImpvaW4iLCJmcm9tIiwiZXhpc3RzIiwiQnVpbGRDYWNoZU1vZGUiLCJEaXNhYmxlZCIsIkZvcmNlVXBkYXRlIiwiY2FjaGVkRmlsZVBhdGgiLCJleGlzdHNGaWxlQ2FjaGVPckRvd25sb2FkIiwidW5kZWZpbmVkIiwic2V0Q29udGVudCIsImZpbGVOYW1lIiwiZmlsZUNvbnRlbnQiLCJjYWNoZUZpbGVQYXRoIiwiY3JlYXRlV2VicGFja1BsdWdpbiIsIlJlYWRPbmx5IiwiZ2VuZXJhdG9yVmVyc2lvbiIsImxvZyIsInJlc3BvbnNlIiwiYmFzZW5hbWUiLCJzdGF0dXMiLCJidWZmZXIiLCJlcnJvciIsImUiXSwibWFw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TUFBVCxDQUFnQjdDLFFBQWhCLEVBQTJCLEVBQTFFOztBQUNBLFlBQUkyQyxRQUFRLENBQUNFLE1BQVQsS0FBb0IsR0FBeEIsRUFBNkI7QUFDekIsZ0JBQU0sd0JBQVUzQyxRQUFWLEVBQW9CLE1BQU15QyxRQUFRLENBQUNHLE1BQVQsRUFBMUIsRUFBNkMsT0FBN0MsQ0FBTjtBQUNBLGlCQUFPNUMsUUFBUDtBQUNILFNBSEQsTUFHTztBQUNILGNBQUl5QyxRQUFRLENBQUNFLE1BQVQsS0FBb0IsR0FBeEIsRUFBNkI7QUFDekIsaUJBQUsvQixNQUFMLENBQVlpQyxLQUFaLENBQWtCLDJDQUFsQjtBQUNILFdBRkQsTUFFTztBQUNILGlCQUFLakMsTUFBTCxDQUFZaUMsS0FBWixDQUNLLHNCQUFxQkosUUFBUSxDQUFDRSxNQUFPLDZDQUQxQztBQUdIOztBQUNELGlCQUFPWCxTQUFQO0FBQ0g7QUFDSixPQWpCRCxDQWlCRSxPQUFPYyxDQUFQLEVBQVU7QUFDUixhQUFLbEMsTUFBTCxDQUFZaUMsS0FBWixDQUFrQix1Q0FBbEI7QUFDQSxhQUFLakMsTUFBTCxDQUFZaUMsS0FBWixDQUFrQix5Q0FBbEI7QUFDQSxhQUFLakMsTUFBTCxDQUFZaUMsS0FBWixDQUFrQkMsQ0FBbEI7QUFDQSxlQUFPZCxTQUFQO0FBQ0g7QUFDSjtBQUNKOztBQTlIbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IGVuc3VyZURpciwgcGF0aEV4aXN0cywgcmVhZEZpbGUsIHdyaXRlRmlsZSB9IGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IG1kNSBmcm9tIFwibWQ1XCI7XG5pbXBvcnQgcExpbWl0IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgd2VicGFjayBmcm9tIFwid2VicGFja1wiO1xuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5cbmltcG9ydCB7IEdlbmVyYXRvclNvdXJjZSB9IGZyb20gXCIuLi9CdWlsZFRhc2tzL0dlbmVyYXRvci9BY3F1aXJlRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgQnVpbGRDYWNoZU1vZGUgfSBmcm9tIFwiLi4vQ0xJQ29tbWFuZHMvQnVpbGRGb3Jtcy9CdWlsZENhY2hlTW9kZVwiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIi4uL0NvbW1vbnMvTG9nZ2luZy9TdGF0aWNMb2dnZXJcIjtcblxuaW50ZXJmYWNlIENhY2hlQXNzZXRzUGx1Z2luT3B0aW9ucyB7XG4gICAgY2FjaGVGaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUJ1aWxkQ2FjaGVPcHRpb25zIHtcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgbW9kZTogQnVpbGRDYWNoZU1vZGU7XG4gICAgZ2VuZXJhdG9yVmVyc2lvbjogc3RyaW5nO1xuICAgIGdmdjogc3RyaW5nO1xuICAgIGRlcHNIYXNoOiBzdHJpbmc7XG59XG5cbmNvbnN0IHNpbmdsZUxpbWl0ID0gcExpbWl0KDEpO1xuXG5pbnRlcmZhY2UgQnVpbGRSZXN1bHRzU2VyaWFsaXplZCB7XG4gICAgW3BhdGg6IHN0cmluZ106IHN0cmluZyB8IHsgdHlwZTogXCJCdWZmZXJcIjsgYmFzZTY0Y29udGVudDogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDYWNoZUFzc2V0c1BsdWdpbiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBDYWNoZUFzc2V0c1BsdWdpbk9wdGlvbnM7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQ2FjaGVBc3NldHNQbHVnaW5PcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGFwcGx5KGNvbXBpbGVyOiB3ZWJwYWNrLkNvbXBpbGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbXBpbGVyLmhvb2tzLmVtaXQudGFwUHJvbWlzZShcIkNhY2hlQXNzZXRzUGx1Z2luXCIsIGNvbXBpbGF0aW9uID0+XG4gICAgICAgICAgICBzaW5nbGVMaW1pdChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGVJdGVtczogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IHt9O1xuICAgICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby11bnNhZmUtYW55XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhc3NldE5hbWUgb2YgT2JqZWN0LmtleXMoY29tcGlsYXRpb24uYXNzZXRzKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2U6IHN0cmluZyB8IEJ1ZmZlciA9IGNvbXBpbGF0aW9uLmFzc2V0c1thc3NldE5hbWVdPy5zb3VyY2UoKSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVJdGVtc1thc3NldE5hbWVdID0geyB0eXBlOiBcIkJ1ZmZlclwiLCBiYXNlNjRjb250ZW50OiBzb3VyY2UudG9TdHJpbmcoXCJiYXNlNjRcIikgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlSXRlbXNbYXNzZXROYW1lXSA9IHNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZUZpbGUoY2FjaGVJdGVtcyk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgdXBkYXRlRmlsZShjYWNoZUl0ZW1zOiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXMub3B0aW9ucy5jYWNoZUZpbGUpO1xuICAgICAgICBsZXQgY29udGVudDogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSlcbiAgICAgICAgICAgID8gLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIG5vLXVuc2FmZS1hbnlcbiAgICAgICAgICAgICAgSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShmaWxlUGF0aCwgXCJ1dGYtOFwiKSlcbiAgICAgICAgICAgIDoge307XG4gICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgLi4uY2FjaGVJdGVtcyxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguZGlybmFtZShmaWxlUGF0aCkpO1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCBcInV0Zi04XCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkQ2FjaGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZTogQnVpbGRDYWNoZU1vZGU7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IElMb2dnZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZmFybURpcmVjdG9yeTogc3RyaW5nLCBtb2RlOiBCdWlsZENhY2hlTW9kZSkge1xuICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLm1vZGUgPSBtb2RlO1xuICAgICAgICB0aGlzLmxvZ2dlciA9IGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJCVUlMRF9DQUNIRVwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXh0cmFjdChcbiAgICAgICAgZ2VuZXJhdG9yU291cmNlOiBHZW5lcmF0b3JTb3VyY2UsXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBkZXBzSGFzaDogc3RyaW5nLFxuICAgICAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZ1xuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoZ2VuZXJhdG9yU291cmNlLnR5cGUgPT09IFwiR2VuZXJhdG9yU291cmNlc1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2NhbCBnZW5lcmF0b3IgZG9lcyBub3Qgc3VwcG9ydHMgY2FjaGluZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICBjb25zdCBjb250ZW50OiBCdWlsZFJlc3VsdHNTZXJpYWxpemVkID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgIGF3YWl0IHJlYWRGaWxlKHRoaXMuZ2V0Q2FjaGVGaWxlUGF0aChnZnYsIGdlbmVyYXRvclNvdXJjZS52ZXJzaW9uLCBkZXBzSGFzaCksIFwidXRmLThcIilcbiAgICAgICAgKTtcbiAgICAgICAgZm9yIChjb25zdCBhc3NldFBhdGggb2YgT2JqZWN0LmtleXMoY29udGVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gY29udGVudFthc3NldFBhdGhdID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBhc3NldFBhdGgpO1xuICAgICAgICAgICAgYXdhaXQgZW5zdXJlRGlyKHBhdGguZGlybmFtZShmaWxlUGF0aCkpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50RWxlbWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgY29udGVudEVsZW1lbnQsIFwidXRmOFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGZpbGVQYXRoLCBCdWZmZXIuZnJvbShjb250ZW50RWxlbWVudC5iYXNlNjRjb250ZW50LCBcImJhc2U2NFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZXhpc3RzKGdlbmVyYXRvclNvdXJjZTogR2VuZXJhdG9yU291cmNlLCBnZnY6IHN0cmluZywgZGVwc0hhc2g6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoZ2VuZXJhdG9yU291cmNlLnR5cGUgPT09IFwiR2VuZXJhdG9yU291cmNlc1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2NhbCBnZW5lcmF0b3IgZG9lcyBub3Qgc3VwcG9ydHMgY2FjaGluZ1wiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBCdWlsZENhY2hlTW9kZS5EaXNhYmxlZCB8fCB0aGlzLm1vZGUgPT09IEJ1aWxkQ2FjaGVNb2RlLkZvcmNlVXBkYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FjaGVkRmlsZVBhdGggPSBhd2FpdCB0aGlzLmV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UudmVyc2lvbiwgZGVwc0hhc2gpO1xuICAgICAgICByZXR1cm4gY2FjaGVkRmlsZVBhdGggIT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDb250ZW50KFxuICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHN0cmluZyxcbiAgICAgICAgZ2Z2OiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmcsXG4gICAgICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmaWxlQ29udGVudDogc3RyaW5nXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNhY2hlRmlsZVBhdGggPSB0aGlzLmdldENhY2hlRmlsZVBhdGgoZ2Z2LCBnZW5lcmF0b3JTb3VyY2UsIGRlcHNIYXNoKTtcbiAgICAgICAgaWYgKCEoYXdhaXQgcGF0aEV4aXN0cyhjYWNoZUZpbGVQYXRoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5zYWZlLWFueVxuICAgICAgICBsZXQgY29udGVudDogQnVpbGRSZXN1bHRzU2VyaWFsaXplZCA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoY2FjaGVGaWxlUGF0aCwgXCJ1dGYtOFwiKSk7XG4gICAgICAgIGNvbnRlbnQgPSB7XG4gICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgW2ZpbGVOYW1lXTogZmlsZUNvbnRlbnQsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShjYWNoZUZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShjb250ZW50KSwgXCJ1dGYtOFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlV2VicGFja1BsdWdpbihvcHRpb25zOiBGb3JtQnVpbGRDYWNoZU9wdGlvbnMpOiBQcm9taXNlPENhY2hlQXNzZXRzUGx1Z2luIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmIChvcHRpb25zLm1vZGUgPT09IEJ1aWxkQ2FjaGVNb2RlLkRpc2FibGVkIHx8IG9wdGlvbnMubW9kZSA9PT0gQnVpbGRDYWNoZU1vZGUuUmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FjaGVkRmlsZVBhdGggPSBhd2FpdCB0aGlzLmV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQoXG4gICAgICAgICAgICBvcHRpb25zLmdmdixcbiAgICAgICAgICAgIG9wdGlvbnMuZ2VuZXJhdG9yVmVyc2lvbixcbiAgICAgICAgICAgIG9wdGlvbnMuZGVwc0hhc2hcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGNhY2hlZEZpbGVQYXRoICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbmV3IENhY2hlQXNzZXRzUGx1Z2luKHtcbiAgICAgICAgICAgICAgICBjYWNoZUZpbGU6IGNhY2hlZEZpbGVQYXRoLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhY2hlRmlsZVBhdGgoZ2Z2OiBzdHJpbmcsIGdlbmVyYXRvclZlcnNpb246IHN0cmluZywgZGVwc0hhc2g6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7bWQ1KGdmdil9LSR7bWQ1KGdlbmVyYXRvclZlcnNpb24pfS0ke2RlcHNIYXNofS56aXBgO1xuICAgICAgICByZXR1cm4gcGF0aC5qb2luKHRoaXMuZmFybURpcmVjdG9yeSwgXCIuYnVpbGQtY2FjaGVcIiwgXCJjb21waWxlXCIsIGZpbGVOYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGV4aXN0c0ZpbGVDYWNoZU9yRG93bmxvYWQoXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBnZW5lcmF0b3JWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGRlcHNIYXNoOiBzdHJpbmdcbiAgICApOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMuZ2V0Q2FjaGVGaWxlUGF0aChnZnYsIGdlbmVyYXRvclZlcnNpb24sIGRlcHNIYXNoKTtcbiAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBTdGFydCBzZWFyY2ggZmlsZSBpbiBsb2NhbCAke2ZpbGVQYXRofWApO1xuICAgICAgICBhd2FpdCBlbnN1cmVEaXIocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKGZpbGVQYXRoKSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIubG9nKGBGb3VuZCBmaWxlIGluIGxvY2FsIGRpcmVjdG9yeWApO1xuICAgICAgICAgICAgcmV0dXJuIGZpbGVQYXRoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coXCJUaGUgY2FjaGUgZmlsZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsb2NhbCBkaXJlY3RvcnkgSW0gbG9va2luZyBmb3IgaXQgaW4gZHJpdmVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9hcGkua29udHVyLnJ1L2RyaXZlL3YxL3B1YmxpYy8ke3BhdGguYmFzZW5hbWUoZmlsZVBhdGgpfWApO1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgRHJpdmUgcmVzcG9uc2Ugc3RhdHVzIGNvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShmaWxlUGF0aCwgYXdhaXQgcmVzcG9uc2UuYnVmZmVyKCksIFwidXRmLThcIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWxlUGF0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiVGhlIGNhY2hlIGZpbGUgbm90IGZvdW5kIGluIGRyaXZlIHN0b3JhZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgRHJpdmUgc3RvcmFnZSBzZW5kICR7cmVzcG9uc2Uuc3RhdHVzfSBzdGF0dXMgY29kZSwgSSBkb24ndCBwcm9jZXNzIGl0IGluIGFueSB3YXlgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiRHJpdmUgc3RvcmFnZSByZXNwb25kZWQgd2l0aCBhbiBlcnJvclwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIlRoZSBidWlsZCB3aWxsIGNvbnRpbnVlIHdpdGhvdXQgYSBjYWNoZVwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19