@magic-xpa/engine 4.1100.0-dev4110.25 → 4.1100.0-dev4110.250

Sign up to get free protection for your applications and to get access to all the features.
Files changed (521) hide show
  1. package/{esm2020 → esm2022}/index.mjs +188 -188
  2. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  3. package/esm2022/src/AccessHelper.mjs +15 -0
  4. package/esm2022/src/ClientManager.mjs +416 -0
  5. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  6. package/esm2022/src/CommandsProcessorManager.mjs +26 -0
  7. package/esm2022/src/CommandsTable.mjs +162 -0
  8. package/esm2022/src/ConstInterface.mjs +517 -0
  9. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  10. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  11. package/esm2022/src/GUIManager.mjs +62 -0
  12. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  13. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  14. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  15. package/esm2022/src/ServerConfig.mjs +122 -0
  16. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  17. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  18. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  19. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  22. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  23. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  24. package/esm2022/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +60 -0
  25. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  26. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  27. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  28. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  29. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  32. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  33. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  34. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  35. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  36. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  37. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  38. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  40. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  41. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  42. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  44. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  45. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  47. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  48. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  49. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  50. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  51. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  52. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  53. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  54. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  55. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  56. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  57. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  58. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  59. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  60. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  61. package/esm2022/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
  62. package/esm2022/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
  63. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  64. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  65. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  66. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  67. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  70. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  71. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  72. package/esm2022/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -0
  73. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  74. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  75. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  76. package/esm2022/src/data/DataView.mjs +1613 -0
  77. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  78. package/esm2022/src/data/DataviewManager.mjs +28 -0
  79. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  80. package/esm2022/src/data/DvCache.mjs +67 -0
  81. package/esm2022/src/data/Field.mjs +646 -0
  82. package/esm2022/src/data/FieldBase.mjs +15 -0
  83. package/esm2022/src/data/FieldsTable.mjs +103 -0
  84. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  85. package/esm2022/src/data/Key.mjs +88 -0
  86. package/esm2022/src/data/Record.mjs +880 -0
  87. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  88. package/esm2022/src/data/RecordsTable.mjs +267 -0
  89. package/esm2022/src/data/TaskTransactionManager.mjs +107 -0
  90. package/esm2022/src/data/XMLBasedDcValuesBuilder.mjs +74 -0
  91. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  92. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  93. package/esm2022/src/env/Environment.mjs +487 -0
  94. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  95. package/esm2022/src/env/LanguageData.mjs +227 -0
  96. package/esm2022/src/env/MirrorString.mjs +65 -0
  97. package/esm2022/src/event/ActionManager.mjs +91 -0
  98. package/esm2022/src/event/Event.mjs +1333 -0
  99. package/esm2022/src/event/EventHandler.mjs +766 -0
  100. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  101. package/esm2022/src/event/EventsManager.mjs +2988 -0
  102. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  103. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  104. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  105. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  106. package/esm2022/src/exp/ExpTable.mjs +57 -0
  107. package/esm2022/src/exp/Expression.mjs +200 -0
  108. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  109. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  110. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  111. package/esm2022/src/exp/GlobalParamsTable.mjs +85 -0
  112. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  113. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  114. package/esm2022/src/gui/FormsTable.mjs +66 -0
  115. package/esm2022/src/gui/MgControl.mjs +363 -0
  116. package/esm2022/src/gui/MgForm.mjs +1224 -0
  117. package/esm2022/src/http/HttpManager.mjs +97 -0
  118. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  119. package/esm2022/src/http/client/HttpClientBase.mjs +132 -0
  120. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  121. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  122. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  123. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  124. package/esm2022/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
  125. package/esm2022/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
  126. package/esm2022/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
  127. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  128. package/esm2022/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
  129. package/esm2022/src/remote/RemoteDataViewCommandBase.mjs +24 -0
  130. package/esm2022/src/remote/RemoteDataViewCommandFactory.mjs +61 -0
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  133. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  134. package/esm2022/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
  135. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  136. package/esm2022/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
  137. package/esm2022/src/remote/ServerError.mjs +40 -0
  138. package/esm2022/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +20 -0
  139. package/esm2022/src/rt/Argument.mjs +265 -0
  140. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  141. package/esm2022/src/rt/Boundary.mjs +152 -0
  142. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  143. package/{esm2020 → esm2022}/src/rt/DataviewHeaderBase.mjs +98 -96
  144. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  145. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  146. package/esm2022/src/rt/DataviewHeadersSaxHandler.mjs +38 -0
  147. package/esm2022/src/rt/ExecutionStack.mjs +94 -0
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  149. package/esm2022/src/rt/HandlersTable.mjs +96 -0
  150. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  151. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  153. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  154. package/esm2022/src/rt/Operation.mjs +735 -0
  155. package/esm2022/src/rt/OperationTable.mjs +67 -0
  156. package/esm2022/src/rt/Recompute.mjs +355 -0
  157. package/esm2022/src/rt/RecomputeTable.mjs +63 -0
  158. package/esm2022/src/rt/RemoteDataviewHeader.mjs +108 -0
  159. package/esm2022/src/rt/ResultValue.mjs +10 -0
  160. package/esm2022/src/rt/TableCache.mjs +177 -0
  161. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  162. package/esm2022/src/rt/Transaction.mjs +53 -0
  163. package/esm2022/src/security/UserDetails.mjs +71 -0
  164. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  165. package/esm2022/src/tasks/MGData.mjs +552 -0
  166. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  167. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  168. package/esm2022/src/tasks/RemoteTaskService.mjs +45 -0
  169. package/esm2022/src/tasks/Task.mjs +2499 -0
  170. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  171. package/esm2022/src/tasks/TaskServiceBase.mjs +25 -0
  172. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  173. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  174. package/esm2022/src/tasks/sort/SortCollection.mjs +67 -0
  175. package/esm2022/src/util/ConstUtils.mjs +14 -0
  176. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  177. package/esm2022/src/util/HeapSort.mjs +70 -0
  178. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  179. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  181. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  182. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  183. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  184. package/esm2022/src/util/PrmMap.mjs +152 -0
  185. package/esm2022/src/util/ReturnResult.mjs +46 -0
  186. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  187. package/esm2022/src/util/Scrambler.mjs +89 -0
  188. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  189. package/esm2022/src/util/cookie.service.mjs +92 -0
  190. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29883 -29693
  191. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  192. package/index.d.ts +187 -187
  193. package/package.json +8 -14
  194. package/src/AccessHelper.d.ts +20 -20
  195. package/src/ClientManager.d.ts +35 -32
  196. package/src/CommandsProcessorBase.d.ts +23 -23
  197. package/src/CommandsProcessorManager.d.ts +6 -6
  198. package/src/CommandsTable.d.ts +22 -22
  199. package/src/ConstInterface.d.ts +516 -515
  200. package/src/CurrentClientVersion.d.ts +1 -1
  201. package/src/FlowMonitorInterface.d.ts +15 -15
  202. package/src/GUIManager.d.ts +17 -17
  203. package/src/GlobalCommandsManager.d.ts +17 -17
  204. package/src/GuiEventsProcessor.d.ts +24 -24
  205. package/src/ICommandsTable.d.ts +9 -9
  206. package/src/ServerConfig.d.ts +35 -34
  207. package/src/bridge/IGuiEvent.d.ts +19 -19
  208. package/src/bridge/MagicBridge.d.ts +16 -16
  209. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  210. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  211. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  212. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  214. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  216. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  217. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  218. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  219. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  220. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  221. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  223. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  224. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  225. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  226. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  228. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  229. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  230. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  231. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  232. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  233. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  234. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  235. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  236. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  237. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  238. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  239. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  240. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  241. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  242. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  243. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  244. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  245. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  246. package/src/commands/DataViewCommandBase.d.ts +6 -6
  247. package/src/commands/IClientCommand.d.ts +2 -2
  248. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  249. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  250. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  251. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  252. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  253. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  254. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  255. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  256. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  257. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  258. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  259. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  262. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  263. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  264. package/src/communications/IConnectionStateManager.d.ts +4 -4
  265. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  266. package/src/data/DataSourceIdKey.d.ts +2 -2
  267. package/src/data/DataView.d.ts +162 -162
  268. package/src/data/DataViewBase.d.ts +12 -12
  269. package/src/data/DataviewManager.d.ts +14 -14
  270. package/src/data/DataviewManagerBase.d.ts +11 -11
  271. package/src/data/DvCache.d.ts +15 -15
  272. package/src/data/Field.d.ts +103 -103
  273. package/src/data/FieldBase.d.ts +23 -23
  274. package/src/data/FieldsTable.d.ts +27 -27
  275. package/src/data/IRecordsTable.d.ts +7 -7
  276. package/src/data/Key.d.ts +15 -15
  277. package/src/data/Record.d.ts +157 -156
  278. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  279. package/src/data/RecordsTable.d.ts +38 -38
  280. package/src/data/TaskTransactionManager.d.ts +17 -17
  281. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  282. package/src/enums.d.ts +21 -21
  283. package/src/env/EnvVariablesTable.d.ts +17 -17
  284. package/src/env/Environment.d.ts +118 -118
  285. package/src/env/ILanguageData.d.ts +3 -3
  286. package/src/env/LanguageData.d.ts +20 -20
  287. package/src/env/MirrorString.d.ts +15 -15
  288. package/src/event/ActionManager.d.ts +14 -14
  289. package/src/event/Event.d.ts +79 -79
  290. package/src/event/EventHandler.d.ts +66 -66
  291. package/src/event/EventHandlerPosition.d.ts +25 -25
  292. package/src/event/EventsManager.d.ts +205 -204
  293. package/src/event/IEventsManager.d.ts +77 -77
  294. package/src/event/RunTimeEvent.d.ts +126 -123
  295. package/src/event/RunTimeEventBase.d.ts +5 -5
  296. package/src/event/UserEventsTable.d.ts +11 -11
  297. package/src/exp/ExpTable.d.ts +11 -11
  298. package/src/exp/Expression.d.ts +37 -37
  299. package/src/exp/ExpressionDict.d.ts +12 -12
  300. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  301. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  302. package/src/exp/GlobalParamsTable.d.ts +19 -19
  303. package/src/exp/YesNoExp.d.ts +9 -9
  304. package/src/gui/CreatedFormVector.d.ts +10 -10
  305. package/src/gui/FormsTable.d.ts +15 -15
  306. package/src/gui/MgControl.d.ts +60 -60
  307. package/src/gui/MgForm.d.ts +96 -93
  308. package/src/http/HttpManager.d.ts +25 -25
  309. package/src/http/client/HttpClientAsync.d.ts +16 -16
  310. package/src/http/client/HttpClientBase.d.ts +30 -30
  311. package/src/http/client/HttpClientEvents.d.ts +18 -18
  312. package/src/http/client/HttpClientSync.d.ts +17 -17
  313. package/src/http/client/HttpUtility.d.ts +10 -10
  314. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  315. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  316. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  319. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  320. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  321. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  322. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  323. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  324. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  325. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ServerError.d.ts +16 -16
  329. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  330. package/src/rt/Argument.d.ts +36 -36
  331. package/src/rt/ArgumentsList.d.ts +24 -24
  332. package/src/rt/Boundary.d.ts +27 -27
  333. package/src/rt/CompMainPrgTable.d.ts +10 -10
  334. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  335. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  336. package/src/rt/DataviewHeaders.d.ts +12 -12
  337. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  338. package/src/rt/ExecutionStack.d.ts +22 -22
  339. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  340. package/src/rt/HandlersTable.d.ts +19 -19
  341. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  342. package/src/rt/IDataviewHeader.d.ts +10 -10
  343. package/src/rt/IResultValue.d.ts +4 -4
  344. package/src/rt/LastFocusedManager.d.ts +23 -23
  345. package/src/rt/Operation.d.ts +97 -97
  346. package/src/rt/OperationTable.d.ts +15 -15
  347. package/src/rt/Recompute.d.ts +41 -41
  348. package/src/rt/RecomputeTable.d.ts +9 -9
  349. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  350. package/src/rt/ResultValue.d.ts +7 -7
  351. package/src/rt/TableCache.d.ts +29 -29
  352. package/src/rt/TableCacheManager.d.ts +10 -10
  353. package/src/rt/Transaction.d.ts +23 -23
  354. package/src/security/UserDetails.d.ts +16 -16
  355. package/src/tasks/IMGDataCollection.d.ts +26 -26
  356. package/src/tasks/MGData.d.ts +63 -63
  357. package/src/tasks/MGDataCollection.d.ts +42 -42
  358. package/src/tasks/RCTimer.d.ts +13 -13
  359. package/src/tasks/RemoteTaskService.d.ts +16 -16
  360. package/src/tasks/Task.d.ts +312 -312
  361. package/src/tasks/TaskBase.d.ts +123 -123
  362. package/src/tasks/TaskServiceBase.d.ts +16 -16
  363. package/src/tasks/TasksTable.d.ts +21 -21
  364. package/src/tasks/sort/Sort.d.ts +4 -4
  365. package/src/tasks/sort/SortCollection.d.ts +11 -11
  366. package/src/util/ConstUtils.d.ts +3 -3
  367. package/src/util/FlowMonitorQueue.d.ts +70 -70
  368. package/src/util/HeapSort.d.ts +6 -6
  369. package/src/util/IMirrorXML.d.ts +6 -6
  370. package/src/util/IServerConfig.d.ts +11 -11
  371. package/src/util/MgBlockingQueue.d.ts +5 -5
  372. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  373. package/src/util/MgPriorityQueue.d.ts +13 -13
  374. package/src/util/ParamParseResult.d.ts +6 -6
  375. package/src/util/PrmMap.d.ts +28 -28
  376. package/src/util/ReturnResult.d.ts +18 -18
  377. package/src/util/ReturnResultBase.d.ts +11 -11
  378. package/src/util/Scrambler.d.ts +10 -10
  379. package/src/util/UniqueIDUtils.d.ts +4 -4
  380. package/src/util/cookie.service.d.ts +8 -8
  381. package/esm2020/src/AccessHelper.mjs +0 -9
  382. package/esm2020/src/ClientManager.mjs +0 -399
  383. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  384. package/esm2020/src/CommandsProcessorManager.mjs +0 -26
  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/ClientOriginatedCommandSerializer.mjs +0 -60
  396. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  397. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  398. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  399. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  400. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  401. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  402. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  403. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  404. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  405. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  406. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  407. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  408. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  409. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  410. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  411. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  412. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  413. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  414. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  415. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  416. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  417. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  418. package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +0 -62
  419. package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +0 -33
  420. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  421. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  422. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  423. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  424. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  425. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  426. package/esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +0 -132
  427. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  428. package/esm2020/src/data/DataView.mjs +0 -1610
  429. package/esm2020/src/data/DataviewManager.mjs +0 -28
  430. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  431. package/esm2020/src/data/DvCache.mjs +0 -67
  432. package/esm2020/src/data/Field.mjs +0 -646
  433. package/esm2020/src/data/FieldBase.mjs +0 -18
  434. package/esm2020/src/data/FieldsTable.mjs +0 -103
  435. package/esm2020/src/data/Key.mjs +0 -88
  436. package/esm2020/src/data/Record.mjs +0 -846
  437. package/esm2020/src/data/RecordsTable.mjs +0 -267
  438. package/esm2020/src/data/TaskTransactionManager.mjs +0 -103
  439. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +0 -74
  440. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  441. package/esm2020/src/env/Environment.mjs +0 -489
  442. package/esm2020/src/env/LanguageData.mjs +0 -226
  443. package/esm2020/src/env/MirrorString.mjs +0 -65
  444. package/esm2020/src/event/ActionManager.mjs +0 -91
  445. package/esm2020/src/event/Event.mjs +0 -1333
  446. package/esm2020/src/event/EventHandler.mjs +0 -766
  447. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  448. package/esm2020/src/event/EventsManager.mjs +0 -2975
  449. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  450. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  451. package/esm2020/src/exp/ExpTable.mjs +0 -59
  452. package/esm2020/src/exp/Expression.mjs +0 -200
  453. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  454. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4212
  455. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  456. package/esm2020/src/exp/GlobalParamsTable.mjs +0 -85
  457. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  458. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  459. package/esm2020/src/gui/FormsTable.mjs +0 -66
  460. package/esm2020/src/gui/MgControl.mjs +0 -353
  461. package/esm2020/src/gui/MgForm.mjs +0 -1181
  462. package/esm2020/src/http/HttpManager.mjs +0 -97
  463. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  464. package/esm2020/src/http/client/HttpClientBase.mjs +0 -132
  465. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  466. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  467. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  468. package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +0 -18
  469. package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +0 -18
  470. package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +0 -18
  471. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  472. package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +0 -25
  473. package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +0 -24
  474. package/esm2020/src/remote/RemoteDataViewCommandFactory.mjs +0 -61
  475. package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +0 -17
  476. package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +0 -16
  477. package/esm2020/src/remote/ServerError.mjs +0 -40
  478. package/esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +0 -20
  479. package/esm2020/src/rt/Argument.mjs +0 -265
  480. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  481. package/esm2020/src/rt/Boundary.mjs +0 -152
  482. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  483. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  484. package/esm2020/src/rt/DataviewHeadersSaxHandler.mjs +0 -38
  485. package/esm2020/src/rt/ExecutionStack.mjs +0 -94
  486. package/esm2020/src/rt/HandlersTable.mjs +0 -96
  487. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  488. package/esm2020/src/rt/Operation.mjs +0 -735
  489. package/esm2020/src/rt/OperationTable.mjs +0 -67
  490. package/esm2020/src/rt/Recompute.mjs +0 -355
  491. package/esm2020/src/rt/RecomputeTable.mjs +0 -63
  492. package/esm2020/src/rt/RemoteDataviewHeader.mjs +0 -108
  493. package/esm2020/src/rt/ResultValue.mjs +0 -12
  494. package/esm2020/src/rt/TableCache.mjs +0 -177
  495. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  496. package/esm2020/src/rt/Transaction.mjs +0 -53
  497. package/esm2020/src/security/UserDetails.mjs +0 -71
  498. package/esm2020/src/tasks/MGData.mjs +0 -552
  499. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  500. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  501. package/esm2020/src/tasks/RemoteTaskService.mjs +0 -45
  502. package/esm2020/src/tasks/Task.mjs +0 -2495
  503. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  504. package/esm2020/src/tasks/TaskServiceBase.mjs +0 -25
  505. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  506. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  507. package/esm2020/src/tasks/sort/SortCollection.mjs +0 -67
  508. package/esm2020/src/util/ConstUtils.mjs +0 -14
  509. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  510. package/esm2020/src/util/HeapSort.mjs +0 -70
  511. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  512. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  513. package/esm2020/src/util/PrmMap.mjs +0 -151
  514. package/esm2020/src/util/ReturnResult.mjs +0 -46
  515. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  516. package/esm2020/src/util/Scrambler.mjs +0 -89
  517. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  518. package/esm2020/src/util/cookie.service.mjs +0 -92
  519. package/fesm2015/magic-xpa-engine.mjs +0 -30835
  520. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  521. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -0,0 +1,727 @@
