@rockcarver/frodo-lib 1.0.0 → 2.0.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/CHANGELOG.md +3 -7
  2. package/cjs/api/AgentApi.js +91 -37
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js.map +1 -1
  6. package/cjs/api/AuthenticateApi.js +18 -11
  7. package/cjs/api/AuthenticateApi.js.map +1 -1
  8. package/cjs/api/AuthenticateApi.test.js.map +1 -1
  9. package/cjs/api/BaseApi.js +50 -26
  10. package/cjs/api/BaseApi.js.map +1 -1
  11. package/cjs/api/CirclesOfTrustApi.js +47 -23
  12. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  13. package/cjs/api/IdmConfigApi.js +54 -21
  14. package/cjs/api/IdmConfigApi.js.map +1 -1
  15. package/cjs/api/IdmSystemApi.js +9 -6
  16. package/cjs/api/IdmSystemApi.js.map +1 -1
  17. package/cjs/api/ManagedObjectApi.js +49 -27
  18. package/cjs/api/ManagedObjectApi.js.map +1 -1
  19. package/cjs/api/NodeApi.js +71 -32
  20. package/cjs/api/NodeApi.js.map +1 -1
  21. package/cjs/api/NodeApi.test.js.map +1 -1
  22. package/cjs/api/OAuth2ClientApi.js +43 -20
  23. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  24. package/cjs/api/OAuth2OIDCApi.js +74 -27
  25. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  26. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
  27. package/cjs/api/OAuth2ProviderApi.js +10 -9
  28. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  29. package/cjs/api/PoliciesApi.js +54 -22
  30. package/cjs/api/PoliciesApi.js.map +1 -1
  31. package/cjs/api/PoliciesApi.test.js.map +1 -1
  32. package/cjs/api/PolicySetApi.js +54 -23
  33. package/cjs/api/PolicySetApi.js.map +1 -1
  34. package/cjs/api/PolicySetApi.test.js.map +1 -1
  35. package/cjs/api/RealmApi.js +73 -29
  36. package/cjs/api/RealmApi.js.map +1 -1
  37. package/cjs/api/ResourceTypesApi.js +67 -28
  38. package/cjs/api/ResourceTypesApi.js.map +1 -1
  39. package/cjs/api/ResourceTypesApi.test.js.map +1 -1
  40. package/cjs/api/Saml2Api.js +90 -122
  41. package/cjs/api/Saml2Api.js.map +1 -1
  42. package/cjs/api/ScriptApi.js +54 -23
  43. package/cjs/api/ScriptApi.js.map +1 -1
  44. package/cjs/api/ServerInfoApi.js +23 -10
  45. package/cjs/api/ServerInfoApi.js.map +1 -1
  46. package/cjs/api/ServiceApi.js +91 -42
  47. package/cjs/api/ServiceApi.js.map +1 -1
  48. package/cjs/api/SocialIdentityProvidersApi.js +70 -31
  49. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  50. package/cjs/api/TreeApi.js +43 -20
  51. package/cjs/api/TreeApi.js.map +1 -1
  52. package/cjs/api/TreeApi.test.js.map +1 -1
  53. package/cjs/api/cloud/EnvInfoApi.js +10 -6
  54. package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
  55. package/cjs/api/cloud/FeatureApi.js +9 -6
  56. package/cjs/api/cloud/FeatureApi.js.map +1 -1
  57. package/cjs/api/cloud/LogApi.js +48 -18
  58. package/cjs/api/cloud/LogApi.js.map +1 -1
  59. package/cjs/api/cloud/SecretsApi.js +109 -35
  60. package/cjs/api/cloud/SecretsApi.js.map +1 -1
  61. package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
  62. package/cjs/api/cloud/StartupApi.js +21 -10
  63. package/cjs/api/cloud/StartupApi.js.map +1 -1
  64. package/cjs/api/cloud/StartupApi.test.js.map +1 -1
  65. package/cjs/api/cloud/VariablesApi.js +52 -20
  66. package/cjs/api/cloud/VariablesApi.js.map +1 -1
  67. package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
  68. package/cjs/api/utils/ApiUtils.js +2 -5
  69. package/cjs/api/utils/ApiUtils.js.map +1 -1
  70. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  71. package/cjs/index.js +22 -17
  72. package/cjs/index.js.map +1 -1
  73. package/cjs/lib/FrodoLib.js +142 -0
  74. package/cjs/lib/FrodoLib.js.map +1 -0
  75. package/cjs/ops/AdminOps.js +578 -90
  76. package/cjs/ops/AdminOps.js.map +1 -1
  77. package/cjs/ops/AgentOps.js +956 -118
  78. package/cjs/ops/AgentOps.js.map +1 -1
  79. package/cjs/ops/AgentOps.test.js.map +1 -1
  80. package/cjs/ops/AuthenticateOps.js +155 -87
  81. package/cjs/ops/AuthenticateOps.js.map +1 -1
  82. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  83. package/cjs/ops/CirclesOfTrustOps.js +334 -291
  84. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  85. package/cjs/ops/ConnectionProfileOps.js +241 -46
  86. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  87. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  88. package/cjs/ops/EmailTemplateOps.js +84 -10
  89. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  90. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  91. package/cjs/ops/IdmOps.js +97 -81
  92. package/cjs/ops/IdmOps.js.map +1 -1
  93. package/cjs/ops/IdmOps.test.js.map +1 -1
  94. package/cjs/ops/IdpOps.js +275 -42
  95. package/cjs/ops/IdpOps.js.map +1 -1
  96. package/cjs/ops/IdpOps.test.js.map +1 -1
  97. package/cjs/ops/InfoOps.js +42 -27
  98. package/cjs/ops/InfoOps.js.map +1 -1
  99. package/cjs/ops/JoseOps.test.js.map +1 -1
  100. package/cjs/ops/JourneyOps.js +721 -126
  101. package/cjs/ops/JourneyOps.js.map +1 -1
  102. package/cjs/ops/JourneyOps.test.js.map +1 -1
  103. package/cjs/ops/ManagedObjectOps.js +79 -12
  104. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  105. package/cjs/ops/NodeOps.js +127 -100
  106. package/cjs/ops/NodeOps.js.map +1 -1
  107. package/cjs/ops/OAuth2ClientOps.js +323 -65
  108. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  109. package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
  110. package/cjs/ops/OAuth2ProviderOps.js +20 -13
  111. package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
  112. package/cjs/ops/OpsTypes.js.map +1 -1
  113. package/cjs/ops/OrganizationOps.js +67 -12
  114. package/cjs/ops/OrganizationOps.js.map +1 -1
  115. package/cjs/ops/PolicyOps.js +476 -136
  116. package/cjs/ops/PolicyOps.js.map +1 -1
  117. package/cjs/ops/PolicyOps.test.js.map +1 -1
  118. package/cjs/ops/PolicySetOps.js +402 -132
  119. package/cjs/ops/PolicySetOps.js.map +1 -1
  120. package/cjs/ops/PolicySetOps.test.js.map +1 -1
  121. package/cjs/ops/RealmOps.js +119 -84
  122. package/cjs/ops/RealmOps.js.map +1 -1
  123. package/cjs/ops/ResourceTypeOps.js +348 -95
  124. package/cjs/ops/ResourceTypeOps.js.map +1 -1
  125. package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
  126. package/cjs/ops/Saml2Ops.js +407 -145
  127. package/cjs/ops/Saml2Ops.js.map +1 -1
  128. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  129. package/cjs/ops/ScriptOps.js +256 -79
  130. package/cjs/ops/ScriptOps.js.map +1 -1
  131. package/cjs/ops/ScriptOps.test.js.map +1 -1
  132. package/cjs/ops/ServiceOps.js +328 -55
  133. package/cjs/ops/ServiceOps.js.map +1 -1
  134. package/cjs/ops/ThemeOps.js +349 -54
  135. package/cjs/ops/ThemeOps.js.map +1 -1
  136. package/cjs/ops/ThemeOps.test.js.map +1 -1
  137. package/cjs/ops/cloud/FeatureOps.js +57 -12
  138. package/cjs/ops/cloud/FeatureOps.js.map +1 -1
  139. package/cjs/ops/cloud/LogOps.js +136 -6
  140. package/cjs/ops/cloud/LogOps.js.map +1 -1
  141. package/cjs/ops/cloud/SecretsOps.js +230 -289
  142. package/cjs/ops/cloud/SecretsOps.js.map +1 -1
  143. package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
  144. package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
  145. package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
  146. package/cjs/ops/cloud/StartupOps.js +64 -9
  147. package/cjs/ops/cloud/StartupOps.js.map +1 -1
  148. package/cjs/ops/cloud/VariablesOps.js +100 -175
  149. package/cjs/ops/cloud/VariablesOps.js.map +1 -1
  150. package/cjs/ops/utils/Console.js +9 -10
  151. package/cjs/ops/utils/Console.js.map +1 -1
  152. package/cjs/ops/utils/DataProtection.js +2 -2
  153. package/cjs/ops/utils/DataProtection.js.map +1 -1
  154. package/cjs/ops/utils/ExportImportUtils.js +35 -13
  155. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  156. package/cjs/ops/utils/OpsUtils.js +7 -5
  157. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  158. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  159. package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
  160. package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
  161. package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
  162. package/cjs/ops/utils/Version.js +9 -2
  163. package/cjs/ops/utils/Version.js.map +1 -1
  164. package/cjs/shared/State.js +455 -210
  165. package/cjs/shared/State.js.map +1 -1
  166. package/cjs/shared/State.test.js.map +1 -1
  167. package/cjs/utils/AutoSetupPolly.js +4 -1
  168. package/cjs/utils/AutoSetupPolly.js.map +1 -1
  169. package/esm/api/AgentApi.mjs +75 -27
  170. package/esm/api/AgentApi.test.mjs +319 -71
  171. package/esm/api/AuthenticateApi.mjs +15 -4
  172. package/esm/api/AuthenticateApi.test.mjs +27 -8
  173. package/esm/api/BaseApi.mjs +43 -19
  174. package/esm/api/CirclesOfTrustApi.mjs +39 -17
  175. package/esm/api/IdmConfigApi.mjs +44 -13
  176. package/esm/api/IdmSystemApi.mjs +7 -3
  177. package/esm/api/ManagedObjectApi.mjs +44 -20
  178. package/esm/api/NodeApi.mjs +59 -24
  179. package/esm/api/NodeApi.test.mjs +158 -40
  180. package/esm/api/OAuth2ClientApi.mjs +36 -15
  181. package/esm/api/OAuth2OIDCApi.mjs +69 -20
  182. package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
  183. package/esm/api/OAuth2ProviderApi.mjs +8 -6
  184. package/esm/api/PoliciesApi.mjs +45 -16
  185. package/esm/api/PoliciesApi.test.mjs +63 -15
  186. package/esm/api/PolicySetApi.mjs +44 -16
  187. package/esm/api/PolicySetApi.test.mjs +48 -12
  188. package/esm/api/RealmApi.mjs +65 -24
  189. package/esm/api/ResourceTypesApi.mjs +56 -21
  190. package/esm/api/ResourceTypesApi.test.mjs +58 -14
  191. package/esm/api/Saml2Api.mjs +75 -89
  192. package/esm/api/ScriptApi.mjs +45 -17
  193. package/esm/api/ServerInfoApi.mjs +19 -6
  194. package/esm/api/ServiceApi.mjs +77 -26
  195. package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
  196. package/esm/api/TreeApi.mjs +36 -15
  197. package/esm/api/TreeApi.test.mjs +129 -34
  198. package/esm/api/cloud/EnvInfoApi.mjs +8 -3
  199. package/esm/api/cloud/FeatureApi.mjs +7 -3
  200. package/esm/api/cloud/LogApi.mjs +38 -11
  201. package/esm/api/cloud/SecretsApi.mjs +89 -21
  202. package/esm/api/cloud/SecretsApi.test.mjs +193 -50
  203. package/esm/api/cloud/StartupApi.mjs +17 -6
  204. package/esm/api/cloud/StartupApi.test.mjs +28 -11
  205. package/esm/api/cloud/VariablesApi.mjs +43 -14
  206. package/esm/api/cloud/VariablesApi.test.mjs +124 -33
  207. package/esm/api/utils/ApiUtils.mjs +2 -4
  208. package/esm/api/utils/ApiUtils.test.mjs +14 -6
  209. package/esm/index.mjs +3 -4
  210. package/esm/lib/FrodoLib.mjs +127 -0
  211. package/esm/ops/AdminOps.mjs +500 -71
  212. package/esm/ops/AgentOps.mjs +773 -81
  213. package/esm/ops/AgentOps.test.mjs +296 -113
  214. package/esm/ops/AuthenticateOps.mjs +136 -64
  215. package/esm/ops/AuthenticateOps.test.mjs +7 -4
  216. package/esm/ops/CirclesOfTrustOps.mjs +278 -229
  217. package/esm/ops/ConnectionProfileOps.mjs +206 -35
  218. package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
  219. package/esm/ops/EmailTemplateOps.mjs +66 -6
  220. package/esm/ops/EmailTemplateOps.test.mjs +32 -11
  221. package/esm/ops/IdmOps.mjs +60 -47
  222. package/esm/ops/IdmOps.test.mjs +54 -18
  223. package/esm/ops/IdpOps.mjs +227 -31
  224. package/esm/ops/IdpOps.test.mjs +57 -20
  225. package/esm/ops/InfoOps.mjs +36 -23
  226. package/esm/ops/JoseOps.test.mjs +8 -0
  227. package/esm/ops/JourneyOps.mjs +634 -96
  228. package/esm/ops/JourneyOps.test.mjs +73 -31
  229. package/esm/ops/ManagedObjectOps.mjs +66 -10
  230. package/esm/ops/NodeOps.mjs +108 -85
  231. package/esm/ops/OAuth2ClientOps.mjs +258 -42
  232. package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
  233. package/esm/ops/OAuth2ProviderOps.mjs +11 -8
  234. package/esm/ops/OrganizationOps.mjs +56 -8
  235. package/esm/ops/PolicyOps.mjs +379 -93
  236. package/esm/ops/PolicyOps.test.mjs +180 -65
  237. package/esm/ops/PolicySetOps.mjs +311 -88
  238. package/esm/ops/PolicySetOps.test.mjs +108 -39
  239. package/esm/ops/RealmOps.mjs +85 -65
  240. package/esm/ops/ResourceTypeOps.mjs +268 -61
  241. package/esm/ops/ResourceTypeOps.test.mjs +113 -27
  242. package/esm/ops/Saml2Ops.mjs +346 -106
  243. package/esm/ops/Saml2Ops.test.mjs +117 -81
  244. package/esm/ops/ScriptOps.mjs +202 -56
  245. package/esm/ops/ScriptOps.test.mjs +64 -23
  246. package/esm/ops/ServiceOps.mjs +258 -27
  247. package/esm/ops/ThemeOps.mjs +300 -33
  248. package/esm/ops/ThemeOps.test.mjs +197 -47
  249. package/esm/ops/cloud/FeatureOps.mjs +45 -10
  250. package/esm/ops/cloud/LogOps.mjs +117 -4
  251. package/esm/ops/cloud/SecretsOps.mjs +123 -204
  252. package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
  253. package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
  254. package/esm/ops/cloud/StartupOps.mjs +49 -6
  255. package/esm/ops/cloud/VariablesOps.mjs +58 -120
  256. package/esm/ops/utils/Console.mjs +9 -8
  257. package/esm/ops/utils/DataProtection.mjs +2 -3
  258. package/esm/ops/utils/ExportImportUtils.mjs +28 -8
  259. package/esm/ops/utils/OpsUtils.mjs +4 -3
  260. package/esm/ops/utils/OpsUtils.test.mjs +21 -5
  261. package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
  262. package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
  263. package/esm/ops/utils/Version.mjs +8 -2
  264. package/esm/shared/State.mjs +459 -145
  265. package/esm/shared/State.test.mjs +8 -0
  266. package/esm/utils/AutoSetupPolly.mjs +4 -1
  267. package/package.json +1 -1
  268. package/types/api/AgentApi.d.ts +37 -8
  269. package/types/api/AgentApi.d.ts.map +1 -1
  270. package/types/api/ApiTypes.d.ts +12 -0
  271. package/types/api/ApiTypes.d.ts.map +1 -1
  272. package/types/api/AuthenticateApi.d.ts +13 -3
  273. package/types/api/AuthenticateApi.d.ts.map +1 -1
  274. package/types/api/BaseApi.d.ts +36 -7
  275. package/types/api/BaseApi.d.ts.map +1 -1
  276. package/types/api/CirclesOfTrustApi.d.ts +21 -7
  277. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  278. package/types/api/IdmConfigApi.d.ts +28 -13
  279. package/types/api/IdmConfigApi.d.ts.map +1 -1
  280. package/types/api/IdmSystemApi.d.ts +4 -1
  281. package/types/api/IdmSystemApi.d.ts.map +1 -1
  282. package/types/api/ManagedObjectApi.d.ts +25 -10
  283. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  284. package/types/api/NodeApi.d.ts +31 -9
  285. package/types/api/NodeApi.d.ts.map +1 -1
  286. package/types/api/OAuth2ClientApi.d.ts +18 -5
  287. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  288. package/types/api/OAuth2OIDCApi.d.ts +45 -11
  289. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  290. package/types/api/OAuth2ProviderApi.d.ts +4 -1
  291. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  292. package/types/api/PoliciesApi.d.ts +21 -5
  293. package/types/api/PoliciesApi.d.ts.map +1 -1
  294. package/types/api/PolicySetApi.d.ts +20 -5
  295. package/types/api/PolicySetApi.d.ts.map +1 -1
  296. package/types/api/RealmApi.d.ts +26 -10
  297. package/types/api/RealmApi.d.ts.map +1 -1
  298. package/types/api/ResourceTypesApi.d.ts +27 -8
  299. package/types/api/ResourceTypesApi.d.ts.map +1 -1
  300. package/types/api/Saml2Api.d.ts +39 -32
  301. package/types/api/Saml2Api.d.ts.map +1 -1
  302. package/types/api/ScriptApi.d.ts +21 -5
  303. package/types/api/ScriptApi.d.ts.map +1 -1
  304. package/types/api/ServerInfoApi.d.ts +9 -2
  305. package/types/api/ServerInfoApi.d.ts.map +1 -1
  306. package/types/api/ServiceApi.d.ts +41 -7
  307. package/types/api/ServiceApi.d.ts.map +1 -1
  308. package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
  309. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  310. package/types/api/TreeApi.d.ts +18 -4
  311. package/types/api/TreeApi.d.ts.map +1 -1
  312. package/types/api/cloud/EnvInfoApi.d.ts +4 -1
  313. package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
  314. package/types/api/cloud/FeatureApi.d.ts +4 -1
  315. package/types/api/cloud/FeatureApi.d.ts.map +1 -1
  316. package/types/api/cloud/LogApi.d.ts +24 -6
  317. package/types/api/cloud/LogApi.d.ts.map +1 -1
  318. package/types/api/cloud/SecretsApi.d.ts +50 -10
  319. package/types/api/cloud/SecretsApi.d.ts.map +1 -1
  320. package/types/api/cloud/StartupApi.d.ts +7 -2
  321. package/types/api/cloud/StartupApi.d.ts.map +1 -1
  322. package/types/api/cloud/VariablesApi.d.ts +23 -5
  323. package/types/api/cloud/VariablesApi.d.ts.map +1 -1
  324. package/types/api/utils/ApiUtils.d.ts +3 -2
  325. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  326. package/types/index.d.ts +2 -2
  327. package/types/index.d.ts.map +1 -1
  328. package/types/lib/FrodoLib.d.ts +95 -0
  329. package/types/lib/FrodoLib.d.ts.map +1 -0
  330. package/types/ops/AdminOps.d.ts +71 -12
  331. package/types/ops/AdminOps.d.ts.map +1 -1
  332. package/types/ops/AgentOps.d.ts +345 -36
  333. package/types/ops/AgentOps.d.ts.map +1 -1
  334. package/types/ops/AuthenticateOps.d.ts +18 -5
  335. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  336. package/types/ops/CirclesOfTrustOps.d.ts +76 -26
  337. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  338. package/types/ops/ConnectionProfileOps.d.ts +88 -9
  339. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  340. package/types/ops/EmailTemplateOps.d.ts +36 -3
  341. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  342. package/types/ops/IdmOps.d.ts +28 -40
  343. package/types/ops/IdmOps.d.ts.map +1 -1
  344. package/types/ops/IdpOps.d.ts +88 -10
  345. package/types/ops/IdpOps.d.ts.map +1 -1
  346. package/types/ops/InfoOps.d.ts +12 -1
  347. package/types/ops/InfoOps.d.ts.map +1 -1
  348. package/types/ops/JourneyOps.d.ts +237 -34
  349. package/types/ops/JourneyOps.d.ts.map +1 -1
  350. package/types/ops/ManagedObjectOps.d.ts +37 -8
  351. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  352. package/types/ops/NodeOps.d.ts +61 -6
  353. package/types/ops/NodeOps.d.ts.map +1 -1
  354. package/types/ops/OAuth2ClientOps.d.ts +104 -10
  355. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  356. package/types/ops/OAuth2ProviderOps.d.ts +8 -5
  357. package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
  358. package/types/ops/OpsTypes.d.ts +12 -1
  359. package/types/ops/OpsTypes.d.ts.map +1 -1
  360. package/types/ops/OrganizationOps.d.ts +24 -3
  361. package/types/ops/OrganizationOps.d.ts.map +1 -1
  362. package/types/ops/PolicyOps.d.ts +103 -28
  363. package/types/ops/PolicyOps.d.ts.map +1 -1
  364. package/types/ops/PolicySetOps.d.ts +76 -30
  365. package/types/ops/PolicySetOps.d.ts.map +1 -1
  366. package/types/ops/RealmOps.d.ts +34 -14
  367. package/types/ops/RealmOps.d.ts.map +1 -1
  368. package/types/ops/ResourceTypeOps.d.ts +116 -29
  369. package/types/ops/ResourceTypeOps.d.ts.map +1 -1
  370. package/types/ops/Saml2Ops.d.ts +124 -41
  371. package/types/ops/Saml2Ops.d.ts.map +1 -1
  372. package/types/ops/ScriptOps.d.ts +88 -23
  373. package/types/ops/ScriptOps.d.ts.map +1 -1
  374. package/types/ops/ServiceOps.d.ts +94 -8
  375. package/types/ops/ServiceOps.d.ts.map +1 -1
  376. package/types/ops/ThemeOps.d.ts +113 -9
  377. package/types/ops/ThemeOps.d.ts.map +1 -1
  378. package/types/ops/cloud/FeatureOps.d.ts +23 -2
  379. package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
  380. package/types/ops/cloud/LogOps.d.ts +61 -3
  381. package/types/ops/cloud/LogOps.d.ts.map +1 -1
  382. package/types/ops/cloud/SecretsOps.d.ts +77 -63
  383. package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
  384. package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
  385. package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
  386. package/types/ops/cloud/StartupOps.d.ts +25 -2
  387. package/types/ops/cloud/StartupOps.d.ts.map +1 -1
  388. package/types/ops/cloud/VariablesOps.d.ts +39 -39
  389. package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
  390. package/types/ops/utils/Console.d.ts.map +1 -1
  391. package/types/ops/utils/DataProtection.d.ts +1 -1
  392. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  393. package/types/ops/utils/ExportImportUtils.d.ts +29 -11
  394. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  395. package/types/ops/utils/OpsUtils.d.ts +4 -1
  396. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  397. package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
  398. package/types/ops/utils/Version.d.ts +5 -1
  399. package/types/ops/utils/Version.d.ts.map +1 -1
  400. package/types/shared/State.d.ts +80 -177
  401. package/types/shared/State.d.ts.map +1 -1
  402. package/types/utils/AutoSetupPolly.d.ts.map +1 -1
  403. package/cjs/ops/utils/ValidationUtils.js.map +0 -1
  404. package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
  405. package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
  406. /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceOps.js","names":["_ServiceApi","require","_Console","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","createServiceExportTemplate","meta","service","getListOfServices","_getListOfServices2","globalConfig","debugMessage","services","_getListOfServices","result","getFullServices","_getFullServices","concat","serviceList","fullServiceData","all","map","_ref","listItem","nextDescendents","getService","_id","getServiceDescendents","_error$response","_error$response2","_error$response2$data","response","status","data","message","_error$response3","_error$response3$data","printMessage","_x13","putFullService","_x","_x2","_x3","_putFullService","serviceId","clean","_rev","enabled","deleteFullService","_error$response4","_error$response5","_error$response5$data","_error$response6","_error$response6$data","putService","_ref2","descendent","type","_type","descendentId","putServiceNextDescendent","_error$response7","_error$response7$data","_x14","putFullServices","_x4","_x5","_putFullServices","serviceEntries","results","id","_error$response8","_error$response8$data","_error$response9","_error$response9$data","detail","JSON","stringify","_x6","_deleteFullService","serviceNextDescendentData","nextDescendent","deleteServiceNextDescendent","deleteService","deleteFullServices","_deleteFullServices","_ref3","serviceListItem","_error$response10","_error$response11","_error$response11$dat","_error$response12","_error$response12$dat","_x15","_error$response13","_error$response13$dat","exportService","_x7","_exportService","exportData","_error$response14","_error$response14$dat","exportServices","_exportServices","_error$response15","_error$response15$dat","importService","_x8","_x9","_x10","_importService","importData","serviceData","importServices","_x11","_x12","_importServices","entries","_error$response16","_error$response16$dat","_error$response17","_error$response17$dat"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\nexport async function getListOfServices(globalConfig = false) {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices(globalConfig)).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices(\n globalConfig = false\n): Promise<FullService[]> {\n debugMessage(\n `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`\n );\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService(listItem._id, globalConfig),\n getServiceDescendents(listItem._id, globalConfig),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns promise resolving to a service object\n */\nasync function putFullService(\n serviceId: string,\n fullServiceData: FullService,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(\n `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`\n );\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService(serviceId, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService(serviceId, fullServiceData, globalConfig);\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent(\n serviceId,\n type,\n descendentId,\n descendent,\n globalConfig\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices(\n serviceEntries: [string, FullService][],\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton[]> {\n debugMessage(\n `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`\n );\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService(id, data, clean, globalConfig);\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullService(\n serviceId: string,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`\n );\n const serviceNextDescendentData = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent(\n serviceId,\n nextDescendent._type._id,\n nextDescendent._id,\n globalConfig\n )\n )\n );\n\n await deleteService(serviceId, globalConfig);\n debugMessage(`ServiceOps.deleteFullService: end`);\n}\n\n/**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullServices(globalConfig = false) {\n debugMessage(\n `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`\n );\n try {\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService(serviceListItem._id, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService(\n serviceId: string,\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService(serviceId, globalConfig);\n service.nextDescendents = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function exportServices(\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(\n `ServiceOps.exportServices: start, globalConfig=${globalConfig}`\n );\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices(globalConfig);\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService(\n serviceId,\n serviceData,\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function importServices(\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.importServices: start, globalConfig=${globalConfig}`\n );\n try {\n const result = await putFullServices(\n Object.entries(importData.service),\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceOps.js","names":["_ServiceApi","require","_Console","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","ServiceOps","constructor","state","getListOfServices","_arguments","_this","globalConfig","getFullServices","_arguments2","_this2","deleteFullService","serviceId","_arguments3","_this3","deleteFullServices","_arguments4","_this4","exportService","_arguments5","_this5","exportServices","_arguments6","_this6","importService","importData","clean","_arguments7","_this7","importServices","_arguments8","_this8","exports","default","createServiceExportTemplate","meta","service","_x","_getListOfServices2","_ref","debugMessage","services","_getListOfServices","result","_x2","_getFullServices","_ref2","concat","serviceList","fullServiceData","all","map","_ref11","listItem","nextDescendents","getService","_id","getServiceDescendents","_error$response","_error$response2","_error$response2$data","response","status","data","message","_error$response3","_error$response3$data","printMessage","_x11","putFullService","_x3","_putFullService","_ref3","_rev","enabled","_error$response4","_error$response5","_error$response5$data","_error$response6","_error$response6$data","putService","serviceData","_ref12","descendent","type","_type","descendentId","putServiceNextDescendent","serviceType","serviceNextDescendentId","serviceNextDescendentData","_error$response7","_error$response7$data","_x12","putFullServices","_x4","_putFullServices","_ref4","serviceEntries","results","id","_error$response8","_error$response8$data","_error$response9","_error$response9$data","detail","JSON","stringify","_x5","_deleteFullService","_ref5","nextDescendent","deleteServiceNextDescendent","deleteService","_x6","_deleteFullServices","_ref6","_ref13","serviceListItem","_error$response10","_error$response11","_error$response11$dat","_error$response12","_error$response12$dat","_x13","_error$response13","_error$response13$dat","_x7","_exportService","_ref7","exportData","_error$response14","_error$response14$dat","_x8","_exportServices","_ref8","_error$response15","_error$response15$dat","_x9","_importService","_ref9","_x10","_importServices","_ref10","entries","_error$response16","_error$response16$dat","_error$response17","_error$response17$dat"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport State from '../shared/State';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\nexport default class ServiceOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\n async getListOfServices(globalConfig = false) {\n return getListOfServices({ globalConfig, state: this.state });\n }\n\n /**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\n async getFullServices(globalConfig = false): Promise<FullService[]> {\n return getFullServices({ globalConfig, state: this.state });\n }\n\n /**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\n async deleteFullService(serviceId: string, globalConfig = false) {\n return deleteFullService({ serviceId, globalConfig, state: this.state });\n }\n\n /**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\n async deleteFullServices(globalConfig = false) {\n return deleteFullServices({ globalConfig, state: this.state });\n }\n\n /**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\n async exportService(\n serviceId: string,\n globalConfig = false\n ): Promise<ServiceExportInterface> {\n return exportService({ serviceId, globalConfig, state: this.state });\n }\n\n /**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\n async exportServices(globalConfig = false): Promise<ServiceExportInterface> {\n return exportServices({ globalConfig, state: this.state });\n }\n\n /**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\n async importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n ): Promise<AmServiceSkeleton> {\n return importService({\n serviceId,\n importData,\n clean,\n globalConfig,\n state: this.state,\n });\n }\n\n /**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\n async importServices(\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n ) {\n return importServices({\n importData,\n clean,\n globalConfig,\n state: this.state,\n });\n }\n}\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\nexport async function getListOfServices({\n globalConfig = false,\n state,\n}: {\n globalConfig: boolean;\n state: State;\n}) {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices({ globalConfig, state })).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices({\n globalConfig = false,\n state,\n}: {\n globalConfig: boolean;\n state: State;\n}): Promise<FullService[]> {\n debugMessage(\n `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`\n );\n const serviceList = (await _getListOfServices({ globalConfig, state }))\n .result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService({ serviceId: listItem._id, globalConfig, state }),\n getServiceDescendents({\n serviceId: listItem._id,\n globalConfig,\n state,\n }),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns promise resolving to a service object\n */\nasync function putFullService({\n serviceId,\n fullServiceData,\n clean,\n globalConfig = false,\n state,\n}: {\n serviceId: string;\n fullServiceData: FullService;\n clean: boolean;\n globalConfig: boolean;\n state: State;\n}): Promise<AmServiceSkeleton> {\n debugMessage(\n `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`\n );\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService({ serviceId, globalConfig, state });\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService({\n serviceId,\n serviceData: fullServiceData,\n globalConfig,\n state,\n });\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent({\n serviceId,\n serviceType: type,\n serviceNextDescendentId: descendentId,\n serviceNextDescendentData: descendent,\n globalConfig,\n state,\n });\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices({\n serviceEntries,\n clean,\n globalConfig = false,\n state,\n}: {\n serviceEntries: [string, FullService][];\n clean: boolean;\n globalConfig: boolean;\n state: State;\n}): Promise<AmServiceSkeleton[]> {\n debugMessage(\n `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`\n );\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService({\n serviceId: id,\n fullServiceData: data,\n clean,\n globalConfig,\n state,\n });\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullService({\n serviceId,\n globalConfig = false,\n state,\n}: {\n serviceId: string;\n globalConfig: boolean;\n state: State;\n}) {\n debugMessage(\n `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`\n );\n const serviceNextDescendentData = await getServiceDescendents({\n serviceId,\n globalConfig,\n state,\n });\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent({\n serviceId,\n serviceType: nextDescendent._type._id,\n serviceNextDescendentId: nextDescendent._id,\n globalConfig,\n state,\n })\n )\n );\n\n await deleteService({ serviceId, globalConfig, state });\n debugMessage(`ServiceOps.deleteFullService: end`);\n}\n\n/**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullServices({\n globalConfig = false,\n state,\n}: {\n globalConfig: boolean;\n state: State;\n}) {\n debugMessage(\n `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`\n );\n try {\n const serviceList = (await _getListOfServices({ globalConfig, state }))\n .result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService({\n serviceId: serviceListItem._id,\n globalConfig,\n state,\n });\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService({\n serviceId,\n globalConfig = false,\n state,\n}: {\n serviceId: string;\n globalConfig: boolean;\n state: State;\n}): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService({ serviceId, globalConfig, state });\n service.nextDescendents = await getServiceDescendents({\n serviceId,\n globalConfig,\n state,\n });\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function exportServices({\n globalConfig = false,\n state,\n}: {\n globalConfig: boolean;\n state: State;\n}): Promise<ServiceExportInterface> {\n debugMessage(\n `ServiceOps.exportServices: start, globalConfig=${globalConfig}`\n );\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices({ globalConfig, state });\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService({\n serviceId,\n importData,\n clean,\n globalConfig = false,\n state,\n}: {\n serviceId: string;\n importData: ServiceExportInterface;\n clean: boolean;\n globalConfig: boolean;\n state: State;\n}): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService({\n serviceId,\n fullServiceData: serviceData,\n clean,\n globalConfig,\n state,\n });\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function importServices({\n importData,\n clean,\n globalConfig = false,\n state,\n}: {\n importData: ServiceExportInterface;\n clean: boolean;\n globalConfig: boolean;\n state: State;\n}) {\n debugMessage(\n `ServiceOps.importServices: start, globalConfig=${globalConfig}`\n );\n try {\n const result = await putFullServices({\n serviceEntries: Object.entries(importData.service),\n clean,\n globalConfig,\n state,\n });\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAYA,IAAAC,QAAA,GAAAD,OAAA;AAA6D,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAI,GAAA,EAAAL,GAAA,EAAAM,KAAA,IAAAN,GAAA,GAAAO,cAAA,CAAAP,GAAA,OAAAA,GAAA,IAAAK,GAAA,IAAArB,MAAA,CAAAoB,cAAA,CAAAC,GAAA,EAAAL,GAAA,IAAAM,KAAA,EAAAA,KAAA,EAAAhB,UAAA,QAAAkB,YAAA,QAAAC,QAAA,oBAAAJ,GAAA,CAAAL,GAAA,IAAAM,KAAA,WAAAD,GAAA;AAAA,SAAAE,eAAAG,GAAA,QAAAV,GAAA,GAAAW,YAAA,CAAAD,GAAA,2BAAAV,GAAA,gBAAAA,GAAA,GAAAY,MAAA,CAAAZ,GAAA;AAAA,SAAAW,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAAA,SAAAU,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAA5B,GAAA,EAAAU,GAAA,cAAAmB,IAAA,GAAAL,GAAA,CAAAxB,GAAA,EAAAU,GAAA,OAAAJ,KAAA,GAAAuB,IAAA,CAAAvB,KAAA,WAAAwB,KAAA,IAAAJ,MAAA,CAAAI,KAAA,iBAAAD,IAAA,CAAAE,IAAA,IAAAN,OAAA,CAAAnB,KAAA,YAAA0B,OAAA,CAAAP,OAAA,CAAAnB,KAAA,EAAA2B,IAAA,CAAAN,KAAA,EAAAC,MAAA;AAAA,SAAAM,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAzC,SAAA,aAAAoC,OAAA,WAAAP,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAW,EAAA,CAAA3C,KAAA,CAAA4C,IAAA,EAAAC,IAAA,YAAAV,MAAArB,KAAA,IAAAiB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAtB,KAAA,cAAAsB,OAAAU,GAAA,IAAAf,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAU,GAAA,KAAAX,KAAA,CAAAT,SAAA;AAE9C,MAAMqB,UAAU,CAAC;EAE9BC,WAAWA,CAACC,KAAY,EAAE;IACxB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;EACQC,iBAAiBA,CAAA,EAAuB;IAAA,IAAAC,UAAA,GAAA/C,SAAA;MAAAgD,KAAA;IAAA,OAAAV,iBAAA;MAAA,IAAtBW,YAAY,GAAAF,UAAA,CAAA9C,MAAA,QAAA8C,UAAA,QAAAzB,SAAA,GAAAyB,UAAA,MAAG,KAAK;MAC1C,OAAOD,iBAAiB,CAAC;QAAEG,YAAY;QAAEJ,KAAK,EAAEG,KAAI,CAACH;MAAM,CAAC,CAAC;IAAC;EAChE;;EAEA;AACF;AACA;AACA;AACA;EACQK,eAAeA,CAAA,EAA+C;IAAA,IAAAC,WAAA,GAAAnD,SAAA;MAAAoD,MAAA;IAAA,OAAAd,iBAAA;MAAA,IAA9CW,YAAY,GAAAE,WAAA,CAAAlD,MAAA,QAAAkD,WAAA,QAAA7B,SAAA,GAAA6B,WAAA,MAAG,KAAK;MACxC,OAAOD,eAAe,CAAC;QAAED,YAAY;QAAEJ,KAAK,EAAEO,MAAI,CAACP;MAAM,CAAC,CAAC;IAAC;EAC9D;;EAEA;AACF;AACA;AACA;AACA;EACQQ,iBAAiBA,CAACC,SAAiB,EAAwB;IAAA,IAAAC,WAAA,GAAAvD,SAAA;MAAAwD,MAAA;IAAA,OAAAlB,iBAAA;MAAA,IAAtBW,YAAY,GAAAM,WAAA,CAAAtD,MAAA,QAAAsD,WAAA,QAAAjC,SAAA,GAAAiC,WAAA,MAAG,KAAK;MAC7D,OAAOF,iBAAiB,CAAC;QAAEC,SAAS;QAAEL,YAAY;QAAEJ,KAAK,EAAEW,MAAI,CAACX;MAAM,CAAC,CAAC;IAAC;EAC3E;;EAEA;AACF;AACA;AACA;EACQY,kBAAkBA,CAAA,EAAuB;IAAA,IAAAC,WAAA,GAAA1D,SAAA;MAAA2D,MAAA;IAAA,OAAArB,iBAAA;MAAA,IAAtBW,YAAY,GAAAS,WAAA,CAAAzD,MAAA,QAAAyD,WAAA,QAAApC,SAAA,GAAAoC,WAAA,MAAG,KAAK;MAC3C,OAAOD,kBAAkB,CAAC;QAAER,YAAY;QAAEJ,KAAK,EAAEc,MAAI,CAACd;MAAM,CAAC,CAAC;IAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQe,aAAaA,CACjBN,SAAiB,EAEgB;IAAA,IAAAO,WAAA,GAAA7D,SAAA;MAAA8D,MAAA;IAAA,OAAAxB,iBAAA;MAAA,IADjCW,YAAY,GAAAY,WAAA,CAAA5D,MAAA,QAAA4D,WAAA,QAAAvC,SAAA,GAAAuC,WAAA,MAAG,KAAK;MAEpB,OAAOD,aAAa,CAAC;QAAEN,SAAS;QAAEL,YAAY;QAAEJ,KAAK,EAAEiB,MAAI,CAACjB;MAAM,CAAC,CAAC;IAAC;EACvE;;EAEA;AACF;AACA;AACA;EACQkB,cAAcA,CAAA,EAAwD;IAAA,IAAAC,WAAA,GAAAhE,SAAA;MAAAiE,MAAA;IAAA,OAAA3B,iBAAA;MAAA,IAAvDW,YAAY,GAAAe,WAAA,CAAA/D,MAAA,QAAA+D,WAAA,QAAA1C,SAAA,GAAA0C,WAAA,MAAG,KAAK;MACvC,OAAOD,cAAc,CAAC;QAAEd,YAAY;QAAEJ,KAAK,EAAEoB,MAAI,CAACpB;MAAM,CAAC,CAAC;IAAC;EAC7D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACQqB,aAAaA,CACjBZ,SAAiB,EACjBa,UAAkC,EAClCC,KAAc,EAEc;IAAA,IAAAC,WAAA,GAAArE,SAAA;MAAAsE,MAAA;IAAA,OAAAhC,iBAAA;MAAA,IAD5BW,YAAY,GAAAoB,WAAA,CAAApE,MAAA,QAAAoE,WAAA,QAAA/C,SAAA,GAAA+C,WAAA,MAAG,KAAK;MAEpB,OAAOH,aAAa,CAAC;QACnBZ,SAAS;QACTa,UAAU;QACVC,KAAK;QACLnB,YAAY;QACZJ,KAAK,EAAEyB,MAAI,CAACzB;MACd,CAAC,CAAC;IAAC;EACL;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQ0B,cAAcA,CAClBJ,UAAkC,EAClCC,KAAc,EAEd;IAAA,IAAAI,WAAA,GAAAxE,SAAA;MAAAyE,MAAA;IAAA,OAAAnC,iBAAA;MAAA,IADAW,YAAY,GAAAuB,WAAA,CAAAvE,MAAA,QAAAuE,WAAA,QAAAlD,SAAA,GAAAkD,WAAA,MAAG,KAAK;MAEpB,OAAOD,cAAc,CAAC;QACpBJ,UAAU;QACVC,KAAK;QACLnB,YAAY;QACZJ,KAAK,EAAE4B,MAAI,CAAC5B;MACd,CAAC,CAAC;IAAC;EACL;AACF;AAAC6B,OAAA,CAAAC,OAAA,GAAAhC,UAAA;AAMD;AACA;AACA;AACA;AACO,SAASiC,2BAA2BA,CAAA,EAA2B;EACpE,OAAO;IACLC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAE,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AAHA,SAIsBhC,iBAAiBA,CAAAiC,EAAA;EAAA,OAAAC,mBAAA,CAAApF,KAAA,OAAAI,SAAA;AAAA;AAavC;AACA;AACA;AACA;AACA;AAJA,SAAAgF,oBAAA;EAAAA,mBAAA,GAAA1C,iBAAA,CAbO,WAAA2C,IAAA,EAMJ;IAAA,IANqC;MACtChC,YAAY,GAAG,KAAK;MACpBJ;IAIF,CAAC,GAAAoC,IAAA;IACC,IAAAC,qBAAY,uCAAsC,CAAC;IACnD,IAAMC,QAAQ,GAAG,OAAO,IAAAC,6BAAkB,EAAC;MAAEnC,YAAY;MAAEJ;IAAM,CAAC,CAAC,EAAEwC,MAAM;IAC3E,IAAAH,qBAAY,qCAAoC,CAAC;IACjD,OAAOC,QAAQ;EACjB,CAAC;EAAA,OAAAH,mBAAA,CAAApF,KAAA,OAAAI,SAAA;AAAA;AAAA,SAOqBkD,eAAeA,CAAAoC,GAAA;EAAA,OAAAC,gBAAA,CAAA3F,KAAA,OAAAI,SAAA;AAAA;AAmDrC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAuF,iBAAA;EAAAA,gBAAA,GAAAjD,iBAAA,CAnDO,WAAAkD,KAAA,EAMoB;IAAA,IANW;MACpCvC,YAAY,GAAG,KAAK;MACpBJ;IAIF,CAAC,GAAA2C,KAAA;IACC,IAAAN,qBAAY,qDAAAO,MAAA,CACyCxC,YAAY,CACjE,CAAC;IACD,IAAMyC,WAAW,GAAG,OAAO,IAAAN,6BAAkB,EAAC;MAAEnC,YAAY;MAAEJ;IAAM,CAAC,CAAC,EACnEwC,MAAM;IAET,IAAMM,eAAe,SAASvD,OAAO,CAACwD,GAAG,CACvCF,WAAW,CAACG,GAAG;MAAA,IAAAC,MAAA,GAAAxD,iBAAA,CAAC,WAAOyD,QAAQ,EAAK;QAClC,IAAI;UACF,IAAM,CAACjB,OAAO,EAAEkB,eAAe,CAAC,SAAS5D,OAAO,CAACwD,GAAG,CAAC,CACnD,IAAAK,sBAAU,EAAC;YAAE3C,SAAS,EAAEyC,QAAQ,CAACG,GAAG;YAAEjD,YAAY;YAAEJ;UAAM,CAAC,CAAC,EAC5D,IAAAsD,iCAAqB,EAAC;YACpB7C,SAAS,EAAEyC,QAAQ,CAACG,GAAG;YACvBjD,YAAY;YACZJ;UACF,CAAC,CAAC,CACH,CAAC;UAEF,OAAAhD,aAAA,CAAAA,aAAA,KACKiF,OAAO;YACVkB;UAAe;QAEnB,CAAC,CAAC,OAAO9D,KAAK,EAAE;UAAA,IAAAkE,eAAA,EAAAC,gBAAA,EAAAC,qBAAA;UACd,IACE,EACE,EAAAF,eAAA,GAAAlE,KAAK,CAACqE,QAAQ,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,MAAM,MAAK,GAAG,IAC9B,EAAAH,gBAAA,GAAAnE,KAAK,CAACqE,QAAQ,cAAAF,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBI,IAAI,cAAAH,qBAAA,uBAApBA,qBAAA,CAAsBI,OAAO,MAC3B,8DAA8D,CACjE,EACD;YAAA,IAAAC,gBAAA,EAAAC,qBAAA;YACA,IAAMF,OAAO,IAAAC,gBAAA,GAAGzE,KAAK,CAACqE,QAAQ,cAAAI,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBF,IAAI,cAAAG,qBAAA,uBAApBA,qBAAA,CAAsBF,OAAO;YAC7C,IAAAG,qBAAY,iCAAApB,MAAA,CACqBM,QAAQ,CAACG,GAAG,mBAAAT,MAAA,CAAgBiB,OAAO,GAClE,OACF,CAAC;UACH;QACF;MACF,CAAC;MAAA,iBAAAI,IAAA;QAAA,OAAAhB,MAAA,CAAAlG,KAAA,OAAAI,SAAA;MAAA;IAAA,IACH,CAAC;IAED,IAAAkF,qBAAY,mCAAkC,CAAC;IAC/C,OAAOS,eAAe,CAACpG,MAAM,CAAEkH,IAAI,IAAK,CAAC,CAACA,IAAI,CAAC,CAAC,CAAC;EACnD,CAAC;EAAA,OAAAlB,gBAAA,CAAA3F,KAAA,OAAAI,SAAA;AAAA;AAAA,SASc+G,cAAcA,CAAAC,GAAA;EAAA,OAAAC,eAAA,CAAArH,KAAA,OAAAI,SAAA;AAAA;AAqF7B;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAiH,gBAAA;EAAAA,eAAA,GAAA3E,iBAAA,CArFA,WAAA4E,KAAA,EAY+B;IAAA,IAZD;MAC5B5D,SAAS;MACTqC,eAAe;MACfvB,KAAK;MACLnB,YAAY,GAAG,KAAK;MACpBJ;IAOF,CAAC,GAAAqE,KAAA;IACC,IAAAhC,qBAAY,iDAAAO,MAAA,CACqCnC,SAAS,qBAAAmC,MAAA,CAAkBxC,YAAY,CACxF,CAAC;IACD,IAAM+C,eAAe,GAAGL,eAAe,CAACK,eAAe;IAEvD,OAAOL,eAAe,CAACK,eAAe;IACtC,OAAOL,eAAe,CAACwB,IAAI;IAC3B,OAAOxB,eAAe,CAACyB,OAAO;IAE9B,IAAIhD,KAAK,EAAE;MACT,IAAI;QACF,IAAAc,qBAAY,oCAAmC,CAAC;QAChD,MAAM7B,iBAAiB,CAAC;UAAEC,SAAS;UAAEL,YAAY;UAAEJ;QAAM,CAAC,CAAC;MAC7D,CAAC,CAAC,OAAOX,KAAK,EAAE;QAAA,IAAAmF,gBAAA,EAAAC,gBAAA,EAAAC,qBAAA;QACd,IACE,EACE,EAAAF,gBAAA,GAAAnF,KAAK,CAACqE,QAAQ,cAAAc,gBAAA,uBAAdA,gBAAA,CAAgBb,MAAM,MAAK,GAAG,IAC9B,EAAAc,gBAAA,GAAApF,KAAK,CAACqE,QAAQ,cAAAe,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBb,IAAI,cAAAc,qBAAA,uBAApBA,qBAAA,CAAsBb,OAAO,MAAK,WAAW,CAC9C,EACD;UAAA,IAAAc,gBAAA,EAAAC,qBAAA;UACA,IAAMf,OAAO,IAAAc,gBAAA,GAAGtF,KAAK,CAACqE,QAAQ,cAAAiB,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBf,IAAI,cAAAgB,qBAAA,uBAApBA,qBAAA,CAAsBf,OAAO;UAC7C,IAAAG,qBAAY,6BAAApB,MAAA,CACiBnC,SAAS,uBAAAmC,MAAA,CAAoBiB,OAAO,GAC/D,OACF,CAAC;QACH;MACF;IACF;;IAEA;IACA,IAAMrB,MAAM,SAAS,IAAAqC,sBAAU,EAAC;MAC9BpE,SAAS;MACTqE,WAAW,EAAEhC,eAAe;MAC5B1C,YAAY;MACZJ;IACF,CAAC,CAAC;;IAEF;IACA,IAAImD,eAAe,CAAC/F,MAAM,KAAK,CAAC,EAAE;MAChC,IAAAiF,qBAAY,oDAAmD,CAAC;MAChE,OAAOG,MAAM;IACf;;IAEA;IACA,MAAMjD,OAAO,CAACwD,GAAG,CACfI,eAAe,CAACH,GAAG;MAAA,IAAA+B,MAAA,GAAAtF,iBAAA,CAAC,WAAOuF,UAAU,EAAK;QACxC,IAAMC,IAAI,GAAGD,UAAU,CAACE,KAAK,CAAC7B,GAAG;QACjC,IAAM8B,YAAY,GAAGH,UAAU,CAAC3B,GAAG;QACnC,IAAAhB,qBAAY,6CAAAO,MAAA,CAA4CuC,YAAY,CAAE,CAAC;QACvE,IAAI3C,MAAM,GAAG/D,SAAS;QACtB,IAAI;UACF+D,MAAM,SAAS,IAAA4C,oCAAwB,EAAC;YACtC3E,SAAS;YACT4E,WAAW,EAAEJ,IAAI;YACjBK,uBAAuB,EAAEH,YAAY;YACrCI,yBAAyB,EAAEP,UAAU;YACrC5E,YAAY;YACZJ;UACF,CAAC,CAAC;QACJ,CAAC,CAAC,OAAOX,KAAK,EAAE;UAAA,IAAAmG,gBAAA,EAAAC,qBAAA;UACd,IAAM5B,QAAO,IAAA2B,gBAAA,GAAGnG,KAAK,CAACqE,QAAQ,cAAA8B,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgB5B,IAAI,cAAA6B,qBAAA,uBAApBA,qBAAA,CAAsB5B,OAAO;UAC7C,IAAAG,qBAAY,qBAAApB,MAAA,CACSuC,YAAY,oBAAAvC,MAAA,CAAiBnC,SAAS,SAAAmC,MAAA,CAAMiB,QAAO,GACtE,OACF,CAAC;QACH;QACA,OAAOrB,MAAM;MACf,CAAC;MAAA,iBAAAkD,IAAA;QAAA,OAAAX,MAAA,CAAAhI,KAAA,OAAAI,SAAA;MAAA;IAAA,IACH,CAAC;IACD,IAAAkF,qBAAY,mDAAkD,CAAC;EACjE,CAAC;EAAA,OAAA+B,eAAA,CAAArH,KAAA,OAAAI,SAAA;AAAA;AAAA,SAScwI,eAAeA,CAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAA9I,KAAA,OAAAI,SAAA;AAAA;AAuC9B;AACA;AACA;AACA;AACA;AAJA,SAAA0I,iBAAA;EAAAA,gBAAA,GAAApG,iBAAA,CAvCA,WAAAqG,KAAA,EAUiC;IAAA,IAVF;MAC7BC,cAAc;MACdxE,KAAK;MACLnB,YAAY,GAAG,KAAK;MACpBJ;IAMF,CAAC,GAAA8F,KAAA;IACC,IAAAzD,qBAAY,qDAAAO,MAAA,CACyCxC,YAAY,CACjE,CAAC;IACD,IAAM4F,OAA4B,GAAG,EAAE;IACvC,KAAK,IAAM,CAACC,EAAE,EAAErC,IAAI,CAAC,IAAImC,cAAc,EAAE;MACvC,IAAI;QACF,IAAMvD,MAAM,SAAS0B,cAAc,CAAC;UAClCzD,SAAS,EAAEwF,EAAE;UACbnD,eAAe,EAAEc,IAAI;UACrBrC,KAAK;UACLnB,YAAY;UACZJ;QACF,CAAC,CAAC;QACFgG,OAAO,CAAClJ,IAAI,CAAC0F,MAAM,CAAC;QACpB,IAAAwB,qBAAY,eAAApB,MAAA,CAAcqD,EAAE,GAAI,MAAM,CAAC;MACzC,CAAC,CAAC,OAAO5G,KAAK,EAAE;QAAA,IAAA6G,gBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA;QACd,IAAMxC,OAAO,IAAAqC,gBAAA,GAAG7G,KAAK,CAACqE,QAAQ,cAAAwC,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBtC,IAAI,cAAAuC,qBAAA,uBAApBA,qBAAA,CAAsBtC,OAAO;QAC7C,IAAMyC,MAAM,IAAAF,gBAAA,GAAG/G,KAAK,CAACqE,QAAQ,cAAA0C,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBxC,IAAI,cAAAyC,qBAAA,uBAApBA,qBAAA,CAAsBC,MAAM;QAC3C,IAAAtC,qBAAY,qBAAApB,MAAA,CAAoBqD,EAAE,SAAArD,MAAA,CAAMiB,OAAO,GAAI,OAAO,CAAC;QAC3D,IAAIyC,MAAM,EAAE;UACV,IAAAtC,qBAAY,cAAApB,MAAA,CAAa2D,IAAI,CAACC,SAAS,CAACF,MAAM,CAAC,GAAI,OAAO,CAAC;QAC7D;MACF;IACF;IACA,IAAAjE,qBAAY,mCAAkC,CAAC;IAC/C,OAAO2D,OAAO;EAChB,CAAC;EAAA,OAAAH,gBAAA,CAAA9I,KAAA,OAAAI,SAAA;AAAA;AAAA,SAOqBqD,iBAAiBA,CAAAiG,GAAA;EAAA,OAAAC,kBAAA,CAAA3J,KAAA,OAAAI,SAAA;AAAA;AAkCvC;AACA;AACA;AACA;AAHA,SAAAuJ,mBAAA;EAAAA,kBAAA,GAAAjH,iBAAA,CAlCO,WAAAkH,KAAA,EAQJ;IAAA,IARqC;MACtClG,SAAS;MACTL,YAAY,GAAG,KAAK;MACpBJ;IAKF,CAAC,GAAA2G,KAAA;IACC,IAAAtE,qBAAY,uDAAAO,MAAA,CAC2CxC,YAAY,CACnE,CAAC;IACD,IAAMmF,yBAAyB,SAAS,IAAAjC,iCAAqB,EAAC;MAC5D7C,SAAS;MACTL,YAAY;MACZJ;IACF,CAAC,CAAC;IAEF,MAAMT,OAAO,CAACwD,GAAG,CACfwC,yBAAyB,CAACvC,GAAG,CAAE4D,cAAc,IAC3C,IAAAC,uCAA2B,EAAC;MAC1BpG,SAAS;MACT4E,WAAW,EAAEuB,cAAc,CAAC1B,KAAK,CAAC7B,GAAG;MACrCiC,uBAAuB,EAAEsB,cAAc,CAACvD,GAAG;MAC3CjD,YAAY;MACZJ;IACF,CAAC,CACH,CACF,CAAC;IAED,MAAM,IAAA8G,yBAAa,EAAC;MAAErG,SAAS;MAAEL,YAAY;MAAEJ;IAAM,CAAC,CAAC;IACvD,IAAAqC,qBAAY,qCAAoC,CAAC;EACnD,CAAC;EAAA,OAAAqE,kBAAA,CAAA3J,KAAA,OAAAI,SAAA;AAAA;AAAA,SAMqByD,kBAAkBA,CAAAmG,GAAA;EAAA,OAAAC,mBAAA,CAAAjK,KAAA,OAAAI,SAAA;AAAA;AA8CxC;AACA;AACA;AACA;AACA;AACA;AALA,SAAA6J,oBAAA;EAAAA,mBAAA,GAAAvH,iBAAA,CA9CO,WAAAwH,KAAA,EAMJ;IAAA,IANsC;MACvC7G,YAAY,GAAG,KAAK;MACpBJ;IAIF,CAAC,GAAAiH,KAAA;IACC,IAAA5E,qBAAY,wDAAAO,MAAA,CAC4CxC,YAAY,CACpE,CAAC;IACD,IAAI;MACF,IAAMyC,WAAW,GAAG,OAAO,IAAAN,6BAAkB,EAAC;QAAEnC,YAAY;QAAEJ;MAAM,CAAC,CAAC,EACnEwC,MAAM;MAET,MAAMjD,OAAO,CAACwD,GAAG,CACfF,WAAW,CAACG,GAAG;QAAA,IAAAkE,MAAA,GAAAzH,iBAAA,CAAC,WAAO0H,eAAe,EAAK;UACzC,IAAI;YACF,MAAM3G,iBAAiB,CAAC;cACtBC,SAAS,EAAE0G,eAAe,CAAC9D,GAAG;cAC9BjD,YAAY;cACZJ;YACF,CAAC,CAAC;UACJ,CAAC,CAAC,OAAOX,KAAK,EAAE;YAAA,IAAA+H,iBAAA,EAAAC,iBAAA,EAAAC,qBAAA;YACd,IACE,EACE,EAAAF,iBAAA,GAAA/H,KAAK,CAACqE,QAAQ,cAAA0D,iBAAA,uBAAdA,iBAAA,CAAgBzD,MAAM,MAAK,GAAG,IAC9B,EAAA0D,iBAAA,GAAAhI,KAAK,CAACqE,QAAQ,cAAA2D,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgBzD,IAAI,cAAA0D,qBAAA,uBAApBA,qBAAA,CAAsBzD,OAAO,MAC3B,8DAA8D,CACjE,EACD;cAAA,IAAA0D,iBAAA,EAAAC,qBAAA;cACA,IAAM3D,OAAO,IAAA0D,iBAAA,GAAGlI,KAAK,CAACqE,QAAQ,cAAA6D,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgB3D,IAAI,cAAA4D,qBAAA,uBAApBA,qBAAA,CAAsB3D,OAAO;cAC7C,IAAAG,qBAAY,qBAAApB,MAAA,CACSuE,eAAe,CAAC9D,GAAG,SAAAT,MAAA,CAAMiB,OAAO,GACnD,OACF,CAAC;YACH;UACF;QACF,CAAC;QAAA,iBAAA4D,IAAA;UAAA,OAAAP,MAAA,CAAAnK,KAAA,OAAAI,SAAA;QAAA;MAAA,IACH,CAAC;IACH,CAAC,CAAC,OAAOkC,KAAK,EAAE;MAAA,IAAAqI,iBAAA,EAAAC,qBAAA;MACd,IAAM9D,OAAO,IAAA6D,iBAAA,GAAGrI,KAAK,CAACqE,QAAQ,cAAAgE,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgB9D,IAAI,cAAA+D,qBAAA,uBAApBA,qBAAA,CAAsB9D,OAAO;MAC7C,IAAAG,qBAAY,sBAAApB,MAAA,CAAqBiB,OAAO,GAAI,OAAO,CAAC;IACtD;IACA,IAAAxB,qBAAY,sCAAqC,CAAC;EACpD,CAAC;EAAA,OAAA2E,mBAAA,CAAAjK,KAAA,OAAAI,SAAA;AAAA;AAAA,SAQqB4D,aAAaA,CAAA6G,GAAA;EAAA,OAAAC,cAAA,CAAA9K,KAAA,OAAAI,SAAA;AAAA;AA2BnC;AACA;AACA;AACA;AAHA,SAAA0K,eAAA;EAAAA,cAAA,GAAApI,iBAAA,CA3BO,WAAAqI,KAAA,EAQ6B;IAAA,IARA;MAClCrH,SAAS;MACTL,YAAY,GAAG,KAAK;MACpBJ;IAKF,CAAC,GAAA8H,KAAA;IACC,IAAAzF,qBAAY,mDAAAO,MAAA,CAAkDxC,YAAY,CAAE,CAAC;IAC7E,IAAM2H,UAAU,GAAGhG,2BAA2B,CAAC,CAAC;IAChD,IAAI;MACF,IAAME,OAAO,SAAS,IAAAmB,sBAAU,EAAC;QAAE3C,SAAS;QAAEL,YAAY;QAAEJ;MAAM,CAAC,CAAC;MACpEiC,OAAO,CAACkB,eAAe,SAAS,IAAAG,iCAAqB,EAAC;QACpD7C,SAAS;QACTL,YAAY;QACZJ;MACF,CAAC,CAAC;MACF+H,UAAU,CAAC9F,OAAO,CAACxB,SAAS,CAAC,GAAGwB,OAAO;IACzC,CAAC,CAAC,OAAO5C,KAAK,EAAE;MAAA,IAAA2I,iBAAA,EAAAC,qBAAA;MACd,IAAMpE,OAAO,IAAAmE,iBAAA,GAAG3I,KAAK,CAACqE,QAAQ,cAAAsE,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgBpE,IAAI,cAAAqE,qBAAA,uBAApBA,qBAAA,CAAsBpE,OAAO;MAC7C,IAAAG,qBAAY,qBAAApB,MAAA,CAAoBnC,SAAS,SAAAmC,MAAA,CAAMiB,OAAO,GAAI,OAAO,CAAC;IACpE;IACA,IAAAxB,qBAAY,iCAAgC,CAAC;IAC7C,OAAO0F,UAAU;EACnB,CAAC;EAAA,OAAAF,cAAA,CAAA9K,KAAA,OAAAI,SAAA;AAAA;AAAA,SAMqB+D,cAAcA,CAAAgH,GAAA;EAAA,OAAAC,eAAA,CAAApL,KAAA,OAAAI,SAAA;AAAA;AAwBpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAAAgL,gBAAA;EAAAA,eAAA,GAAA1I,iBAAA,CAxBO,WAAA2I,KAAA,EAM6B;IAAA,IANC;MACnChI,YAAY,GAAG,KAAK;MACpBJ;IAIF,CAAC,GAAAoI,KAAA;IACC,IAAA/F,qBAAY,oDAAAO,MAAA,CACwCxC,YAAY,CAChE,CAAC;IACD,IAAM2H,UAAU,GAAGhG,2BAA2B,CAAC,CAAC;IAChD,IAAI;MACF,IAAMO,QAAQ,SAASjC,eAAe,CAAC;QAAED,YAAY;QAAEJ;MAAM,CAAC,CAAC;MAC/D,KAAK,IAAMiC,OAAO,IAAIK,QAAQ,EAAE;QAC9ByF,UAAU,CAAC9F,OAAO,CAACA,OAAO,CAACiD,KAAK,CAAC7B,GAAG,CAAC,GAAGpB,OAAO;MACjD;IACF,CAAC,CAAC,OAAO5C,KAAK,EAAE;MAAA,IAAAgJ,iBAAA,EAAAC,qBAAA;MACd,IAAMzE,OAAO,IAAAwE,iBAAA,GAAGhJ,KAAK,CAACqE,QAAQ,cAAA2E,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgBzE,IAAI,cAAA0E,qBAAA,uBAApBA,qBAAA,CAAsBzE,OAAO;MAC7C,IAAAG,qBAAY,qBAAApB,MAAA,CAAoBiB,OAAO,GAAI,OAAO,CAAC;IACrD;IACA,IAAAxB,qBAAY,kCAAiC,CAAC;IAC9C,OAAO0F,UAAU;EACnB,CAAC;EAAA,OAAAI,eAAA,CAAApL,KAAA,OAAAI,SAAA;AAAA;AAAA,SAUqBkE,aAAaA,CAAAkH,GAAA;EAAA,OAAAC,cAAA,CAAAzL,KAAA,OAAAI,SAAA;AAAA;AA0BnC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAqL,eAAA;EAAAA,cAAA,GAAA/I,iBAAA,CA1BO,WAAAgJ,KAAA,EAYwB;IAAA,IAZK;MAClChI,SAAS;MACTa,UAAU;MACVC,KAAK;MACLnB,YAAY,GAAG,KAAK;MACpBJ;IAOF,CAAC,GAAAyI,KAAA;IACC,IAAApG,qBAAY,mDAAAO,MAAA,CAAkDxC,YAAY,CAAE,CAAC;IAC7E,IAAM0E,WAAW,GAAGxD,UAAU,CAACW,OAAO,CAACxB,SAAS,CAAC;IACjD,IAAM+B,MAAM,SAAS0B,cAAc,CAAC;MAClCzD,SAAS;MACTqC,eAAe,EAAEgC,WAAW;MAC5BvD,KAAK;MACLnB,YAAY;MACZJ;IACF,CAAC,CAAC;IACF,IAAAqC,qBAAY,iCAAgC,CAAC;IAC7C,OAAOG,MAAM;EACf,CAAC;EAAA,OAAAgG,cAAA,CAAAzL,KAAA,OAAAI,SAAA;AAAA;AAAA,SAQqBuE,cAAcA,CAAAgH,IAAA;EAAA,OAAAC,eAAA,CAAA5L,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAwL,gBAAA;EAAAA,eAAA,GAAAlJ,iBAAA,CAA7B,WAAAmJ,MAAA,EAUJ;IAAA,IAVkC;MACnCtH,UAAU;MACVC,KAAK;MACLnB,YAAY,GAAG,KAAK;MACpBJ;IAMF,CAAC,GAAA4I,MAAA;IACC,IAAAvG,qBAAY,oDAAAO,MAAA,CACwCxC,YAAY,CAChE,CAAC;IACD,IAAI;MACF,IAAMoC,MAAM,SAASmD,eAAe,CAAC;QACnCI,cAAc,EAAExJ,MAAM,CAACsM,OAAO,CAACvH,UAAU,CAACW,OAAO,CAAC;QAClDV,KAAK;QACLnB,YAAY;QACZJ;MACF,CAAC,CAAC;MACF,IAAAqC,qBAAY,kCAAiC,CAAC;MAC9C,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOnD,KAAK,EAAE;MAAA,IAAAyJ,iBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA;MACd,IAAMpF,OAAO,IAAAiF,iBAAA,GAAGzJ,KAAK,CAACqE,QAAQ,cAAAoF,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgBlF,IAAI,cAAAmF,qBAAA,uBAApBA,qBAAA,CAAsBlF,OAAO;MAC7C,IAAMyC,MAAM,IAAA0C,iBAAA,GAAG3J,KAAK,CAACqE,QAAQ,cAAAsF,iBAAA,wBAAAC,qBAAA,GAAdD,iBAAA,CAAgBpF,IAAI,cAAAqF,qBAAA,uBAApBA,qBAAA,CAAsB3C,MAAM;MAC3C,IAAAtC,qBAAY,uCAAApB,MAAA,CAAsCiB,OAAO,GAAI,OAAO,CAAC;MACrE,IAAIyC,MAAM,EAAE;QACV,IAAAtC,qBAAY,cAAApB,MAAA,CAAa2D,IAAI,CAACC,SAAS,CAACF,MAAM,CAAC,GAAI,OAAO,CAAC;MAC7D;MACA,MAAMjH,KAAK;IACb;EACF,CAAC;EAAA,OAAAsJ,eAAA,CAAA5L,KAAA,OAAAI,SAAA;AAAA"}