@effect-auth/core 0.1.0-alpha.16 → 0.1.0-alpha.19

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 (637) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +307 -133
  3. package/dist/AbuseProtection.d.ts +100 -0
  4. package/dist/AbuseProtection.d.ts.map +1 -0
  5. package/dist/AbuseProtection.js +71 -0
  6. package/dist/AbuseProtection.js.map +1 -0
  7. package/dist/AccessGrant.d.ts +344 -0
  8. package/dist/AccessGrant.d.ts.map +1 -0
  9. package/dist/AccessGrant.js +687 -0
  10. package/dist/AccessGrant.js.map +1 -0
  11. package/dist/ApiKey.d.ts +0 -12
  12. package/dist/ApiKey.d.ts.map +1 -1
  13. package/dist/ApiKey.js +36 -27
  14. package/dist/ApiKey.js.map +1 -1
  15. package/dist/Assurance.d.ts +415 -0
  16. package/dist/Assurance.d.ts.map +1 -0
  17. package/dist/Assurance.js +764 -0
  18. package/dist/Assurance.js.map +1 -0
  19. package/dist/AtomicPlanExecutor.d.ts +28 -0
  20. package/dist/AtomicPlanExecutor.d.ts.map +1 -0
  21. package/dist/AtomicPlanExecutor.js +5 -0
  22. package/dist/AtomicPlanExecutor.js.map +1 -0
  23. package/dist/AuditLog.d.ts +2314 -52
  24. package/dist/AuditLog.d.ts.map +1 -1
  25. package/dist/AuditLog.js +511 -33
  26. package/dist/AuditLog.js.map +1 -1
  27. package/dist/AuthFlow.d.ts +128 -38
  28. package/dist/AuthFlow.d.ts.map +1 -1
  29. package/dist/AuthFlow.js +611 -263
  30. package/dist/AuthFlow.js.map +1 -1
  31. package/dist/AuthRateLimit.d.ts +96 -0
  32. package/dist/AuthRateLimit.d.ts.map +1 -0
  33. package/dist/AuthRateLimit.js +212 -0
  34. package/dist/AuthRateLimit.js.map +1 -0
  35. package/dist/Challenge.d.ts +0 -3
  36. package/dist/Challenge.d.ts.map +1 -1
  37. package/dist/Challenge.js +1 -4
  38. package/dist/Challenge.js.map +1 -1
  39. package/dist/Client.d.ts +205 -10
  40. package/dist/Client.d.ts.map +1 -1
  41. package/dist/Client.js +397 -16
  42. package/dist/Client.js.map +1 -1
  43. package/dist/CloudflareTurnstile.d.ts +28 -0
  44. package/dist/CloudflareTurnstile.d.ts.map +1 -0
  45. package/dist/CloudflareTurnstile.js +205 -0
  46. package/dist/CloudflareTurnstile.js.map +1 -0
  47. package/dist/Crypto.d.ts +0 -3
  48. package/dist/Crypto.d.ts.map +1 -1
  49. package/dist/Crypto.js +1 -4
  50. package/dist/Crypto.js.map +1 -1
  51. package/dist/DelegatedAccessStorageMigrations.d.ts +7 -0
  52. package/dist/DelegatedAccessStorageMigrations.d.ts.map +1 -0
  53. package/dist/DelegatedAccessStorageMigrations.js +159 -0
  54. package/dist/DelegatedAccessStorageMigrations.js.map +1 -0
  55. package/dist/DevEmail.d.ts +44 -0
  56. package/dist/DevEmail.d.ts.map +1 -0
  57. package/dist/DevEmail.js +115 -0
  58. package/dist/DevEmail.js.map +1 -0
  59. package/dist/DevelopmentSeed.d.ts +47 -0
  60. package/dist/DevelopmentSeed.d.ts.map +1 -0
  61. package/dist/DevelopmentSeed.js +337 -0
  62. package/dist/DevelopmentSeed.js.map +1 -0
  63. package/dist/DisposableEmailDomains.d.ts +19 -0
  64. package/dist/DisposableEmailDomains.d.ts.map +1 -0
  65. package/dist/DisposableEmailDomains.js +85 -0
  66. package/dist/DisposableEmailDomains.js.map +1 -0
  67. package/dist/DomainVerification.d.ts +0 -9
  68. package/dist/DomainVerification.d.ts.map +1 -1
  69. package/dist/DomainVerification.js +36 -22
  70. package/dist/DomainVerification.js.map +1 -1
  71. package/dist/DrizzleBunSqliteStorage.d.ts +18 -0
  72. package/dist/DrizzleBunSqliteStorage.d.ts.map +1 -0
  73. package/dist/DrizzleBunSqliteStorage.js +11 -0
  74. package/dist/DrizzleBunSqliteStorage.js.map +1 -0
  75. package/dist/DrizzleD1SqliteStorage.d.ts +4 -4
  76. package/dist/DrizzleD1SqliteStorage.d.ts.map +1 -1
  77. package/dist/DrizzleD1SqliteStorage.js +5 -5
  78. package/dist/DrizzleD1SqliteStorage.js.map +1 -1
  79. package/dist/DrizzleEffectSqliteStorage.d.ts +13 -4
  80. package/dist/DrizzleEffectSqliteStorage.d.ts.map +1 -1
  81. package/dist/DrizzleEffectSqliteStorage.js +71 -4
  82. package/dist/DrizzleEffectSqliteStorage.js.map +1 -1
  83. package/dist/DrizzleNodeSqliteStorage.d.ts +18 -0
  84. package/dist/DrizzleNodeSqliteStorage.d.ts.map +1 -0
  85. package/dist/DrizzleNodeSqliteStorage.js +11 -0
  86. package/dist/DrizzleNodeSqliteStorage.js.map +1 -0
  87. package/dist/DrizzlePostgresStorage.d.ts +26 -0
  88. package/dist/DrizzlePostgresStorage.d.ts.map +1 -0
  89. package/dist/DrizzlePostgresStorage.js +14 -0
  90. package/dist/DrizzlePostgresStorage.js.map +1 -0
  91. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts +34 -0
  92. package/dist/EffectQbPostgresDelegatedAccessStorage.d.ts.map +1 -0
  93. package/dist/EffectQbPostgresDelegatedAccessStorage.js +499 -0
  94. package/dist/EffectQbPostgresDelegatedAccessStorage.js.map +1 -0
  95. package/dist/EffectQbPostgresStorage.d.ts +178 -0
  96. package/dist/EffectQbPostgresStorage.d.ts.map +1 -0
  97. package/dist/EffectQbPostgresStorage.js +4637 -0
  98. package/dist/EffectQbPostgresStorage.js.map +1 -0
  99. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts +112 -0
  100. package/dist/EffectQbSqliteDelegatedAccessStorage.d.ts.map +1 -0
  101. package/dist/EffectQbSqliteDelegatedAccessStorage.js +602 -0
  102. package/dist/EffectQbSqliteDelegatedAccessStorage.js.map +1 -0
  103. package/dist/EffectQbSqliteStorage.d.ts +221 -23
  104. package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
  105. package/dist/EffectQbSqliteStorage.js +2064 -135
  106. package/dist/EffectQbSqliteStorage.js.map +1 -1
  107. package/dist/EmailAuth.d.ts +65 -0
  108. package/dist/EmailAuth.d.ts.map +1 -0
  109. package/dist/EmailAuth.js +171 -0
  110. package/dist/EmailAuth.js.map +1 -0
  111. package/dist/EmailIdentityAuth.d.ts +30 -0
  112. package/dist/EmailIdentityAuth.d.ts.map +1 -0
  113. package/dist/EmailIdentityAuth.js +142 -0
  114. package/dist/EmailIdentityAuth.js.map +1 -0
  115. package/dist/EmailOtp.d.ts +10 -11
  116. package/dist/EmailOtp.d.ts.map +1 -1
  117. package/dist/EmailOtp.js +44 -81
  118. package/dist/EmailOtp.js.map +1 -1
  119. package/dist/EmailRisk.d.ts +48 -0
  120. package/dist/EmailRisk.d.ts.map +1 -0
  121. package/dist/EmailRisk.js +33 -0
  122. package/dist/EmailRisk.js.map +1 -0
  123. package/dist/EmailVerification.d.ts +10 -16
  124. package/dist/EmailVerification.d.ts.map +1 -1
  125. package/dist/EmailVerification.js +85 -42
  126. package/dist/EmailVerification.js.map +1 -1
  127. package/dist/Guard.d.ts +11 -0
  128. package/dist/Guard.d.ts.map +1 -0
  129. package/dist/Guard.js +11 -0
  130. package/dist/Guard.js.map +1 -0
  131. package/dist/HibpPwnedPasswords.d.ts +56 -0
  132. package/dist/HibpPwnedPasswords.d.ts.map +1 -0
  133. package/dist/HibpPwnedPasswords.js +232 -0
  134. package/dist/HibpPwnedPasswords.js.map +1 -0
  135. package/dist/HttpApi/AdminPermissionDefinition.d.ts +4 -0
  136. package/dist/HttpApi/AdminPermissionDefinition.d.ts.map +1 -0
  137. package/dist/HttpApi/AdminPermissionDefinition.js +4 -0
  138. package/dist/HttpApi/AdminPermissionDefinition.js.map +1 -0
  139. package/dist/HttpApi/AdminSecurityTimeline.d.ts +4 -0
  140. package/dist/HttpApi/AdminSecurityTimeline.d.ts.map +1 -0
  141. package/dist/HttpApi/AdminSecurityTimeline.js +4 -0
  142. package/dist/HttpApi/AdminSecurityTimeline.js.map +1 -0
  143. package/dist/HttpApi/AdminSession.d.ts +4 -0
  144. package/dist/HttpApi/AdminSession.d.ts.map +1 -0
  145. package/dist/HttpApi/AdminSession.js +4 -0
  146. package/dist/HttpApi/AdminSession.js.map +1 -0
  147. package/dist/HttpApi/AdminTrustedDevice.d.ts +4 -0
  148. package/dist/HttpApi/AdminTrustedDevice.d.ts.map +1 -0
  149. package/dist/HttpApi/AdminTrustedDevice.js +4 -0
  150. package/dist/HttpApi/AdminTrustedDevice.js.map +1 -0
  151. package/dist/HttpApi/Api.d.ts +939 -884
  152. package/dist/HttpApi/Api.d.ts.map +1 -1
  153. package/dist/HttpApi/Api.js +2254 -940
  154. package/dist/HttpApi/Api.js.map +1 -1
  155. package/dist/HttpApi/ApiKey.d.ts +4 -0
  156. package/dist/HttpApi/ApiKey.d.ts.map +1 -0
  157. package/dist/HttpApi/ApiKey.js +4 -0
  158. package/dist/HttpApi/ApiKey.js.map +1 -0
  159. package/dist/HttpApi/Audit.d.ts +6 -0
  160. package/dist/HttpApi/Audit.d.ts.map +1 -0
  161. package/dist/HttpApi/Audit.js +10 -0
  162. package/dist/HttpApi/Audit.js.map +1 -0
  163. package/dist/HttpApi/ClientApi.d.ts +917 -0
  164. package/dist/HttpApi/ClientApi.d.ts.map +1 -0
  165. package/dist/HttpApi/ClientApi.js +101 -0
  166. package/dist/HttpApi/ClientApi.js.map +1 -0
  167. package/dist/HttpApi/EmailAuth.d.ts +6 -0
  168. package/dist/HttpApi/EmailAuth.d.ts.map +1 -0
  169. package/dist/HttpApi/EmailAuth.js +6 -0
  170. package/dist/HttpApi/EmailAuth.js.map +1 -0
  171. package/dist/HttpApi/EmailGuards.d.ts +115 -0
  172. package/dist/HttpApi/EmailGuards.d.ts.map +1 -0
  173. package/dist/HttpApi/EmailGuards.js +191 -0
  174. package/dist/HttpApi/EmailGuards.js.map +1 -0
  175. package/dist/HttpApi/EmailOtp.d.ts +6 -0
  176. package/dist/HttpApi/EmailOtp.d.ts.map +1 -0
  177. package/dist/HttpApi/EmailOtp.js +6 -0
  178. package/dist/HttpApi/EmailOtp.js.map +1 -0
  179. package/dist/HttpApi/EmailVerification.d.ts +6 -0
  180. package/dist/HttpApi/EmailVerification.d.ts.map +1 -0
  181. package/dist/HttpApi/EmailVerification.js +6 -0
  182. package/dist/HttpApi/EmailVerification.js.map +1 -0
  183. package/dist/HttpApi/Endpoints.d.ts +661 -301
  184. package/dist/HttpApi/Endpoints.d.ts.map +1 -1
  185. package/dist/HttpApi/Endpoints.js +207 -120
  186. package/dist/HttpApi/Endpoints.js.map +1 -1
  187. package/dist/HttpApi/Errors.d.ts +37 -10
  188. package/dist/HttpApi/Errors.d.ts.map +1 -1
  189. package/dist/HttpApi/Errors.js +42 -4
  190. package/dist/HttpApi/Errors.js.map +1 -1
  191. package/dist/HttpApi/Identity.d.ts +6 -0
  192. package/dist/HttpApi/Identity.d.ts.map +1 -0
  193. package/dist/HttpApi/Identity.js +6 -0
  194. package/dist/HttpApi/Identity.js.map +1 -0
  195. package/dist/HttpApi/IdentityGuards.d.ts +31 -0
  196. package/dist/HttpApi/IdentityGuards.d.ts.map +1 -0
  197. package/dist/HttpApi/IdentityGuards.js +33 -0
  198. package/dist/HttpApi/IdentityGuards.js.map +1 -0
  199. package/dist/HttpApi/Jwt.d.ts +4 -0
  200. package/dist/HttpApi/Jwt.d.ts.map +1 -0
  201. package/dist/HttpApi/Jwt.js +4 -0
  202. package/dist/HttpApi/Jwt.js.map +1 -0
  203. package/dist/HttpApi/JwtDiscovery.d.ts +4 -0
  204. package/dist/HttpApi/JwtDiscovery.d.ts.map +1 -0
  205. package/dist/HttpApi/JwtDiscovery.js +4 -0
  206. package/dist/HttpApi/JwtDiscovery.js.map +1 -0
  207. package/dist/HttpApi/LoginApproval.d.ts +5 -0
  208. package/dist/HttpApi/LoginApproval.d.ts.map +1 -0
  209. package/dist/HttpApi/LoginApproval.js +5 -0
  210. package/dist/HttpApi/LoginApproval.js.map +1 -0
  211. package/dist/HttpApi/LoginNotification.d.ts +5 -0
  212. package/dist/HttpApi/LoginNotification.d.ts.map +1 -0
  213. package/dist/HttpApi/LoginNotification.js +5 -0
  214. package/dist/HttpApi/LoginNotification.js.map +1 -0
  215. package/dist/HttpApi/MagicLink.d.ts +6 -0
  216. package/dist/HttpApi/MagicLink.d.ts.map +1 -0
  217. package/dist/HttpApi/MagicLink.js +6 -0
  218. package/dist/HttpApi/MagicLink.js.map +1 -0
  219. package/dist/HttpApi/Mfa.d.ts +5 -0
  220. package/dist/HttpApi/Mfa.d.ts.map +1 -0
  221. package/dist/HttpApi/Mfa.js +5 -0
  222. package/dist/HttpApi/Mfa.js.map +1 -0
  223. package/dist/HttpApi/Middleware.d.ts +26 -0
  224. package/dist/HttpApi/Middleware.d.ts.map +1 -0
  225. package/dist/HttpApi/Middleware.js +13 -0
  226. package/dist/HttpApi/Middleware.js.map +1 -0
  227. package/dist/HttpApi/OAuth.d.ts +4 -0
  228. package/dist/HttpApi/OAuth.d.ts.map +1 -0
  229. package/dist/HttpApi/OAuth.js +4 -0
  230. package/dist/HttpApi/OAuth.js.map +1 -0
  231. package/dist/HttpApi/OAuthDeviceAuthorization.d.ts +106 -0
  232. package/dist/HttpApi/OAuthDeviceAuthorization.d.ts.map +1 -0
  233. package/dist/HttpApi/OAuthDeviceAuthorization.js +415 -0
  234. package/dist/HttpApi/OAuthDeviceAuthorization.js.map +1 -0
  235. package/dist/HttpApi/OAuthProviderAuthorization.d.ts +4 -0
  236. package/dist/HttpApi/OAuthProviderAuthorization.d.ts.map +1 -0
  237. package/dist/HttpApi/OAuthProviderAuthorization.js +4 -0
  238. package/dist/HttpApi/OAuthProviderAuthorization.js.map +1 -0
  239. package/dist/HttpApi/OAuthToken.d.ts +4 -0
  240. package/dist/HttpApi/OAuthToken.d.ts.map +1 -0
  241. package/dist/HttpApi/OAuthToken.js +4 -0
  242. package/dist/HttpApi/OAuthToken.js.map +1 -0
  243. package/dist/HttpApi/OidcDiscovery.d.ts +4 -0
  244. package/dist/HttpApi/OidcDiscovery.d.ts.map +1 -0
  245. package/dist/HttpApi/OidcDiscovery.js +4 -0
  246. package/dist/HttpApi/OidcDiscovery.js.map +1 -0
  247. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts +28 -0
  248. package/dist/HttpApi/Operations/AdminPermissionDefinition.d.ts.map +1 -0
  249. package/dist/HttpApi/Operations/AdminPermissionDefinition.js +5 -0
  250. package/dist/HttpApi/Operations/AdminPermissionDefinition.js.map +1 -0
  251. package/dist/HttpApi/Operations/AdminSession.d.ts +16 -0
  252. package/dist/HttpApi/Operations/AdminSession.d.ts.map +1 -0
  253. package/dist/HttpApi/Operations/AdminSession.js +5 -0
  254. package/dist/HttpApi/Operations/AdminSession.js.map +1 -0
  255. package/dist/HttpApi/Operations/ApiKey.d.ts +16 -0
  256. package/dist/HttpApi/Operations/ApiKey.d.ts.map +1 -0
  257. package/dist/HttpApi/Operations/ApiKey.js +5 -0
  258. package/dist/HttpApi/Operations/ApiKey.js.map +1 -0
  259. package/dist/HttpApi/Operations/Discovery.d.ts +19 -0
  260. package/dist/HttpApi/Operations/Discovery.d.ts.map +1 -0
  261. package/dist/HttpApi/Operations/Discovery.js +7 -0
  262. package/dist/HttpApi/Operations/Discovery.js.map +1 -0
  263. package/dist/HttpApi/Operations/EmailAuth.d.ts +12 -0
  264. package/dist/HttpApi/Operations/EmailAuth.d.ts.map +1 -0
  265. package/dist/HttpApi/Operations/EmailAuth.js +5 -0
  266. package/dist/HttpApi/Operations/EmailAuth.js.map +1 -0
  267. package/dist/HttpApi/Operations/EmailOtp.d.ts +14 -0
  268. package/dist/HttpApi/Operations/EmailOtp.d.ts.map +1 -0
  269. package/dist/HttpApi/Operations/EmailOtp.js +5 -0
  270. package/dist/HttpApi/Operations/EmailOtp.js.map +1 -0
  271. package/dist/HttpApi/Operations/EmailVerification.d.ts +14 -0
  272. package/dist/HttpApi/Operations/EmailVerification.d.ts.map +1 -0
  273. package/dist/HttpApi/Operations/EmailVerification.js +5 -0
  274. package/dist/HttpApi/Operations/EmailVerification.js.map +1 -0
  275. package/dist/HttpApi/Operations/HttpOperation.d.ts +4 -0
  276. package/dist/HttpApi/Operations/HttpOperation.d.ts.map +1 -0
  277. package/dist/HttpApi/Operations/HttpOperation.js +2 -0
  278. package/dist/HttpApi/Operations/HttpOperation.js.map +1 -0
  279. package/dist/HttpApi/Operations/Identity.d.ts +22 -0
  280. package/dist/HttpApi/Operations/Identity.d.ts.map +1 -0
  281. package/dist/HttpApi/Operations/Identity.js +5 -0
  282. package/dist/HttpApi/Operations/Identity.js.map +1 -0
  283. package/dist/HttpApi/Operations/Jwt.d.ts +14 -0
  284. package/dist/HttpApi/Operations/Jwt.d.ts.map +1 -0
  285. package/dist/HttpApi/Operations/Jwt.js +5 -0
  286. package/dist/HttpApi/Operations/Jwt.js.map +1 -0
  287. package/dist/HttpApi/Operations/LoginApproval.d.ts +16 -0
  288. package/dist/HttpApi/Operations/LoginApproval.d.ts.map +1 -0
  289. package/dist/HttpApi/Operations/LoginApproval.js +5 -0
  290. package/dist/HttpApi/Operations/LoginApproval.js.map +1 -0
  291. package/dist/HttpApi/Operations/MagicLink.d.ts +14 -0
  292. package/dist/HttpApi/Operations/MagicLink.d.ts.map +1 -0
  293. package/dist/HttpApi/Operations/MagicLink.js +5 -0
  294. package/dist/HttpApi/Operations/MagicLink.js.map +1 -0
  295. package/dist/HttpApi/Operations/Mfa.d.ts +24 -0
  296. package/dist/HttpApi/Operations/Mfa.d.ts.map +1 -0
  297. package/dist/HttpApi/Operations/Mfa.js +5 -0
  298. package/dist/HttpApi/Operations/Mfa.js.map +1 -0
  299. package/dist/HttpApi/Operations/OAuth.d.ts +20 -0
  300. package/dist/HttpApi/Operations/OAuth.d.ts.map +1 -0
  301. package/dist/HttpApi/Operations/OAuth.js +5 -0
  302. package/dist/HttpApi/Operations/OAuth.js.map +1 -0
  303. package/dist/HttpApi/Operations/OAuthDeviceAuthorization.d.ts +23 -0
  304. package/dist/HttpApi/Operations/OAuthDeviceAuthorization.d.ts.map +1 -0
  305. package/dist/HttpApi/Operations/OAuthDeviceAuthorization.js +7 -0
  306. package/dist/HttpApi/Operations/OAuthDeviceAuthorization.js.map +1 -0
  307. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts +12 -0
  308. package/dist/HttpApi/Operations/OAuthProviderAuthorization.d.ts.map +1 -0
  309. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js +5 -0
  310. package/dist/HttpApi/Operations/OAuthProviderAuthorization.js.map +1 -0
  311. package/dist/HttpApi/Operations/OAuthToken.d.ts +26 -0
  312. package/dist/HttpApi/Operations/OAuthToken.d.ts.map +1 -0
  313. package/dist/HttpApi/Operations/OAuthToken.js +9 -0
  314. package/dist/HttpApi/Operations/OAuthToken.js.map +1 -0
  315. package/dist/HttpApi/Operations/Passkey.d.ts +22 -0
  316. package/dist/HttpApi/Operations/Passkey.d.ts.map +1 -0
  317. package/dist/HttpApi/Operations/Passkey.js +5 -0
  318. package/dist/HttpApi/Operations/Passkey.js.map +1 -0
  319. package/dist/HttpApi/Operations/Password.d.ts +22 -0
  320. package/dist/HttpApi/Operations/Password.d.ts.map +1 -0
  321. package/dist/HttpApi/Operations/Password.js +5 -0
  322. package/dist/HttpApi/Operations/Password.js.map +1 -0
  323. package/dist/HttpApi/Operations/RecoveryCodes.d.ts +20 -0
  324. package/dist/HttpApi/Operations/RecoveryCodes.d.ts.map +1 -0
  325. package/dist/HttpApi/Operations/RecoveryCodes.js +5 -0
  326. package/dist/HttpApi/Operations/RecoveryCodes.js.map +1 -0
  327. package/dist/HttpApi/Operations/RefreshToken.d.ts +12 -0
  328. package/dist/HttpApi/Operations/RefreshToken.d.ts.map +1 -0
  329. package/dist/HttpApi/Operations/RefreshToken.js +5 -0
  330. package/dist/HttpApi/Operations/RefreshToken.js.map +1 -0
  331. package/dist/HttpApi/Operations/Security.d.ts +12 -0
  332. package/dist/HttpApi/Operations/Security.d.ts.map +1 -0
  333. package/dist/HttpApi/Operations/Security.js +5 -0
  334. package/dist/HttpApi/Operations/Security.js.map +1 -0
  335. package/dist/HttpApi/Operations/SecurityTimeline.d.ts +19 -0
  336. package/dist/HttpApi/Operations/SecurityTimeline.d.ts.map +1 -0
  337. package/dist/HttpApi/Operations/SecurityTimeline.js +7 -0
  338. package/dist/HttpApi/Operations/SecurityTimeline.js.map +1 -0
  339. package/dist/HttpApi/Operations/Session.d.ts +22 -0
  340. package/dist/HttpApi/Operations/Session.d.ts.map +1 -0
  341. package/dist/HttpApi/Operations/Session.js +5 -0
  342. package/dist/HttpApi/Operations/Session.js.map +1 -0
  343. package/dist/HttpApi/Operations/StepUp.d.ts +22 -0
  344. package/dist/HttpApi/Operations/StepUp.d.ts.map +1 -0
  345. package/dist/HttpApi/Operations/StepUp.js +5 -0
  346. package/dist/HttpApi/Operations/StepUp.js.map +1 -0
  347. package/dist/HttpApi/Operations/Totp.d.ts +20 -0
  348. package/dist/HttpApi/Operations/Totp.d.ts.map +1 -0
  349. package/dist/HttpApi/Operations/Totp.js +5 -0
  350. package/dist/HttpApi/Operations/Totp.js.map +1 -0
  351. package/dist/HttpApi/Operations/TrustedDevice.d.ts +23 -0
  352. package/dist/HttpApi/Operations/TrustedDevice.d.ts.map +1 -0
  353. package/dist/HttpApi/Operations/TrustedDevice.js +7 -0
  354. package/dist/HttpApi/Operations/TrustedDevice.js.map +1 -0
  355. package/dist/HttpApi/Operations/index.d.ts +28 -0
  356. package/dist/HttpApi/Operations/index.d.ts.map +1 -0
  357. package/dist/HttpApi/Operations/index.js +28 -0
  358. package/dist/HttpApi/Operations/index.js.map +1 -0
  359. package/dist/HttpApi/Passkey.d.ts +5 -0
  360. package/dist/HttpApi/Passkey.d.ts.map +1 -0
  361. package/dist/HttpApi/Passkey.js +5 -0
  362. package/dist/HttpApi/Passkey.js.map +1 -0
  363. package/dist/HttpApi/Password.d.ts +220 -0
  364. package/dist/HttpApi/Password.d.ts.map +1 -0
  365. package/dist/HttpApi/Password.js +237 -0
  366. package/dist/HttpApi/Password.js.map +1 -0
  367. package/dist/HttpApi/PasswordContract.d.ts +307 -0
  368. package/dist/HttpApi/PasswordContract.d.ts.map +1 -0
  369. package/dist/HttpApi/PasswordContract.js +63 -0
  370. package/dist/HttpApi/PasswordContract.js.map +1 -0
  371. package/dist/HttpApi/PasswordGuards.d.ts +82 -0
  372. package/dist/HttpApi/PasswordGuards.d.ts.map +1 -0
  373. package/dist/HttpApi/PasswordGuards.js +179 -0
  374. package/dist/HttpApi/PasswordGuards.js.map +1 -0
  375. package/dist/HttpApi/RecoveryCodes.d.ts +5 -0
  376. package/dist/HttpApi/RecoveryCodes.d.ts.map +1 -0
  377. package/dist/HttpApi/RecoveryCodes.js +5 -0
  378. package/dist/HttpApi/RecoveryCodes.js.map +1 -0
  379. package/dist/HttpApi/RefreshToken.d.ts +4 -0
  380. package/dist/HttpApi/RefreshToken.d.ts.map +1 -0
  381. package/dist/HttpApi/RefreshToken.js +4 -0
  382. package/dist/HttpApi/RefreshToken.js.map +1 -0
  383. package/dist/HttpApi/RequestGuards.d.ts +42 -0
  384. package/dist/HttpApi/RequestGuards.d.ts.map +1 -0
  385. package/dist/HttpApi/RequestGuards.js +194 -0
  386. package/dist/HttpApi/RequestGuards.js.map +1 -0
  387. package/dist/HttpApi/Schemas.d.ts +399 -84
  388. package/dist/HttpApi/Schemas.d.ts.map +1 -1
  389. package/dist/HttpApi/Schemas.js +225 -27
  390. package/dist/HttpApi/Schemas.js.map +1 -1
  391. package/dist/HttpApi/Security.d.ts +12 -93
  392. package/dist/HttpApi/Security.d.ts.map +1 -1
  393. package/dist/HttpApi/Security.js +65 -356
  394. package/dist/HttpApi/Security.js.map +1 -1
  395. package/dist/HttpApi/SecurityTimeline.d.ts +4 -0
  396. package/dist/HttpApi/SecurityTimeline.d.ts.map +1 -0
  397. package/dist/HttpApi/SecurityTimeline.js +4 -0
  398. package/dist/HttpApi/SecurityTimeline.js.map +1 -0
  399. package/dist/HttpApi/Session.d.ts +5 -0
  400. package/dist/HttpApi/Session.d.ts.map +1 -0
  401. package/dist/HttpApi/Session.js +5 -0
  402. package/dist/HttpApi/Session.js.map +1 -0
  403. package/dist/HttpApi/SessionGuards.d.ts +15 -0
  404. package/dist/HttpApi/SessionGuards.d.ts.map +1 -0
  405. package/dist/HttpApi/SessionGuards.js +37 -0
  406. package/dist/HttpApi/SessionGuards.js.map +1 -0
  407. package/dist/HttpApi/StepUp.d.ts +5 -0
  408. package/dist/HttpApi/StepUp.d.ts.map +1 -0
  409. package/dist/HttpApi/StepUp.js +5 -0
  410. package/dist/HttpApi/StepUp.js.map +1 -0
  411. package/dist/HttpApi/Totp.d.ts +5 -0
  412. package/dist/HttpApi/Totp.d.ts.map +1 -0
  413. package/dist/HttpApi/Totp.js +5 -0
  414. package/dist/HttpApi/Totp.js.map +1 -0
  415. package/dist/HttpApi/Transport.d.ts +4 -6
  416. package/dist/HttpApi/Transport.d.ts.map +1 -1
  417. package/dist/HttpApi/Transport.js +62 -36
  418. package/dist/HttpApi/Transport.js.map +1 -1
  419. package/dist/HttpApi/TrustedDevice.d.ts +4 -0
  420. package/dist/HttpApi/TrustedDevice.d.ts.map +1 -0
  421. package/dist/HttpApi/TrustedDevice.js +4 -0
  422. package/dist/HttpApi/TrustedDevice.js.map +1 -0
  423. package/dist/HttpApi/index.d.ts +11 -3
  424. package/dist/HttpApi/index.d.ts.map +1 -1
  425. package/dist/HttpApi/index.js +10 -2
  426. package/dist/HttpApi/index.js.map +1 -1
  427. package/dist/Identity.d.ts +138 -0
  428. package/dist/Identity.d.ts.map +1 -0
  429. package/dist/Identity.js +105 -0
  430. package/dist/Identity.js.map +1 -0
  431. package/dist/IdentityManagement.d.ts +189 -0
  432. package/dist/IdentityManagement.d.ts.map +1 -0
  433. package/dist/IdentityManagement.js +317 -0
  434. package/dist/IdentityManagement.js.map +1 -0
  435. package/dist/IncidentAction.d.ts +1 -4
  436. package/dist/IncidentAction.d.ts.map +1 -1
  437. package/dist/IncidentAction.js +15 -9
  438. package/dist/IncidentAction.js.map +1 -1
  439. package/dist/Internal.d.ts +2 -0
  440. package/dist/Internal.d.ts.map +1 -1
  441. package/dist/Internal.js +30 -0
  442. package/dist/Internal.js.map +1 -1
  443. package/dist/Invitation.d.ts +362 -0
  444. package/dist/Invitation.d.ts.map +1 -0
  445. package/dist/Invitation.js +633 -0
  446. package/dist/Invitation.js.map +1 -0
  447. package/dist/IpQualityScore.d.ts +38 -0
  448. package/dist/IpQualityScore.d.ts.map +1 -0
  449. package/dist/IpQualityScore.js +215 -0
  450. package/dist/IpQualityScore.js.map +1 -0
  451. package/dist/Jwt.d.ts +8 -29
  452. package/dist/Jwt.d.ts.map +1 -1
  453. package/dist/Jwt.js +67 -56
  454. package/dist/Jwt.js.map +1 -1
  455. package/dist/LoginApproval.d.ts +15 -30
  456. package/dist/LoginApproval.d.ts.map +1 -1
  457. package/dist/LoginApproval.js +47 -41
  458. package/dist/LoginApproval.js.map +1 -1
  459. package/dist/LoginNotification.d.ts +7 -11
  460. package/dist/LoginNotification.d.ts.map +1 -1
  461. package/dist/LoginNotification.js +30 -17
  462. package/dist/LoginNotification.js.map +1 -1
  463. package/dist/LoginRisk.d.ts +11 -13
  464. package/dist/LoginRisk.d.ts.map +1 -1
  465. package/dist/LoginRisk.js +66 -26
  466. package/dist/LoginRisk.js.map +1 -1
  467. package/dist/LoginRiskEnrichment.d.ts +145 -0
  468. package/dist/LoginRiskEnrichment.d.ts.map +1 -0
  469. package/dist/LoginRiskEnrichment.js +220 -0
  470. package/dist/LoginRiskEnrichment.js.map +1 -0
  471. package/dist/MagicLink.d.ts +9 -8
  472. package/dist/MagicLink.d.ts.map +1 -1
  473. package/dist/MagicLink.js +40 -73
  474. package/dist/MagicLink.js.map +1 -1
  475. package/dist/Mailer.d.ts +19 -12
  476. package/dist/Mailer.d.ts.map +1 -1
  477. package/dist/Mailer.js +10 -12
  478. package/dist/Mailer.js.map +1 -1
  479. package/dist/OAuth.d.ts +138 -96
  480. package/dist/OAuth.d.ts.map +1 -1
  481. package/dist/OAuth.js +522 -221
  482. package/dist/OAuth.js.map +1 -1
  483. package/dist/OAuthDeviceAuthorization.d.ts +378 -0
  484. package/dist/OAuthDeviceAuthorization.d.ts.map +1 -0
  485. package/dist/OAuthDeviceAuthorization.js +860 -0
  486. package/dist/OAuthDeviceAuthorization.js.map +1 -0
  487. package/dist/OAuthDeviceClient.d.ts +76 -0
  488. package/dist/OAuthDeviceClient.d.ts.map +1 -0
  489. package/dist/OAuthDeviceClient.js +362 -0
  490. package/dist/OAuthDeviceClient.js.map +1 -0
  491. package/dist/Passkey.d.ts +15 -17
  492. package/dist/Passkey.d.ts.map +1 -1
  493. package/dist/Passkey.js +86 -39
  494. package/dist/Passkey.js.map +1 -1
  495. package/dist/PasskeyBrowser.d.ts +39 -0
  496. package/dist/PasskeyBrowser.d.ts.map +1 -0
  497. package/dist/PasskeyBrowser.js +206 -0
  498. package/dist/PasskeyBrowser.js.map +1 -0
  499. package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -1
  500. package/dist/PasskeySimpleWebAuthn.js +19 -7
  501. package/dist/PasskeySimpleWebAuthn.js.map +1 -1
  502. package/dist/Password.d.ts +71 -37
  503. package/dist/Password.d.ts.map +1 -1
  504. package/dist/Password.js +295 -81
  505. package/dist/Password.js.map +1 -1
  506. package/dist/PasswordRisk.d.ts +63 -0
  507. package/dist/PasswordRisk.d.ts.map +1 -0
  508. package/dist/PasswordRisk.js +37 -0
  509. package/dist/PasswordRisk.js.map +1 -0
  510. package/dist/Permission.d.ts +308 -0
  511. package/dist/Permission.d.ts.map +1 -0
  512. package/dist/Permission.js +827 -0
  513. package/dist/Permission.js.map +1 -0
  514. package/dist/Policy.d.ts +31 -18
  515. package/dist/Policy.d.ts.map +1 -1
  516. package/dist/Policy.js +58 -14
  517. package/dist/Policy.js.map +1 -1
  518. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts +7 -0
  519. package/dist/PostgresDelegatedAccessStorageMigrations.d.ts.map +1 -0
  520. package/dist/PostgresDelegatedAccessStorageMigrations.js +119 -0
  521. package/dist/PostgresDelegatedAccessStorageMigrations.js.map +1 -0
  522. package/dist/PostgresStorageMigrations.d.ts +16 -0
  523. package/dist/PostgresStorageMigrations.d.ts.map +1 -0
  524. package/dist/PostgresStorageMigrations.js +674 -0
  525. package/dist/PostgresStorageMigrations.js.map +1 -0
  526. package/dist/Privacy.d.ts +0 -3
  527. package/dist/Privacy.d.ts.map +1 -1
  528. package/dist/Privacy.js +2 -5
  529. package/dist/Privacy.js.map +1 -1
  530. package/dist/RateLimiter.d.ts +0 -3
  531. package/dist/RateLimiter.d.ts.map +1 -1
  532. package/dist/RateLimiter.js +1 -4
  533. package/dist/RateLimiter.js.map +1 -1
  534. package/dist/RecoveryCode.d.ts +83 -11
  535. package/dist/RecoveryCode.d.ts.map +1 -1
  536. package/dist/RecoveryCode.js +273 -75
  537. package/dist/RecoveryCode.js.map +1 -1
  538. package/dist/RecoveryPolicy.d.ts +81 -0
  539. package/dist/RecoveryPolicy.d.ts.map +1 -0
  540. package/dist/RecoveryPolicy.js +119 -0
  541. package/dist/RecoveryPolicy.js.map +1 -0
  542. package/dist/RefreshToken.d.ts +0 -9
  543. package/dist/RefreshToken.d.ts.map +1 -1
  544. package/dist/RefreshToken.js +31 -22
  545. package/dist/RefreshToken.js.map +1 -1
  546. package/dist/Retention.d.ts +6 -1
  547. package/dist/Retention.d.ts.map +1 -1
  548. package/dist/Retention.js +49 -12
  549. package/dist/Retention.js.map +1 -1
  550. package/dist/SecurityTimeline.d.ts +1 -4
  551. package/dist/SecurityTimeline.d.ts.map +1 -1
  552. package/dist/SecurityTimeline.js +110 -17
  553. package/dist/SecurityTimeline.js.map +1 -1
  554. package/dist/Sessions.d.ts +124 -29
  555. package/dist/Sessions.d.ts.map +1 -1
  556. package/dist/Sessions.js +626 -94
  557. package/dist/Sessions.js.map +1 -1
  558. package/dist/SqliteStorageSchemaData.d.ts +2 -0
  559. package/dist/SqliteStorageSchemaData.d.ts.map +1 -0
  560. package/dist/SqliteStorageSchemaData.js +508 -0
  561. package/dist/SqliteStorageSchemaData.js.map +1 -0
  562. package/dist/StepUp.d.ts +132 -11
  563. package/dist/StepUp.d.ts.map +1 -1
  564. package/dist/StepUp.js +387 -19
  565. package/dist/StepUp.js.map +1 -1
  566. package/dist/Storage.d.ts +89 -23
  567. package/dist/Storage.d.ts.map +1 -1
  568. package/dist/Storage.js +10 -12
  569. package/dist/Storage.js.map +1 -1
  570. package/dist/StorageMigrations.d.ts +7 -1
  571. package/dist/StorageMigrations.d.ts.map +1 -1
  572. package/dist/StorageMigrations.js +256 -0
  573. package/dist/StorageMigrations.js.map +1 -1
  574. package/dist/StorageSchemaGenerator.d.ts +544 -0
  575. package/dist/StorageSchemaGenerator.d.ts.map +1 -0
  576. package/dist/StorageSchemaGenerator.js +1418 -0
  577. package/dist/StorageSchemaGenerator.js.map +1 -0
  578. package/dist/StrongFactor.d.ts +64 -0
  579. package/dist/StrongFactor.d.ts.map +1 -0
  580. package/dist/StrongFactor.js +100 -0
  581. package/dist/StrongFactor.js.map +1 -0
  582. package/dist/Testing.js +2 -2
  583. package/dist/Testing.js.map +1 -1
  584. package/dist/Totp.d.ts +88 -13
  585. package/dist/Totp.d.ts.map +1 -1
  586. package/dist/Totp.js +192 -34
  587. package/dist/Totp.js.map +1 -1
  588. package/dist/TrustedDevice.d.ts +0 -9
  589. package/dist/TrustedDevice.d.ts.map +1 -1
  590. package/dist/TrustedDevice.js +15 -17
  591. package/dist/TrustedDevice.js.map +1 -1
  592. package/dist/WaitUntil.d.ts +0 -3
  593. package/dist/WaitUntil.d.ts.map +1 -1
  594. package/dist/WaitUntil.js +1 -4
  595. package/dist/WaitUntil.js.map +1 -1
  596. package/dist/Webhook.d.ts +42 -12
  597. package/dist/Webhook.d.ts.map +1 -1
  598. package/dist/Webhook.js +165 -26
  599. package/dist/Webhook.js.map +1 -1
  600. package/dist/alchemy/cloudflare/Email.d.ts.map +1 -1
  601. package/dist/alchemy/cloudflare/Email.js +9 -4
  602. package/dist/alchemy/cloudflare/Email.js.map +1 -1
  603. package/dist/cloudflare/Email.js +1 -1
  604. package/dist/cloudflare/Email.js.map +1 -1
  605. package/dist/cloudflare/RequestMetadata.d.ts +49 -0
  606. package/dist/cloudflare/RequestMetadata.d.ts.map +1 -0
  607. package/dist/cloudflare/RequestMetadata.js +71 -0
  608. package/dist/cloudflare/RequestMetadata.js.map +1 -0
  609. package/dist/index.d.ts +0 -35
  610. package/dist/index.d.ts.map +1 -1
  611. package/dist/index.js +0 -35
  612. package/dist/index.js.map +1 -1
  613. package/dist/internal/AuthFlowFinalizer.d.ts +31 -0
  614. package/dist/internal/AuthFlowFinalizer.d.ts.map +1 -0
  615. package/dist/internal/AuthFlowFinalizer.js +182 -0
  616. package/dist/internal/AuthFlowFinalizer.js.map +1 -0
  617. package/migrations/0001_auth_storage.sql +1 -0
  618. package/migrations/0006_auth_totp_factor.sql +1 -0
  619. package/migrations/0024_auth_permission.sql +39 -0
  620. package/migrations/0025_auth_permission_definition.sql +19 -0
  621. package/migrations/0026_auth_user_identity.sql +59 -0
  622. package/migrations/0027_auth_audit_log_storage_order.sql +46 -0
  623. package/migrations/0028_auth_oauth_client_secret_key.sql +39 -0
  624. package/migrations/0029_auth_oauth_device_authorization.sql +28 -0
  625. package/migrations/delegated-access/0001_auth_delegated_access.sql +152 -0
  626. package/migrations/postgres/0001_auth_core.sql +77 -0
  627. package/migrations/postgres/0002_auth_security_oauth.sql +65 -0
  628. package/migrations/postgres/0003_auth_credentials_tokens.sql +43 -0
  629. package/migrations/postgres/0004_auth_security_history.sql +103 -0
  630. package/migrations/postgres/0005_auth_webhooks.sql +29 -0
  631. package/migrations/postgres/0006_auth_domain_timeline.sql +50 -0
  632. package/migrations/postgres/0007_auth_oauth_clients.sql +85 -0
  633. package/migrations/postgres/0008_auth_oauth_tokens.sql +63 -0
  634. package/migrations/postgres/0009_auth_permissions.sql +66 -0
  635. package/migrations/postgres/0010_auth_oauth_device_authorization.sql +50 -0
  636. package/migrations/postgres/delegated-access/0001_auth_delegated_access.sql +112 -0
  637. package/package.json +309 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../src/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAezC,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,MAAM,IAAI,UAAU,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AASxD,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAqC,CAAC;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,CAAC,IAAyB,EAAE,EAAU,EAAmB,EAAE,CAAC,CAAC;QACjE,IAAI;QACJ,EAAE;KACH,CAAC;CACM,CAAC;AASX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,CAAC,IAA2B,EAAE,EAAU,EAAqB,EAAE,CAAC,CAAC;QACrE,IAAI;QACJ,EAAE;KACH,CAAC;IACF,IAAI,EAAE,CAAC,MAAc,EAAqB,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM;KACX,CAAC;CACM,CAAC;AAEX,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAGlD,CAAC,uBAAuB,CAAC;CAAG;AAsG/B,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAsC,EAC7B,EAAE,CACX,UAAU,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC;AAE5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,UAAgC,EACvB,EAAE,CACX,UAAU,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC;AAwG5E,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CACxD,sBAAsB,CAKtB;CAAG;AA2BL,MAAM,OAAO,oBAAqB,SAAQ,IAAI,CAAC,WAAW,CACxD,sBAAsB,CAKtB;CAAG;AA2CL,MAAM,OAAO,6BAA8B,SAAQ,IAAI,CAAC,WAAW,CACjE,+BAA+B,CAS/B;CAAG;AAWL,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,OAAO,EAG7C,CAAC,kBAAkB,CAAC;CAAG;AAyF1B,MAAM,OAAO,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAGjD,CAAC,sBAAsB,CAAC;CAAG;AAsF9B,MAAM,OAAO,wBAAyB,SAAQ,OAAO,CAAC,OAAO,EAG1D,CAAC,+BAA+B,CAAC;CAAG;AAcvC,MAAM,OAAO,oCAAqC,SAAQ,OAAO,CAAC,OAAO,EAGtE,CAAC,2CAA2C,CAAC;CAAG;AAEnD,MAAM,aAAa,GAAG,GAAe,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,sCAAsC,GAAG,CACpD,KAAyB,EACjB,EAAE,CACV,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEpD,MAAM,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9C,MAAM,oBAAoB,GAAG,CAC3B,IAAsB,EACtB,KAAuB,EACf,EAAE;IACV,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,KAAkC,EACL,EAAE,CAC/B,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;IACxD,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,KAAK,CAAC;AAEZ,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAmB,EAAE,CAC7E,KAAK,IAAI,WAAW,CAAC;AAEvB,MAAM,UAAU,GAAG,CACjB,KAAkC,EACI,EAAE;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC,EAAE,KAAK,SAAS;QAChC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAkC,EAAU,EAAE,CAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpC,MAAM,kBAAkB,GAAG,CAAC,KAI3B,EAAU,EAAE,CACX,IAAI,CAAC,SAAS,CAAC;IACb,KAAK,CAAC,OAAO,CAAC,IAAI;IAClB,KAAK,CAAC,OAAO,CAAC,EAAE;IAChB,KAAK,CAAC,UAAU;IAChB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;CACxB,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,CAAC,KAIrB,EAAU,EAAE,CACX,IAAI,CAAC,SAAS,CAAC;IACb,KAAK,CAAC,OAAO,CAAC,IAAI;IAClB,KAAK,CAAC,OAAO,CAAC,EAAE;IAChB,KAAK,CAAC,IAAI;IACV,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;CACxB,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,CAAC,KAI1B,EAAU,EAAE,CACX,IAAI,CAAC,SAAS,CAAC;IACb,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,UAAU;IAChB,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;CACvD,CAAC,CAAC;AAEL,MAAM,aAAa,GAAG,CAAC,KAAkC,EAAW,EAAE;IACpE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,KAAK,SAAS,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,UAAuC,EACvC,cAA2C,EAClC,EAAE,CACX,aAAa,CAAC,UAAU,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAG,CACrB,IAAuB,EACvB,KAAwB,EACf,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;AAE/D,MAAM,mBAAmB,GAAG,CAC1B,IAAiC,EACjC,KAAkC,EACzB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEjD,MAAM,WAAW,GAAG,CAClB,IAAwB,EACxB,KAAyB,EACjB,EAAE,CACV,IAAI,KAAK,KAAK;IACZ,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,GAAG,KAAK;gBACZ,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC,CAAC;AAEd,MAAM,aAAa,GAAG,CACpB,IAAiC,EACjC,KAAkC,EAC1B,EAAE;IACV,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,IAAqB,EACrB,KAAsB,EACd,EAAE,CACV,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAClD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9C,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAEzC,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAE,KAAgB,EAAU,EAAE,CACtE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAClD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAClC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAEzC,MAAM,sBAAsB,GAAG,CAC7B,IAAoB,EACpB,KAAqB,EACb,EAAE,CACV,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAClC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;IAC9C,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAG,CACd,MAAmB,EACnB,OAAsC,EACtC,EAAE;IACF,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,KAA2E,EAC3E,GAAe,EACN,EAAE,CACX,KAAK,CAAC,SAAS,KAAK,SAAS;IAC7B,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAE3E,MAAM,qBAAqB,GAAG,CAC5B,cAA8B,EAC9B,UAA4B,EAC5B,KAAkC,EACzB,EAAE,CACX,cAAc,CAAC,UAAU,KAAK,UAAU;IACxC,CAAC,cAAc,CAAC,SAAS,KAAK,SAAS;QACrC,cAAc,CAAC,SAAS,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAA2B,EAAE;IACpE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAGlC,CAAC;IACJ,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoC,CAAC;IACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,OAAO,eAAe,CAAC,EAAE,CAAC;QACxB,0BAA0B,EAAE,CAAC,UAAU,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACJ,wBAAwB,EAAE,CAAC,EAAE,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,OAAO,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC;aAChC,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI;YAC9B,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC;YACtC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;gBAC7B,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CACxC;aACA,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,KAAK,EAAE,KAAK,KAAK,SAAS;YAC1B,oBAAoB,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CACvD;YACD,qGAAqG;aACpG,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;aAC9D,KAAK,CAAC,CAAC,EAAE,sCAAsC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAClE;QACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EACJ,WAAW,EAAE,YAAY,EACzB,SAAS,EAAE,UAAU,EACrB,GAAG,SAAS,EACb,GAAG,OAAO,CAAC;YACZ,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC7B,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;YACvC,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,CAAC,SAAS;gBACnB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACrC,MAAM,OAAO,GAA+B;gBAC1C,GAAG,SAAS;gBACZ,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACrD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;gBACjD,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;YAC1D,MAAM,OAAO,GAA+B;gBAC1C,GAAG,SAAS;gBACZ,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,OAAO,GAA+B;gBAC1C,GAAG,OAAO;gBACV,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACJ,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;aAC1B,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI;YAC9B,UAAU,CAAC,UAAU,KAAK,SAAS,CAAC;YACtC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;gBAC7B,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,CACxC;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CACJ;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;YAC5D,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC7B,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;YACvC,MAAM,OAAO,GAAyB;gBACpC,GAAG,SAAS;gBACZ,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;gBACrD,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;YAC1D,MAAM,OAAO,GAAyB;gBACpC,GAAG,SAAS;gBACZ,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9C,IACE,OAAO,KAAK,SAAS;gBACrB,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,OAAO,GAAyB;gBACpC,GAAG,OAAO;gBACV,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC;QACJ,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,KAAK,GAAoB;gBAC7B,GAAG,YAAY;gBACf,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1C,CAAC;YACF,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC;QACJ,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE;oBACxB,GAAG,KAAK;oBACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,aAAa,EAAE;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,QAAQ,CAAC;YAE7C,OAAO,OAAO,CACZ,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS;gBAC3B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC,KAAK,EAAE,UAAU,KAAK,SAAS;oBAC9B,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;gBACxC,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS;oBACzB,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC,QAAQ,KAAK,KAAK;oBACjB,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAC1D,EACD,uBAAuB,CACxB,CAAC;QACJ,CAAC,CAAC;QACJ,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,KAAK,GAAc;gBACvB,GAAG,YAAY;gBACf,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1C,CAAC;YACF,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC;QACJ,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClB,GAAG,KAAK;oBACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,aAAa,EAAE;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QACJ,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,QAAQ,CAAC;YAE7C,OAAO,OAAO,CACZ,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS;gBAC3B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/C,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;gBACxD,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS;oBACzB,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC,QAAQ,KAAK,KAAK;oBACjB,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAC1D,EACD,iBAAiB,CAClB,CAAC;QACJ,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC;QACJ,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,OAAO,CACL,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAClC,CAAC,cAAc,EAAE,EAAE,CACjB,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS;YACxB,cAAc,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;YACrC,CAAC,KAAK,EAAE,UAAU,KAAK,SAAS;gBAC9B,cAAc,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;YACjD,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS;gBAC7B,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI;oBACvB,CAAC,CAAC,cAAc,CAAC,SAAS,KAAK,SAAS;oBACxC,CAAC,CAAC,cAAc,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CACvD,EACD,sBAAsB,CACvB,CACF;QACH,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CACR,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC5C,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;gBACrC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBACtC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAC5B,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CACR,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC5C,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBACtC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC;gBACzB,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAChC,CAAC,cAAc,EAAE,EAAE,CACjB,cAAc,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;oBAClC,qBAAqB,CACnB,cAAc,EACd,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,KAAK,CACZ,CACJ,CACJ,CAAC;QACJ,CAAC,CAAC;QACJ,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;YAE5B,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CACR,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAC5C,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;gBACtC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAC5B,CAAC;QACJ,CAAC,CAAC;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAClE,yBAAyB,CAC1B,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,SAA4C,EAC5C,MAA2C,EAC3C,QAA0C,EAC1C,OAAe,EACf,OAIC,EAC8B,EAAE,CACjC,IAAI,6BAA6B,CAAC;IAChC,SAAS;IACT,MAAM;IACN,QAAQ;IACR,OAAO;IACP,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,iBAAiB,KAAK,SAAS;QAC1C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrD,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS;QACxC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;CAClD,CAAC,CAAC;AAEL,MAAM,2BAA2B,GAAG,CAClC,SAA4C,EAC5C,QAA0C,EAC1C,iBAA6B,EAC6B,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE9C,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/B,QAAQ,GAAG,CAAC;QACZ,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;QAC1B,GAAG,GAAG,CAAC;QACP,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAChC,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAC/B,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sDAAsD,EACtD,EAAE,iBAAiB,EAAE,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,MAAM,oBAAoB,GAAG,CAC3B,SAA4C,EAC5C,QAA0C,EAC1C,EAAU,EAC0C,EAAE,CACtD,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;IACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,mBAAmB,CACjB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,iCAAiC,CAClC,CACF;IACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AAElB,MAAM,iCAAiC,GAAG,CACxC,KAA6B,EACI,EAAE;IACnC,MAAM,gBAAgB,GAAG,CACvB,SAA4C,EAC5C,QAA0C,EAC1C,MAA8C,EACG,EAAE,CACnD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE;QACjE,KAAK;KACN,CAAC,CACH,CACF,CAAC;IAEJ,MAAM,oBAAoB,GAAG,CAC3B,SAA4C,EAC5C,EAAoB,EACpB,iBAA6B,EAC7B,MAAiD,EACyB,EAAE,CAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,gBAAgB,CACd,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CACnC,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAAE,iBAAiB,CAC9C,CACF,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,0BAA0B,EAAE,cAAc,EAC1C;oBACE,iBAAiB;oBACjB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;iBACzC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClE,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAAE,6BAA6B,EACzD;oBACE,iBAAiB;oBACjB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;iBACzC,CACF,CACF,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,0BAA0B,EAAE,wBAAwB,CACrD,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IAER,MAAM,cAAc,GAAG,CACrB,SAA4C,EAC5C,EAAc,EACd,iBAA6B,EAC7B,MAA2C,EACyB,EAAE,CACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,gBAAgB,CACd,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAC7B,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAAE,iBAAiB,CACxC,CACF,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EAAE,cAAc,EACpC;oBACE,iBAAiB;oBACjB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;iBACzC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClE,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EAAE,6BAA6B,EACnD;oBACE,iBAAiB;oBACjB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;iBACzC,CACF,CACF,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EAAE,wBAAwB,CAC/C,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IAER,MAAM,iCAAiC,GAAG,CACxC,SAA4C,EAC5C,EAAoB,EACsD,EAAE,CAC5E,gBAAgB,CACd,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CACnC,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAAE,iBAAiB,CAC9C,CACF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,0BAA0B,EAAE,cAAc,CAC3C,CACF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,0BAA0B,EAAE,eAAe,CAC5C,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,2BAA2B,GAAG,CAClC,SAA4C,EAC5C,EAAc,EACsD,EAAE,CACtE,gBAAgB,CACd,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAC7B,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAAE,iBAAiB,CACxC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EAAE,cAAc,CACrC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,IAAI,CAChB,mBAAmB,CACjB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,oBAAoB,EAAE,eAAe,CACtC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,wBAAwB,CAAC,EAAE,CAAC;QACjC,0BAA0B,EAAE,CAAC,UAAU,EAAE,EAAE,CACzC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,8BAAuC,CAAC;YAC1D,KAAK,CAAC,CAAC,oBAAoB,CACzB,SAAS,EACT,uBAAuB,EACvB,UAAU,CAAC,EAAE,CACd,CAAC;YACF,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,MAAM,GAA+B;gBACzC,GAAG,UAAU;gBACb,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACrC,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CACzC,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAC/B,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,UAAU,CAAC,EAAE,kBAAkB,CAC1D,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACJ,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE,CAC9B,gBAAgB,CACd,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CACnC;QACH,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,gBAAgB,CACd,6BAA6B,EAC7B,uBAAuB,EACvB,KAAK,CAAC,yBAAyB,CAAC,KAAK,CAAC,CACvC;QACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,8BAAuC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,0BAA0B,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CAC1D,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAChC,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CACrC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,+BAAwC,CAAC;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,+BAA+B,CAAC;gBACpC,GAAG,KAAK;gBACR,SAAS;gBACT,UAAU,EAAE,SAAS;aACtB,CAAC,CACH,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAChC,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,8BAAuC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,+BAA+B,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CAC/D,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAChC,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,8BAAuC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,uBAAuB,EACvB,KAAK,CAAC,0BAA0B,CAAC;gBAC/B,GAAG,KAAK;gBACR,SAAS;gBACT,SAAS,EAAE,SAAS;aACrB,CAAC,CACH,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oBAAoB,CAChC,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,wBAAiC,CAAC;YACpD,KAAK,CAAC,CAAC,oBAAoB,CACzB,SAAS,EACT,iBAAiB,EACjB,UAAU,CAAC,EAAE,CACd,CAAC;YACF,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAyB;gBACnC,GAAG,UAAU;gBACb,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACrC,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CACnC,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAC/B,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,UAAU,CAAC,EAAE,kBAAkB,CACpD,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACJ,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,CACxB,gBAAgB,CACd,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAC7B;QACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,gBAAgB,CACd,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CACjC;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,wBAAiC,CAAC;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,oBAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CACpD,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,cAAc,CAC1B,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,yBAAkC,CAAC;YACrD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,yBAAyB,CAAC;gBAC9B,GAAG,KAAK;gBACR,SAAS;gBACT,UAAU,EAAE,SAAS;aACtB,CAAC,CACH,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,cAAc,CAC1B,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,wBAAiC,CAAC;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,yBAAyB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,CACzD,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,cAAc,CAC1B,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,wBAAiC,CAAC;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,2BAA2B,CAClD,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,iBAAiB,CACxB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACpC,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,oBAAoB,CAAC;gBACzB,GAAG,KAAK;gBACR,SAAS;gBACT,SAAS,EAAE,SAAS;aACrB,CAAC,CACH,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,cAAc,CAC1B,SAAS,EACT,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,iBAAiB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;QACJ,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,kBAA2B,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iCAAiC,CACzD,SAAS,EACT,KAAK,CAAC,UAAU,CACjB,CAAC;YACF,IACE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;oBACjC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC,EAC7C,CAAC;gBACD,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAC/B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,+CAA+C,KAAK,CAAC,UAAU,GAAG,CACnE,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,SAAS,EACT,kBAAkB,EAClB,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAC7B,CAAC;QACJ,CAAC,CAAC;QACJ,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,gBAAgB,CACd,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAC9B;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,gBAAgB,CACd,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAClC;QACH,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,YAAqB,CAAC;YACxC,KAAK,CAAC,CAAC,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,KAAK,CAAC,CAAC,gBAAgB,CACrB,SAAS,EACT,YAAY,EACZ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CACvB,CAAC;QACJ,CAAC,CAAC;QACJ,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,gBAAgB,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxE,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxB,gBAAgB,CACd,kBAAkB,EAClB,YAAY,EACZ,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAC5B;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,wBAAiC,CAAC;YACpD,KAAK,CAAC,CAAC,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iCAAiC,CACzD,SAAS,EACT,KAAK,CAAC,UAAU,CACjB,CAAC;YACF,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC,CAAC,mBAAmB,CAC/B,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,oDAAoD,KAAK,CAAC,UAAU,GAAG,CACxE,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,CAAC,gBAAgB,CACrB,SAAS,EACT,iBAAiB,EACjB,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAClC,CAAC;QACJ,CAAC,CAAC;QACJ,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,gBAAgB,CACd,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAClC;QACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7B,gBAAgB,CACd,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CACjC;KACJ,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7D,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAIrC,KAAK,CAAC,MAAM,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;AAErE,MAAM,oCAAoC,GAAG,CAC3C,OAAkD,EAClD,OAA0B,EACC,EAAE;IAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kCAAkC,GAAG,CACzC,OAAkD,EAClD,KAAkC,EACG,EAAE;IACvC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GACb,KAAK,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW,CAAC,IAAI;QACrC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uCAAuC,GAAG,CAC9C,OAAkD,EAClD,KAAkC,EACY,EAAE;IAChD,MAAM,SAAS,GAAG,kCAAkC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrE,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,KAAoD,EACV,EAAE,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,aAAa,CAAW,CAAC;IACtE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,WAAW,CAAW,CAAC;CACnE,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,KAA8C,EACpB,EAAE,CAC5B,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,iCAAiC,GAI1C,KAAK,CAAC,MAAM,CACd,wBAAwB,EACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,wBAAwB,CAAC;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,oCAAoC,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAA8B,EAAE,EAAE;QAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,QAAQ;aACZ,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC;aACjD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CACf,GAAoD,EACpD,KAA6C,EAC7C,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,CAClB,GAAoD,EACpD,KAAqE,EACrE,EAAE,CACF,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpB,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClE,CACF,CACF,CAAC;IAEJ,OAAO,wBAAwB,CAAC,EAAE,CAAC;QACjC,GAAG,cAAc;QACjB,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,QAAQ,CACN,cAAc,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAChD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,oCAAoC;YAC1C,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH;QACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,QAAQ,CACN,cAAc,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAChD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,oCAAoC;YAC1C,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,aAAa,EAAE,iCAAiC,CAAC,KAAK,CAAC;YACvD,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH;QACH,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CACrC,QAAQ,CACN,cAAc,CAAC,2BAA2B,CAAC,KAAK,CAAC,EACjD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,qCAAqC;YAC3C,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH;QACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,QAAQ,CACN,cAAc,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAChD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,oCAAoC;YAC1C,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH;QACH,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CACpC,QAAQ,CACN,cAAc,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAChD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,oCAAoC;YAC1C,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CACH;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,8BAA8B;YACpC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC;QACL,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,8BAA8B;YACpC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,aAAa,EAAE,2BAA2B,CAAC,KAAK,CAAC;YACjD,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC;QACL,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,EAAE,+BAA+B;YACrC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC;QACL,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,8BAA8B;YACpC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC;QACL,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,8BAA8B;YACpC,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC,SAAS;SAC7B,CAAC,CAAC;QACL,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YACrE,IAAI,EAAE,yBAAyB;YAC/B,GAAG,MAAM;YACT,OAAO,EAAE,oCAAoC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrE,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,GAAG,uCAAuC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,UAAU;SACX,CAAC,CAAC;QACL,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1B,WAAW,CACT,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACtC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,yBAAyB;YAC/B,GAAG,MAAM;YACT,OAAO,EAAE,oCAAoC,CAC3C,OAAO,EACP,KAAK,CAAC,OAAO,CACd;YACD,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,GAAG,uCAAuC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YAChE,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU;SAC1C,CAAC,CACH;QACH,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,mBAAmB;YACzB,GAAG,MAAM;YACT,OAAO,EAAE,oCAAoC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrE,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,GAAG,uCAAuC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,UAAU;SACX,CAAC,CAAC;QACL,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,mBAAmB;YACzB,GAAG,MAAM;YACT,OAAO,EAAE,oCAAoC,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrE,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,GAAG,uCAAuC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;YAChE,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,UAAU;SAC1C,CAAC,CAAC;QACL,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,WAAW,CACT,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAC1C,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,+BAA+B;YACrC,GAAG,MAAM;YACT,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,UAAU;SACX,CAAC,CACH;QACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,WAAW,CACT,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAC1C,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,8BAA8B;YACpC,GAAG,MAAM;YACT,MAAM,EAAE,KAAK,CAAC,IAAI;YAClB,YAAY,EAAE,KAAK,CAAC,UAAU;YAC9B,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,UAAU;SACX,CAAC,CACH;KACJ,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,SAAmC,EACnC,KAA2B,EACL,EAAE,CACxB,IAAI,oBAAoB,CAAC;IACvB,SAAS;IACT,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,KAAK;CACN,CAAC,CAAC;AAEL,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzD,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,EAAE,CAAC;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK;SACF,aAAa,CAAC;QACb,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;SACD,IAAI,CACH,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,gCAAgC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAC1D,CACF;IACL,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC;QACP,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;SACD,IAAI,CACH,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,gCAAgC,CAAC,UAAU,EAAE,KAAK,CAAC,CACpD,CACF;CACN,CAAC,CACH,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAIjC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC"}
