@magic-xpa/engine 4.1100.0-dev4110.99 → 4.1101.0-dev4111.271

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. package/README.md +7 -7
  2. package/{esm2020 → esm2022}/index.mjs +188 -188
  3. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  4. package/esm2022/src/AccessHelper.mjs +15 -0
  5. package/esm2022/src/ClientManager.mjs +421 -0
  6. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  7. package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
  8. package/esm2022/src/CommandsTable.mjs +162 -0
  9. package/esm2022/src/ConstInterface.mjs +517 -0
  10. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  11. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  12. package/esm2022/src/GUIManager.mjs +62 -0
  13. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  14. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  15. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  16. package/esm2022/src/ServerConfig.mjs +122 -0
  17. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  18. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  19. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  22. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  23. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  24. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  25. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
  26. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  27. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  28. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  29. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  32. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  33. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  34. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  35. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  36. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  37. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  38. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  40. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  41. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  42. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  44. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  45. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  47. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  48. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  49. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  50. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  51. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  52. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  53. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  54. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  55. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  56. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  57. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  58. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  59. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  60. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  61. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  62. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
  63. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
  64. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  65. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  66. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  67. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  70. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  71. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  72. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  73. package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
  74. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  75. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  76. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  77. package/esm2022/src/data/DataView.mjs +1613 -0
  78. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  79. package/esm2022/src/data/DataviewManager.mjs +28 -0
  80. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  81. package/esm2022/src/data/DvCache.mjs +67 -0
  82. package/esm2022/src/data/Field.mjs +646 -0
  83. package/esm2022/src/data/FieldBase.mjs +15 -0
  84. package/esm2022/src/data/FieldsTable.mjs +103 -0
  85. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  86. package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
  87. package/esm2022/src/data/Record.mjs +880 -0
  88. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  89. package/esm2022/src/data/RecordsTable.mjs +267 -0
  90. package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
  91. package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
  92. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  93. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  94. package/esm2022/src/env/Environment.mjs +487 -0
  95. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  96. package/esm2022/src/env/LanguageData.mjs +227 -0
  97. package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
  98. package/esm2022/src/event/ActionManager.mjs +91 -0
  99. package/esm2022/src/event/Event.mjs +1333 -0
  100. package/esm2022/src/event/EventHandler.mjs +766 -0
  101. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  102. package/esm2022/src/event/EventsManager.mjs +2988 -0
  103. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  104. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  105. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  106. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  107. package/esm2022/src/exp/ExpTable.mjs +57 -0
  108. package/esm2022/src/exp/Expression.mjs +200 -0
  109. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  110. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  111. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  112. package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
  113. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  114. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  115. package/esm2022/src/gui/FormsTable.mjs +66 -0
  116. package/esm2022/src/gui/MgControl.mjs +363 -0
  117. package/esm2022/src/gui/MgForm.mjs +1224 -0
  118. package/esm2022/src/http/HttpManager.mjs +97 -0
  119. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  120. package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
  121. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  122. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  123. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  124. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  125. package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
  126. package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
  127. package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
  128. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  129. package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
  130. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  133. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  134. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  135. package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
  136. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  137. package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
  138. package/esm2022/src/remote/ServerError.mjs +40 -0
  139. package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
  140. package/esm2022/src/rt/Argument.mjs +265 -0
  141. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  142. package/esm2022/src/rt/Boundary.mjs +152 -0
  143. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  144. package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
  145. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  146. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  147. package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
  149. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  150. package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
  151. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  154. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  155. package/esm2022/src/rt/Operation.mjs +735 -0
  156. package/esm2022/src/rt/OperationTable.mjs +67 -0
  157. package/esm2022/src/rt/Recompute.mjs +355 -0
  158. package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
  159. package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
  160. package/esm2022/src/rt/ResultValue.mjs +10 -0
  161. package/esm2022/src/rt/TableCache.mjs +177 -0
  162. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  163. package/esm2022/src/rt/Transaction.mjs +53 -0
  164. package/esm2022/src/security/UserDetails.mjs +71 -0
  165. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  166. package/esm2022/src/tasks/MGData.mjs +552 -0
  167. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  168. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  169. package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
  170. package/esm2022/src/tasks/Task.mjs +2499 -0
  171. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  172. package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
  173. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  174. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  175. package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
  176. package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
  177. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  178. package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
  179. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  181. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  182. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  183. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  184. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  185. package/esm2022/src/util/PrmMap.mjs +152 -0
  186. package/esm2022/src/util/ReturnResult.mjs +46 -0
  187. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  188. package/esm2022/src/util/Scrambler.mjs +89 -0
  189. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  190. package/{esm2020 → esm2022}/src/util/cookie.service.mjs +92 -92
  191. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29888 -29690
  192. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  193. package/index.d.ts +187 -187
  194. package/package.json +8 -14
  195. package/src/AccessHelper.d.ts +20 -20
  196. package/src/ClientManager.d.ts +35 -32
  197. package/src/CommandsProcessorBase.d.ts +23 -23
  198. package/src/CommandsProcessorManager.d.ts +6 -6
  199. package/src/CommandsTable.d.ts +22 -22
  200. package/src/ConstInterface.d.ts +516 -515
  201. package/src/CurrentClientVersion.d.ts +1 -1
  202. package/src/FlowMonitorInterface.d.ts +15 -15
  203. package/src/GUIManager.d.ts +17 -17
  204. package/src/GlobalCommandsManager.d.ts +17 -17
  205. package/src/GuiEventsProcessor.d.ts +24 -24
  206. package/src/ICommandsTable.d.ts +9 -9
  207. package/src/ServerConfig.d.ts +35 -34
  208. package/src/bridge/IGuiEvent.d.ts +19 -19
  209. package/src/bridge/MagicBridge.d.ts +16 -16
  210. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  211. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  212. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  214. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  216. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  217. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  218. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  219. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  220. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  221. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  223. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  224. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  225. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  226. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  228. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  229. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  230. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  231. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  232. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  233. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  234. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  235. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  236. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  237. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  238. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  239. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  240. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  241. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  242. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  243. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  244. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  245. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  246. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  247. package/src/commands/DataViewCommandBase.d.ts +6 -6
  248. package/src/commands/IClientCommand.d.ts +2 -2
  249. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  250. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  251. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  252. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  253. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  254. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  255. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  256. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  257. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  258. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  259. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  262. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  263. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  264. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  265. package/src/communications/IConnectionStateManager.d.ts +4 -4
  266. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  267. package/src/data/DataSourceIdKey.d.ts +2 -2
  268. package/src/data/DataView.d.ts +162 -162
  269. package/src/data/DataViewBase.d.ts +12 -12
  270. package/src/data/DataviewManager.d.ts +14 -14
  271. package/src/data/DataviewManagerBase.d.ts +11 -11
  272. package/src/data/DvCache.d.ts +15 -15
  273. package/src/data/Field.d.ts +103 -103
  274. package/src/data/FieldBase.d.ts +23 -23
  275. package/src/data/FieldsTable.d.ts +27 -27
  276. package/src/data/IRecordsTable.d.ts +7 -7
  277. package/src/data/Key.d.ts +15 -15
  278. package/src/data/Record.d.ts +157 -156
  279. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  280. package/src/data/RecordsTable.d.ts +38 -38
  281. package/src/data/TaskTransactionManager.d.ts +17 -17
  282. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  283. package/src/enums.d.ts +21 -21
  284. package/src/env/EnvVariablesTable.d.ts +17 -17
  285. package/src/env/Environment.d.ts +118 -118
  286. package/src/env/ILanguageData.d.ts +3 -3
  287. package/src/env/LanguageData.d.ts +20 -20
  288. package/src/env/MirrorString.d.ts +15 -15
  289. package/src/event/ActionManager.d.ts +14 -14
  290. package/src/event/Event.d.ts +79 -79
  291. package/src/event/EventHandler.d.ts +66 -66
  292. package/src/event/EventHandlerPosition.d.ts +25 -25
  293. package/src/event/EventsManager.d.ts +205 -204
  294. package/src/event/IEventsManager.d.ts +77 -77
  295. package/src/event/RunTimeEvent.d.ts +126 -123
  296. package/src/event/RunTimeEventBase.d.ts +5 -5
  297. package/src/event/UserEventsTable.d.ts +11 -11
  298. package/src/exp/ExpTable.d.ts +11 -11
  299. package/src/exp/Expression.d.ts +37 -37
  300. package/src/exp/ExpressionDict.d.ts +12 -12
  301. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  302. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  303. package/src/exp/GlobalParamsTable.d.ts +19 -19
  304. package/src/exp/YesNoExp.d.ts +9 -9
  305. package/src/gui/CreatedFormVector.d.ts +10 -10
  306. package/src/gui/FormsTable.d.ts +15 -15
  307. package/src/gui/MgControl.d.ts +60 -60
  308. package/src/gui/MgForm.d.ts +96 -93
  309. package/src/http/HttpManager.d.ts +25 -25
  310. package/src/http/client/HttpClientAsync.d.ts +16 -16
  311. package/src/http/client/HttpClientBase.d.ts +30 -30
  312. package/src/http/client/HttpClientEvents.d.ts +18 -18
  313. package/src/http/client/HttpClientSync.d.ts +17 -17
  314. package/src/http/client/HttpUtility.d.ts +10 -10
  315. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  316. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  319. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  320. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  321. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  322. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  323. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  324. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  325. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  329. package/src/remote/ServerError.d.ts +16 -16
  330. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  331. package/src/rt/Argument.d.ts +36 -36
  332. package/src/rt/ArgumentsList.d.ts +24 -24
  333. package/src/rt/Boundary.d.ts +27 -27
  334. package/src/rt/CompMainPrgTable.d.ts +10 -10
  335. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  336. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  337. package/src/rt/DataviewHeaders.d.ts +12 -12
  338. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  339. package/src/rt/ExecutionStack.d.ts +22 -22
  340. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  341. package/src/rt/HandlersTable.d.ts +19 -19
  342. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  343. package/src/rt/IDataviewHeader.d.ts +10 -10
  344. package/src/rt/IResultValue.d.ts +4 -4
  345. package/src/rt/LastFocusedManager.d.ts +23 -23
  346. package/src/rt/Operation.d.ts +97 -97
  347. package/src/rt/OperationTable.d.ts +15 -15
  348. package/src/rt/Recompute.d.ts +41 -41
  349. package/src/rt/RecomputeTable.d.ts +9 -9
  350. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  351. package/src/rt/ResultValue.d.ts +7 -7
  352. package/src/rt/TableCache.d.ts +29 -29
  353. package/src/rt/TableCacheManager.d.ts +10 -10
  354. package/src/rt/Transaction.d.ts +23 -23
  355. package/src/security/UserDetails.d.ts +16 -16
  356. package/src/tasks/IMGDataCollection.d.ts +26 -26
  357. package/src/tasks/MGData.d.ts +63 -63
  358. package/src/tasks/MGDataCollection.d.ts +42 -42
  359. package/src/tasks/RCTimer.d.ts +13 -13
  360. package/src/tasks/RemoteTaskService.d.ts +16 -16
  361. package/src/tasks/Task.d.ts +312 -312
  362. package/src/tasks/TaskBase.d.ts +123 -123
  363. package/src/tasks/TaskServiceBase.d.ts +16 -16
  364. package/src/tasks/TasksTable.d.ts +21 -21
  365. package/src/tasks/sort/Sort.d.ts +4 -4
  366. package/src/tasks/sort/SortCollection.d.ts +11 -11
  367. package/src/util/ConstUtils.d.ts +3 -3
  368. package/src/util/FlowMonitorQueue.d.ts +70 -70
  369. package/src/util/HeapSort.d.ts +6 -6
  370. package/src/util/IMirrorXML.d.ts +6 -6
  371. package/src/util/IServerConfig.d.ts +11 -11
  372. package/src/util/MgBlockingQueue.d.ts +5 -5
  373. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  374. package/src/util/MgPriorityQueue.d.ts +13 -13
  375. package/src/util/ParamParseResult.d.ts +6 -6
  376. package/src/util/PrmMap.d.ts +28 -28
  377. package/src/util/ReturnResult.d.ts +18 -18
  378. package/src/util/ReturnResultBase.d.ts +11 -11
  379. package/src/util/Scrambler.d.ts +10 -10
  380. package/src/util/UniqueIDUtils.d.ts +4 -4
  381. package/src/util/cookie.service.d.ts +8 -8
  382. package/esm2020/src/AccessHelper.mjs +0 -9
  383. package/esm2020/src/ClientManager.mjs +0 -399
  384. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  385. package/esm2020/src/CommandsTable.mjs +0 -162
  386. package/esm2020/src/ConstInterface.mjs +0 -516
  387. package/esm2020/src/FlowMonitorInterface.mjs +0 -16
  388. package/esm2020/src/GUIManager.mjs +0 -62
  389. package/esm2020/src/GlobalCommandsManager.mjs +0 -34
  390. package/esm2020/src/GuiEventsProcessor.mjs +0 -154
  391. package/esm2020/src/ServerConfig.mjs +0 -117
  392. package/esm2020/src/bridge/MagicBridge.mjs +0 -41
  393. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  394. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
  395. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  396. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  397. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  398. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  399. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  400. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  401. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  402. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  403. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  404. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  405. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  406. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  407. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  408. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  409. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  410. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  411. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  412. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  413. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  414. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  415. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  416. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  417. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  418. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  419. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  420. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  421. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  422. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  423. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  424. package/esm2020/src/data/DataView.mjs +0 -1610
  425. package/esm2020/src/data/DataviewManager.mjs +0 -28
  426. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  427. package/esm2020/src/data/DvCache.mjs +0 -67
  428. package/esm2020/src/data/Field.mjs +0 -646
  429. package/esm2020/src/data/FieldBase.mjs +0 -18
  430. package/esm2020/src/data/FieldsTable.mjs +0 -103
  431. package/esm2020/src/data/Record.mjs +0 -846
  432. package/esm2020/src/data/RecordsTable.mjs +0 -267
  433. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  434. package/esm2020/src/env/Environment.mjs +0 -489
  435. package/esm2020/src/env/LanguageData.mjs +0 -226
  436. package/esm2020/src/event/ActionManager.mjs +0 -91
  437. package/esm2020/src/event/Event.mjs +0 -1333
  438. package/esm2020/src/event/EventHandler.mjs +0 -766
  439. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  440. package/esm2020/src/event/EventsManager.mjs +0 -2975
  441. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  442. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  443. package/esm2020/src/exp/ExpTable.mjs +0 -59
  444. package/esm2020/src/exp/Expression.mjs +0 -200
  445. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  446. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4208
  447. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  448. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  449. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  450. package/esm2020/src/gui/FormsTable.mjs +0 -66
  451. package/esm2020/src/gui/MgControl.mjs +0 -353
  452. package/esm2020/src/gui/MgForm.mjs +0 -1181
  453. package/esm2020/src/http/HttpManager.mjs +0 -97
  454. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  455. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  456. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  457. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  458. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  459. package/esm2020/src/remote/ServerError.mjs +0 -40
  460. package/esm2020/src/rt/Argument.mjs +0 -265
  461. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  462. package/esm2020/src/rt/Boundary.mjs +0 -152
  463. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  464. package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
  465. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  466. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  467. package/esm2020/src/rt/Operation.mjs +0 -735
  468. package/esm2020/src/rt/OperationTable.mjs +0 -67
  469. package/esm2020/src/rt/Recompute.mjs +0 -355
  470. package/esm2020/src/rt/ResultValue.mjs +0 -12
  471. package/esm2020/src/rt/TableCache.mjs +0 -177
  472. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  473. package/esm2020/src/rt/Transaction.mjs +0 -53
  474. package/esm2020/src/security/UserDetails.mjs +0 -71
  475. package/esm2020/src/tasks/MGData.mjs +0 -552
  476. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  477. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  478. package/esm2020/src/tasks/Task.mjs +0 -2496
  479. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  480. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  481. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  482. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  483. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  484. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  485. package/esm2020/src/util/PrmMap.mjs +0 -151
  486. package/esm2020/src/util/ReturnResult.mjs +0 -46
  487. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  488. package/esm2020/src/util/Scrambler.mjs +0 -89
  489. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  490. package/fesm2015/magic-xpa-engine.mjs +0 -30837
  491. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  492. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -1,260 +0,0 @@