1
+ export class ExpDesc {
2
+ Attr_ = '\0';
3
+ Prec_ = 0;
4
+ ArgCount_ = 0;
5
+ ArgEvalCount_ = 0;
6
+ ArgAttr_ = null;
7
+ RtfAsAlpha_ = false;
8
+ constructor(Attr, Prec, ArgCount, ArgEvalCount, ArgAttr, RtfAsAlpha) {
9
+ this.Attr_ = Attr;
10
+ this.Prec_ = Prec;
11
+ this.ArgCount_ = ArgCount;
12
+ this.ArgEvalCount_ = ArgEvalCount;
13
+ this.ArgAttr_ = ArgAttr;
14
+ this.RtfAsAlpha_ = RtfAsAlpha;
15
+ }
16
+ }
17
+ export class ExpressionDict {
18
+ static expDesc = [
19
+ new ExpDesc(' ', 0, 0, 0, "", false),
20
+ new ExpDesc(' ', 0, 0, 0, "", false),
21
+ new ExpDesc('N', 0, 0, 0, "", false),
22
+ new ExpDesc('A', 0, 0, 0, "", false),
23
+ new ExpDesc('A', 0, 0, 0, "", false),
24
+ new ExpDesc('N', 0, 0, 0, "", false),
25
+ new ExpDesc('D', 0, 0, 0, "", false),
26
+ new ExpDesc('T', 0, 0, 0, "", false),
27
+ new ExpDesc('B', 0, 0, 0, "", false),
28
+ new ExpDesc('N', 0, 0, 0, "", false),
29
+ new ExpDesc('N', 0, 0, 0, "", false),
30
+ new ExpDesc('N', 0, 0, 0, "", false),
31
+ new ExpDesc('A', 0, 0, 0, "", false),
32
+ new ExpDesc('A', 0, 0, 0, "", false),
33
+ new ExpDesc('A', 0, 0, 0, "", false),
34
+ new ExpDesc('N', 4, 2, 2, "NN", false),
35
+ new ExpDesc('N', 4, 2, 2, "NN", false),
36
+ new ExpDesc('N', 5, 2, 2, "NN", false),
37
+ new ExpDesc('N', 5, 2, 2, "NN", false),
38
+ new ExpDesc('N', 5, 2, 2, "NN", false),
39
+ new ExpDesc('N', 4, 1, 1, "N", false),
40
+ new ExpDesc('N', 0, 3, 3, "NNN", false),
41
+ new ExpDesc('N', 0, 3, 3, "NNN", false),
42
+ new ExpDesc('B', 3, 2, 2, " ", false),
43
+ new ExpDesc('B', 3, 2, 2, " ", false),
44
+ new ExpDesc('B', 3, 2, 2, " ", false),
45
+ new ExpDesc('B', 3, 2, 2, " ", false),
46
+ new ExpDesc('B', 3, 2, 2, " ", false),
47
+ new ExpDesc('B', 3, 2, 2, " ", false),
48
+ new ExpDesc('B', 2, 1, 1, "B", false),
49
+ new ExpDesc('B', 1, 2, 1, "BB", false),
50
+ new ExpDesc('B', 2, 2, 1, "BB", false),
51
+ new ExpDesc(' ', 0, 3, 1, "B ", false),
52
+ new ExpDesc('N', 0, 1, 1, "U", true),
53
+ new ExpDesc('A', 4, 2, 2, "UU", true),
54
+ new ExpDesc('A', 0, 3, 3, "UNN", true),
55
+ new ExpDesc('A', 0, 2, 2, "UN", true),
56
+ new ExpDesc('A', 0, 2, 2, "UN", true),
57
+ new ExpDesc('A', 0, 2, 2, "UN", true),
58
+ new ExpDesc('N', 0, 2, 2, "UU", true),
59
+ new ExpDesc('A', 0, 1, 1, "U", true),
60
+ new ExpDesc('A', 0, 1, 1, "U", true),
61
+ new ExpDesc('A', 0, 1, 1, "U", true),
62
+ new ExpDesc('A', 0, 2, 2, "NU", true),
63
+ new ExpDesc('N', 0, 2, 2, "UU", true),
64
+ new ExpDesc('B', 0, 2, 2, "NA", true),
65
+ new ExpDesc('A', 0, 1, 1, "N", false),
66
+ new ExpDesc('N', 0, 1, 1, "N", false),
67
+ new ExpDesc('*', 0, 1, 1, "V", false),
68
+ new ExpDesc('*', 0, 1, 1, "V", false),
69
+ new ExpDesc('B', 0, 1, 1, "V", false),
70
+ new ExpDesc('N', 0, 1, 1, "N", false),
71
+ new ExpDesc('A', 0, 1, 1, "V", false),
72
+ new ExpDesc('B', 0, 1, 1, "N", false),
73
+ new ExpDesc('H', 0, 1, 1, "A", true),
74
+ new ExpDesc('A', 0, 1, 1, "A", true),
75
+ new ExpDesc('B', 0, 2, 2, "AB", true),
76
+ null,
77
+ null,
78
+ new ExpDesc('N', 0, 0, 0, "", false),
79
+ null,
80
+ new ExpDesc('D', 0, 0, 0, "", false),
81
+ new ExpDesc('T', 0, 0, 0, "", false),
82
+ new ExpDesc('H', 0, 0, 0, "", false),
83
+ null,
84
+ new ExpDesc('U', 0, 0, 0, "", false),
85
+ new ExpDesc('H', 0, 0, 0, "", false),
86
+ null,
87
+ new ExpDesc('N', 6, 2, 2, "NN", false),
88
+ new ExpDesc('N', 0, 1, 1, "N", false),
89
+ new ExpDesc('N', 0, 1, 1, "N", false),
90
+ new ExpDesc('N', 0, 1, 1, "N", false),
91
+ new ExpDesc('N', 0, 1, 1, "N", false),
92
+ new ExpDesc('N', 0, 1, 1, "N", false),
93
+ new ExpDesc('N', 0, 1, 1, "N", false),
94
+ new ExpDesc('N', 0, 1, 1, "N", false),
95
+ new ExpDesc('N', 0, 1, 1, "N", false),
96
+ new ExpDesc('N', 0, 1, 1, "N", false),
97
+ new ExpDesc('N', 0, 1, 1, "N", false),
98
+ new ExpDesc(' ', 0, -2, -2, " ", false),
99
+ new ExpDesc(' ', 0, -2, -2, " ", false),
100
+ new ExpDesc('B', 0, 3, 3, " ", false),
101
+ new ExpDesc('A', 0, 4, 4, "UUNN", true),
102
+ new ExpDesc('A', 0, 4, 4, "UUNN", true),
103
+ new ExpDesc('A', 0, 3, 3, "UNN", true),
104
+ new ExpDesc('A', 0, 1, 1, "U", true),
105
+ new ExpDesc('A', 0, 1, 1, "U", true),
106
+ new ExpDesc('A', 0, 1, 1, "U", true),
107
+ new ExpDesc('A', 0, 2, 2, "AN", true),
108
+ new ExpDesc('N', 0, 2, 2, "AN", true),
109
+ new ExpDesc('A', 0, 1, 1, "A", true),
110
+ new ExpDesc('A', 0, 1, 1, "N", false),
111
+ new ExpDesc('N', 0, 1, 1, "A", true),
112
+ new ExpDesc('A', 0, 1, 1, "N", false),
113
+ new ExpDesc('N', 0, 1, 1, "A", true),
114
+ null,
115
+ null,
116
+ null,
117
+ null,
118
+ null,
119
+ null,
120
+ null,
121
+ null,
122
+ new ExpDesc('A', 0, 2, 2, "NN", false),
123
+ new ExpDesc('N', 0, 1, 1, "A", true),
124
+ new ExpDesc('A', 0, 2, 2, "DU", true),
125
+ new ExpDesc('D', 0, 2, 2, "UU", true),
126
+ new ExpDesc('A', 0, 2, 2, "TU", true),
127
+ new ExpDesc('T', 0, 2, 2, "UU", true),
128
+ new ExpDesc('N', 0, 1, 1, "D", false),
129
+ new ExpDesc('N', 0, 1, 1, "D", false),
130
+ new ExpDesc('N', 0, 1, 1, "D", false),
131
+ new ExpDesc('N', 0, 1, 1, "D", false),
132
+ new ExpDesc('A', 0, 1, 1, "D", false),
133
+ new ExpDesc('A', 0, 1, 1, "D", false),
134
+ new ExpDesc('A', 0, 1, 1, "N", false),
135
+ new ExpDesc('A', 0, 1, 1, "N", false),
136
+ new ExpDesc('N', 0, 1, 1, "T", false),
137
+ new ExpDesc('N', 0, 1, 1, "T", false),
138
+ new ExpDesc('N', 0, 1, 1, "T", false),
139
+ new ExpDesc('B', 0, 1, 1, "N", false),
140
+ new ExpDesc('N', 0, 0, 0, "", false),
141
+ null,
142
+ null,
143
+ null,
144
+ null,
145
+ null,
146
+ null,
147
+ null,
148
+ null,
149
+ null,
150
+ null,
151
+ null,
152
+ null,
153
+ null,
154
+ null,
155
+ null,
156
+ null,
157
+ null,
158
+ null,
159
+ null,
160
+ null,
161
+ null,
162
+ null,
163
+ null,
164
+ null,
165
+ null,
166
+ null,
167
+ null,
168
+ null,
169
+ null,
170
+ null,
171
+ null,
172
+ null,
173
+ null,
174
+ null,
175
+ new ExpDesc('D', 0, 4, 4, "DNNN", false),
176
+ new ExpDesc('T', 0, 4, 4, "TNNN", false),
177
+ new ExpDesc('H', 0, 0, 0, "", false),
178
+ new ExpDesc('A', 0, 1, 1, "V", false),
179
+ new ExpDesc('D', 0, 1, 1, "D", false),
180
+ new ExpDesc('D', 0, 1, 1, "D", false),
181
+ new ExpDesc('D', 0, 1, 1, "D", false),
182
+ new ExpDesc('D', 0, 1, 1, "D", false),
183
+ null,
184
+ new ExpDesc('N', 0, 0, 0, "", false),
185
+ null,
186
+ null,
187
+ new ExpDesc('B', 0, 2, 2, "V ", false),
188
+ null,
189
+ null,
190
+ null,
191
+ null,
192
+ new ExpDesc('*', 0, 0, 0, "", false),
193
+ new ExpDesc('A', 0, 0, 0, "", false),
194
+ new ExpDesc('N', 0, 0, 0, "", false),
195
+ new ExpDesc('B', 0, 0, 0, "", false),
196
+ new ExpDesc('D', 0, 0, 0, "", false),
197
+ new ExpDesc('T', 0, 0, 0, "", false),
198
+ new ExpDesc('B', 0, 1, 1, " ", false),
199
+ new ExpDesc('N', 0, 0, 0, "", false),
200
+ null,
201
+ null,
202
+ null,
203
+ null,
204
+ null,
205
+ null,
206
+ null,
207
+ null,
208
+ new ExpDesc('N', 0, 0, 0, "", false),
209
+ new ExpDesc('N', 0, 0, 0, "", false),
210
+ new ExpDesc('N', 0, 0, 0, "", false),
211
+ new ExpDesc('N', 0, 0, 0, "", false),
212
+ new ExpDesc('B', 0, 0, 0, "", false),
213
+ new ExpDesc('B', 0, 0, 0, "", false),
214
+ new ExpDesc('B', 0, 0, 0, "", false),
215
+ null,
216
+ null,
217
+ null,
218
+ new ExpDesc('A', 0, 1, 1, "U", false),
219
+ new ExpDesc('A', 0, 0, 0, "", true),
220
+ new ExpDesc('N', 0, 2, 2, "NA", true),
221
+ new ExpDesc('N', 0, 1, 1, "N", false),
222
+ null,
223
+ null,
224
+ null,
225
+ new ExpDesc('A', 0, 0, 0, "", false),
226
+ new ExpDesc('B', 0, 2, 2, "AB", false),
227
+ new ExpDesc('B', 0, 2, 2, "AB", false),
228
+ new ExpDesc('B', 0, 2, 2, "AB", false),
229
+ new ExpDesc('O', 0, 0, 0, "", false),
230
+ null,
231
+ new ExpDesc('*', 0, 1, 1, "A", false),
232
+ new ExpDesc('B', 0, 2, 2, "A ", false),
233
+ null,
234
+ null,
235
+ null,
236
+ null,
237
+ null,
238
+ new ExpDesc('*', 0, 2, 2, "B*", false),
239
+ null,
240
+ null,
241
+ null,
242
+ null,
243
+ null,
244
+ null,
245
+ null,
246
+ null,
247
+ null,
248
+ null,
249
+ null,
250
+ null,
251
+ null,
252
+ null,
253
+ null,
254
+ new ExpDesc('B', 0, 1, 1, "V", false),
255
+ new ExpDesc('N', 0, 0, 0, "", false),
256
+ new ExpDesc('A', 0, 3, 3, "UNU", true),
257
+ null,
258
+ null,
259
+ null,
260
+ new ExpDesc('A', 0, 2, 2, "AN", true),
261
+ new ExpDesc('A', 0, 1, 1, "N", true),
262
+ new ExpDesc('N', 0, 0, 0, "", true),
263
+ new ExpDesc('N', 0, 2, 2, "AN", false),
264
+ new ExpDesc('N', 0, 2, 2, "AN", false),
265
+ null,
266
+ null,
267
+ new ExpDesc('N', 0, 2, 2, "AN", false),
268
+ new ExpDesc('N', 0, 2, 2, "AN", false),
269
+ null,
270
+ null,
271
+ null,
272
+ null,
273
+ null,
274
+ null,
275
+ null,
276
+ null,
277
+ null,
278
+ null,
279
+ null,
280
+ new ExpDesc('B', 0, 1, 1, "N", false),
281
+ null,
282
+ new ExpDesc('N', 0, 1, 1, "A", false),
283
+ new ExpDesc('A', 0, 1, 1, "N", true),
284
+ null,
285
+ null,
286
+ new ExpDesc('A', 0, 1, 1, "AAAA", true),
287
+ null,
288
+ null,
289
+ null,
290
+ null,
291
+ new ExpDesc('N', 0, 1, 1, "N", true),
292
+ new ExpDesc(' ', 0, -4, -4, " ", false),
293
+ null,
294
+ new ExpDesc('B', 2, 2, 2, "AA", true),
295
+ null,
296
+ null,
297
+ null,
298
+ null,
299
+ null,
300
+ null,
301
+ null,
302
+ new ExpDesc('B', 0, -1, -1, "A", false),
303
+ null,
304
+ null,
305
+ null,
306
+ null,
307
+ null,
308
+ null,
309
+ new ExpDesc('N', 0, 0, 0, "", false),
310
+ null,
311
+ null,
312
+ null,
313
+ null,
314
+ null,
315
+ null,
316
+ null,
317
+ null,
318
+ null,
319
+ null,
320
+ null,
321
+ null,
322
+ new ExpDesc('A', 0, 3, 3, "UUU", false),
323
+ null,
324
+ null,
325
+ new ExpDesc('N', 0, 2, 2, "NN", false),
326
+ new ExpDesc('A', 0, 2, 2, "NN", false),
327
+ null,
328
+ new ExpDesc('N', 0, 2, 2, "UU", false),
329
+ new ExpDesc('*', 0, 1, 1, "A", false),
330
+ new ExpDesc('N', 0, 1, 1, "A", false),
331
+ new ExpDesc('A', 0, 0, 0, "", false),
332
+ null,
333
+ null,
334
+ null,
335
+ null,
336
+ null,
337
+ null,
338
+ null,
339
+ null,
340
+ null,
341
+ null,
342
+ null,
343
+ null,
344
+ null,
345
+ null,
346
+ null,
347
+ null,
348
+ null,
349
+ null,
350
+ null,
351
+ null,
352
+ null,
353
+ null,
354
+ null,
355
+ null,
356
+ null,
357
+ new ExpDesc('B', 0, -2, -2, " U", true),
358
+ new ExpDesc('B', 0, 0, 0, "", false),
359
+ new ExpDesc('A', 0, 0, 0, "", false),
360
+ null,
361
+ null,
362
+ new ExpDesc('A', 0, 1, 1, "A", false),
363
+ new ExpDesc('A', 0, 1, 1, "A", false),
364
+ new ExpDesc('A', 0, 1, 1, "A", false),
365
+ new ExpDesc('N', 0, 1, 1, "A", false),
366
+ new ExpDesc('A', 0, 2, 2, "AA", false),
367
+ null,
368
+ null,
369
+ new ExpDesc('A', 0, 1, 1, "A", true),
370
+ new ExpDesc('A', 0, 1, 1, "A", true),
371
+ new ExpDesc('A', 0, 2, 2, "AA", true),
372
+ new ExpDesc('A', 0, 1, 1, "N", false),
373
+ new ExpDesc('A', 0, 2, 2, "AA", true),
374
+ null,
375
+ null,
376
+ null,
377
+ null,
378
+ null,
379
+ null,
380
+ null,
381
+ null,
382
+ new ExpDesc('B', 0, 2, 2, "AU", false),
383
+ null,
384
+ null,
385
+ null,
386
+ null,
387
+ new ExpDesc('B', 0, 3, 3, "ANN", false),
388
+ null,
389
+ null,
390
+ null,
391
+ null,
392
+ new ExpDesc('A', 0, 1, 1, "A", false),
393
+ new ExpDesc('U', 0, 2, 2, "UU", false),
394
+ null,
395
+ new ExpDesc('B', 0, 2, 2, "AA", false),
396
+ new ExpDesc('B', 0, -3, -3, "AAA", false),
397
+ new ExpDesc('N', 0, 0, 0, "", false),
398
+ new ExpDesc('*', 0, 1, 1, "N", false),
399
+ new ExpDesc('B', 0, -2, -2, "*NA", false),
400
+ null,
401
+ new ExpDesc('B', 0, -1, -1, "*NA", false),
402
+ new ExpDesc('*', 0, -1, -1, "*NA", false),
403
+ null,
404
+ null,
405
+ null,
406
+ null,
407
+ null,
408
+ null,
409
+ null,
410
+ null,
411
+ null,
412
+ null,
413
+ null,
414
+ null,
415
+ null,
416
+ null,
417
+ null,
418
+ null,
419
+ null,
420
+ new ExpDesc('N', 0, 0, 0, "", false),
421
+ null,
422
+ null,
423
+ null,
424
+ null,
425
+ null,
426
+ null,
427
+ null,
428
+ null,
429
+ null,
430
+ null,
431
+ null,
432
+ new ExpDesc('N', 0, 0, 0, "", false),
433
+ new ExpDesc('N', 0, 0, 0, "", false),
434
+ null,
435
+ null,
436
+ new ExpDesc('*', 0, 2, 2, "ON", false),
437
+ new ExpDesc('B', 0, 3, 3, "VN ", false),
438
+ new ExpDesc('N', 0, 1, 1, "O", false),
439
+ new ExpDesc('A', 0, 1, 1, "O", false),
440
+ null,
441
+ null,
442
+ null,
443
+ null,
444
+ null,
445
+ null,
446
+ null,
447
+ null,
448
+ null,
449
+ null,
450
+ null,
451
+ null,
452
+ null,
453
+ null,
454
+ null,
455
+ null,
456
+ null,
457
+ null,
458
+ null,
459
+ null,
460
+ null,
461
+ new ExpDesc('N', 0, 1, 1, "O", false),
462
+ null,
463
+ null,
464
+ null,
465
+ null,
466
+ null,
467
+ new ExpDesc('N', 0, 3, 3, "UUU", false),
468
+ new ExpDesc('N', 0, 0, 0, "", false),
469
+ new ExpDesc('T', 0, 2, 2, "UU", true),
470
+ new ExpDesc('A', 0, 2, 2, "NU", true),
471
+ null,
472
+ null,
473
+ null,
474
+ null,
475
+ null,
476
+ new ExpDesc('B', 0, 1, 1, " ", false),
477
+ null,
478
+ null,
479
+ null,
480
+ null,
481
+ new ExpDesc('B', 0, -2, -2, " ", true),
482
+ null,
483
+ null,
484
+ new ExpDesc('B', 0, 0, 0, "", false),
485
+ null,
486
+ null,
487
+ null,
488
+ null,
489
+ null,
490
+ null,
491
+ new ExpDesc('N', 0, 2, 2, "NN", true),
492
+ new ExpDesc('B', 0, 1, 1, "U", true),
493
+ new ExpDesc('A', 0, 0, 0, "", true),
494
+ new ExpDesc('N', 0, 0, 0, "", true),
495
+ null,
496
+ null,
497
+ null,
498
+ null,
499
+ null,
500
+ null,
501
+ null,
502
+ null,
503
+ null,
504
+ null,
505
+ null,
506
+ null,
507
+ null,
508
+ null,
509
+ null,
510
+ new ExpDesc('U', 0, 0, 0, "", false),
511
+ new ExpDesc('B', 0, 2, 2, "NA", false),
512
+ new ExpDesc('B', 0, -1, -1, "NA", false),
513
+ new ExpDesc('B', 0, 0, 0, "", false),
514
+ new ExpDesc('N', 0, 0, 0, "", false),
515
+ new ExpDesc(' ', 0, -16, -16, " ", false),
516
+ new ExpDesc('N', 0, 1, 1, "N", false),
517
+ null,
518
+ null,
519
+ null,
520
+ null,
521
+ null,
522
+ null,
523
+ null,
524
+ new ExpDesc('A', 0, 1, 1, "N", false),
525
+ new ExpDesc('N', 0, 1, 1, "U", false),
526
+ new ExpDesc('U', 0, 2, 2, "AN", false),
527
+ new ExpDesc('A', 0, 2, 2, "UN", false),
528
+ new ExpDesc('B', 0, 8, 8, "VVNNNNNN", false),
529
+ new ExpDesc('B', 0, 6, 6, "DTDTVV", false),
530
+ new ExpDesc('B', 0, 1, 1, "N", false),
531
+ new ExpDesc('A', 0, 1, 1, "N", false),
532
+ null,
533
+ null,
534
+ new ExpDesc('N', 0, 1, 1, "N", false),
535
+ null,
536
+ null,
537
+ new ExpDesc('B', 0, 1, 1, "U", false),
538
+ new ExpDesc('N', 0, 2, 2, "AB", false),
539
+ null,
540
+ null,
541
+ null,
542
+ null,
543
+ null,
544
+ null,
545
+ null,
546
+ null,
547
+ null,
548
+ null,
549
+ null,
550
+ null,
551
+ null,
552
+ null,
553
+ null,
554
+ null,
555
+ null,
556
+ null,
557
+ null,
558
+ new ExpDesc('N', 0, 1, 1, "N", false),
559
+ new ExpDesc('N', 0, 1, 1, "N", false),
560
+ new ExpDesc('S', 0, 0, 0, "", false),
561
+ new ExpDesc('B', 0, 1, 1, "A", false),
562
+ new ExpDesc('A', 0, 1, 1, "N", false),
563
+ new ExpDesc('A', 0, 1, 1, "N", false),
564
+ null,
565
+ null,
566
+ null,
567
+ null,
568
+ new ExpDesc('A', 0, -2, -2, "UU", false),
569
+ null,
570
+ new ExpDesc('O', 0, 1, 1, "A", false),
571
+ new ExpDesc('B', 0, 2, 2, "OA", false),
572
+ new ExpDesc('B', 0, 2, 2, "AA", false),
573
+ new ExpDesc('B', 0, 1, 1, "A", false),
574
+ new ExpDesc('B', 0, 1, 1, "A", false),
575
+ new ExpDesc('O', 0, 3, 3, "AAB", false),
576
+ new ExpDesc('B', 0, 2, 2, "AA", false),
577
+ new ExpDesc('N', 0, 1, 1, "A", false),
578
+ new ExpDesc('A', 0, 1, 1, "A", false),
579
+ new ExpDesc('B', 0, 2, 2, "AA", false),
580
+ new ExpDesc('B', 0, 1, 1, "N", false),
581
+ new ExpDesc('B', 0, 2, 2, "AA", false),
582
+ new ExpDesc('A', 0, 1, 1, "A", false),
583
+ new ExpDesc('B', 0, -3, -3, "AABU", false),
584
+ new ExpDesc('A', 0, 0, 0, "", false),
585
+ new ExpDesc('N', 0, 2, 2, "AN", false),
586
+ new ExpDesc('N', 0, 2, 2, "AN", false),
587
+ new ExpDesc('A', 0, 1, 1, "U", false),
588
+ null,
589
+ null,
590
+ new ExpDesc('A', 0, 2, 2, "AN", false),
591
+ new ExpDesc('A', 0, 5, 5, "AAABB", true),
592
+ new ExpDesc('A', 0, 5, 5, "AAAAB", true),
593
+ new ExpDesc('A', 0, 3, 3, "AAB", true),
594
+ null,
595
+ null,
596
+ new ExpDesc('B', 0, 4, 4, "UUUB", true),
597
+ null,
598
+ null,
599
+ null,
600
+ null,
601
+ null,
602
+ null,
603
+ null,
604
+ null,
605
+ null,
606
+ null,
607
+ null,
608
+ null,
609
+ null,
610
+ null,
611
+ null,
612
+ new ExpDesc('B', 0, 0, 0, "", true),
613
+ new ExpDesc('A', 0, 0, 0, "", true),
614
+ new ExpDesc(' ', 0, 3, 3, "ENA", false),
615
+ new ExpDesc(' ', 0, 3, 3, "ENA", false),
616
+ new ExpDesc(' ', 0, -3, -3, "ENA", false),
617
+ new ExpDesc(' ', 0, -3, -3, "ENA", false),
618
+ new ExpDesc(' ', 0, -2, -2, "EN", false),
619
+ new ExpDesc(' ', 0, -2, -2, "EN", false),
620
+ new ExpDesc(' ', 0, -2, -2, "EN", false),
621
+ new ExpDesc(' ', 0, -3, -3, "NE ", false),
622
+ new ExpDesc(' ', 0, 3, 3, "ENA", false),
623
+ new ExpDesc(' ', 0, 3, 3, "ENA", false),
624
+ new ExpDesc(' ', 0, 2, 2, "EA", false),
625
+ new ExpDesc(' ', 0, 2, 2, "EE", false),
626
+ new ExpDesc(' ', 0, 1, 1, " ", false),
627
+ new ExpDesc(' ', 0, 2, 2, " ", false),
628
+ new ExpDesc(' ', 0, 2, 2, "NA", false),
629
+ new ExpDesc(' ', 0, 0, 0, "", false),
630
+ new ExpDesc(' ', 0, 0, 0, "", false),
631
+ new ExpDesc('A', 0, 1, 1, "N", false),
632
+ null,
633
+ new ExpDesc('A', 0, 1, 1, "A", false),
634
+ new ExpDesc('N', 0, 2, 2, "AA", false),
635
+ null,
636
+ null,
637
+ null,
638
+ null,
639
+ null,
640
+ null,
641
+ new ExpDesc('N', 0, 1, 1, "N", false),
642
+ null,
643
+ null,
644
+ new ExpDesc(' ', 0, 3, 3, "NAA", false),
645
+ null,
646
+ null,
647
+ null,
648
+ null,
649
+ null,
650
+ null,
651
+ new ExpDesc('B', 0, 2, 2, "A ", false),
652
+ new ExpDesc('D', 0, 0, 0, "", false),
653
+ new ExpDesc('T', 0, 0, 0, "", false),
654
+ new ExpDesc('N', 0, 0, 0, "", false),
655
+ new ExpDesc('B', 0, 1, 1, "A", false),
656
+ new ExpDesc('B', 0, 5, 5, "NANAA", false),
657
+ new ExpDesc('B', 0, 2, 2, "NA", false),
658
+ null,
659
+ null,
660
+ null,
661
+ null,
662
+ null,
663
+ null,
664
+ new ExpDesc('*', 0, -2, -2, "AA", false),
665
+ null,
666
+ new ExpDesc('U', 0, 1, 1, "V", false),
667
+ new ExpDesc('B', 0, 2, 2, "NB", false),
668
+ new ExpDesc('B', 0, 2, 2, "AN", false),
669
+ new ExpDesc('N', 0, 1, 1, "V", false),
670
+ new ExpDesc('U', 0, 1, 1, "N", false),
671
+ new ExpDesc('U', 0, 1, 1, "N", false),
672
+ new ExpDesc('B', 0, -2, -2, "AU", false),
673
+ new ExpDesc('N', 0, 2, 2, "NB", false),
674
+ new ExpDesc('N', 0, 2, 2, "NB", false),
675
+ new ExpDesc('N', 0, 1, 1, "N", false),
676
+ null,
677
+ null,
678
+ null,
679
+ null,
680
+ null,
681
+ null,
682
+ null,
683
+ null,
684
+ new ExpDesc('S', 0, 5, 5, "NNNNB", false),
685
+ new ExpDesc('B', 0, 2, 2, "UU", false),
686
+ null,
687
+ null,
688
+ null,
689
+ null,
690
+ null,
691
+ null,
692
+ null,
693
+ null,
694
+ null,
695
+ null,
696
+ null,
697
+ null,
698
+ null,
699
+ null,
700
+ null,
701
+ null,
702
+ null,
703
+ null,
704
+ null,
705
+ null,
706
+ new ExpDesc('B', 0, 1, 1, "U", false),
707
+ null,
708
+ new ExpDesc('B', 0, 1, 1, "N", false),
709
+ new ExpDesc('B', 0, 0, 0, "", false),
710
+ null,
711
+ null,
712
+ null,
713
+ null,
714
+ null,
715
+ null,
716
+ null,
717
+ null,
718
+ null,
719
+ null,
720
+ new ExpDesc('B', 0, -2, -2, '*', false),
721
+ new ExpDesc('*', 0, 1, 1, 'A', false),
722
+ new ExpDesc('B', 0, 1, 1, 'A', false),
723
+ null,
724
+ new ExpDesc('U', 0, 0, 0, '', false),
725
+ ];
726
+ }
727
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwcmVzc2lvbkRpY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2V4cC9FeHByZXNzaW9uRGljdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sT0FBTztJQUNsQixLQUFLLEdBQVcsSUFBSSxDQUFDO0lBQ3JCLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsU0FBUyxHQUFXLENBQUMsQ0FBQztJQUN0QixhQUFhLEdBQVcsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsV0FBVyxHQUFZLEtBQUssQ0FBQztJQVc3QixZQUFZLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxZQUFvQixFQUFFLE9BQWUsRUFBRSxVQUFtQjtRQUVsSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTyxHQUFjO1FBRTFCLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBRXBDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBRXBDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBRXJDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBRXJDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBR0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFHckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3hDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUd2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUdwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBR3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBR3BDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFHSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFHSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFHSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFHSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUdKLElBQUk7UUFHSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUd4QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUdwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUdyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUdyQyxJQUFJO1FBR0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSTtRQUVKLElBQUk7UUFFSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBR0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFFckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFFcEMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUdKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFHSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUdwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUdKLElBQUk7UUFHSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUdyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUVyQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUdwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUV0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUV0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUVKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztRQUN0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUduQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFHckMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBRXBDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDdkMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBR0osSUFBSTtRQUVKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUMxQyxJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUN6QyxJQUFJO1FBQ0YsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUk7UUFDSixJQUFJO1FBR0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUdKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDekMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDekMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDdkMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7UUFDdkMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUNuQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO1FBQzVDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO1FBQzFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJO1FBRUosSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDdkMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQzFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7UUFDdEMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztRQUN2QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7UUFDekMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3pDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3hDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN2QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztRQUNwQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7UUFDeEMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN4QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUN0QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUNyQyxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQ3pDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDckMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO1FBQ3JDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQ3BDLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDcEMsSUFBSTtRQUNKLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO0tBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIGV4cHJlc3Npb24gZGVzY3JpcHRpb24gY2xhc3MgdG8gaG9sZCBleHByZXNzaW9uIGRldGFpbHMgICAgICAgICAgICAgICAqL1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5leHBvcnQgY2xhc3MgRXhwRGVzYyB7XHJcbiAgQXR0cl86IHN0cmluZyA9ICdcXDAnO1xyXG4gIFByZWNfOiBudW1iZXIgPSAwO1xyXG4gIEFyZ0NvdW50XzogbnVtYmVyID0gMDtcclxuICBBcmdFdmFsQ291bnRfOiBudW1iZXIgPSAwO1xyXG4gIEFyZ0F0dHJfOiBzdHJpbmcgPSBudWxsO1xyXG4gIFJ0ZkFzQWxwaGFfOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZXhwcmVzc2lvbiBkZXNjcmlwdGlvbiBjbGFzczwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJBdHRyXCI+b3Bjb2RlIGF0dHJpYnV0ZSAtIEEvQi9OLy4uLlxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIlByZWNcIj5vcGNvZGUgcHJlY2VkZW5jZVxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIkFyZ0NvdW50XCI+b3BlcmFuZCBjb3VudFxyXG4gIC8vLyA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIkFyZ0V2YWxDb3VudFwiPm9wZXJhbmQgcHJlLWV2YXVsYXRpb24gY291bnRcclxuICAvLy8gPC9wYXJhbT5cclxuICBjb25zdHJ1Y3RvcihBdHRyOiBzdHJpbmcsIFByZWM6IG51bWJlciwgQXJnQ291bnQ6IG51bWJlciwgQXJnRXZhbENvdW50OiBudW1iZXIsIEFyZ0F0dHI6IHN0cmluZywgUnRmQXNBbHBoYTogYm9vbGVhbikge1xyXG5cclxuICAgIHRoaXMuQXR0cl8gPSBBdHRyO1xyXG4gICAgdGhpcy5QcmVjXyA9IFByZWM7XHJcbiAgICB0aGlzLkFyZ0NvdW50XyA9IEFyZ0NvdW50O1xyXG4gICAgdGhpcy5BcmdFdmFsQ291bnRfID0gQXJnRXZhbENvdW50O1xyXG4gICAgdGhpcy5BcmdBdHRyXyA9IEFyZ0F0dHI7XHJcbiAgICB0aGlzLlJ0ZkFzQWxwaGFfID0gUnRmQXNBbHBoYTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogVGhlIGV4cHJlc3Npb24gZGVmaW5pdGlvbiB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmV4cG9ydCBjbGFzcyBFeHByZXNzaW9uRGljdCB7XHJcbiAgc3RhdGljIGV4cERlc2M6IEV4cERlc2NbXSA9IFtcclxuXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX05PTkUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiBFWFBfT1BfViAgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8qIEVYUF9PUF9WQVIgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX0EgICAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiBFWFBfT1BfSCAgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSxcclxuICAgIG5ldyBFeHBEZXNjKCdUJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gMTBcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLFxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX00gKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiBFWFBfT1BfQUNUICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX0tCRCAqL1xyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNCwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfQUREICAgTnVtK051bSA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNCwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfU1VCICAgTnVtLU51bSA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNSwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfTVVMICAgTnVtKk51bSA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNSwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfRElWICAgTnVtL051bSA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNSwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfTU9EICAgTnVtIE1PRCBOdW0gICAgICAgIDogIE51bSAvLzIwXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDQsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAgLy8gRVhQX09QX05FRyAgIC1OdW0gICAgOiAgTnVtXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDMsIDMsIFwiTk5OXCIsIGZhbHNlKSwgLy8gRVhQX09QX0ZJWCAgIEZJWCAgKE51bSxOdW0sTnVtKSA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMywgMywgXCJOTk5cIiwgZmFsc2UpLCAvLyBFWFBfT1BfUk9VTkQgUk9VTkQoTnVtLE51bSxOdW0pIDogIE51bVxyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfRVEgICAgWCAgID0gICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfTkUgICAgWCAgIDw+ICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfTEUgICAgWCAgIDw9ICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfTFQgICAgWCAgIDwgICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfR0UgICAgWCAgID49ICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMywgMiwgMiwgXCIgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfR1QgICAgWCAgID4gICBZICA6ICBMb2dcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMiwgMSwgMSwgXCJCXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfTk9UICAgTk9UIExvZyAgICA6ICBMb2cgLy8zMFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAxLCAyLCAxLCBcIkJCXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9PUiAgICBMb2cgT1IgTG9nIDogIExvZ1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAyLCAyLCAxLCBcIkJCXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9BTkQgICBMb2cgQU5EIExvZzogIExvZ1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAzLCAxLCBcIkIgIFwiLCBmYWxzZSksIC8vIEVYUF9PUF9JRiAgICBJRihMb2csWCxZKTogIFggb3IgWVxyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJVXCIsIHRydWUpLCAgICAvLyBFWFBfT1BfTEVOICAgTEVOKFN0cikgIDogIE51bVxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCA0LCAyLCAyLCBcIlVVXCIsIHRydWUpLCAgIC8vIEVYUF9PUF9DT04gICBTdHIgJiBTdHIgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDMsIDMsIFwiVU5OXCIsIHRydWUpLCAgLy8gRVhQX09QX01JRCAgIE1JRChTdHIsc3RhcnQsbGVuZ3RoKSAgIDogIFN0clxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIlVOXCIsIHRydWUpLCAgIC8vIEVYUF9PUF9MRUZUICBMRUZUKFN0cixsZW5ndGgpICAgICAgICA6ICBTdHJcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJVTlwiLCB0cnVlKSwgICAvLyBFWFBfT1BfUklHVEggUklHVEgoU3RyLGxlbmd0aCkgICAgICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDIsIDIsIFwiVU5cIiwgdHJ1ZSksICAgLy8gRVhQX09QX0ZJTEwgIEZJTEwoU3RyLHRpbWVzKSAgICAgICAgIDogIFN0clxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAyLCAyLCBcIlVVXCIsIHRydWUpLCAgIC8vIEVYUF9PUF9JTlNUUiBJTlNUUihTdHIsc3ViU3RyKSAgICAgICA6ICBOdW0gLy80MFxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIlVcIiwgdHJ1ZSksICAgIC8vIEVYUF9PUF9UUklNICBUUklNKFN0cikgICAgICAgICAgICAgICA6ICBTdHJcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJVXCIsIHRydWUpLCAgICAvLyBFWFBfT1BfTFRSSU0gTFRSSU0oU3RyKSAgICAgICAgICAgICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiVVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX1JUUklNIFJUUklNKFN0cikgICAgICAgICAgICAgIDogIFN0clxyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJOVVwiLCB0cnVlKSwgICAvLyBFWFBfT1BfU1RSICAgU1RSKE51bSxTdHIpICAgICAgICAgICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiVVVcIiwgdHJ1ZSksICAgLy8gRVhQX09QX1ZBTCAgIFZBTChTdHIsU3RyKSAgICAgICAgICAgIDogIE51bVxyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJOQVwiLCB0cnVlKSwgICAvLyBFWFBfT1BfU1RBVCAgICAgU1RBVChTdHIpICAgICAgICAgICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAgLy8gRVhQX09QX0xFVkVMICAgTEVWRUwoU3RyKSAgICAgICAgICAgIDogIFN0clxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgIC8vIEVYUF9PUF9DT1VOVEVSIENPVU5URVIoU3RyKSAgICAgICAgICA6ICBTdHJcclxuXHJcbiAgICBuZXcgRXhwRGVzYygnKicsIDAsIDEsIDEsIFwiVlwiLCBmYWxzZSksICAgLy8gRVhQX09QX1ZBUlBSRVZcclxuICAgIG5ldyBFeHBEZXNjKCcqJywgMCwgMSwgMSwgXCJWXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfVkFSQ1VSUiAgIC8vNTBcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJWXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfVkFSTU9EXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAgLy8gRVhQX09QX1ZBUklOUFxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIlZcIiwgZmFsc2UpLCAgIC8vIEVYUF9PUF9WQVJOQU1FXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAgLy8gRVhQX09QX1ZJRVdNT0RcclxuICAgIG5ldyBFeHBEZXNjKCdIJywgMCwgMSwgMSwgXCJBXCIsIHRydWUpLCAgICAvLyBFWFBfT1BfRU5WXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiQVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX0lOSUdFVFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIkFCXCIsIHRydWUpLCAgIC8vIEVYUF9PUF9JTklQVVRcclxuICAgIG51bGwsICAgLy8gRVhQX09QX1VTRVJcclxuICAgIG51bGwsIC8vICBFWFBfT1BfR1JPVVBcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAgICAvLyBFWFBfT1BfVEVSTVxyXG4gICAgbnVsbCwgLy8gIEVYUF9PUF9NREFURSxub3QgbmVlZGVkIGluIGJyb3dzZXJcclxuICAgIG5ldyBFeHBEZXNjKCdEJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAgIC8vIEVYUF9PUF9EQVRFXHJcbiAgICBuZXcgRXhwRGVzYygnVCcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfVElNRVxyXG4gICAgbmV3IEV4cERlc2MoJ0gnLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAgLy8gRVhQX09QX1NZU1xyXG4gICAgbnVsbCwgLy8gIEVYUF9PUF9QUkVGXHJcbiAgICBuZXcgRXhwRGVzYygnVScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfTUVOVVxyXG4gICAgbmV3IEV4cERlc2MoJ0gnLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAgLy8gRVhQX09QX1BST0dcclxuICAgIG51bGwsIC8vICBFWFBfT1BfUFBEXHJcblxyXG4gICAgLy8gbWF0aCBmdW5jdGlvbnNcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgNiwgMiwgMiwgXCJOTlwiLCBmYWxzZSksIC8vIEVYUF9PUF9QV1IgIE51bSBeIE51bSA6IE51bVxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX0xPRyAgTE9HKE51bSkgIDogTnVtICAgICAgICAgICAgICAgICAgICAgICAgIC8vNzBcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9FWFAgIEVYUChOdW0pICA6IE51bVxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX0FCUyAgQUJTKE51bSkgIDogTnVtXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfU0lOICBTSU4oTnVtKSAgOiBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9DT1MgIENPUyhOdW0pICA6IE51bVxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX1RBTiAgVEFOKE51bSkgIDogTnVtXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfQVNJTiAgICBBU0lOKE51bSkgOiBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9BQ09TICAgIEFDT1MoTnVtKSA6IE51bVxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX0FUQU4gICAgQVRBTihOdW0pIDogTnVtXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfUkFORCAgICBSQU5EKE51bSkgOiBOdW1cclxuXHJcbiAgICAvLyBjb21wYXJpc29uIGZ1bmN0aW9uc1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAtMiwgLTIsIFwiICBcIiwgZmFsc2UpLCAvLyBFWFBfT1BfTUlOICAgIE1JTihYLCBZKSA6IFogICAgICAgICAgICAgICAgICAgICAgICAvLzgwXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIC0yLCAtMiwgXCIgIFwiLCBmYWxzZSksIC8vIEVYUF9PUF9NQVggICAgTUFYKFgsIFkpIDogWlxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAzLCAzLCBcIiAgIFwiLCBmYWxzZSksICAvLyBFWFBfT1BfUkFOR0UgIFJBTkdFKFgsIFksIFopIDogTG9nXHJcblxyXG4gICAgLy8gc3RyaW5nIGZ1bmN0aW9uc1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCA0LCA0LCBcIlVVTk5cIiwgdHJ1ZSksIC8vIEVYUF9PUF9SRVAgICAgIFJFUChTdHIsIFN0ciwgTnVtLCBOdW0pIDogU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDQsIDQsIFwiVVVOTlwiLCB0cnVlKSwgLy8gRVhQX09QX0lOUyAgICAgSU5TKFN0ciwgU3RyLCBOdW0sIE51bSkgOiBTdHJcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMywgMywgXCJVTk5cIiwgdHJ1ZSksICAvLyBFWFBfT1BfREVMICAgICBERUwoU3RyLCBOdW0sIE51bSkgOiBTdHJcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJVXCIsIHRydWUpLCAgICAvLyBFWFBfT1BfRkxJUCAgICBGTElQKFN0cikgIDogU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiVVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX1VQUEVSICAgVVBQRVIoU3RyKSA6IFN0clxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIlVcIiwgdHJ1ZSksICAgIC8vIEVYUF9PUF9MT1dFUiAgIExPV0VSKFN0cikgOiBTdHJcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJBTlwiLCB0cnVlKSwgICAvLyBFWFBfT1BfQ1JDICAgICBDUkMoU3RyLCBOdW0pICAgIDogU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiQU5cIiwgdHJ1ZSksICAgLy8gRVhQX09QX0NIS0RHVCAgQ0hLREdUKFN0ciwgTnVtKSA6IE51bSAgICAgICAgICAgICAgICAvLzkwXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiQVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX1NPVU5EWCAgU09VTkRYKFN0cikgICAgICA6IFN0cig0KVxyXG5cclxuICAgIC8vIGNvbnZlcnNpb24gZnVuY3Rpb25zXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAgLy8gRVhQX09QX0hTVFIgICAgSFNUUihOdW0pICAgICAgIDogIFN0clxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIkFcIiwgdHJ1ZSksICAgIC8vIEVYUF9PUF9IVkFMICAgIEhWQUwoU3RyKSAgICAgICA6ICBOdW1cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfQ0hSICAgICBDSFIoTnVtKSAgICAgICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiQVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX0FTQyAgICAgQVNDKFN0cikgICAgICAgIDogIE51bVxyXG4gICAgbnVsbCwgICAgICAvLyBFWFBfT1BfSVNUUlxyXG4gICAgbnVsbCwgICAgICAvLyBFWFBfT1BfSVZBTFxyXG4gICAgbnVsbCwgICAgICAvLyBFWFBfT1BfTFNUUlxyXG4gICAgbnVsbCwgICAgICAvLyBFWFBfT1BfTFZBTFxyXG4gICAgbnVsbCwgICAgICAvLyBFWFBfT1BfUlNUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8xMDBcclxuICAgIG51bGwsICAgICAgLy8gRVhQX09QX1JWQUxcclxuICAgIG51bGwsICAgICAgLy8gRVhQX09QX0VTVFJcclxuICAgIG51bGwsICAgICAgLy8gRVhQX09QX0VWQUxcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJOTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfTVNUUiAgICBNU1RSKE51bSxOdW0pICAgOiAgU3RyXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiQVwiLCB0cnVlKSwgICAvLyBFWFBfT1BfTVZBTCAgICBNVkFMKFN0cikgICAgICAgOiAgTnVtXHJcblxyXG4gICAgLy8gZGF0ZSBmdW5jdGlvbnNcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJEVVwiLCB0cnVlKSwgIC8vIEVYUF9PUF9EU1RSXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDIsIDIsIFwiVVVcIiwgdHJ1ZSksICAvLyBFWFBfT1BfRFZBTFxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIlRVXCIsIHRydWUpLCAgLy8gRVhQX09QX1RTVFJcclxuICAgIG5ldyBFeHBEZXNjKCdUJywgMCwgMiwgMiwgXCJVVVwiLCB0cnVlKSwgIC8vIEVYUF9PUF9UVkFMXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfREFZICAvLzExMFxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIkRcIiwgZmFsc2UpLCAgLy8gRVhQX09QX01PTlRIXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfWUVBUlxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIkRcIiwgZmFsc2UpLCAgLy8gRVhQX09QX0RPV1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIkRcIiwgZmFsc2UpLCAgLy8gRVhQX09QX0NET1dcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJEXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9DTU9OVEhcclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9ORE9XXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksICAvLyBFWFBfT1BfTk1PTlRIXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiVFwiLCBmYWxzZSksICAvLyBFWFBfT1BfU0VDT05EXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiVFwiLCBmYWxzZSksICAvLyBFWFBfT1BfTUlOVVRFXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiVFwiLCBmYWxzZSksICAvLyBFWFBfT1BfSE9VUiAvLzEyMFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX0RFTEFZXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfSURMRVxyXG5cclxuICAgIC8vIElPRklMRSBmdW5jdGlvbnNcclxuICAgIG51bGwsIC8vIEVPRlxyXG4gICAgbnVsbCwgLy8gRU9QXHJcbiAgICBudWxsLCAvLyBQQUdFXHJcbiAgICBudWxsLCAvLyBMSU5FXHJcblxyXG4gICAgLy8gRk0gZnVuY3Rpb25zXHJcbiAgICBudWxsLCAvLyBJT0VYSVNUXHJcbiAgICBudWxsLCAvLyBJT1NJWkVcclxuICAgIG51bGwsIC8vIElPREVMXHJcbiAgICBudWxsLCAvLyBJT1JFTiAgICAgICAgICAgICAgICAgLy8xMzBcclxuICAgIG51bGwsIC8vIElPQ09QWVxyXG4gICAgbnVsbCwgLy8gREJFWElTVFxyXG4gICAgbnVsbCwgLy8gREJTSVpFXHJcbiAgICBudWxsLCAvLyBEQlJFQ1NcclxuICAgIG51bGwsIC8vIERCREVMXHJcblxyXG4gICAgLy8gYWN0aW9uIGZ1bmN0aW9uc1xyXG4gICAgbnVsbCwgLy8gS0JQVVRcclxuICAgIG51bGwsIC8vIEtCR0VUXHJcbiAgICBudWxsLCAvLyBGTE9XXHJcblxyXG4gICAgLy8gSmFwYW5lc2UgZnVuY3Rpb25zIChvYnNvbGV0ZSwgYnV0IHNob3VsZCBub3QgYmUgZGVsZXRlZClcclxuICAgIG51bGwsIC8qIDEzOCAtIEVYUF9PUF9MT0dJQ0FMICovXHJcbiAgICBudWxsLCAvKiAxMzkgLSBFWFBfT1BfVklTVUFMICovXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG5cclxuICAgIC8vIFZlcnNpb24gMy54eCBvbGQgZnVuY3Rpb25zXHJcbiAgICBudWxsLCAvLyBTVFIzXHJcbiAgICBudWxsLCAvLyBWQUwzXHJcbiAgICBudWxsLCAvLyBEU1RSM1xyXG4gICAgbnVsbCwgLy8gRFZBTDNcclxuICAgIG51bGwsIC8vIFRTVFIzXHJcbiAgICBudWxsLCAvLyBUVkFMM1xyXG4gICAgbnVsbCwgLy8gUkFOR0UzXHJcbiAgICBudWxsLCAvLyBGTE9XM1xyXG5cclxuICAgIC8vIEZNIGZ1bmN0aW9ucyAtIGNvbnRpbnVlZFxyXG4gICAgbnVsbCwgLy8gREJOQU1FLCBTZXJ2ZXJcclxuXHJcbiAgICAvLyBkYXRlIGZ1bmN0aW9ucyAtIGNvbnRpbnVlZFxyXG4gICAgbmV3IEV4cERlc2MoJ0QnLCAwLCA0LCA0LCBcIkROTk5cIiwgZmFsc2UpLCAgLy8gRVhQX09QX0FERERBVEVcclxuICAgIG5ldyBFeHBEZXNjKCdUJywgMCwgNCwgNCwgXCJUTk5OXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9BRERUSU1FXHJcblxyXG4gICAgLy8gZW52aXJvbm1lbnQgZnVuY3Rpb25zIC0gY29udGludWVkXHJcbiAgICBuZXcgRXhwRGVzYygnSCcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfT1dORVJcclxuXHJcbiAgICAvLyBrZXJuZWwgZnVuY3Rpb25zIC0gY29udGludWVkXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiVlwiLCBmYWxzZSksICAvLyBFWFBfT1BfVkFSQVRUUlxyXG5cclxuICAgIC8vIERhdGUgZnVuY3Rpb25zIC0gY29udGludWVkXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfQk9NXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfQk9ZXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfRU9NXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDEsIDEsIFwiRFwiLCBmYWxzZSksICAvLyBFWFBfT1BfRU9ZXHJcblxyXG4gICAgLy8gVXNlciBkZWZpbmVkIGZ1bmN0aW9uXHJcbiAgICBudWxsLCAgLy8gRVhQX09QX1VERiBzZXJ2ZXJcclxuXHJcbiAgICAvLyBrZXJuZWwgZnVuY3Rpb25zIC0gY29udGludWVkXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gRVhQX09QX1JJR0hUX0xJVEVSQUxcclxuICAgIG51bGwsIC8vIEVYUF9PUF9SSUdIVFNcclxuXHJcbiAgICBudWxsLCAvLyBFWFBfT1BfUk9MTEJBQ0tcclxuXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiViBcIiwgZmFsc2UpLCAvLyBWQVJTRVRcclxuICAgIG51bGwsIC8vIFpFTlNcclxuICAgIG51bGwsIC8vIERCRVJSXHJcbiAgICBudWxsLCAvLyBcIlwiXHJcbiAgICBudWxsLCAvLyBcIlwiXHJcblxyXG4gICAgLy8gTnVsbCBmdW5jdGlvbnNcclxuICAgIG5ldyBFeHBEZXNjKCcqJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvLyBFWFBfT1BfTlVMTCAgICAgMTczXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gRVhQX09QX05VTExfQSAgIDE3NFxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8vIEVYUF9PUF9OVUxMX04gICAxNzVcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvLyBFWFBfT1BfTlVMTF9CICAgMTc2XHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gRVhQX09QX05VTExfRCAgIDE3N1xyXG4gICAgbmV3IEV4cERlc2MoJ1QnLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8vIEVYUF9PUF9OVUxMX1QgICAxNzhcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCIgXCIsIGZhbHNlKSwgLy8gRVhQX09QX0lTTlVMTCAgIDE3OVxyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAgLy8gRVhQX09QX1RERVBUSCAgIDE4MFxyXG5cclxuICAgIG51bGwsIC8vIEVYUF9PUF9VU0VSQUREICAxODEgLypTRVJWRVIgKi9cclxuICAgIG51bGwsIC8vIEVYUF9PUF9SSUdIVEFERCAxODIgLypTRVJWRVIgKi9cclxuICAgIG51bGwsIC8vIEVYUF9PUF9HUk9VUEFERCAxODMgLypTRVJWRVIgKi9cclxuICAgIG51bGwsIC8vIEVYUF9PUF9EQkNBQ0hFICAxODQgLypTRVJWRVIgKi9cclxuXHJcbiAgICAvLyBEREUgZnVuY3Rpb25zXHJcbiAgICBudWxsLCAvLyBFWFBfT1BfRERFR0VUICAxODUgLypTRVJWRVIgKi9cclxuICAgIG51bGwsIC8vIEVYUF9PUF9EREVYRUMgIDE4NiAvKlNFUlZFUiAqL1xyXG4gICAgbnVsbCwgLy8gRVhQX09QX0RERVBPS0UgMTg3IC8qU0VSVkVSICovXHJcbiAgICBudWxsLCAvLyBFWFBfT1BfRERFUlIgICAxODggLypTRVJWRVIgKi9cclxuXHJcbiAgICAvLyBNT1VTRSBsYXN0IGNsaWNrIHBvc1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8vIEVYUF9PUF9DTElDS1dYXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gRVhQX09QX0NMSUNLV1lcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvLyBFWFBfT1BfQ0xJQ0tDWFxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8vIEVYUF9PUF9DTElDS0NZXHJcblxyXG4gICAgLy8gTWFnaWMgUmVzaXppbmcgZnVuY3Rpb25zOlxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8vIEVYUF9PUF9NSU5NQUdJQyBtYWtlIG1hZ2ljIHdpbmRvdyBtaW5pbXVtXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLy8gRVhQX09QX01BWE1BR0lDIG1ha2UgbWFnaWMgd2luZG93IG1heGltdW1cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvLyBFWFBfT1BfUkVTTUFHSUMgbWFrZSBtYWdpYyB3aW5kb3cgbm9ybWFsIHNpemVcclxuICAgIG51bGwsICAvLyBFWFBfT1BfRklMRURMRyAxOTYtb3BlbiB3aW5kb3dzIGZpbGUgZGlhbG9nXHJcbiAgICBudWxsLCAvLyAgRVhQX09QX0hJVFpPUkRSIG5vdCBzdXBwb3J0ZWQgMTk3LWNvbnRyb2wgaWQgaW4gY3RybCBoaXRcclxuXHJcbiAgICAvLyBDdXJyZW50IElPXHJcbiAgICBudWxsLCAgICAvLyBJT0NVUlIgbm90IHN1cHBvcnRlZFxyXG5cclxuICAgIC8vIE11bHRpIGxpbmd1YWwgc3VwcG9ydFxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIlVcIiwgZmFsc2UpLCAvLyBFWFBfT1BfTUxTX1RSQU5TXHJcblxyXG4gICAgLy8gY29udHJvbCBpbmZvcm1hdGlvblxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAwLCAwLCBcIlwiLCB0cnVlKSwgICAgLy8gQ1RSTE5BTUUgLyoyMDAtY29udHJvbCBuYW1lIGluIGN0cmwgaGl0ICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiTkFcIiwgdHJ1ZSksICAvLyBXSU5CT1hcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgLyogMjAyIC0gRVhQX09QX1dJTl9IV05EICovXHJcblxyXG4gICAgbnVsbCwgICAgLy8gREJSRUxPQUQgLypTRVJWRVIgKi9cclxuICAgIG51bGwsICAgIC8vIFRFWFQgbm90IHN1cHBvcnRlZFxyXG4gICAgbnVsbCwgICAgLy8gU0VUTEFORyAvKlNFUlZFUiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAvLyBHRVRMQU5HXHJcblxyXG4gICAgLy8gTWVudSBtYW5pcHVsYXRpb24gZnVuY3Rpb25zXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiQUJcIiwgZmFsc2UpLCAvLyBNTlVDSEVDS1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIkFCXCIsIGZhbHNlKSwgLy8gTU5VRU5BQkxcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJBQlwiLCBmYWxzZSksIC8vIE1OVVNIT1dcclxuXHJcbiAgICBuZXcgRXhwRGVzYygnTycsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAvLyBOVUxMLyoyMTAgLSBOVUxMIGZ1bmN0aW9uIEV4cGVjdGVkIEJsb2IgYXR0cmlidXRlICovXHJcbiAgICBudWxsLCAvLyBESVNDU1JWUiAgLyoyMTEgLSBEaXNjb25uZWN0IGZyb20gU2VydmVyICovXHJcbiAgICBuZXcgRXhwRGVzYygnKicsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8vIDIxMiAtIEVYUF9PUF9HRVRQQVJBTVxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIkEgXCIsIGZhbHNlKSwgLy8gMjEzIC0gRVhQX09QX1NFVFBBUkFNXHJcbiAgICBudWxsLCAvLyBGSUxFMlJFUSAgLyoyMTQgLSBzZW5kIGZpbGUgdG8gcmVxdWVzdGVyICovXHJcbiAgICBudWxsLCAvLyBMT0dPTiAgICAgLyoyMTUgLSBMb2dPbiBhIE5ldyB1c2VyICAgICAgICovXHJcbiAgICBudWxsLCAvLyBGSUxFMkJMQlxyXG4gICAgbnVsbCwgLy8gQkxCMkZJTEVcclxuICAgIG51bGwsIC8vIElOVFJBTlMgICAvKiAyMTggLSBpbmRpY2F0ZXMgd2hldGhlciBhIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZSAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyonLCAwLCAyLCAyLCBcIkIqXCIsIGZhbHNlKSwgLy8gMjE5IC0gRVhQX09QX0NORF9SQU5HRVxyXG5cclxuICAgIG51bGwsIC8vIFJRUlRTICAgICAvKjIyMCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBSVCAgICAgICAgICAgICovXHJcbiAgICBudWxsLCAvLyBSUVJUSU5GICAgLyoyMjEgaW5mb3JtYXRpb24gYWJvdXQgYSBSVCAgICAgICAgICAgICAqL1xyXG4gICAgbnVsbCwgLy8gUlFSVEFQUFMgIC8qMjIyIG51bWJlciBvZiBzdXBwb3J0ZWQgYXBwbGljYXRpb25zICAgKi9cclxuICAgIG51bGwsIC8vIFJRUlRBUFAgICAvKjIyMyBpbmZvcm1hdGlvbiBhYm91dCBhbiBhcHBsaWNhdGlvbiAgICovXHJcbiAgICBudWxsLCAvLyBSUVFVRUxTVCAgLyoyMjQgbGlzdCBvZiByZXF1ZXN0cyBpbiBxdWV1ZSAgICAgICAgICAqL1xyXG4gICAgbnVsbCwgLy8gUlFSRVFMU1QgIC8qMjI1IGxpc3Qgb2YgcmVxdWVzdHMgICAgICAgICAgICAgICAgICAgKi9cclxuICAgIG51bGwsIC8vIFJRUkVRSU5GICAvKjIyNiBpbmZvcm1hdGlvbiBhYm91dCBhIHJlcXVlc3QgICAgICAgICovXHJcbiAgICBudWxsLCAvLyBSUVFVRVBSSSAgLyoyMjcgcmVzZXQgcHJpb3JpdHkgb2YgYSByZXF1ZXN0ICAgICAgICAqL1xyXG4gICAgbnVsbCwgLy8gUlFRVUVERUwgIC8qMjI4IGNsZWFyIGEgcmVxdWVzdCBmcm9tIHRoZSBxdWV1ZSAgICAgKi9cclxuICAgIG51bGwsIC8vIFJRUlRUUk0gICAvKjIyOSB0ZXJtaW5hdGUgYSByZWdpc3RlcmVkIFJUICAgICAgICAgICovXHJcbiAgICBudWxsLCAvLyBSUUxPQUQgICAgLyoyMzAgYXZlcmFnZSB3YWl0aW5nIHRpbWUgZm9yIGEgc2VydmljZSAmIGhpdHMgZGlzdHJpYnV0aW9uIGZvciBlYWNoIHJlcXVlc3Qgc3RhdHVzICAgICAqL1xyXG5cclxuICAgIG51bGwsIC8vIFJRRVhFICAgICAvKjIzMSByZXF1ZXN0IHRoZSBNUkQgdG8gbG9hZCBhbiBleGVjdXRhYmxlICovXHJcbiAgICBudWxsLCAvLyBEREVCRUdJTiAgLyoyMzIgZGRlIGJlZ2luIHRyYW5zYWN0aW9uICAgICAgICAgICAgICAgICAqL1xyXG4gICAgbnVsbCwgLy8gRERFRU5EICAgIC8qMjMzIGRkZSBlbmQgdHJhbnNhY3Rpb24gICAgICAgICAgICAgICAgICAgKi9cclxuICAgIG51bGwsIC8vIEZJTEUyT0xFICAvKjIzNCBjb252ZXJ0IGZpbGUgdG8gT0xFICAgICAgICAgICAgICAgICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiVlwiLCBmYWxzZSksICAvLyBJU0RFRkFVTFQgLyoyMzUgY2hlY2tzIGlmIGZpZWxkJ3MgY29udGVudCBlcXVhbCB0byBpdHMgZGVmYXVsdCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8qIDIzNiBFWFBfT1BfRk9STSovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDMsIDMsIFwiVU5VXCIsIHRydWUpLCAgLy8gU1RSVE9LRU5cclxuICAgIG51bGwsIC8vIFJRU1RBVCAvKiAyMzggLSBSZXF1ZXN0IHN0YXR1cyAgICAgKi9cclxuICAgIG51bGwsIC8vIERCQ09QWSAvKiAyMzkgLSBjb3B5aW5nIGEgZGF0YSBmaWxlICovXHJcbiAgICBudWxsLCAvLyBGTFdNVFIgLyoyNDAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJBTlwiLCB0cnVlKSwgLy8gSU5JR0VUTE4sIDI0MVxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIk5cIiwgdHJ1ZSksIC8vIEVYUENBTEMgLyogMjQyIC0gZ2V0dGluZyBhbiBpbmRleCBmb3Igb3RoZXIgZXhwcmVzc2lvbiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCB0cnVlKSwgLy8gRVhQX09QX0VcclxuXHJcbiAgICAvLyBDdXJyZW50IGVkaXRlZCBjb250cm9sIGluIHRoZSBzY3JlZW4gcG9zaXRpb25zXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiQU5cIiwgZmFsc2UpLCAgIC8vIENMRUZUICAgICAvKiAyNDQgLSBFWFBfT1BfQ1RSTF9MRUZUICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiQU5cIiwgZmFsc2UpLCAgIC8vIENUT1AgICAgICAvKiAyNDUgLSBFWFBfT1BfQ1RSTF9UT1AgICAgICovXHJcbiAgICBudWxsLCAvLyAgQ0xFRlRNREkgIC8qIDI0NiAtIEVYUF9PUF9DVFJMX0xFRlRfTURJICovXHJcbiAgICBudWxsLCAvLyAgQ1RPUE1ESSAgIC8qIDI0NyAtIEVYUF9PUF9DVFJMX1RPUF9NREkgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJBTlwiLCBmYWxzZSksICAgLy8gQ1dJRFRIICAgIC8qIDI0OCAtIEVYUF9PUF9DVFJMX1dJRFRIICAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJBTlwiLCBmYWxzZSksICAgLy8gQ0hFSUdIVCAgIC8qIDI0OSAtIEVYUF9PUF9DVFJMX0hFSUdIVCAgKi9cclxuICAgIG51bGwsICAgIC8vIEVVUk9DTlYgICAgLyogMjUwIC0gRVhQX09QX0VVUk9DTlYgICAgICAqL1xyXG4gICAgbnVsbCwgICAgLy8gRVVST1VQRCAgICAvKiAyNTEgLSBFWFBfT1BfRVVST1VQRCAgICAgICovXHJcbiAgICBudWxsLCAgICAvLyBFVVJPU0VUICAgIC8qIDI1MiAtIEVYUF9PUF9FVVJPU0VUICAgICAgKi9cclxuICAgIG51bGwsICAgIC8vIEVVUk9HRVQgICAgLyogMjUzIC0gRVhQX09QX0VVUk9HRVQgICAgICAqL1xyXG4gICAgbnVsbCwgICAgLy8gRVVST0RFTCAgICAvKiAyNTQgLSBFWFBfT1BfRVVST0RFTCAgICAgICovXHJcbiAgICBudWxsLCAgICAvLyBESVJGSVJTVCAgLyogMjU1IC0gRVhQX09QX0RJUl9GSVJTVCAgICAqL1xyXG4gICAgbnVsbCwgICAgLy8gRElSTkVYVCAvKiAyNTYgLSBFWFBfT1BfRElSX05FWFQgICAgICovXHJcbiAgICBudWxsLCAgICAvLyBEQkRJU0NOVCAgc2VydmVyIG9ubHkgLyogMjU3IC0gRVhQX09GX0RCRElTQ05UICAgICAqL1xyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLCAgICAgLy8gQ0xSQ0FDSEUgIHNlcnZlciBvbmx5ICAvKiAyNjAgLSBFWFBfT1BfQ0xFQVJfQ0FDSEUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgICAvLyBTRVRDUlNSXHJcblxyXG4gICAgLy8gVXNlciBkZWZpbmVkIGZ1bmN0aW9uXHJcbiAgICBudWxsLCAgICAgLy8gQ0FMTERMTFxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiAyNjMgLSBFWFBfT1BfQ1RSTEhXTkQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJOXCIsIHRydWUpLCAgICAgLy8gTEFTVFBBUksvKiAyNjQgLSBFWFBfT1BfTEFTVF9DVFJMX1BBUksgKi9cclxuXHJcbiAgICBudWxsLCAgICAgLy8gQ0FMTERMTFNcclxuICAgIG51bGwsICAgICAvLyBDQUxMRExMRlxyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIkFBQUFcIiwgdHJ1ZSksICAgLy8gV0VCUkVGXHJcbiAgICBudWxsLCAgICAgLy8gTE1DSEtPVVRcclxuICAgIG51bGwsICAgICAvLyBMTUNIS0lOXHJcbiAgICBudWxsLCAgICAgLy8gUFJPR0lEWCAyNzBcclxuXHJcbiAgICAvLyBNb2RpZmljYXRpb25zIGZvciBNQUlOX1BST0dSQU1cclxuICAgIG51bGwsIC8vICBSVU5NT0RFXHJcblxyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIk5cIiwgdHJ1ZSksICAgICAgICAgICAvLyBDVVJST1dcclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgLTQsIC00LCBcIiAgICBcIiwgZmFsc2UpLCAgICAgLy8gQ0FTRSAyNzNcclxuICAgIG51bGwsXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDIsIDIsIDIsIFwiQUFcIiwgdHJ1ZSksICAgICAgICAgLy8gMjc1IExJS0VcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLCAvKiAyODAgLSBFWFBfT1BfQ1VSUl9QT1NJVElPTiAqL1xyXG4gICAgbnVsbCwgLyogMjgxIC0gRVhQX09QX0VSUl9QT1NJVElPTiAgKi9cclxuICAgIG51bGwsIC8qIDI4MiAtIEVYUF9PUF9UUkFOU01PREUgICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIC0xLCAtMSwgXCJBXCIsIGZhbHNlKSwgLy9jYWxsanNcclxuICBudWxsLCAvKiAyODQgLSBDQUxMT0JKICAgICAqL1xyXG4gICAgbnVsbCwgLyogMjg1IC0gRVhQX09QX0VSUlRBQkxFTkFNRSAgICAgKi9cclxuICAgIG51bGwsIC8qIDI4NiAtIEVYUF9PUF8gRVJSREFUQUJBU0VOQU1FICAgICovXHJcbiAgICBudWxsLCAvKiAyODcgLSBFWFBfT1BfRVJSREJNU0NPREUgICAgICovXHJcbiAgICBudWxsLCAvKiAyODggLSBFWFBfT1BfRVJSREJNU01FU1NBR0UgICAgICovXHJcbiAgICBudWxsLCAvKiAyODkgLSBFWFBfT1BfRVJSTUFHSUNOQU1FICAgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAgICAgIC8vIFRISVNcclxuICAgIG51bGwsIC8qIDI5MSAtIEVYUF9PUF9FUlIgKi9cclxuICAgIG51bGwsIC8qIDI5MiAtIE1NU1RPUCAqL1xyXG4gICAgbnVsbCwgLyogMjkzIC0gRVhQX09QX0xPQ0sgKi9cclxuICAgIG51bGwsIC8qIDI5NCAtIEVYUF9PUF9VTkxPQ0sgKi9cclxuICAgIG51bGwsIC8qIDI5NSAtIENUWE5VTSAqL1xyXG4gICAgbnVsbCwgLyogMjk2IC0gQ1RYU1RBVCAqL1xyXG4gICAgbnVsbCwgLyogMjk3IC0gQ1RYTFNUVVNFICovXHJcbiAgICBudWxsLCAvKiAyOTggLSBDVFhQUk9HICovXHJcbiAgICBudWxsLCAvKiAyOTkgLSBDVFhTSVpFICovXHJcbiAgICBudWxsLCAvKiAzMDAgLSBDVFhLSUxMICovXHJcbiAgICBudWxsLCAvKiAzMDEgLSBMTVZTVFIgKi9cclxuICAgIG51bGwsIC8qIDMwMiAtIExNVVZTVFIgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMywgMywgXCJVVVVcIiwgZmFsc2UpLCAvKiAzMDMgLSBSRVBTVFIgKi9cclxuICAgIG51bGwsIC8qIDMwNCAtIEVESVRHRVQgKi9cclxuICAgIG51bGwsIC8qIDMwNSAtIEVESVRTRVQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJOTlwiLCBmYWxzZSksIC8qIDMwNiAtIERCUk9VTkQqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIk5OXCIsIGZhbHNlKSwgLyogMzA3IC0gRVhQX09QX1ZBUlBJQyAqL1xyXG4gICAgbnVsbCwgLyogMzA4ICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiVVVcIiwgZmFsc2UpLCAvKiAzMDkgLSBTdHJUb2tlbkNudCovXHJcbiAgICBuZXcgRXhwRGVzYygnKicsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIDMxMCAtIEVYUF9PUF9WQVJDVVJSTiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiAzMTEgLSBFWFBfT1BfVkFSSU5ERVggKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiAzMTIgLSBIQU5ETEVEQ1RSTCwgRVhQX09QX0hBTkRfQ1RSTCAqL1xyXG4gICAgbnVsbCwgLyogMzEzICovXHJcbiAgICBudWxsLCAvKiAzMTQgKi9cclxuICAgIG51bGwsIC8qIDMxNSAqL1xyXG4gICAgbnVsbCwgLyogMzE2ICovXHJcbiAgICBudWxsLCAvKiAzMTcgKi9cclxuICAgIG51bGwsIC8qIDMxOCAqL1xyXG4gICAgbnVsbCwgLyogMzE5ICovXHJcbiAgICBudWxsLCAvKiAzMjAgKi9cclxuICAgIG51bGwsIC8qIDMyMSAqL1xyXG4gICAgbnVsbCwgLyogMzIyICovXHJcbiAgICBudWxsLCAvKiAzMjMgKi9cclxuICAgIG51bGwsIC8qIDMyNCAqL1xyXG4gICAgbnVsbCwgLyogMzI1ICovXHJcbiAgICBudWxsLCAvKiAzMjYgKi9cclxuICAgIG51bGwsIC8qIDMyNyAqL1xyXG4gICAgbnVsbCwgLyogMzI4ICovXHJcbiAgICBudWxsLCAvKiAzMjkgKi9cclxuICAgIG51bGwsIC8qIDMzMCAqL1xyXG4gICAgbnVsbCwgLyogMzMxICovXHJcbiAgICBudWxsLCAvKiAzMzIgKi9cclxuICAgIG51bGwsIC8qIDMzMyAqL1xyXG4gICAgbnVsbCwgLyogMzM0ICovXHJcbiAgICBudWxsLCAvKiAzMzUgKi9cclxuICAgIG51bGwsIC8qIDMzNiAqL1xyXG4gICAgbnVsbCwgLyogMzM3ICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIC0yLCAtMiwgXCIgVVwiLCB0cnVlKSwgLyogMzM4IEVYUF9PUF9DTElQQUREKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiAzMzkgRVhQX09QX0NMSVBXUklURSovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogMzQwIEVYUF9PUF9DTElQUkVBRCovXHJcbiAgICBudWxsLCAvKiAzNDEgKi9cclxuICAgIG51bGwsIC8qIDM0MiAqL1xyXG5cclxuICAgIC8vIFJlc2VydmUgcGxhY2UgZm9yIGxvY2FsIGV4dGVuZGVkIGZ1bmN0aW9ucyAtLT5cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJBXCIsIGZhbHNlKSwgLyogMzQzIC0gRVhQX09QX0pDRE9XICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIDM0NCAtIEVYUF9PUF9KTU9OVEggKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJBXCIsIGZhbHNlKSwgLyogMzQ1IC0gRVhQX09QX0pORE9XICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIDM0NiAtIEVYUF9PUF9KWUVBUiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIkFBXCIsIGZhbHNlKSwgLyogMzQ3IC0gRVhQX09QX0pHRU5HTyAqL1xyXG4gICAgbnVsbCwgLyogMzQ4ICovXHJcbiAgICBudWxsLCAvKiAzNDkgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJBXCIsIHRydWUpLCAvKiAzNTAgLSBFWFBfT1BfSEFOICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiQVwiLCB0cnVlKSwgLyogMzUxIC0gRVhQX09QX1pFTiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIkFBXCIsIHRydWUpLCAvKiAzNTIgLSBFWFBfT1BfWkVOUyAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAvKiAzNTMgLSBFWFBfT1BfWklNRVJFQUQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJBQVwiLCB0cnVlKSwgLyogMzU0IC0gRVhQX09QX1pLQU5BICovXHJcbiAgICBudWxsLCAvKiAzNTUgKi9cclxuICAgIG51bGwsIC8qIDM1NiAqL1xyXG4gICAgbnVsbCwgLyogMzU3ICovXHJcbiAgICBudWxsLCAvKiAzNTggKi9cclxuICAgIG51bGwsIC8qIDM1OSAqL1xyXG4gICAgbnVsbCwgLyogMzYwICovXHJcbiAgICBudWxsLCAvKiAzNjEgKi9cclxuICAgIG51bGwsIC8qIDM2MiAqL1xyXG4gICAgLy8gPC0tIFJlc2VydmUgcGxhY2UgZm9yIGxvY2FsIGV4dGVuZGVkIGZ1bmN0aW9uc1xyXG5cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJBVVwiLCBmYWxzZSksIC8qIDM2MyAtIEVYUF9PUF9NRU5VX05BTUUqL1xyXG4gICAgbnVsbCwgLyogMzY0ICovXHJcbiAgICBudWxsLCAvKiAzNjUgKi9cclxuICAgIG51bGwsIC8qIDM2NiAqL1xyXG4gICAgbnVsbCwgLyogMzY3ICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDMsIDMsIFwiQU5OXCIsIGZhbHNlKSwgLyogMzY4IC0gRVhQX09QX0NUUkxfR09UTyBHT1RPQ1RSTChTdHIsIE51bSwgTnVtKSA6IExvZyAqL1xyXG4gICAgbnVsbCwgLyogMzY5ICovXHJcbiAgICBudWxsLCAvKiAzNzAgKi9cclxuICAgIG51bGwsIC8qIDM3MSAqL1xyXG4gICAgbnVsbCwgLyogMzcyICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIDM3MyBFWFBfT1BfVFJBTlNMQVRFICovXHJcbiAgICBuZXcgRXhwRGVzYygnVScsIDAsIDIsIDIsIFwiVVVcIiwgZmFsc2UpLCAvKiAzNzQgKi9cclxuICAgIG51bGwsIC8qIDM3NSAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIkFBXCIsIGZhbHNlKSwgLyogMzc2IC0gRVhQX09QX0NBTExVUkwgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgLTMsIC0zLCBcIkFBQVwiLCBmYWxzZSkgICAvKiAzNzcgLSBFWFBfT1BfQ0FMTFBST0dVUkwgKi8sXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogMzc4IC0gRVhQX09QX1RSRUVMRVZFTCovXHJcbiAgICBuZXcgRXhwRGVzYygnKicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIDM3OSAgLSBFWFBfT1BfVFJFRVZBTFVFKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgLTIsIC0yLCBcIipOQVwiLCBmYWxzZSksIC8qIDM4MCAgLSBFWFBfT1BfRFJBR19TRVRfREFUQSAqL1xyXG4gICAgbnVsbCwgLyogMzgxICAtIEVYUF9PUF9EUkFHX1NFVF9DVVJTT1IgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgLTEsIC0xLCBcIipOQVwiLCBmYWxzZSksIC8qIDM4MiAgLSBFWFBfT1BfRFJPUF9GT1JNQVQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcqJywgMCwgLTEsIC0xLCBcIipOQVwiLCBmYWxzZSksIC8qIDM4MyAgLSBFWFBfT1BfR0VUX0RST1BfREFUQSAqL1xyXG4gICAgbnVsbCwgLyogMzg0ICovXHJcbiAgICBudWxsLCAvKiAzODUgKi9cclxuICAgIG51bGwsIC8qIDM4NiAqL1xyXG4gICAgbnVsbCwgLyogMzg3ICovXHJcbiAgICBudWxsLCAvKiAzODggKi9cclxuICAgIG51bGwsIC8qIDM4OSAqL1xyXG4gICAgbnVsbCwgLyogMzkwICovXHJcbiAgICBudWxsLCAvKiAzOTEgKi9cclxuICAgIG51bGwsIC8qIDM5MiAqL1xyXG4gICAgbnVsbCwgLyogMzkzICovXHJcbiAgICBudWxsLCAvKiAzOTQgKi9cclxuICAgIG51bGwsIC8qIDM5NSAqL1xyXG4gICAgbnVsbCwgLyogMzk2ICovXHJcbiAgICBudWxsLCAvKiAzOTcgKi9cclxuICAgIG51bGwsIC8qIDM5OCAqL1xyXG4gICAgbnVsbCwgLyogMzk5ICovXHJcbiAgICBudWxsLCAvKiA0MDAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpICAgIC8qIDQwMSAtIEVYUF9PUF9MT09QQ09VTlRFUiAqLyxcclxuICAgIG51bGwsIC8qIDQwMiAqL1xyXG4gICAgbnVsbCwgLyogNDAzICovXHJcbiAgICBudWxsLCAvKiA0MDQgKi9cclxuICAgIG51bGwsIC8qIDQwNSAqL1xyXG4gICAgbnVsbCwgLyogNDA2ICovXHJcbiAgICBudWxsLCAvKiA0MDcgKi9cclxuICAgIG51bGwsIC8qIDQwOCAqL1xyXG4gICAgbnVsbCwgLyogNDA5ICovXHJcbiAgICBudWxsLCAvKiA0MTAgKi9cclxuICAgIG51bGwsIC8qIDQxMSAqL1xyXG4gICAgbnVsbCwgLyogNDEyICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogNDEzIC0gRVhQX09QX0RST1BfR0VUX1ggKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiA0MTQgLSBFWFBfT1BfRFJPUF9HRVRfWSAqL1xyXG4gICAgbnVsbCwgLyogNDE1ICovXHJcbiAgICBudWxsLCAvKiA0MTYgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcqJywgMCwgMiwgMiwgXCJPTlwiLCBmYWxzZSksIC8qIDQxNyAgVmVjR2V0ICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDMsIDMsIFwiVk4gXCIsIGZhbHNlKSwgLyogNDE4ICBWZWNTZXQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJPXCIsIGZhbHNlKSwgLyogNDE5ICBWZWNTaXplKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJPXCIsIGZhbHNlKSwgLyogNDIwICBWZWNDZWxsQXR0ciovXHJcbiAgICBudWxsLCAvKiA0MjEgKi9cclxuICAgIG51bGwsIC8qIDQyMiAqL1xyXG4gICAgbnVsbCwgLyogNDIzICovXHJcbiAgICBudWxsLCAvKiA0MjQgKi9cclxuICAgIG51bGwsIC8qIDQyNSAqL1xyXG4gICAgbnVsbCwgLyogNDI2ICovXHJcbiAgICBudWxsLCAvKiA0MjcgKi9cclxuICAgIG51bGwsIC8qIDQyOCAqL1xyXG4gICAgbnVsbCwgLyogNDI5ICovXHJcbiAgICBudWxsLCAvKiA0MzAgKi9cclxuICAgIG51bGwsIC8qIDQzMSAqL1xyXG4gICAgbnVsbCwgLyogNDMyICovXHJcbiAgICBudWxsLCAvKiA0MzMgKi9cclxuICAgIG51bGwsIC8qIDQzNCAqL1xyXG4gICAgbnVsbCwgLyogNDM1ICovXHJcbiAgICBudWxsLCAvKiA0MzYgKi9cclxuICAgIG51bGwsIC8qIDQzNyAqL1xyXG4gICAgbnVsbCwgLyogNDM4ICovXHJcbiAgICBudWxsLCAvKiA0MzkgKi9cclxuICAgIG51bGwsIC8qIDQ0MCAqL1xyXG4gICAgbnVsbCwgLyogNDQxICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiT1wiLCBmYWxzZSksIC8qIDQ0MiAgQmxvYlNpemUqL1xyXG4gICAgbnVsbCwgLyogNDQzICovXHJcbiAgICBudWxsLCAvKiA0NDQgKi9cclxuICAgIG51bGwsIC8qIDQ0NSAqL1xyXG4gICAgbnVsbCwgLyogNDQ2ICovXHJcbiAgICBudWxsLCAvKiA0NDcgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMywgMywgXCJVVVVcIiwgZmFsc2UpLCAvKiA0NDggLSBTdHJUb2tlbklkeCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAgICAgIC8vIEVYUF9PUF9NVElNRSAgICAgLyogNDQ5ICovXHJcbiAgICBuZXcgRXhwRGVzYygnVCcsIDAsIDIsIDIsIFwiVVVcIiwgdHJ1ZSksICAgICAgLy8gRVhQX09QX01UVkFMICAgICAvKiA0NTAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMiwgMiwgXCJOVVwiLCB0cnVlKSwgICAgICAgLy8gRVhQX09QX01UU1RSICAgICAvKiA0NTEgKi9cclxuICAgIG51bGwsIC8qIDQ1MiAqL1xyXG4gICAgbnVsbCwgLyogNDUzICovXHJcbiAgICBudWxsLCAvKiA0NTQgKi9cclxuICAgIG51bGwsIC8qIDQ1NSAqL1xyXG4gICAgbnVsbCwgLyogNDU2ICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiIFwiLCBmYWxzZSksIC8qIEVYUF9PUF9UUkVFTk9ERUdPVE8gNDU3ICovXHJcbiAgICBudWxsLCAvKiA0NTggKi9cclxuICAgIG51bGwsIC8qIDQ1OSAqL1xyXG4gICAgbnVsbCwgLyogNDYwICovXHJcbiAgICBudWxsLCAvKiA0NjEgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgLTIsIC0yLCBcIiAgXCIsIHRydWUpLCAgICAvLyBFWFBfT1BfSU4gICAgIC8qIDQ2MiAqL1xyXG4gICAgbnVsbCwgLyogNDYzICovXHJcbiAgICBudWxsLCAvKiA0NjQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiA0NjUgKi9cclxuICAgIG51bGwsIC8qIDQ2NiAqL1xyXG4gICAgbnVsbCwgLyogNDY3ICovXHJcbiAgICBudWxsLCAvKiA0NjggKi9cclxuICAgIG51bGwsIC8qIDQ2OSAqL1xyXG4gICAgbnVsbCwgLyogNDcwICovXHJcbiAgICBudWxsLCAgICAvLyBFWFBfT1BfRElSRExHXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiTk5cIiwgdHJ1ZSksICAgLy8gRVhQX09QX01BUktURVhUXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiVVwiLCB0cnVlKSwgICAgLy8gRVhQX09QX01BUktURVhUU0VUXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIHRydWUpLCAgICAgLy8gRVhQX09QX01BUktURVhUR0VUXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDAsIDAsIFwiXCIsIHRydWUpLCAgICAgLy8gRVhQX09QX0NBUkVUUE9TR0VUXHJcbiAgICBudWxsLCAvKiA0NzYgKi9cclxuICAgIG51bGwsIC8qIDQ3NyAqL1xyXG4gICAgbnVsbCwgLyogNDc4ICovXHJcbiAgICBudWxsLCAvKiA0NzkgKi9cclxuICAgIG51bGwsIC8qIDQ4MCAqL1xyXG4gICAgbnVsbCwgLyogNDgxICovXHJcbiAgICBudWxsLCAvKiA0ODIgKi9cclxuICAgIG51bGwsIC8qIDQ4MyAqL1xyXG4gICAgbnVsbCwgLyogNDg0ICovXHJcbiAgICBudWxsLCAvKiA0ODUgKi9cclxuICAgIG51bGwsIC8qIDQ4NiAqL1xyXG4gICAgbnVsbCwgLyogNDg3ICovXHJcbiAgICBudWxsLCAvKiA0ODggKi9cclxuICAgIG51bGwsIC8qIDQ4OSAqL1xyXG4gICAgbnVsbCwgLyogNDkwICovXHJcbiAgICBuZXcgRXhwRGVzYygnVScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgICAgLy8gRVhQX09QX05VTExfVSAgICAgIDQ5MVxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIk5BXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9NTlVBREQgICAgICA0OTJcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgLTEsIC0xLCBcIk5BXCIsIGZhbHNlKSwgLy8gRVhQX09QX01OVVJFTU9WRSAgIDQ5M1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksICAgIC8vIEVYUF9PUF9NTlVSRVNFVCAgICA0OTRcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiBFWFBfT1BfTU5VICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAtMTYsIC0xNiwgXCIgICAgICAgICAgICAgICBcIiwgZmFsc2UpLCAvLyBFWFBfT1BfVVNFUl9ERUZJTkVEX0ZVTkMgICA0OTZcclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgICAvLyBFWFBfT1BfU1VCRk9STV9FWEVDX01PREUgICAgNDk3XHJcbiAgICBudWxsLCAvKiA0OTggKi9cclxuICAgIG51bGwsIC8qIDQ5OSAqL1xyXG4gICAgbnVsbCwgLyogNTAwICovXHJcbiAgICBudWxsLCAvKiA1MDEgKi9cclxuICAgIG51bGwsIC8qIDUwMiAqL1xyXG4gICAgbnVsbCwgLyogNTAzICovXHJcbiAgICBudWxsLCAvKiA1MDQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgIC8vIEVYUF9PUF9VTklDT0RFQ0hSICAgNTA1XHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiVVwiLCBmYWxzZSksICAvLyBFWFBfT1BfVU5JQ09ERUFTQyAgIDUwNlxyXG4gICAgbmV3IEV4cERlc2MoJ1UnLCAwLCAyLCAyLCBcIkFOXCIsIGZhbHNlKSwgLy8gRVhQX09QX1VOSUNPREVGUk9NQU5TSSAgIDUwN1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAyLCAyLCBcIlVOXCIsIGZhbHNlKSwgLy8gRVhQX09QX1VOSUNPREVUT0FOU0kgICA1MDhcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgOCwgOCwgXCJWVk5OTk5OTlwiLCBmYWxzZSksIC8vIEVYUF9PUF9BREREVCA1MDlcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgNiwgNiwgXCJEVERUVlZcIiwgZmFsc2UpLCAvKiBFWFBfT1BfRElGRFQgNTEwICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qRVhQX09QX0lTRklSU1RSRUNPUkRDWUNMRSovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9NQUlOTEVWRUwgICAgKi9cclxuICAgIG51bGwsIC8qIDUxMyAqL1xyXG4gICAgbnVsbCwgLyogNTE0ICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9NQUlORElTUExBWSAqL1xyXG4gICAgbnVsbCwgLyogNTE2ICovXHJcbiAgICBudWxsLCAvKiA1MTcgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJVXCIsIGZhbHNlKSwgLyogRVhQX09QX1NFVFdJTkRPV19GT0NVUyAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAyLCAyLCBcIkFCXCIsIGZhbHNlKSwgLyogRVhQX09QX01FTlVfSURYIDUxOSAqL1xyXG4gICAgbnVsbCwgLyogNTIwICovXHJcbiAgICBudWxsLCAvKiA1MjEgKi9cclxuICAgIG51bGwsIC8qIDUyMiAqL1xyXG4gICAgbnVsbCwgLyogNTIzICovXHJcbiAgICBudWxsLCAvKiA1MjQgKi9cclxuICAgIG51bGwsIC8qIDUyNSAqL1xyXG4gICAgbnVsbCwgLyogNTI2ICovXHJcbiAgICBudWxsLCAvKiA1MjcgKi9cclxuICAgIG51bGwsIC8qIDUyOCAqL1xyXG4gICAgbnVsbCwgLyogNTI5ICovXHJcbiAgICBudWxsLCAvKiA1MzAgKi9cclxuICAgIG51bGwsIC8qIDUzMSAqL1xyXG4gICAgbnVsbCwgLyogNTMyICovXHJcbiAgICBudWxsLCAvKiA1MzMgKi9cclxuICAgIG51bGwsIC8qIDUzNCAqL1xyXG4gICAgbnVsbCwgLyogNTM1ICovXHJcbiAgICBudWxsLCAvKiA1MzYgKi9cclxuICAgIG51bGwsIC8qIDUzNyAqL1xyXG4gICAgbnVsbCwgLyogNTM4ICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9EQlZJRVdTSVpFICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9EQlZJRVdST1dJRFggICovXHJcbiAgICBuZXcgRXhwRGVzYygnUycsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX1BST0pFQ1RESVIgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIEVYUF9PUF9GT1JNU1RBVEVDTEVBUiAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9QVUJMSUNOQU1FICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9UQVNLSUQgICAgICAgICovXHJcbiAgICBudWxsLCAvKiA1NDUgKi9cclxuICAgIG51bGwsIC8qIDU0NiAqL1xyXG4gICAgbnVsbCwgLyogNTQ3ICovXHJcbiAgICBudWxsLCAvKiA1NDggKi9cclxuICAgIG5ldyBFeHBEZXNjKCdBJywgMCwgLTIsIC0yLCBcIlVVXCIsIGZhbHNlKSwgLyogRVhQX09QX1NUUl9CVUlMRCAqL1xyXG4gICAgbnVsbCwgLyogNTUwICovXHJcblxyXG4gICAgbmV3IEV4cERlc2MoJ08nLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiA1NTEgRVhQX09QX0NMSUVOVF9GSUxFMkJMT0IqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIk9BXCIsIGZhbHNlKSwgLyogNTUyIEVYUF9PUF9DTElFTlRfQkxPQjJGSUxFKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJBQVwiLCBmYWxzZSksIC8qIDU1MyBFWFBfT1BfQ0xJRU5UX0ZJTEVDT1BZKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJBXCIsIGZhbHNlKSwgLyogNTU0IEVYUF9PUF9DTElFTlRfRklMRURFTCovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDEsIDEsIFwiQVwiLCBmYWxzZSksIC8qIDU1NSBFWFBfT1BfQ0xJRU5UX0ZJTEVFWElTVCovXHJcbiAgICBuZXcgRXhwRGVzYygnTycsIDAsIDMsIDMsIFwiQUFCXCIsIGZhbHNlKSwgLyogNTU2IEVYUF9PUF9DTElFTlRfRklMRV9MSVNUX0dFVCovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiQUFcIiwgZmFsc2UpLCAvKiA1NTcgRVhQX09QX0NMSUVOVF9GSUxFUkVOKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJBXCIsIGZhbHNlKSwgLyogNTU4IEVYUF9PUF9DTElFTlRfRklMRVNJWkUqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiA1NTkgRVhQX09QX0NMSUVOVF9PU19FTlZfR0VUKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJBQVwiLCBmYWxzZSksIC8qIDU2MCBFWFBfT1BfQ0xJRU5UX09TX0VOVl9TRVQqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAvKiA1NjEgRVhQX09QX0VNUFRZX0RBVEFfVklFVyovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiQUFcIiwgZmFsc2UpLCAvKiBFWFBfT1BfQlJPV1NFUl9TRVRfQ09OVEVOVCA1NjIgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiBFWFBfT1BfQlJPV1NFUl9HRVRfQ09OVEVOVCA1NjMgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAtMywgLTMsIFwiQUFCVVwiLCBmYWxzZSksIC8qIEVYUF9PUF9CUk9XU0VSX1NDUklQVF9FWEVDVVRFIDU2NCovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogRVhQX09QX0NMSUVOVF9HRVRfVU5JUVVFX01DX0lEIDU2NSovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiQU5cIiwgZmFsc2UpLCAvKiBFWFBfT1BfQ1RSTF9DTElFTlRfQ1ggNTY2ICAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJBTlwiLCBmYWxzZSksIC8qIEVYUF9PUF9DVFJMX0NMSUVOVF9DWCA1NjcgICAgICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiVVwiLCBmYWxzZSksIC8qIEVYUF9PUF9TVEFUVVNCQVJTRVRURVhUIDU2OCAgICAgKi9cclxuICAgIG51bGwsIC8qIDU2OSAqL1xyXG4gICAgbnVsbCwgLyogNTcwICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDIsIDIsIFwiQU5cIiwgZmFsc2UpLCAvKiBFWFBfT1BfQ0xJRU5UX0ZJTEVJTkZPIDU3MSAgICAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCA1LCA1LCBcIkFBQUJCXCIsIHRydWUpLCAvKiBFWFBfT1BfQ0xJRU5UX0ZJTEVPUEVORExHIDU3MiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCA1LCA1LCBcIkFBQUFCXCIsIHRydWUpLCAvKiBFWFBfT1BfQ0xJRU5UX0ZJTEVTQVZFRExHIDU3MyAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAzLCAzLCBcIkFBQlwiLCB0cnVlKSwgLyogRVhQX09QX0NMSUVOVF9ESVJETEcgNTc0Ki9cclxuICAgIG51bGwsIC8qIDU3NSAqL1xyXG4gICAgbnVsbCwgLyogNTc2ICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDQsIDQsIFwiVVVVQlwiLCB0cnVlKSwgLypFWFBfT1BfQ0xJRU5UX1JFRElSRUNUIDU3NyovXHJcbiAgICBudWxsLCAvKiA1NzggKi9cclxuICAgIG51bGwsIC8qIDU3OSAqL1xyXG4gICAgbnVsbCwgLyogNTgwICovXHJcbiAgICBudWxsLCAvKiA1ODEgKi9cclxuICAgIG51bGwsIC8qIDU4MiAqL1xyXG4gICAgbnVsbCwgLyogNTgzICovXHJcbiAgICBudWxsLCAvKiA1ODQgKi9cclxuICAgIG51bGwsIC8qIDU4NSAqL1xyXG4gICAgbnVsbCwgLyogNTg2ICovXHJcbiAgICBudWxsLCAvKiA1ODcgKi9cclxuICAgIG51bGwsIC8qIDU4OCAqL1xyXG4gICAgbnVsbCwgLyogNTg5ICovXHJcbiAgICBudWxsLCAvKiA1OTAgKi9cclxuICAgIG51bGwsIC8qIDU5MSAqL1xyXG4gICAgbnVsbCwgLyogNTkyICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDAsIDAsIFwiXCIsIHRydWUpLCAvKkVYUF9PUF9JU19NT0JJTEVfQ0xJRU5UIDU5MyovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDAsIDAsIFwiXCIsIHRydWUpLCAvKkVYUF9PUF9DTElFTlRfU0VTU0lPTl9TVEFUSVNUSUNTX0dFVCA1OTQqL1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAzLCAzLCBcIkVOQVwiLCBmYWxzZSksIC8qIDU5NSAtIEVYUF9PUF9ETl9NRU1CRVIgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMywgMywgXCJFTkFcIiwgZmFsc2UpLCAvKiA1OTYgLSBFWFBfT1BfRE5fU1RBVElDX01FTUJFUiAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAtMywgLTMsIFwiRU5BXCIsIGZhbHNlKSwgLyogNTk3IC0gRVhQX09QX0ROX01FVEhPRCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAtMywgLTMsIFwiRU5BXCIsIGZhbHNlKSwgLyogNTk4IC0gRVhQX09QX0ROX1NUQVRJQ19NRVRIT0QgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgLTIsIC0yLCBcIkVOXCIsIGZhbHNlKSwgLyogNTk5IC0gRVhQX09QX0ROX0NUT1IgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgLTIsIC0yLCBcIkVOXCIsIGZhbHNlKSwgLyogNjAwIC0gRVhQX09QX0ROX0FSUkFZX0NUT1IgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgLTIsIC0yLCBcIkVOXCIsIGZhbHNlKSwgLyogNjAxIC0gRVhQX09QX0ROX0FSUkFZX0VMRU1FTlQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgLTMsIC0zLCBcIk5FIFwiLCBmYWxzZSksIC8qIDYwMiAtIEVYUF9PUF9ETl9JTkRFWEVSICovXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIDMsIDMsIFwiRU5BXCIsIGZhbHNlKSwgLyogNjAzIC0gRVhQX09QX0ROX1BST1BfR0VUICovXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIDMsIDMsIFwiRU5BXCIsIGZhbHNlKSwgLyogNjA0IC0gRVhQX09QX0ROX1NUQVRJQ19QUk9QX0dFVCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyAnLCAwLCAyLCAyLCBcIkVBXCIsIGZhbHNlKSwgLyogNjA1IC0gRVhQX09QX0ROX0VOVU0gKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMiwgMiwgXCJFRVwiLCBmYWxzZSksIC8qIDYwNiAtIEVYUF9PUF9ETl9DQVNUICovXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIDEsIDEsIFwiIFwiLCBmYWxzZSksIC8qIDYwNyAtIEVYUF9PUF9ETl9SRUYgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMiwgMiwgXCIgIFwiLCBmYWxzZSksIC8qIDYwOCAtIEVYUF9PUF9ETl9TRVQgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMiwgMiwgXCJOQVwiLCBmYWxzZSksIC8qIDYwOSAtIEVYUF9PUF9ETlRZUEUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiA2MTAgLSBFWFBfT1BfRE5fRVhDRVBUSU9OICovXHJcbiAgICBuZXcgRXhwRGVzYygnICcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogNjExIC0gRVhQX09QX0ROX0VYQ0VQVElPTl9PQ0NVUkVEICovXHJcbiAgICBuZXcgRXhwRGVzYygnQScsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIDYxMiAtIEVYUF9PUF9UQVNLVFlQRSAqL1xyXG4gICAgbnVsbCwgLyogNjEzIC0gRVhQX09QX0RPVE5FVCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0EnLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiA2MTQgLSBFWFBfT1BfU0VSVkVSX0ZJTEVfVE9fQ0xJRU5UICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDIsIDIsIFwiQUFcIiwgZmFsc2UpLCAvKiA2MTUgLSBFWFBfT1BfQ0xJRU5UX0ZJTEVfVE9fU0VSVkVSICovXHJcbiAgICBudWxsLCAvKiA2MTYgLSBFWFBfT1BfUkFOR0VfQUREICovXHJcbiAgICBudWxsLCAvKiA2MTcgLSBFWFBfT1BfUkFOR0VfUkVTRVQgKi9cclxuICAgIG51bGwsIC8qIDYxOCAtIEVYUF9PUF9MT0NBVEVfQUREICovXHJcbiAgICBudWxsLCAvKiA2MTkgLSBFWFBfT1BfTE9DQVRFX1JFU0VUICovXHJcbiAgICBudWxsLCAvKiA2MjAgLSBFWFBfT1BfU09SVF9BREQgKi9cclxuICAgIG51bGwsIC8qIDYyMSAtIEVYUF9PUF9TT1JUX1JFU0VUICovXHJcbiAgICBuZXcgRXhwRGVzYygnTicsIDAsIDEsIDEsIFwiTlwiLCBmYWxzZSksIC8qIDYyMiAtIEVYUF9PUF9UU0tfSU5TVEFOQ0UgKi9cclxuICAgIG51bGwsIC8qIDYyMyAtIEVYUF9PUF9SUUhUVFBTVEFUVVNDT0RFICovXHJcbiAgICBudWxsLCAvKiA2MjQgLSBFWFBfT1BfSFRUUENBTEwgKi9cclxuICAgIG5ldyBFeHBEZXNjKCcgJywgMCwgMywgMywgXCJOQUFcIiwgZmFsc2UpLCAvKiA2MjUgLSBFWFBfT1BfREFUQVZJRVdfVE9fRE5fREFUQVRBQkxFICovXHJcbiAgICBudWxsLCAvKiA2MjYgLSBFWFBfT1BfR0VUX1BBUkFNX05BTUVTICovXHJcbiAgICBudWxsLCAvKiA2MjcgLSBFWFBfT1BfU0hBUkVEX1ZBTF9HRVRfTkFNRVMgKi9cclxuICAgIG51bGwsIC8qIDYyOCAtIEVYUF9PUF9HRVRfUEFSQU1fQVRUUiAqL1xyXG4gICAgbnVsbCwgLyogNjI5IC0gRVhQX09QX1NIQVJFRF9WQUxfR0VUX0FUVFIgKi9cclxuICAgIG51bGwsIC8qIDYzMCAtIEVYUF9PUF9TRVJWRVJfTEFTVF9BQ0NFU1NfU1RBVFVTICovXHJcbiAgICBudWxsLFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAyLCAyLCBcIkEgXCIsIGZhbHNlKSwgLyogNjMyIC0gRVhQX09QX0NMSUVOVFNFU1NJT05fU0VUICovXHJcbiAgICBuZXcgRXhwRGVzYygnRCcsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogNjMzIC0gRVhQX09QX0RBVEUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdUJywgMCwgMCwgMCwgXCJcIiwgZmFsc2UpLCAvKiA2MzQgLSBFWFBfT1BfVElNRSAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ04nLCAwLCAwLCAwLCBcIlwiLCBmYWxzZSksIC8qIDYzNSAtIEVYUF9PUF9NVElNRSAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAxLCAxLCBcIkFcIiwgZmFsc2UpLCAvKiA2MzYgLSBFWFBfT1BfQ0xJRU5UX0RCX0RJU0NPTk5FQ1QgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgNSwgNSwgXCJOQU5BQVwiLCBmYWxzZSksIC8qIDYzNyAtIEVYUF9PUF9EQVRBVklFV19UT19EQVRBU09VUkNFICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiTkFcIiwgZmFsc2UpLCAvKiA2MzggLSBFWFBfT1BfQ0xJRU5UX0RCX0RFTCAqL1xyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbmV3IEV4cERlc2MoJyonLCAwLCAtMiwgLTIsIFwiQUFcIiwgZmFsc2UpLCAvKiA2NDUgLSBFWFBfT1BfQ0xJRU5UX05BVElWRV9DT0RFX0VYRUNVVElPTiAqL1xyXG4gICAgbnVsbCxcclxuICAgIG5ldyBFeHBEZXNjKCdVJywgMCwgMSwgMSwgXCJWXCIsIGZhbHNlKSwgLyogNjQ3IC0gRVhQX09QX1ZBUkRJU1BMQVlOQU1FICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiTkJcIiwgZmFsc2UpLCAgICAgIC8vIDY0OCBFWFBfT1BfQ09OVFJPTFNfUEVSU0lTVEVOQ1lfQ0xFQVJcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMiwgMiwgXCJBTlwiLCBmYWxzZSksIC8qIDY0OSAtIEVYUF9PUF9DT05UUk9MX0lURU1TX1JFRlJFU0ggKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJWXCIsIGZhbHNlKSwgLyogNjUwIC0gRVhQX09QX1ZBUkNPTlRST0xJRCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ1UnLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAvKiA2NTEgLSBFWFBfT1BfQ09OVFJPTElURU1TTElTVCAqL1xyXG4gICAgbmV3IEV4cERlc2MoJ1UnLCAwLCAxLCAxLCBcIk5cIiwgZmFsc2UpLCAvKiA2NTIgLSBFWFBfT1BfQ09OVFJPTERJU1BMQVlMSVNUICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIC0yLCAtMiwgXCJBVVwiLCBmYWxzZSksIC8qIDY1MyAtIEVYUF9PUF9DTElFTlRfU1FMX0VYRUNVVEUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJOQlwiLCBmYWxzZSksIC8qIDY1NCAtIEVYUF9PUF9QSVhFTFNUT0ZST01VTklUUyAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMiwgMiwgXCJOQlwiLCBmYWxzZSksIC8qIDY1NSAtIEVYUF9PUF9GT1JNVU5JVFNUT1BJWEVMUyAgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdOJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgLyogNjU2IC0gRVhQX09QX0NPTlRST0xfU0VMRUNUX1BST0dSQU0gKi9cclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCwgLyogNjU5IC0gRVhQX09QX0NPTE9SX1NFVCAqL1xyXG4gICAgbnVsbCwgLyogNjYwIC0gRVhQX09QX0ZPTlRfU0VUICovXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbmV3IEV4cERlc2MoJ1MnLCAwLCA1LCA1LCBcIk5OTk5CXCIsIGZhbHNlKSwgLyogNjY1IC0gRVhQX09QX0NMSUVOVF9JTUFHRV9DQVBUVVJFICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDIsIDIsIFwiVVVcIiwgZmFsc2UpLCAvKiA2NjYgLSBFWFBfT1BfUFJPR1JFU1NfRElBTE9HX1NFVCAqL1xyXG4gICAgbnVsbCwgLyo2NjcqL1xyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLCAvKjY4MCAqL1xyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJVXCIsIGZhbHNlKSwgLyogNjg3IC0gRVhQX09QX1NFVF9USVRMRSAqL1xyXG4gICAgbnVsbCxcclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwgMSwgXCJOXCIsIGZhbHNlKSwgLyogNjg5IC0gRVhQX09QX0lTX1JPV19FRElUSU5HICovXHJcbiAgICBuZXcgRXhwRGVzYygnQicsIDAsIDAsIDAsIFwiXCIsIGZhbHNlKSwgLyogNjkwIC0gRVhQX09QX0lTX0xPR0dFRF9JTiovXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbnVsbCxcclxuICAgIG51bGwsXHJcbiAgICBudWxsLFxyXG4gICAgbmV3IEV4cERlc2MoJ0InLCAwLCAtMiwtMiwgJyonLCBmYWxzZSksIC8qIDcwMS0gU2V0X0Nvb2tpZSAqL1xyXG4gICAgbmV3IEV4cERlc2MoJyonLCAwLCAxLDEsICdBJywgZmFsc2UpLCAvKiA3MDItIEdldF9Db29raWUgKi9cclxuICAgIG5ldyBFeHBEZXNjKCdCJywgMCwgMSwxLCAnQScsIGZhbHNlKSwgLyogNzAzLSBEZWxldGVfQ29va2llICovXHJcbiAgICBudWxsLFxyXG4gICAgbmV3IEV4cERlc2MoJ1UnLCAwLCAwLDAsICcnLCBmYWxzZSksIC8qIDcwNS0gUm91dGVHZXQgKi9cclxuICBdO1xyXG5cclxufVxyXG4iXX0=