package/dist/Policy.d.ts CHANGED
@@ -1,42 +1,55 @@
1
1
  import { Effect } from "effect";
2
- import type { PolicyId } from "./Identifiers.js";
2
+ import type { PermissionId, PolicyId, RoleId } from "./Identifiers.js";
3
+ import { CurrentPrincipal, Permissions } from "./Permission.js";
4
+ import type { PermissionCheckError, PermissionScope } from "./Permission.js";
3
5
  import { CurrentSession } from "./Sessions.js";
4
- import type { CurrentActor, SessionRequirement } from "./Sessions.js";
5
- export type AuthzDenyReason = "missing-permission" | "missing-role" | "missing-relation" | "missing-grant" | "not-owner" | "not-authenticated" | "session-requirement-unsatisfied" | "email-verification-required" | (string & {});
6
- declare const AuthzError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
7
- readonly _tag: "AuthzError";
6
+ import type { SessionRequirement } from "./Sessions.js";
7
+ export type AuthorizationDenyReason = "missing-permission" | "missing-role" | "missing-relation" | "missing-grant" | "not-owner" | "not-authenticated" | "session-requirement-unsatisfied" | "email-verification-required" | (string & {});
8
+ declare const AuthorizationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
9
+ readonly _tag: "AuthorizationError";
8
10
  } & Readonly<A>;