1
- import { NUM_TYPE } from '@magic-xpa/gui';
2
- import { InternalInterface, StorageAttribute, ViewRefreshMode } from '@magic-xpa/utils';
3
- import { EventCommand } from './EventCommand';
4
- import { RollbackEventCommand } from './RollbackEventCommand';
5
- import { DataviewCommand, DataViewCommandType } from './DataviewCommand';
6
- import { AddUserRangeDataviewCommand } from './AddUserRangeDataviewCommand';
7
- import { AddUserSortDataViewCommand } from './AddUserSortDataViewCommand';
8
- import { AddUserLocateDataViewCommand } from './AddUserLocateDataViewCommand';
9
- import { SetTransactionStateDataviewCommand } from './SetTransactionStateDataviewCommand';
10
- import { RefreshEventCommand } from './RefreshEventCommand';
11
- import { FetchDataControlValuesEventCommand } from './FetchDataControlValuesEventCommand';
12
- import { SubformRefreshEventCommand } from './SubformRefreshEventCommand';
13
- import { BrowserEscEventCommand } from './BrowserEscEventCommand';
14
- import { IndexChangeEventCommand } from './IndexChangeEventCommand';
15
- import { ColumnSortEventCommand } from './ColumnSortEventCommand';
16
- import { RefreshScreenEventCommand } from './RefreshScreenEventCommand';
17
- import { SubformOpenEventCommand } from './SubformOpenEventCommand';
18
- import { ComputeEventCommand } from './ComputeEventCommand';
19
- import { NonReversibleExitEventCommand } from './NonReversibleExitEventCommand';
20
- import { RecomputeCommand } from './RecomputeCommand';
21
- import { TransactionCommand } from './TransactionCommand';
22
- import { UnloadCommand } from './UnloadCommand';
23
- import { ExecOperCommand } from './ExecOperCommand';
24
- import { EvaluateCommand } from './EvaluateCommand';
25
- import { GlobalParamsQueryCommand } from './GlobalParamsQueryCommand';
26
- import { IniputForceWriteCommand } from './IniputForceWriteCommand';
27
- import { ContextTerminationEventCommand } from './ContextTerminationEventCommand';
28
- import { ContextTimeoutResetCommand } from './ContextTimeoutResetCommand';
29
- import { SelectProgramCommand } from './SelectProgramCommand';
30
- import { ControlItemsRefreshCommand } from './ControlItemsRefreshCommand';
31
- export class CommandFactory {
32
- static CreateEventCommand(taskTag, magicEvent) {
33
- let eventCommand = new EventCommand(magicEvent);
34
- eventCommand.TaskTag = taskTag;
35
- return eventCommand;
36
- }
37
- static CreateRollbackEventCommand(taskTag, rollbackType) {
38
- let cmd = new RollbackEventCommand();
39
- cmd.TaskTag = taskTag;
40
- cmd.Rollback = rollbackType;
41
- return cmd;
42
- }
43
- static CreateDataViewCommand(taskId, commandType) {
44
- let dataviewCommand = new DataviewCommand();
45
- dataviewCommand.CommandType = commandType;
46
- dataviewCommand.TaskTag = taskId;
47
- return dataviewCommand;
48
- }
49
- static CreateControlItemsRefreshCommand(taskId, control) {
50
- let command = new ControlItemsRefreshCommand();
51
- command.CommandType = DataViewCommandType.ControlItemsRefresh;
52
- command.TaskTag = taskId;
53
- command.Control = control;
54
- return command;
55
- }
56
- static CreateAddUserRangeDataviewCommand(taskId, userRange) {
57
- let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
58
- addUserRangeDataviewCommand.TaskTag = taskId;
59
- addUserRangeDataviewCommand.Range = userRange;
60
- return addUserRangeDataviewCommand;
61
- }
62
- static CreateAddUserSortDataviewCommand(taskId, sort) {
63
- let addUserSortDataViewCommand = new AddUserSortDataViewCommand();
64
- addUserSortDataViewCommand.TaskTag = taskId;
65
- addUserSortDataViewCommand.Sort = sort;
66
- return addUserSortDataViewCommand;
67
- }
68
- static CreateAddUserLocateDataviewCommand(taskId, userRange) {
69
- let addUserLocateDataViewCommand = new AddUserLocateDataViewCommand();
70
- addUserLocateDataViewCommand.TaskTag = taskId;
71
- addUserLocateDataViewCommand.Range = userRange;
72
- return addUserLocateDataViewCommand;
73
- }
74
- static CreateSetTransactionStateDataviewCommand(taskId, transactionIsOpened) {
75
- let setTransactionStateDataviewCommand = new SetTransactionStateDataviewCommand();
76
- setTransactionStateDataviewCommand.TaskTag = taskId;
77
- setTransactionStateDataviewCommand.TransactionIsOpen = transactionIsOpened;
78
- return setTransactionStateDataviewCommand;
79
- }
80
- static CreateInternalRefreshCommand(taskId, magicEvent, currentRecId, currentRow) {
81
- let refreshEventCommand = new RefreshEventCommand(magicEvent);
82
- refreshEventCommand.TaskTag = taskId;
83
- refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
84
- refreshEventCommand.ClientRecId = currentRecId;
85
- refreshEventCommand.IsInternalRefresh = true;
86
- refreshEventCommand.CurrentRecordRow = currentRow;
87
- return refreshEventCommand;
88
- }
89
- static async CreateRealRefreshCommand(taskId, magicEvent, currentRow, argList, currentRecId) {
90
- let refreshEventCommand = new RefreshEventCommand(magicEvent);
91
- refreshEventCommand.TaskTag = taskId;
92
- refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
93
- refreshEventCommand.KeepUserSort = false;
94
- refreshEventCommand.ClientRecId = currentRecId;
95
- refreshEventCommand.CurrentRecordRow = currentRow;
96
- let cmd = refreshEventCommand;
97
- if (magicEvent !== InternalInterface.MG_ACT_RT_REFRESH_RECORD && argList !== null && argList.getSize() !== 0) {
98
- try {
99
- let refreshMode = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
100
- cmd.RefreshMode = refreshMode.NUM_2_LONG() + 1;
101
- }
102
- catch (e) {
103
- cmd.RefreshMode = ViewRefreshMode.CurrentLocation;
104
- }
105
- if (argList.getSize() > 1) {
106
- try {
107
- cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === '1');
108
- }
109
- catch (e) {
110
- cmd.KeepUserSort = false;
111
- }
112
- }
113
- }
114
- return cmd;
115
- }
116
- static CreatecFetchDataControlValuesCommand(taskTag, controlName) {
117
- let fetchDataControlValuesEventCommand = new FetchDataControlValuesEventCommand();
118
- fetchDataControlValuesEventCommand.TaskTag = taskTag;
119
- fetchDataControlValuesEventCommand.ControlName = controlName;
120
- return fetchDataControlValuesEventCommand;
121
- }
122
- static CreateSubformRefreshCommand(taskTag, subformTaskTag, explicitSubformRefresh) {
123
- let subformRefreshEventCommand = new SubformRefreshEventCommand();
124
- subformRefreshEventCommand.TaskTag = taskTag;
125
- subformRefreshEventCommand.SubformTaskTag = subformTaskTag;
126
- subformRefreshEventCommand.ExplicitSubformRefresh = explicitSubformRefresh;
127
- subformRefreshEventCommand.RefreshMode = ViewRefreshMode.UseTaskLocate;
128
- return subformRefreshEventCommand;
129
- }
130
- static CreateSubformOpenCommand(taskTag, subformDitIdx) {
131
- let subformOpenEventCommand = new SubformOpenEventCommand();
132
- subformOpenEventCommand.TaskTag = taskTag;
133
- subformOpenEventCommand.DitIdx = subformDitIdx;
134
- return subformOpenEventCommand;
135
- }
136
- static CreateScreenRefreshCommand(taskTag, topRecIdx, clientRecId) {
137
- let refreshScreenEventCommand = new RefreshScreenEventCommand();
138
- refreshScreenEventCommand.TaskTag = taskTag;
139
- refreshScreenEventCommand.TopRecIdx = topRecIdx;
140
- refreshScreenEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
141
- refreshScreenEventCommand.ClientRecId = clientRecId;
142
- return refreshScreenEventCommand;
143
- }
144
- static CreateColumnSortCommand(taskTag, direction, ditIdx, fieldId, recId) {
145
- let columnSortEventCommand = new ColumnSortEventCommand();
146
- columnSortEventCommand.TaskTag = taskTag;
147
- columnSortEventCommand.DitIdx = ditIdx;
148
- columnSortEventCommand.FldId = fieldId + 1;
149
- columnSortEventCommand.ClientRecId = recId;
150
- columnSortEventCommand.Direction = direction;
151
- return columnSortEventCommand;
152
- }
153
- static async CreateIndexChangeCommand(taskTag, recId, argList) {
154
- let indexChangeEventCommand = new IndexChangeEventCommand();
155
- indexChangeEventCommand.TaskTag = taskTag;
156
- indexChangeEventCommand.ClientRecId = recId;
157
- let cmd = indexChangeEventCommand;
158
- if (argList !== null && argList.getSize() !== 0) {
159
- try {
160
- let keyIndex = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
161
- cmd.KeyIndex = keyIndex.NUM_2_LONG();
162
- }
163
- catch (e) {
164
- cmd.KeyIndex = 0;
165
- }
166
- }
167
- return cmd;
168
- }
169
- static CreateBrowserEscEventCommand(taskTag, closeSubformOnly) {
170
- let browserEscEventCommand = new BrowserEscEventCommand();
171
- browserEscEventCommand.TaskTag = taskTag;
172
- browserEscEventCommand.CloseSubformOnly = closeSubformOnly;
173
- return browserEscEventCommand;
174
- }
175
- static CreateComputeEventCommand(taskTag, subforms, clientRecId) {
176
- let computeEventCommand = new ComputeEventCommand();
177
- computeEventCommand.TaskTag = taskTag;
178
- computeEventCommand.Subforms = subforms;
179
- computeEventCommand.ClientRecId = clientRecId;
180
- return computeEventCommand;
181
- }
182
- static CreateContextTerminationEventCommand(taskTag) {
183
- let contextTerminationEventCommand = new ContextTerminationEventCommand();
184
- contextTerminationEventCommand.TaskTag = taskTag;
185
- return contextTerminationEventCommand;
186
- }
187
- static CreateContextTimeoutResetEventCommand() {
188
- let contextTimeoutResetCommand = new ContextTimeoutResetCommand();
189
- return contextTimeoutResetCommand;
190
- }
191
- static CreateNonReversibleExitCommand(taskTag, closeSubformOnly) {
192
- let nonReversibleExitEventCommand = new NonReversibleExitEventCommand();
193
- nonReversibleExitEventCommand.TaskTag = taskTag;
194
- nonReversibleExitEventCommand.CloseSubformOnly = closeSubformOnly;
195
- return nonReversibleExitEventCommand;
196
- }
197
- static CreateRecomputeCommand(taskTag, fieldId, ignoreSubformRecompute) {
198
- let recomputeCommand = new RecomputeCommand();
199
- recomputeCommand.TaskTag = taskTag;
200
- recomputeCommand.FldId = fieldId;
201
- recomputeCommand.IgnoreSubformRecompute = ignoreSubformRecompute;
202
- return recomputeCommand;
203
- }
204
- static CreateTransactionCommand(oper, taskTag, cReversibleExit, level) {
205
- let transactionCommand = new TransactionCommand();
206
- transactionCommand.TaskTag = taskTag;
207
- transactionCommand.Oper = oper;
208
- transactionCommand.ReversibleExit = cReversibleExit;
209
- transactionCommand.Level = level;
210
- return transactionCommand;
211
- }
212
- static CreateUnloadCommand() {
213
- return new UnloadCommand();
214
- }
215
- static CreateExecOperCommand(taskTag, handlerId, operIdx, ditIdx, value) {
216
- let execOperCommand = new ExecOperCommand();
217
- execOperCommand.OperIdx = operIdx;
218
- execOperCommand.TaskTag = taskTag;
219
- execOperCommand.HandlerId = handlerId;
220
- execOperCommand.DitIdx = ditIdx;
221
- let cmd = execOperCommand;
222
- if (value !== null && value.length === 0)
223
- cmd.Val = ' ';
224
- else
225
- cmd.Val = value;
226
- return cmd;
227
- }
228
- static CreateSelectProgramCommand(taskTag, handlerId, operIdx, ditIdx, value) {
229
- let execOperCommand = new SelectProgramCommand();
230
- execOperCommand.OperIdx = operIdx;
231
- execOperCommand.TaskTag = taskTag;
232
- execOperCommand.HandlerId = handlerId;
233
- execOperCommand.DitIdx = ditIdx;
234
- let cmd = execOperCommand;
235
- if (value !== null && value.length === 0)
236
- cmd.Val = ' ';
237
- else
238
- cmd.Val = value;
239
- return cmd;
240
- }
241
- static CreateEvaluateCommand(taskTag, expType, expIdx, expValLen, mprgCreator) {
242
- let evaluateCommand = new EvaluateCommand();
243
- evaluateCommand.TaskTag = taskTag;
244
- evaluateCommand.ExpIdx = expIdx;
245
- evaluateCommand.ExpType = expType;
246
- evaluateCommand.MprgCreator = mprgCreator;
247
- if (expValLen > 0)
248
- evaluateCommand.LengthExpVal = expValLen;
249
- return evaluateCommand;
250
- }
251
- static CreateQueryGlobalParamsCommand() {
252
- return new GlobalParamsQueryCommand();
253
- }
254
- static CreateIniputForceWriteCommand(param) {
255
- let iniputForceWriteCommand = new IniputForceWriteCommand();
256
- iniputForceWriteCommand.Text = param;
257
- return iniputForceWriteCommand;
258
- }
259
- }
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFB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ZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDaEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFMUMsSUFBSSxTQUFTLEdBQUcsQ0FBQztZQUNmLGVBQWUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzNDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFPRCxNQUFNLENBQUMsOEJBQThCO1FBQ25DLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFPRCxNQUFNLENBQUMsNkJBQTZCLENBQUMsS0FBYTtRQUNoRCxJQUFJLHVCQUF1QixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDckYsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNyQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWdDb250cm9sQmFzZSwgTlVNX1RZUEV9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtJbnRlcm5hbEludGVyZmFjZSwgU3RvcmFnZUF0dHJpYnV0ZSwgVmlld1JlZnJlc2hNb2RlfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gJy4vRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSb2xsYmFja0V2ZW50Q29tbWFuZCwgUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlfSBmcm9tICcuL1JvbGxiYWNrRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtEYXRhdmlld0NvbW1hbmQsIERhdGFWaWV3Q29tbWFuZFR5cGV9IGZyb20gJy4vRGF0YXZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2tCYXNlJztcclxuaW1wb3J0IHtBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmR9IGZyb20gJy4vQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi90YXNrcy9zb3J0L1NvcnQnO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmR9IGZyb20gJy4vU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7UmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9SZWZyZXNoRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtBcmd1bWVudHNMaXN0fSBmcm9tICcuLi8uLi9ydC9Bcmd1bWVudHNMaXN0JztcclxuaW1wb3J0IHtGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kfSBmcm9tICcuL0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1N1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kfSBmcm9tICcuL1N1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtCcm93c2VyRXNjRXZlbnRDb21tYW5kfSBmcm9tICcuL0Jyb3dzZXJFc2NFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kfSBmcm9tICcuL0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb2x1bW5Tb3J0RXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbHVtblNvcnRFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmR9IGZyb20gJy4vUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7U3ViZm9ybU9wZW5FdmVudENvbW1hbmR9IGZyb20gJy4vU3ViZm9ybU9wZW5FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbXB1dGVFdmVudENvbW1hbmR9IGZyb20gJy4vQ29tcHV0ZUV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Tm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmR9IGZyb20gJy4vTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1JlY29tcHV0ZUNvbW1hbmR9IGZyb20gJy4vUmVjb21wdXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db21tYW5kfSBmcm9tICcuL1RyYW5zYWN0aW9uQ29tbWFuZCc7XHJcbmltcG9ydCB7VW5sb2FkQ29tbWFuZH0gZnJvbSAnLi9VbmxvYWRDb21tYW5kJztcclxuaW1wb3J0IHtFeGVjT3BlckNvbW1hbmR9IGZyb20gJy4vRXhlY09wZXJDb21tYW5kJztcclxuaW1wb3J0IHtFdmFsdWF0ZUNvbW1hbmR9IGZyb20gJy4vRXZhbHVhdGVDb21tYW5kJztcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmR9IGZyb20gJy4vR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kJztcclxuaW1wb3J0IHtJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZH0gZnJvbSAnLi9JbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7Q29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29udGV4dFRpbWVvdXRSZXNldENvbW1hbmR9IGZyb20gJy4vQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQnO1xyXG5pbXBvcnQgeyBTZWxlY3RQcm9ncmFtQ29tbWFuZCB9IGZyb20gJy4vU2VsZWN0UHJvZ3JhbUNvbW1hbmQnO1xyXG5pbXBvcnQgeyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCB9IGZyb20gJy4vQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQnO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gZmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgY29tbWFuZHNcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIENvbW1hbmRGYWN0b3J5IHtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBtYWdpY0V2ZW50OiBudW1iZXIpOiBFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGV2ZW50Q29tbWFuZDogRXZlbnRDb21tYW5kID0gbmV3IEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIGV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBldmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY0hhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNPYmpcIj50aGUgRElUIGluZGV4IG9mIHRoZSBjb250cm9sIHRoYXQgaGFkIHRoZSBmb2N1cyB3aGVuIHRoZSBldmVudCBvY2N1cnJlZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlUm9sbGJhY2tFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCByb2xsYmFja1R5cGU6IFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZSk6IFJvbGxiYWNrRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjbWQ6IFJvbGxiYWNrRXZlbnRDb21tYW5kID0gbmV3IFJvbGxiYWNrRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjbWQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjbWQuUm9sbGJhY2sgPSByb2xsYmFja1R5cGU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBnZW5lcmFsIGRhdGF2aWV3IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29tbWFuZFR5cGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZURhdGFWaWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29tbWFuZFR5cGU6IERhdGFWaWV3Q29tbWFuZFR5cGUpOiBEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGRhdGF2aWV3Q29tbWFuZDogRGF0YXZpZXdDb21tYW5kID0gbmV3IERhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLkNvbW1hbmRUeXBlID0gY29tbWFuZFR5cGU7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJldHVybiBkYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGNvbnRyb2wgaXRlbSByZWZyZXNoIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbnRyb2w6IE1nQ29udHJvbEJhc2UpOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCB7XHJcbiAgICBsZXQgY29tbWFuZDogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgPSBuZXcgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQoKTtcclxuICAgIGNvbW1hbmQuQ29tbWFuZFR5cGUgPSBEYXRhVmlld0NvbW1hbmRUeXBlLkNvbnRyb2xJdGVtc1JlZnJlc2g7XHJcbiAgICBjb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBjb21tYW5kLkNvbnRyb2wgPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIGNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBzb3J0OiBTb3J0KTogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlNvcnQgPSBzb3J0O1xyXG4gICAgcmV0dXJuIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDogQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIHNldCB0cmFuc2FjdGlvbiBzdGF0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRyYW5zYWN0aW9uSXNPcGVuZWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHRyYW5zYWN0aW9uSXNPcGVuZWQ6IGJvb2xlYW4pOiBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kOiBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kID0gbmV3IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQuVHJhbnNhY3Rpb25Jc09wZW4gPSB0cmFuc2FjdGlvbklzT3BlbmVkO1xyXG4gICAgcmV0dXJuIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGVzIGEgcmVmcmVzaCBjb21tYW5kIHdoaWNoIHdhcyBpbml0aWF0ZWQgaW50ZXJuYWxseSwgaS5lLiBub3QgYnkgYSB1c2VyIGZ1bmN0aW9uIGNhbGxcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWFnaWNFdmVudFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3VycmVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbnRlcm5hbFJlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBtYWdpY0V2ZW50OiBudW1iZXIsIGN1cnJlbnRSZWNJZDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIpOiBSZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoRXZlbnRDb21tYW5kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLklzSW50ZXJuYWxSZWZyZXNoID0gdHJ1ZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICByZXR1cm4gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIG9ubHkgYSByZWFsIHJlZnJlc2ggZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZVJlYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QsIGN1cnJlbnRSZWNJZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGN1cnJlbnRSZWNJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICBsZXQgY21kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICBpZiAobWFnaWNFdmVudCAhPT0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JUX1JFRlJFU0hfUkVDT1JEICYmIGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQgcmVmcmVzaE1vZGU6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLlJlZnJlc2hNb2RlID0gcmVmcmVzaE1vZGUuTlVNXzJfTE9ORygpICsgMTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhcmdMaXN0LmdldFNpemUoKSA+IDEpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IChhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDEsIFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiwgMCkgPT09ICcxJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjbWQuS2VlcFVzZXJTb3J0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGUgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50IGNvbW1hbmQgd2hpY2ggd2lsbCBmZXRjaCB0aGUgZGF0YSBjb250cm9sIHZhbHVlcyBmcm9tIHNlcnZlci4gVGhpcyBpcyB1c2VkIHdoaWxlIGV4ZWN1dGluZyBDb250cm9sSXRlbXNSZWZyZXNoKCkgZnVuY3Rpb24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sTmFtZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVjRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0NvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nKTogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCA9IG5ldyBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kKCk7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5Db250cm9sTmFtZSA9IGNvbnRyb2xOYW1lO1xyXG4gICAgcmV0dXJuIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtVGFza1RhZzogc3RyaW5nLCBleHBsaWNpdFN1YmZvcm1SZWZyZXNoOiBib29sZWFuKTogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5TdWJmb3JtVGFza1RhZyA9IHN1YmZvcm1UYXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuRXhwbGljaXRTdWJmb3JtUmVmcmVzaCA9IGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5Vc2VUYXNrTG9jYXRlO1xyXG4gICAgcmV0dXJuIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBzdWJmb3JtIG9wZW4gZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1PcGVuQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1EaXRJZHg6IG51bWJlcik6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybU9wZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuRGl0SWR4ID0gc3ViZm9ybURpdElkeDtcclxuICAgIHJldHVybiBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIHNjcmVlbiByZWZyZXNoIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTY3JlZW5SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHRvcFJlY0lkeDogbnVtYmVyLCBjbGllbnRSZWNJZDogbnVtYmVyKTogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5Ub3BSZWNJZHggPSB0b3BSZWNJZHg7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBjb2x1bW4gc29ydCBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29sdW1uU29ydENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBkaXJlY3Rpb246IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIGZpZWxkSWQ6IG51bWJlciwgcmVjSWQ6IG51bWJlcik6IENvbHVtblNvcnRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbHVtblNvcnRFdmVudENvbW1hbmQ6IENvbHVtblNvcnRFdmVudENvbW1hbmQgPSBuZXcgQ29sdW1uU29ydEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5GbGRJZCA9IGZpZWxkSWQgKyAxO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXJlY3Rpb24gPSBkaXJlY3Rpb247XHJcbiAgICByZXR1cm4gY29sdW1uU29ydEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyAgIGNyZWF0ZXMgYW4gSW5kZXggQ2hhbmdlIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVJbmRleENoYW5nZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCByZWNJZDogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0KTogUHJvbWlzZTxJbmRleENoYW5nZUV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IG5ldyBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgbGV0IGNtZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICAvLyAxIHBhcmFtZXRlciA6IFRoZSBuZXcgS2V5IEluZGV4XHJcbiAgICBpZiAoYXJnTGlzdCAhPT0gbnVsbCAmJiBhcmdMaXN0LmdldFNpemUoKSAhPT0gMCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGxldCBrZXlJbmRleDogTlVNX1RZUEUgPSBuZXcgTlVNX1RZUEUoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgwLCBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMsIDApKTtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSBrZXlJbmRleC5OVU1fMl9MT05HKCk7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJleGl0QnlNZW51XCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiY2xvc2VTdWJmb3JtT25seVwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUJyb3dzZXJFc2NFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgYnJvd3NlckVzY0V2ZW50Q29tbWFuZDogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCA9IG5ldyBCcm93c2VyRXNjRXZlbnRDb21tYW5kKCk7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBicm93c2VyRXNjRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY2xpZW50UmVjSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbXB1dGVFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtczogYm9vbGVhbiwgY2xpZW50UmVjSWQ6IG51bWJlcik6IENvbXB1dGVFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbXB1dGVFdmVudENvbW1hbmQ6IENvbXB1dGVFdmVudENvbW1hbmQgPSBuZXcgQ29tcHV0ZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuU3ViZm9ybXMgPSBzdWJmb3JtcztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiBjb21wdXRlRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgdGhlIGNvbnRleHQgdGVybWluYXRpb24gcmVxdWVzdFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcpOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kID0gbmV3IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgZHVtbXkgcmVxdWVzdCB0byB6ZXJvLWluIHRoZSBjb250ZXh0IGluYWN0aXZpdHkgdGltZW91dFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUaW1lb3V0UmVzZXRFdmVudENvbW1hbmQoKSA6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQgPSBuZXcgQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQoKTtcclxuICAgIHJldHVybiBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIG5vbnJldmVyc2libGUgZXhpdCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZU5vblJldmVyc2libGVFeGl0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kID0gbmV3IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgUmVjb21wdXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJmaWVsZElkXCI+dGhlIGlkIG9mIHRoZSBmaWVsZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJlY29tcHV0ZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBmaWVsZElkOiBudW1iZXIsIGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU6IGJvb2xlYW4pOiBSZWNvbXB1dGVDb21tYW5kIHtcclxuICAgIGxldCByZWNvbXB1dGVDb21tYW5kOiBSZWNvbXB1dGVDb21tYW5kID0gbmV3IFJlY29tcHV0ZUNvbW1hbmQoKTtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLkZsZElkID0gZmllbGRJZDtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuSWdub3JlU3ViZm9ybVJlY29tcHV0ZSA9IGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU7XHJcbiAgICByZXR1cm4gcmVjb21wdXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFRyYW5zYWN0aW9uIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlclwiPnRoZSB0eXBlIG9mIG9wZXJhdGlvbjogQmVnaW4sIENvbW1pdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrXCI+dGhlIHRhc2sgb2YgdGhlIHRyYW5zYWN0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNSZXZlcnNpYmxlRXhpdFwiPnRydWUgaWYgdGhlIHRhc2sgZXhpdCBpcyByZXZlcnNpYmxlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxldmVsXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVHJhbnNhY3Rpb25Db21tYW5kKG9wZXI6IHN0cmluZywgdGFza1RhZzogc3RyaW5nLCBjUmV2ZXJzaWJsZUV4aXQ6IGJvb2xlYW4sIGxldmVsOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkNvbW1hbmQge1xyXG4gICAgbGV0IHRyYW5zYWN0aW9uQ29tbWFuZDogVHJhbnNhY3Rpb25Db21tYW5kID0gbmV3IFRyYW5zYWN0aW9uQ29tbWFuZCgpO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLk9wZXIgPSBvcGVyO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlJldmVyc2libGVFeGl0ID0gY1JldmVyc2libGVFeGl0O1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLkxldmVsID0gbGV2ZWw7XHJcbiAgICByZXR1cm4gdHJhbnNhY3Rpb25Db21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIFVubG9hZCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVW5sb2FkQ29tbWFuZCgpOiBVbmxvYWRDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgVW5sb2FkQ29tbWFuZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFeGVjT3BlciBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV4ZWNPcGVyQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IEV4ZWNPcGVyQ29tbWFuZCA9IG5ldyBFeGVjT3BlckNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gU2VsZWN0IFByb2dyYW0gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImhhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJJZHhcIj50aGUgb3BlcmF0aW9uIGluZGV4IGlzIHRoZSBzZXJ2ZXIgaW5kZXggaW5kaWNhdGVkIGJ5IHRoZSBvcGVyYXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZGl0SWR4XCI+dGhlIGNvbnRyb2wgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZWxlY3RQcm9ncmFtQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IFNlbGVjdFByb2dyYW1Db21tYW5kID0gbmV3IFNlbGVjdFByb2dyYW1Db21tYW5kKCk7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuT3BlcklkeCA9IG9wZXJJZHg7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuSGFuZGxlcklkID0gaGFuZGxlcklkO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuXHJcbiAgICBsZXQgY21kOiBFeGVjT3BlckNvbW1hbmQgPSBleGVjT3BlckNvbW1hbmQ7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICBjbWQuVmFsID0gJyAnO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,69 +0,0 @@
1
- import { Int32, StringBuilder } from "@magic-xpa/mscorelib";
2
- import { StorageAttribute, ViewRefreshMode, XMLConstants } from "@magic-xpa/utils";
3
- import { ConstInterface } from "../../ConstInterface";
4
- import { RecordUtils } from "@magic-xpa/gui";
5
- import { AccessHelper } from "../../AccessHelper";
6
- export class CommandSerializationHelper {
7
- constructor() {
8
- this.message = new StringBuilder();
9
- }
10
- GetString() {
11
- return this.message.ToString();
12
- }
13
- SerializeTaskTag(taskTag) {
14
- let id = AccessHelper.mgDataTable.getTaskIdById(taskTag);
15
- this.SerializeAttribute(XMLConstants.MG_ATTR_TASKID, id);
16
- }
17
- SerializeFldId(fldId) {
18
- this.SerializeAttribute(ConstInterface.MG_ATTR_FIELDID, fldId);
19
- }
20
- SerializeDitIdx(ditIdx) {
21
- if (ditIdx > Int32.MinValue) {
22
- this.SerializeAttribute(XMLConstants.MG_ATTR_DITIDX, ditIdx);
23
- }
24
- }
25
- SerializeRouteParams(operation) {
26
- let routeParams = operation.getRouteParams();
27
- let routeValStr = '';
28
- for (let i = 0; i < routeParams.length; i++) {
29
- routeValStr = routeValStr.concat(RecordUtils.serializeItemVal(routeParams[i], StorageAttribute.UNICODE, StorageAttribute.SKIP, true));
30
- }
31
- this.SerializeAttribute(ConstInterface.MG_ATTR_ROUTE_PARAMS, routeValStr);
32
- }
33
- SerializeRefreshMode(refreshMode) {
34
- if (refreshMode !== ViewRefreshMode.None) {
35
- this.SerializeAttribute(ConstInterface.MG_ATTR_REALREFRESH, refreshMode);
36
- }
37
- }
38
- SerializeMagicEvent(magicEvent) {
39
- this.SerializeAttribute(ConstInterface.MG_ATTR_MAGICEVENT, magicEvent);
40
- }
41
- SerializeCloseSubformOnly(closeSubformOnly) {
42
- if (closeSubformOnly)
43
- this.SerializeAttribute(ConstInterface.MG_ATTR_CLOSE_SUBFORM_ONLY, "1");
44
- }
45
- SerializeKeyIndex(keyIndex) {
46
- this.SerializeAttribute(ConstInterface.MG_ATTR_KEY, keyIndex);
47
- }
48
- SerializeAttribute(attribute, value) {
49
- if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === String)) {
50
- this.SerializeAttribute_0(attribute, value);
51
- return;
52
- }
53
- if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === Number)) {
54
- this.SerializeAttribute_1(attribute, value);
55
- return;
56
- }
57
- this.SerializeAttribute_2(attribute, value);
58
- }
59
- SerializeAttribute_0(attribute, value) {
60
- this.message.Append(" " + attribute + "=\"" + value + "\"");
61
- }
62
- SerializeAttribute_1(attribute, value) {
63
- this.message.Append(" " + attribute + "=\"" + value + "\"");
64
- }
65
- SerializeAttribute_2(attribute, value) {
66
- this.message.Append(" " + attribute + "=\"" + value + "\"");
67
- }
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsWUFBTyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO0lBZ0Z2RCxDQUFDO0lBOUVDLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWU7UUFHOUIsSUFBSSxFQUFFLEdBQVcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUM1QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFB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QixFQUFFLEtBQWE7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFNBQVMsR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzIsIFN0cmluZ0J1aWxkZXIsIExpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZSwgWE1MQ29uc3RhbnRzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtSZWNvcmRVdGlsc30gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7T3BlcmF0aW9ufSBmcm9tIFwiLi4vLi4vcnQvT3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gXCIuLi8uLi9BY2Nlc3NIZWxwZXJcIjtcclxuXHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBoZWxwZXIgY2xhc3MgLSBzdXBwbGllcyBtZXRob2RzIGZvciBzZXJpYWxpemF0aW9uIG9mIGNvbW1hbmRzIGRhdGEuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciB7XHJcbiAgcHJpdmF0ZSBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuXHJcbiAgR2V0U3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVUYXNrVGFnKHRhc2tUYWc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gUUNSICM5ODA0NTQgLSB0aGUgdGFzayBpZCBtYXkgY2hhbmdlIGR1cmluZyB0aGUgdGFzaydzIGxpZmV0aW1lLCBzbyB0YXNrSWQgbWlnaHRcclxuICAgIC8vIGJlIGhvbGRpbmcgdGhlIG9sZCBvbmUgLSBmaW5kIHRoZSB0YXNrIGFuZCByZS1mZXRjaCBpdHMgY3VycmVudCBJRC5cclxuICAgIGxldCBpZDogc3RyaW5nID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldFRhc2tJZEJ5SWQodGFza1RhZyk7XHJcblxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoWE1MQ29uc3RhbnRzLk1HX0FUVFJfVEFTS0lELCBpZCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVGbGRJZChmbGRJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0ZJRUxESUQsIGZsZElkKTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZURpdElkeChkaXRJZHg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGRpdElkeCA+IEludDMyLk1pblZhbHVlKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX0RJVElEWCwgZGl0SWR4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZVJvdXRlUGFyYW1zKG9wZXJhdGlvbjogT3BlcmF0aW9uKTogdm9pZCB7XHJcblxyXG4gICAgbGV0IHJvdXRlUGFyYW1zOiBMaXN0PGFueT4gPSBvcGVyYXRpb24uZ2V0Um91dGVQYXJhbXMoKTtcclxuICAgIGxldCByb3V0ZVZhbFN0cjogc3RyaW5nID0gJyc7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm91dGVQYXJhbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICByb3V0ZVZhbFN0ciA9IHJvdXRlVmFsU3RyLmNvbmNhdChSZWNvcmRVdGlscy5zZXJpYWxpemVJdGVtVmFsKHJvdXRlUGFyYW1zW2ldLCBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUsIFN0b3JhZ2VBdHRyaWJ1dGUuU0tJUCwgdHJ1ZSkpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX1JPVVRFX1BBUkFNUywgcm91dGVWYWxTdHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIFNlcmlhbGl6ZVJlZnJlc2hNb2RlKHJlZnJlc2hNb2RlOiBWaWV3UmVmcmVzaE1vZGUpOiB2b2lkIHtcclxuICAgIGlmIChyZWZyZXNoTW9kZSAhPT0gVmlld1JlZnJlc2hNb2RlLk5vbmUpIHtcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9SRUFMUkVGUkVTSCwgcmVmcmVzaE1vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplTWFnaWNFdmVudChtYWdpY0V2ZW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTUFHSUNFVkVOVCwgbWFnaWNFdmVudCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDbG9zZVN1YmZvcm1Pbmx5KGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChjbG9zZVN1YmZvcm1Pbmx5KVxyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0NMT1NFX1NVQkZPUk1fT05MWSwgXCIxXCIpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplS2V5SW5kZXgoa2V5SW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9LRVksIGtleUluZGV4KTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQ7XHJcbiAgU2VyaWFsaXplQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKTogdm9pZDtcclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgKGF0dHJpYnV0ZSA9PT0gbnVsbCB8fCBhdHRyaWJ1dGUuY29uc3RydWN0b3IgPT09IFN0cmluZykgJiYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlXzAoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChhdHRyaWJ1dGUgPT09IG51bGwgfHwgYXR0cmlidXRlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8xKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8yKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMChhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMihhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,23 +0,0 @@
1
- import { NString } from "@magic-xpa/mscorelib";
2
- import { InternalInterface } from "@magic-xpa/utils";
3
- import { CommandSerializationHelper } from "./CommandSerializationHelper";
4
- import { EventCommand } from "./EventCommand";
5
- import { ConstInterface } from "../../ConstInterface";
6
- export class ComputeEventCommand extends EventCommand {
7
- constructor() {
8
- super(InternalInterface.MG_ACT_COMPUTE);
9
- this.Subforms = false;
10
- }
11
- SerializeCommandData() {
12
- let helper = new CommandSerializationHelper();
13
- helper.SerializeTaskTag(this.TaskTag);
14
- helper.SerializeMagicEvent(this.MagicEvent);
15
- if (this.Subforms)
16
- helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "99999");
17
- return helper.GetString();
18
- }
19
- getCommandInfo() {
20
- return NString.Format('[{0} for {1} in {2}] ', this.EventDescription, this.Subforms ? 'Form and Subform' : 'Form', this.Task.getTaskInfo());
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHV0ZUV2ZW50Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29tcHV0ZUV2ZW50Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQU9uRDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQU4xQyxhQUFRLEdBQVksS0FBSyxDQUFDO0lBTzFCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wdXRlRXZlbnRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG5cclxuICBTdWJmb3JtczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTVBVVEUpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEoKTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVNYWdpY0V2ZW50KHRoaXMuTWFnaWNFdmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuU3ViZm9ybXMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiOTk5OTlcIik7XHJcblxyXG4gICAgcmV0dXJuIGhlbHBlci5HZXRTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTlN0cmluZy5Gb3JtYXQoJ1t7MH0gZm9yIHsxfSBpbiB7Mn1dICdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV2ZW50RGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHRoaXMuU3ViZm9ybXMgPyAnRm9ybSBhbmQgU3ViZm9ybScgOiAnRm9ybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLlRhc2suZ2V0VGFza0luZm8oKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { DataviewCommand } from "./DataviewCommand";
2
- export class DataViewOutputCommand extends DataviewCommand {
3
- constructor(OutputCommandType) {
4
- super();
5
- this.Generation = 0;
6
- this.TaskVarNames = null;
7
- this.DestinationDataSourceNumber = 0;
8
- this.DestinationDataSourceName = null;
9
- this.DestinationColumns = null;
10
- this.CommandType = OutputCommandType;
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVZpZXdPdXRwdXRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9EYXRhVmlld091dHB1dENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUt2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVV4RCxZQUFZLGlCQUFzQztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQVZWLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFDNUIsZ0NBQTJCLEdBQVcsQ0FBQyxDQUFDO1FBQ3hDLDhCQUF5QixHQUFXLElBQUksQ0FBQztRQUN6Qyx1QkFBa0IsR0FBVyxJQUFJLENBQUM7UUFPaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGF2aWV3Q29tbWFuZCwgRGF0YVZpZXdDb21tYW5kVHlwZX0gZnJvbSBcIi4vRGF0YXZpZXdDb21tYW5kXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBjb21tYW5kIGZvciB2YXJpb3VzIHR5cGVzIG9mIERhdGFWaWV3IG91dHB1dCBvcGVyYXRpb24uXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEYXRhVmlld091dHB1dENvbW1hbmQgZXh0ZW5kcyBEYXRhdmlld0NvbW1hbmQge1xyXG4gIEdlbmVyYXRpb246IG51bWJlciA9IDA7XHJcbiAgVGFza1Zhck5hbWVzOiBzdHJpbmcgPSBudWxsO1xyXG4gIERlc3RpbmF0aW9uRGF0YVNvdXJjZU51bWJlcjogbnVtYmVyID0gMDtcclxuICBEZXN0aW5hdGlvbkRhdGFTb3VyY2VOYW1lOiBzdHJpbmcgPSBudWxsO1xyXG4gIERlc3RpbmF0aW9uQ29sdW1uczogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcihPdXRwdXRDb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuQ29tbWFuZFR5cGUgPSBPdXRwdXRDb21tYW5kVHlwZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- import { Int32, NString } from '@magic-xpa/mscorelib';
2
- import { StorageAttribute } from '@magic-xpa/utils';
3
- import { CommandSerializationHelper } from './CommandSerializationHelper';
4
- import { ConstInterface } from '../../ConstInterface';
5
- import { ClientOriginatedCommandTaskTag } from '../ClientOriginatedCommandTaskTag';
6
- export class EvaluateCommand extends ClientOriginatedCommandTaskTag {
7
- get CommandTypeAttribute() {
8
- return ConstInterface.MG_ATTR_VAL_EVAL;
9
- }
10
- constructor() {
11
- super();
12
- this.TaskTag = null;
13
- this.ExpIdx = 0;
14
- this.LengthExpVal = 0;
15
- this.MprgCreator = null;
16
- this.LengthExpVal = Int32.MinValue;
17
- }
18
- SerializeCommandData() {
19
- let helper = new CommandSerializationHelper();
20
- helper.SerializeTaskTag(this.TaskTag);
21
- helper.SerializeAttribute(ConstInterface.MG_ATTR_EXP_IDX, this.ExpIdx);
22
- if (this.ExpType !== StorageAttribute.NONE) {
23
- let maxDigits = "";
24
- if (this.LengthExpVal > 0)
25
- maxDigits += this.LengthExpVal;
26
- helper.SerializeAttribute(ConstInterface.MG_ATTR_EXP_TYPE, this.ExpType + maxDigits);
27
- }
28
- if (this.MprgCreator !== null)
29
- helper.SerializeAttribute(ConstInterface.MG_ATTR_MPRG_SOURCE, this.MprgCreator.getTaskTag());
30
- return helper.GetString();
31
- }
32
- getCommandInfo() {
33
- return NString.Format('[{0} ExpID {1} in {2}]', this.CommandTypeAttribute.charAt(0).toUpperCase() + this.CommandTypeAttribute.substr(1, this.CommandTypeAttribute.length), this.ExpIdx, this.Task.getTaskInfo());
34
- }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZhbHVhdGVDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FdmFsdWF0ZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHakYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsOEJBQThCO0lBT2pFLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDO0lBQ3pDLENBQUM7SUFLRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBZFYsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRW5CLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBV3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMxQyxJQUFJLFNBQVMsR0FBVyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7Z0JBQ3ZCLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBRWpDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQVUsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQztTQUM5RjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUN6SCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludDMyLCBOU3RyaW5nfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gJy4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXInO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tICcuLi8uLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnfSBmcm9tICcuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcnO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tICcuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXZhbHVhdGVDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgRXhwSWR4OiBudW1iZXIgPSAwO1xyXG4gIEV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGU7XHJcbiAgTGVuZ3RoRXhwVmFsOiBudW1iZXIgPSAwO1xyXG4gIE1wcmdDcmVhdG9yOiBUYXNrID0gbnVsbDtcclxuXHJcbiAgZ2V0IENvbW1hbmRUeXBlQXR0cmlidXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfRVZBTDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5MZW5ndGhFeHBWYWwgPSBJbnQzMi5NaW5WYWx1ZTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRVhQX0lEWCwgdGhpcy5FeHBJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLkV4cFR5cGUgIT09IFN0b3JhZ2VBdHRyaWJ1dGUuTk9ORSkge1xyXG4gICAgICBsZXQgbWF4RGlnaXRzOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICBpZiAodGhpcy5MZW5ndGhFeHBWYWwgPiAwKVxyXG4gICAgICAgIG1heERpZ2l0cyArPSB0aGlzLkxlbmd0aEV4cFZhbDtcclxuXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FWFBfVFlQRSwgPHN0cmluZz50aGlzLkV4cFR5cGUgKyBtYXhEaWdpdHMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuTXByZ0NyZWF0b3IgIT09IG51bGwpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9NUFJHX1NPVVJDRSwgdGhpcy5NcHJnQ3JlYXRvci5nZXRUYXNrVGFnKCkpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KCdbezB9IEV4cElEIHsxfSBpbiB7Mn1dJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuQ29tbWFuZFR5cGVBdHRyaWJ1dGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLnN1YnN0cigxLCB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV4cElkeFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRUYXNrSW5mbygpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,67 +0,0 @@
1
- import { Int32, StringBuilder } from "@magic-xpa/mscorelib";
2
- import { XMLConstants, XmlParser, } from "@magic-xpa/utils";
3
- import { ExecutionStack } from "../../rt/ExecutionStack";
4
- import { ConstInterface } from "../../ConstInterface";
5
- import { CommandSerializationHelper } from "./CommandSerializationHelper";
6
- import { ClientOriginatedCommandTaskTag } from "../ClientOriginatedCommandTaskTag";
7
- import { AccessHelper } from "../../AccessHelper";
8
- export class ExecOperCommand extends ClientOriginatedCommandTaskTag {
9
- get CommandTypeAttribute() {
10
- return ConstInterface.MG_ATTR_VAL_EXEC_OPER;
11
- }
12
- constructor() {
13
- super();
14
- this.ExecutionStack = null;
15
- this.TaskTag = null;
16
- this.HandlerId = null;
17
- this.OperIdx = 0;
18
- this.DitIdx = 0;
19
- this.Val = null;
20
- this.MprgCreator = null;
21
- this.Operation = null;
22
- this.CheckOnly = false;
23
- this.DitIdx = Int32.MinValue;
24
- }
25
- SerializeCommandData() {
26
- let helper = new CommandSerializationHelper();
27
- let execStackExists = this.ExecutionStack !== null && !this.ExecutionStack.empty();
28
- helper.SerializeTaskTag(this.TaskTag);
29
- if (this.HandlerId !== null && !execStackExists)
30
- helper.SerializeAttribute(ConstInterface.MG_ATTR_HANDLERID, this.HandlerId);
31
- if (this.OperIdx > Int32.MinValue && !execStackExists)
32
- helper.SerializeAttribute(ConstInterface.MG_ATTR_OPER_IDX, this.OperIdx);
33
- if (this.DitIdx > Int32.MinValue)
34
- helper.SerializeDitIdx(this.DitIdx);
35
- if (this.Operation != null && this.Operation.getType() === ConstInterface.MG_OPER_CALL && this.Operation.getRouteParams() !== null) {
36
- helper.SerializeRouteParams(this.Operation);
37
- }
38
- if (this.Val !== null)
39
- helper.SerializeAttribute(XMLConstants.MG_ATTR_VALUE, XmlParser.escape(this.Val));
40
- if (this.CheckOnly)
41
- helper.SerializeAttribute(ConstInterface.MG_ATTR_CHECK_ONLY, "1");
42
- return helper.GetString();
43
- }
44
- SetExecutionStack(execStack) {
45
- this.ExecutionStack = new ExecutionStack();
46
- this.ExecutionStack.push(AccessHelper.mgDataTable.getTaskIdById(this.TaskTag), this.HandlerId, this.OperIdx);
47
- this.ExecutionStack.pushUpSideDown(execStack);
48
- }
49
- SerializeDataAfterCommand() {
50
- let execStackExists = this.ExecutionStack !== null && !this.ExecutionStack.empty();
51
- if (execStackExists) {
52
- let message = new StringBuilder();
53
- this.ExecutionStack.buildXML(message);
54
- return message.ToString();
55
- }
56
- return null;
57
- }
58
- getCommandInfo() {
59
- return 'Line number ' + '[' + (this.Operation.getServerId() + 1) + ']' +
60
- ' in ' + '[' + this.Operation.getEventHandler().getEventHandlerInfo() + ']' +
61
- ' on ' + '[' + this.Operation.Task.getTaskInfo() + ']';
62
- }
63
- getTask() {
64
- return this.Operation.Task;
65
- }
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY09wZXJDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FeGVjT3BlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSWhELE1BQU0sT0FBTyxlQUFnQixTQUFRLDhCQUE4QjtJQVdqRSxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztJQUM5QyxDQUFDO0lBS0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWxCVixtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDdEMsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQVcsSUFBSSxDQUFDO1FBQ3pCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBYyxJQUFJLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVd6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFR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QUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBRTtJQUNsRSxDQUFDO0lBRUQsT0FBTztRQUVMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnQzMiwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7WE1MQ29uc3RhbnRzLCBYbWxQYXJzZXIsfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0V4ZWN1dGlvblN0YWNrfSBmcm9tIFwiLi4vLi4vcnQvRXhlY3V0aW9uU3RhY2tcIjtcclxuaW1wb3J0IHtPcGVyYXRpb259IGZyb20gXCIuLi8uLi9ydC9PcGVyYXRpb25cIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWd9IGZyb20gXCIuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWdcIjtcclxuaW1wb3J0IHtBY2Nlc3NIZWxwZXJ9IGZyb20gXCIuLi8uLi9BY2Nlc3NIZWxwZXJcIjtcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSBcIi4uL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEV4ZWNPcGVyQ29tbWFuZCBleHRlbmRzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuICBFeGVjdXRpb25TdGFjazogRXhlY3V0aW9uU3RhY2sgPSBudWxsO1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgSGFuZGxlcklkOiBzdHJpbmcgPSBudWxsO1xyXG4gIE9wZXJJZHg6IG51bWJlciA9IDA7XHJcbiAgRGl0SWR4OiBudW1iZXIgPSAwO1xyXG4gIFZhbDogc3RyaW5nID0gbnVsbDtcclxuICBNcHJnQ3JlYXRvcjogVGFzayA9IG51bGw7XHJcbiAgT3BlcmF0aW9uOiBPcGVyYXRpb24gPSBudWxsO1xyXG4gIENoZWNrT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgQ29tbWFuZFR5cGVBdHRyaWJ1dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9FWEVDX09QRVI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuRGl0SWR4ID0gSW50MzIuTWluVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYXNDaGlsZEVsZW1lbnRzXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGxldCBleGVjU3RhY2tFeGlzdHM6IGJvb2xlYW4gPSB0aGlzLkV4ZWN1dGlvblN0YWNrICE9PSBudWxsICYmICF0aGlzLkV4ZWN1dGlvblN0YWNrLmVtcHR5KCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGlmICh0aGlzLkhhbmRsZXJJZCAhPT0gbnVsbCAmJiAhZXhlY1N0YWNrRXhpc3RzKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSEFORExFUklELCB0aGlzLkhhbmRsZXJJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuT3BlcklkeCA+IEludDMyLk1pblZhbHVlICYmICFleGVjU3RhY2tFeGlzdHMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PUEVSX0lEWCwgdGhpcy5PcGVySWR4KTtcclxuXHJcbiAgICBpZiAodGhpcy5EaXRJZHggPiBJbnQzMi5NaW5WYWx1ZSlcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZURpdElkeCh0aGlzLkRpdElkeCk7XHJcblxyXG4gICAgaWYgKHRoaXMuT3BlcmF0aW9uICE9IG51bGwgJiYgdGhpcy5PcGVyYXRpb24uZ2V0VHlwZSgpID09PSBDb25zdEludGVyZmFjZS5NR19PUEVSX0NBTEwgJiYgdGhpcy5PcGVyYXRpb24uZ2V0Um91dGVQYXJhbXMoKSAhPT0gbnVsbCkge1xyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplUm91dGVQYXJhbXModGhpcy5PcGVyYXRpb24pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuVmFsICE9PSBudWxsKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX1ZBTFVFLCBYbWxQYXJzZXIuZXNjYXBlKHRoaXMuVmFsKSk7XHJcblxyXG4gICAgaWYgKHRoaXMuQ2hlY2tPbmx5KVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQ0hFQ0tfT05MWSwgXCIxXCIpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgc2V0cyB0aGUgZXhlY3N0YWNrIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4ZWNTdGFja1wiPi0gY3VycmVudCBleGVjdXRpb24gc3RhY2sgb2YgcmFpc2UgZXZlbnQgb3BlcmF0aW9ucyBmcm9tIHJ0IDwvcGFyYW0+XHJcbiAgU2V0RXhlY3V0aW9uU3RhY2soZXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayk6IHZvaWQge1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjaygpO1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjay5wdXNoKEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRUYXNrSWRCeUlkKHRoaXMuVGFza1RhZyksIHRoaXMuSGFuZGxlcklkLCB0aGlzLk9wZXJJZHgpO1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjay5wdXNoVXBTaWRlRG93bihleGVjU3RhY2spO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBleHRyYSBkYXRhIC0gYWRkIHNlcmlhbGl6YXRpb24gb2YgdGhlIGV4ZWN1dGlvbiBzdGFja1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBTZXJpYWxpemVEYXRhQWZ0ZXJDb21tYW5kKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZXhlY1N0YWNrRXhpc3RzOiBib29sZWFuID0gdGhpcy5FeGVjdXRpb25TdGFjayAhPT0gbnVsbCAmJiAhdGhpcy5FeGVjdXRpb25TdGFjay5lbXB0eSgpO1xyXG5cclxuICAgIGlmIChleGVjU3RhY2tFeGlzdHMpIHtcclxuICAgICAgbGV0IG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG4gICAgICB0aGlzLkV4ZWN1dGlvblN0YWNrLmJ1aWxkWE1MKG1lc3NhZ2UpO1xyXG4gICAgICByZXR1cm4gbWVzc2FnZS5Ub1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gICdMaW5lIG51bWJlciAnICsgJ1snICsgKHRoaXMuT3BlcmF0aW9uLmdldFNlcnZlcklkKCkgKyAxKSArICddJyArXHJcbiAgICAgICAgICAgICcgaW4gJyArICdbJyArIHRoaXMuT3BlcmF0aW9uLmdldEV2ZW50SGFuZGxlcigpLmdldEV2ZW50SGFuZGxlckluZm8oKSArICddJyArXHJcbiAgICAgICAgICAgICcgb24gJyArICdbJyArIHRoaXMuT3BlcmF0aW9uLlRhc2suZ2V0VGFza0luZm8oKSArICddJyA7XHJcbiAgfVxyXG5cclxuICBnZXRUYXNrKClcclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5PcGVyYXRpb24uVGFzazsgLy8gZ2V0IHRoZSB0YXNrIGZyb20gb3BlcmF0aW9uXHJcbiAgfVxyXG59XHJcbiJdfQ==