9
- export declare class AuthzError extends AuthzError_base<{
10
- readonly reason: AuthzDenyReason;
11
+ export declare class AuthorizationError extends AuthorizationError_base<{
12
+ readonly reason: AuthorizationDenyReason;
11
13
  readonly policyId?: PolicyId;
12
14
  readonly message?: string;
13
15
  readonly cause?: unknown;
14
16
  }> {
15
17
  }
16
- export type Policy<A = void, E = never, R = never> = Effect.Effect<A, AuthzError | E, CurrentActor | R>;
18
+ export type Policy<A = void, E = never, R = never> = Effect.Effect<A, AuthorizationError | E, R>;
17
19
  export type PolicyDecision = {
18
20
  readonly type: "allowed";
19
21
  } | {
20
22
  readonly type: "denied";
21
- readonly error: AuthzError;
23
+ readonly error: AuthorizationError;
22
24
  };
23
25
  export type PolicyCheckResult<E = never> = PolicyDecision | {
24
26
  readonly type: "failed";
25
27
  readonly error: E;
26
28
  };
27
- type NonAuthzError<E> = Exclude<E, AuthzError>;
29
+ type NonAuthorizationError<E> = Exclude<E, AuthorizationError>;
28
30
  type EffectError<T> = T extends Effect.Effect<unknown, infer E, unknown> ? E : never;
29
31
  type EffectContext<T> = T extends Effect.Effect<unknown, unknown, infer R> ? R : never;
30
- export declare const isAuthzError: (error: unknown) => error is AuthzError;
32
+ export declare const isAuthorizationError: (error: unknown) => error is AuthorizationError;
31
33
  export declare const allow: Policy;
32
- export declare const deny: (reason: AuthzDenyReason, policyId?: PolicyId) => Policy<never>;
34
+ export declare const deny: (reason: AuthorizationDenyReason, policyId?: PolicyId) => Policy<never>;
33
35
  export declare const all: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void, EffectError<Policies[number]>, EffectContext<Policies[number]>>;
34
- export declare const any: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void, AuthzError | NonAuthzError<EffectError<Policies[number]>>, EffectContext<Policies[number]>>;
35
- export declare const not: <A, E, R>(policy: Effect.Effect<A, E, R>, reason?: AuthzDenyReason) => Effect.Effect<void, AuthzError | NonAuthzError<E>, R>;
36
- export declare const check: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyDecision, NonAuthzError<E>, R>;
37
- export declare const checkDetailed: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyCheckResult<NonAuthzError<E>>, never, R>;
38
- export declare const requireNoSessionRequirement: (requirement: SessionRequirement, policyId?: PolicyId) => Effect.Effect<void, AuthzError, CurrentSession>;
39
- export declare const requireEmailVerified: (policyId?: PolicyId) => Effect.Effect<void, AuthzError, CurrentSession>;
36
+ export declare const any: <const Policies extends readonly Effect.Effect<unknown, unknown, unknown>[]>(...policies: Policies) => Effect.Effect<void, AuthorizationError | NonAuthorizationError<EffectError<Policies[number]>>, EffectContext<Policies[number]>>;
37
+ export declare const not: <A, E, R>(policy: Effect.Effect<A, E, R>, reason?: AuthorizationDenyReason) => Effect.Effect<void, AuthorizationError | NonAuthorizationError<E>, R>;
38
+ export declare const check: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyDecision, NonAuthorizationError<E>, R>;
39
+ export declare const checkDetailed: <A, E, R>(policy: Effect.Effect<A, E, R>) => Effect.Effect<PolicyCheckResult<NonAuthorizationError<E>>, never, R>;
40
+ export declare const requireNoSessionRequirement: (requirement: SessionRequirement, policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
41
+ /** Denies access while the session is limited to recovery enrollment. */
42
+ export declare const requireRecoveryEnrollmentSatisfied: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
43
+ /** Denies generic access while recovery-authenticated remediation is pending. */
44
+ export declare const requireRecoveryRemediationSatisfied: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
45
+ export declare const requireEmailVerified: (policyId?: PolicyId) => Effect.Effect<void, AuthorizationError, CurrentSession>;
46
+ export interface PermissionPolicyOptions {
47
+ readonly scope?: PermissionScope;
48
+ readonly policyId?: PolicyId;
49
+ readonly message?: string;
50
+ }
51
+ export declare const requirePermission: (permission: PermissionId, options?: PermissionPolicyOptions) => Effect.Effect<void, AuthorizationError | PermissionCheckError, CurrentPrincipal | Permissions>;
52
+ export declare const requireRole: (role: RoleId, options?: PermissionPolicyOptions) => Effect.Effect<void, AuthorizationError | PermissionCheckError, CurrentPrincipal | Permissions>;
40
53
  export declare const require: <A, E, R>(policy: Effect.Effect<A, E, R>) => <B, E2, R2>(effect: Effect.Effect<B, E2, R2>) => Effect.Effect<B, E | E2, R | R2>;
41
54
  export {};
42
55
  //# sourceMappingURL=Policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Policy.d.ts","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Policy.d.ts","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
package/dist/Policy.js CHANGED
@@ -1,16 +1,17 @@
1
1
  import { Data, Effect } from "effect";
2
+ import { CurrentPrincipal, Permissions } from "./Permission.js";
2
3
  import { CurrentSession } from "./Sessions.js";
3
- export class AuthzError extends Data.TaggedError("AuthzError") {
4
+ export class AuthorizationError extends Data.TaggedError("AuthorizationError") {
4
5
  }
5
- export const isAuthzError = (error) => {
6
+ export const isAuthorizationError = (error) => {
6
7
  if (typeof error !== "object" || error === null) {
7
8
  return false;
8
9
  }
9
10
  const record = error;
10
- return record._tag === "AuthzError" && typeof record.reason === "string";
11
+ return (record._tag === "AuthorizationError" && typeof record.reason === "string");
11
12
  };
12
13
  export const allow = Effect.void;
13
- export const deny = (reason, policyId) => Effect.fail(new AuthzError({ reason, policyId }));
14
+ export const deny = (reason, policyId) => Effect.fail(new AuthorizationError({ reason, policyId }));
14
15
  export const all = (...policies) => Effect.gen(function* () {
15
16
  for (const policy of policies) {
16
17
  yield* policy;
@@ -20,11 +21,11 @@ export const any = (...policies) => {
20
21
  const loop = (index, lastDeny) => {
21
22
  const policy = policies[index];
22
23
  if (policy === undefined) {
23
- return Effect.fail(lastDeny ?? new AuthzError({ reason: "policy-not-satisfied" }));
24
+ return Effect.fail(lastDeny ?? new AuthorizationError({ reason: "policy-not-satisfied" }));
24
25
  }
25
26
  return policy.pipe(Effect.matchEffect({
26
27
  onSuccess: () => Effect.void,
27
- onFailure: (error) => isAuthzError(error)
28
+ onFailure: (error) => isAuthorizationError(error)
28
29
  ? loop(index + 1, error)
29
30
  : Effect.fail(error),
30
31
  }));
@@ -32,42 +33,85 @@ export const any = (...policies) => {
32
33
  return loop(0, undefined);
33
34
  };
34
35
  export const not = (policy, reason = "policy-not-satisfied") => policy.pipe(Effect.matchEffect({
35
- onSuccess: () => Effect.fail(new AuthzError({ reason })),
36
- onFailure: (error) => isAuthzError(error)
36
+ onSuccess: () => Effect.fail(new AuthorizationError({ reason })),
37
+ onFailure: (error) => isAuthorizationError(error)
37
38
  ? Effect.void
38
39
  : Effect.fail(error),
39
40
  }));
40
41
  export const check = (policy) => policy.pipe(Effect.matchEffect({
41
42
  onSuccess: () => Effect.succeed({ type: "allowed" }),
42
- onFailure: (error) => isAuthzError(error)
43
+ onFailure: (error) => isAuthorizationError(error)
43
44
  ? Effect.succeed({ type: "denied", error })
44
45
  : Effect.fail(error),
45
46
  }));
46
47
  export const checkDetailed = (policy) => policy.pipe(Effect.match({
47
48
  onSuccess: () => ({ type: "allowed" }),
48
- onFailure: (error) => isAuthzError(error)
49
+ onFailure: (error) => isAuthorizationError(error)
49
50
  ? { type: "denied", error }
50
- : { type: "failed", error: error },
51
+ : {
52
+ type: "failed",
53
+ error: error,
54
+ },
51
55
  }));
52
56
  export const requireNoSessionRequirement = (requirement, policyId) => Effect.gen(function* () {
53
57
  const session = yield* CurrentSession;
54
58
  if (session.claims?.requirements?.includes(requirement) === true) {
55
- return yield* new AuthzError({
59
+ return yield* new AuthorizationError({
56
60
  reason: "session-requirement-unsatisfied",
57
61
  policyId,
58
62
  });
59
63
  }
60
64
  });
65
+ /** Denies access while the session is limited to recovery enrollment. */
66
+ export const requireRecoveryEnrollmentSatisfied = (policyId) => requireNoSessionRequirement("recovery_enrollment", policyId);
67
+ /** Denies generic access while recovery-authenticated remediation is pending. */
68
+ export const requireRecoveryRemediationSatisfied = (policyId) => requireNoSessionRequirement("recovery_remediation", policyId);
61
69
  export const requireEmailVerified = (policyId) => Effect.gen(function* () {
62
70
  const session = yield* CurrentSession;
63
71
  const { claims } = session;
64
- if (claims?.emailVerified !== true ||
72
+ if (claims?.verifiedIdentityKinds?.includes("email") !== true ||
65
73
  claims.requirements?.includes("email_verification") === true) {
66
- return yield* new AuthzError({
74
+ return yield* new AuthorizationError({
67
75
  reason: "email-verification-required",
68
76
  policyId,
69
77
  });
70
78
  }
71
79
  });
80
+ export const requirePermission = (permission, options = {}) => Effect.gen(function* () {
81
+ const subject = yield* CurrentPrincipal;
82
+ const permissions = yield* Permissions;
83
+ const allowed = yield* permissions.hasPermission({
84
+ subject,
85
+ permission,
86
+ ...(options.scope === undefined ? {} : { scope: options.scope }),
87
+ });
88
+ if (!allowed) {
89
+ return yield* new AuthorizationError({
90
+ reason: "missing-permission",
91
+ ...(options.policyId === undefined
92
+ ? {}
93
+ : { policyId: options.policyId }),
94
+ ...(options.message === undefined ? {} : { message: options.message }),
95
+ });
96
+ }
97
+ });
98
+ export const requireRole = (role, options = {}) => Effect.gen(function* () {
99
+ const subject = yield* CurrentPrincipal;
100
+ const permissions = yield* Permissions;
101
+ const allowed = yield* permissions.hasRole({
102
+ subject,
103
+ role,
104
+ ...(options.scope === undefined ? {} : { scope: options.scope }),
105
+ });
106
+ if (!allowed) {
107
+ return yield* new AuthorizationError({
108
+ reason: "missing-role",
109
+ ...(options.policyId === undefined
110
+ ? {}
111
+ : { policyId: options.policyId }),
112
+ ...(options.message === undefined ? {} : { message: options.message }),
113
+ });
114
+ }
115
+ });
72
116
  export const require = (policy) => (effect) => Effect.flatMap(policy, () => effect);
73
117
  //# sourceMappingURL=Policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Policy.js","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Policy.js","sourceRoot":"","sources":["../src/Policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface PostgresDelegatedAccessStorageMigration {
2
+ readonly id: string;
3
+ readonly sql: string;
4
+ }
5
+ export declare const postgresDelegatedAccessStorageMigration001: PostgresDelegatedAccessStorageMigration;
6
+ export declare const postgresDelegatedAccessStorageMigrations: readonly [PostgresDelegatedAccessStorageMigration];
7
+ //# sourceMappingURL=PostgresDelegatedAccessStorageMigrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresDelegatedAccessStorageMigrations.d.ts","sourceRoot":"","sources":["../src/PostgresDelegatedAccessStorageMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0CAA0C,EAAE,uCAmHtD,CAAC;AAEJ,eAAO,MAAM,wCAAwC,oDAE3C,CAAC"}
@@ -0,0 +1,119 @@
1
+ export const postgresDelegatedAccessStorageMigration001 = {
2
+ id: "0001_auth_delegated_access",
3
+ sql: `create table auth_invitation (
4
+ id text collate "C" constraint auth_invitation_pkey primary key,
5
+ kind text not null,
6
+ target_type text not null,
7
+ target_id text not null,
8
+ intent_type text not null,
9
+ intent_version integer not null,
10
+ intent_payload jsonb not null,
11
+ recipient_type text,
12
+ recipient_reference text,
13
+ issued_by_type text,
14
+ issued_by_id text,
15
+ created_at bigint not null,
16
+ expires_at bigint not null,
17
+ token_hash text not null,
18
+ accepted_at bigint,
19
+ accepted_by_type text,
20
+ accepted_by_id text,
21
+ revoked_at bigint,
22
+ superseded_at bigint,
23
+ superseded_by_id text,
24
+ metadata jsonb,
25
+ constraint auth_invitation_id_check
26
+ check (id ~ '^[A-Za-z0-9_-]{22}$'),
27
+ constraint auth_invitation_required_text_check
28
+ check (length(kind) > 0 and length(target_type) > 0 and length(target_id) > 0 and length(intent_type) > 0),
29
+ constraint auth_invitation_intent_check
30
+ check (intent_version >= 1 and jsonb_typeof(intent_payload) = 'object'),
31
+ constraint auth_invitation_recipient_pair_check
32
+ check ((recipient_type is null and recipient_reference is null) or (recipient_type is not null and recipient_reference is not null and length(recipient_type) > 0 and length(recipient_reference) > 0)),
33
+ constraint auth_invitation_issued_by_pair_check
34
+ check ((issued_by_type is null and issued_by_id is null) or (issued_by_type is not null and issued_by_id is not null and length(issued_by_type) > 0 and length(issued_by_id) > 0)),
35
+ constraint auth_invitation_token_hash_check
36
+ check (token_hash ~ '^sha256:.+$'),
37
+ constraint auth_invitation_accepted_pair_check
38
+ check ((accepted_at is null and accepted_by_type is null and accepted_by_id is null) or (accepted_at is not null and accepted_by_type is not null and accepted_by_id is not null and length(accepted_by_type) > 0 and length(accepted_by_id) > 0)),
39
+ constraint auth_invitation_superseded_pair_check
40
+ check ((superseded_at is null and superseded_by_id is null) or (superseded_at is not null and superseded_by_id is not null and superseded_by_id ~ '^[A-Za-z0-9_-]{22}$')),
41
+ constraint auth_invitation_terminal_state_check
42
+ check (((accepted_at is not null)::integer + (revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
43
+ constraint auth_invitation_metadata_check
44
+ check (metadata is null or jsonb_typeof(metadata) = 'object'),
45
+ constraint auth_invitation_timestamp_order_check
46
+ check (created_at >= 0 and expires_at > created_at and (accepted_at is null or accepted_at >= created_at) and (revoked_at is null or revoked_at >= created_at) and (superseded_at is null or superseded_at >= created_at))
47
+ );
48
+ create index auth_invitation_created_at_idx
49
+ on auth_invitation (created_at, id);
50
+ create index auth_invitation_kind_created_at_idx
51
+ on auth_invitation (kind, created_at, id);
52
+ create index auth_invitation_target_created_at_idx
53
+ on auth_invitation (target_type, target_id, created_at, id);
54
+ create index auth_invitation_recipient_created_at_idx
55
+ on auth_invitation (recipient_type, recipient_reference, created_at, id);
56
+ create index auth_invitation_issued_by_created_at_idx
57
+ on auth_invitation (issued_by_type, issued_by_id, created_at, id);
58
+ create index auth_invitation_pending_expires_at_idx
59
+ on auth_invitation (expires_at, created_at, id)
60
+ where accepted_at is null and revoked_at is null and superseded_at is null;
61
+
62
+ create table auth_access_grant (
63
+ id text collate "C" constraint auth_access_grant_pkey primary key,
64
+ target_type text not null,
65
+ target_id text not null,
66
+ capabilities jsonb not null,
67
+ binding_type text not null,
68
+ binding_subject_type text,
69
+ binding_subject_id text,
70
+ issuer_type text,
71
+ issuer_id text,
72
+ created_at bigint not null,
73
+ expires_at bigint,
74
+ token_hash text,
75
+ revoked_at bigint,
76
+ superseded_at bigint,
77
+ superseded_by_id text,
78
+ metadata jsonb,
79
+ constraint auth_access_grant_id_check
80
+ check (id ~ '^[A-Za-z0-9_-]{22}$'),
81
+ constraint auth_access_grant_target_check
82
+ check (length(target_type) > 0 and length(target_id) > 0),
83
+ constraint auth_access_grant_capabilities_check
84
+ check (jsonb_typeof(capabilities) = 'array' and jsonb_array_length(capabilities) > 0 and not jsonb_path_exists(capabilities, '$[*] ? (@.type() != "string" || @ == "")')),
85
+ constraint auth_access_grant_binding_type_check
86
+ check (binding_type in ('bearer', 'subject', 'subject-and-bearer')),
87
+ constraint auth_access_grant_binding_subject_check
88
+ check ((binding_type = 'bearer' and binding_subject_type is null and binding_subject_id is null) or (binding_type in ('subject', 'subject-and-bearer') and binding_subject_type is not null and binding_subject_id is not null and length(binding_subject_type) > 0 and length(binding_subject_id) > 0)),
89
+ constraint auth_access_grant_issuer_pair_check
90
+ check ((issuer_type is null and issuer_id is null) or (issuer_type is not null and issuer_id is not null and length(issuer_type) > 0 and length(issuer_id) > 0)),
91
+ constraint auth_access_grant_token_hash_check
92
+ check (token_hash is null or token_hash ~ '^sha256:.+$'),
93
+ constraint auth_access_grant_binding_token_hash_check
94
+ check ((binding_type = 'subject' and token_hash is null) or (binding_type in ('bearer', 'subject-and-bearer') and token_hash is not null)),
95
+ constraint auth_access_grant_superseded_pair_check
96
+ check ((superseded_at is null and superseded_by_id is null) or (superseded_at is not null and superseded_by_id is not null and superseded_by_id ~ '^[A-Za-z0-9_-]{22}$')),
97
+ constraint auth_access_grant_terminal_state_check
98
+ check (((revoked_at is not null)::integer + (superseded_at is not null)::integer) <= 1),
99
+ constraint auth_access_grant_metadata_check
100
+ check (metadata is null or jsonb_typeof(metadata) = 'object'),
101
+ constraint auth_access_grant_timestamp_order_check
102
+ check (created_at >= 0 and (expires_at is null or expires_at > created_at) and (revoked_at is null or revoked_at >= created_at) and (superseded_at is null or superseded_at >= created_at))
103
+ );
104
+ create index auth_access_grant_created_at_idx
105
+ on auth_access_grant (created_at, id);
106
+ create index auth_access_grant_target_created_at_idx
107
+ on auth_access_grant (target_type, target_id, created_at, id);
108
+ create index auth_access_grant_issuer_created_at_idx
109
+ on auth_access_grant (issuer_type, issuer_id, created_at, id);
110
+ create index auth_access_grant_subject_created_at_idx
111
+ on auth_access_grant (binding_subject_type, binding_subject_id, created_at, id);
112
+ create index auth_access_grant_active_expires_at_idx
113
+ on auth_access_grant (expires_at, created_at, id)
114
+ where revoked_at is null and superseded_at is null;`,
115
+ };
116
+ export const postgresDelegatedAccessStorageMigrations = [
117
+ postgresDelegatedAccessStorageMigration001,
118
+ ];
119
+ //# sourceMappingURL=PostgresDelegatedAccessStorageMigrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresDelegatedAccessStorageMigrations.js","sourceRoot":"","sources":["../src/PostgresDelegatedAccessStorageMigrations.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0CAA0C,GACrD;IACE,EAAE,EAAE,4BAA4B;IAChC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA+G6C;CACnD,CAAC;AAEJ,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,0CAA0C;CAClC,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface PostgresAuthStorageMigration {
2
+ readonly id: string;
3
+ readonly sql: string;
4
+ }
5
+ export declare const postgresAuthStorageMigration001: PostgresAuthStorageMigration;
6
+ export declare const postgresAuthStorageMigration002: PostgresAuthStorageMigration;
7
+ export declare const postgresAuthStorageMigration003: PostgresAuthStorageMigration;
8
+ export declare const postgresAuthStorageMigration004: PostgresAuthStorageMigration;
9
+ export declare const postgresAuthStorageMigration005: PostgresAuthStorageMigration;
10
+ export declare const postgresAuthStorageMigration006: PostgresAuthStorageMigration;
11
+ export declare const postgresAuthStorageMigration007: PostgresAuthStorageMigration;
12
+ export declare const postgresAuthStorageMigration008: PostgresAuthStorageMigration;
13
+ export declare const postgresAuthStorageMigration009: PostgresAuthStorageMigration;
14
+ export declare const postgresAuthStorageMigration010: PostgresAuthStorageMigration;
15
+ export declare const postgresAuthStorageMigrations: readonly [PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration, PostgresAuthStorageMigration];
16
+ //# sourceMappingURL=PostgresStorageMigrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostgresStorageMigrations.d.ts","sourceRoot":"","sources":["../src/PostgresStorageMigrations.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,+BAA+B,EAAE,4BA+E7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAmE7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BA6C7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAyG7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BA+B7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAoD7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAuF7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAiE7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAoE7C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,4BAoD7C,CAAC;AAEF,eAAO,MAAM,6BAA6B,uTAWhC,CAAC"}