@fragno-dev/backoffice-api 0.0.0-stage → 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/LICENSE.md +16 -0
  2. package/README.md +90 -2
  3. package/dist/api.d.ts +35 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +10 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/errors.d.ts +45 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +35 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/openapi.d.ts +46 -0
  12. package/dist/openapi.d.ts.map +1 -0
  13. package/dist/openapi.js +205 -0
  14. package/dist/openapi.js.map +1 -0
  15. package/dist/v0/account.d.ts +171 -0
  16. package/dist/v0/account.d.ts.map +1 -0
  17. package/dist/v0/account.js +78 -0
  18. package/dist/v0/account.js.map +1 -0
  19. package/dist/v0/api.d.ts +3437 -0
  20. package/dist/v0/api.d.ts.map +1 -0
  21. package/dist/v0/api.js +52 -0
  22. package/dist/v0/api.js.map +1 -0
  23. package/dist/v0/app-actions.d.ts +105 -0
  24. package/dist/v0/app-actions.d.ts.map +1 -0
  25. package/dist/v0/app-actions.js +100 -0
  26. package/dist/v0/app-actions.js.map +1 -0
  27. package/dist/v0/apps.d.ts +417 -0
  28. package/dist/v0/apps.d.ts.map +1 -0
  29. package/dist/v0/apps.js +163 -0
  30. package/dist/v0/apps.js.map +1 -0
  31. package/dist/v0/automation.d.ts +730 -0
  32. package/dist/v0/automation.d.ts.map +1 -0
  33. package/dist/v0/automation.js +355 -0
  34. package/dist/v0/automation.js.map +1 -0
  35. package/dist/v0/capabilities.d.ts +97 -0
  36. package/dist/v0/capabilities.d.ts.map +1 -0
  37. package/dist/v0/capabilities.js +41 -0
  38. package/dist/v0/capabilities.js.map +1 -0
  39. package/dist/v0/client.d.ts +39 -0
  40. package/dist/v0/client.d.ts.map +1 -0
  41. package/dist/v0/client.js +61 -0
  42. package/dist/v0/client.js.map +1 -0
  43. package/dist/v0/events.d.ts +789 -0
  44. package/dist/v0/events.d.ts.map +1 -0
  45. package/dist/v0/events.js +153 -0
  46. package/dist/v0/events.js.map +1 -0
  47. package/dist/v0/forms.d.ts +172 -0
  48. package/dist/v0/forms.d.ts.map +1 -0
  49. package/dist/v0/forms.js +88 -0
  50. package/dist/v0/forms.js.map +1 -0
  51. package/dist/v0/hooks.d.ts +61 -0
  52. package/dist/v0/hooks.d.ts.map +1 -0
  53. package/dist/v0/hooks.js +49 -0
  54. package/dist/v0/hooks.js.map +1 -0
  55. package/dist/v0/identity.d.ts +73 -0
  56. package/dist/v0/identity.d.ts.map +1 -0
  57. package/dist/v0/identity.js +46 -0
  58. package/dist/v0/identity.js.map +1 -0
  59. package/dist/v0/integrations.d.ts +847 -0
  60. package/dist/v0/integrations.d.ts.map +1 -0
  61. package/dist/v0/integrations.js +255 -0
  62. package/dist/v0/integrations.js.map +1 -0
  63. package/dist/v0/javascript.d.ts +160 -0
  64. package/dist/v0/javascript.d.ts.map +1 -0
  65. package/dist/v0/javascript.js +123 -0
  66. package/dist/v0/javascript.js.map +1 -0
  67. package/dist/v0/marketplace.d.ts +825 -0
  68. package/dist/v0/marketplace.d.ts.map +1 -0
  69. package/dist/v0/marketplace.js +284 -0
  70. package/dist/v0/marketplace.js.map +1 -0
  71. package/dist/v0/organization.d.ts +182 -0
  72. package/dist/v0/organization.d.ts.map +1 -0
  73. package/dist/v0/organization.js +88 -0
  74. package/dist/v0/organization.js.map +1 -0
  75. package/dist/v0/otp.d.ts +37 -0
  76. package/dist/v0/otp.d.ts.map +1 -0
  77. package/dist/v0/otp.js +29 -0
  78. package/dist/v0/otp.js.map +1 -0
  79. package/dist/v0/pi.d.ts +322 -0
  80. package/dist/v0/pi.d.ts.map +1 -0
  81. package/dist/v0/pi.js +146 -0
  82. package/dist/v0/pi.js.map +1 -0
  83. package/dist/v0/sandbox.d.ts +173 -0
  84. package/dist/v0/sandbox.d.ts.map +1 -0
  85. package/dist/v0/sandbox.js +97 -0
  86. package/dist/v0/sandbox.js.map +1 -0
  87. package/dist/v0/shared/bytes.d.ts +12 -0
  88. package/dist/v0/shared/bytes.d.ts.map +1 -0
  89. package/dist/v0/shared/bytes.js +16 -0
  90. package/dist/v0/shared/bytes.js.map +1 -0
  91. package/dist/v0/shared/datetime.d.ts +10 -0
  92. package/dist/v0/shared/datetime.d.ts.map +1 -0
  93. package/dist/v0/shared/datetime.js +14 -0
  94. package/dist/v0/shared/datetime.js.map +1 -0
  95. package/dist/v0/shared/json.d.ts +9 -0
  96. package/dist/v0/shared/json.d.ts.map +1 -0
  97. package/dist/v0/shared/json.js +14 -0
  98. package/dist/v0/shared/json.js.map +1 -0
  99. package/dist/v0/shared/pagination.d.ts +11 -0
  100. package/dist/v0/shared/pagination.d.ts.map +1 -0
  101. package/dist/v0/shared/pagination.js +11 -0
  102. package/dist/v0/shared/pagination.js.map +1 -0
  103. package/dist/v0/shared/permissions.d.ts +279 -0
  104. package/dist/v0/shared/permissions.d.ts.map +1 -0
  105. package/dist/v0/shared/permissions.js +285 -0
  106. package/dist/v0/shared/permissions.js.map +1 -0
  107. package/dist/v0/shared/pi-agent-name.d.ts +10 -0
  108. package/dist/v0/shared/pi-agent-name.d.ts.map +1 -0
  109. package/dist/v0/shared/pi-agent-name.js +11 -0
  110. package/dist/v0/shared/pi-agent-name.js.map +1 -0
  111. package/dist/v0/shared/scope.d.ts +305 -0
  112. package/dist/v0/shared/scope.d.ts.map +1 -0
  113. package/dist/v0/shared/scope.js +279 -0
  114. package/dist/v0/shared/scope.js.map +1 -0
  115. package/dist/v0/state.d.ts +512 -0
  116. package/dist/v0/state.d.ts.map +1 -0
  117. package/dist/v0/state.js +267 -0
  118. package/dist/v0/state.js.map +1 -0
  119. package/dist/v0/store.d.ts +138 -0
  120. package/dist/v0/store.d.ts.map +1 -0
  121. package/dist/v0/store.js +83 -0
  122. package/dist/v0/store.js.map +1 -0
  123. package/dist/v0/upload.d.ts +568 -0
  124. package/dist/v0/upload.d.ts.map +1 -0
  125. package/dist/v0/upload.js +109 -0
  126. package/dist/v0/upload.js.map +1 -0
  127. package/dist/v0/web.d.ts +47 -0
  128. package/dist/v0/web.d.ts.map +1 -0
  129. package/dist/v0/web.js +31 -0
  130. package/dist/v0/web.js.map +1 -0
  131. package/dist/v0/workflow.d.ts +267 -0
  132. package/dist/v0/workflow.d.ts.map +1 -0
  133. package/dist/v0/workflow.js +116 -0
  134. package/dist/v0/workflow.js.map +1 -0
  135. package/package.json +64 -3
@@ -0,0 +1,171 @@
1
+ import { z } from "zod";
2
+ //#region src/v0/account.d.ts
3
+ /** The signed-in user's own profile; it never describes another user. */
4
+ declare const accountProfileSchema: z.ZodLazy<z.ZodObject<{
5
+ userId: z.ZodString;
6
+ name: z.ZodString;
7
+ email: z.ZodString;
8
+ emailVerified: z.ZodBoolean;
9
+ systemRole: z.ZodEnum<{
10
+ admin: "admin";
11
+ user: "user";
12
+ }>;
13
+ }, z.core.$strict>>;
14
+ type AccountProfile = z.output<typeof accountProfileSchema>;
15
+ /** A pending invitation addressed to the signed-in user's email. */
16
+ declare const accountInvitationRecordSchema: z.ZodLazy<z.ZodObject<{
17
+ invitationId: z.ZodString;
18
+ organization: z.ZodLazy<z.ZodObject<{
19
+ organizationId: z.ZodString;
20
+ name: z.ZodString;
21
+ slug: z.ZodString;
22
+ createdAt: z.ZodISODateTime;
23
+ }, z.core.$strict>>;
24
+ roles: z.ZodArray<z.ZodString>;
25
+ expiresAt: z.ZodISODateTime;
26
+ }, z.core.$strict>>;
27
+ type AccountInvitationRecord = z.output<typeof accountInvitationRecordSchema>;
28
+ /** User-facing authorizations contain no access tokens, refresh tokens, or client secrets. */
29
+ declare const oauthConsentPageSchema: z.ZodLazy<z.ZodObject<{
30
+ consents: z.ZodArray<z.ZodObject<{
31
+ id: z.ZodString;
32
+ clientId: z.ZodString;
33
+ clientName: z.ZodString;
34
+ scopes: z.ZodArray<z.ZodString>;
35
+ resources: z.ZodArray<z.ZodString>;
36
+ requestedUserInfoClaims: z.ZodArray<z.ZodString>;
37
+ createdAt: z.ZodString;
38
+ updatedAt: z.ZodString;
39
+ }, z.core.$strip>>;
40
+ nextCursor: z.ZodNullable<z.ZodString>;
41
+ hasNextPage: z.ZodBoolean;
42
+ }, z.core.$strip>>;
43
+ type OAuthConsentPage = z.output<typeof oauthConsentPageSchema>;
44
+ /** Account operations act on the calling user only; no operation can target another account. */
45
+ declare const accountOperations: {
46
+ "account.me": {
47
+ description: string;
48
+ permissions: {
49
+ readonly namespace: "account";
50
+ readonly permission: "read";
51
+ }[];
52
+ input: z.ZodVoid;
53
+ output: z.ZodLazy<z.ZodObject<{
54
+ userId: z.ZodString;
55
+ name: z.ZodString;
56
+ email: z.ZodString;
57
+ emailVerified: z.ZodBoolean;
58
+ systemRole: z.ZodEnum<{
59
+ admin: "admin";
60
+ user: "user";
61
+ }>;
62
+ }, z.core.$strict>>;
63
+ };
64
+ "account.profile.update": {
65
+ description: string;
66
+ permissions: {
67
+ readonly namespace: "account";
68
+ readonly permission: "manage";
69
+ }[];
70
+ input: z.ZodLazy<z.ZodObject<{
71
+ name: z.ZodString;
72
+ }, z.core.$strict>>;
73
+ output: z.ZodLazy<z.ZodObject<{
74
+ userId: z.ZodString;
75
+ name: z.ZodString;
76
+ email: z.ZodString;
77
+ emailVerified: z.ZodBoolean;
78
+ systemRole: z.ZodEnum<{
79
+ admin: "admin";
80
+ user: "user";
81
+ }>;
82
+ }, z.core.$strict>>;
83
+ };
84
+ "account.orgs.list": {
85
+ description: string;
86
+ permissions: {
87
+ readonly namespace: "account";
88
+ readonly permission: "read";
89
+ }[];
90
+ input: z.ZodVoid;
91
+ output: z.ZodLazy<z.ZodObject<{
92
+ organizations: z.ZodArray<z.ZodLazy<z.ZodObject<{
93
+ organization: z.ZodLazy<z.ZodObject<{
94
+ organizationId: z.ZodString;
95
+ name: z.ZodString;
96
+ slug: z.ZodString;
97
+ createdAt: z.ZodISODateTime;
98
+ }, z.core.$strict>>;
99
+ roles: z.ZodArray<z.ZodString>;
100
+ }, z.core.$strict>>>;
101
+ }, z.core.$strict>>;
102
+ };
103
+ "account.invitations.list": {
104
+ description: string;
105
+ permissions: {
106
+ readonly namespace: "account";
107
+ readonly permission: "read";
108
+ }[];
109
+ input: z.ZodVoid;
110
+ output: z.ZodLazy<z.ZodObject<{
111
+ invitations: z.ZodArray<z.ZodLazy<z.ZodObject<{
112
+ invitationId: z.ZodString;
113
+ organization: z.ZodLazy<z.ZodObject<{
114
+ organizationId: z.ZodString;
115
+ name: z.ZodString;
116
+ slug: z.ZodString;
117
+ createdAt: z.ZodISODateTime;
118
+ }, z.core.$strict>>;
119
+ roles: z.ZodArray<z.ZodString>;
120
+ expiresAt: z.ZodISODateTime;
121
+ }, z.core.$strict>>>;
122
+ }, z.core.$strict>>;
123
+ };
124
+ "account.invitations.accept": {
125
+ description: string;
126
+ permissions: {
127
+ readonly namespace: "account";
128
+ readonly permission: "manage";
129
+ }[];
130
+ input: z.ZodLazy<z.ZodObject<{
131
+ invitationId: z.ZodString;
132
+ }, z.core.$strict>>;
133
+ output: z.ZodLazy<z.ZodObject<{
134
+ organization: z.ZodLazy<z.ZodObject<{
135
+ organizationId: z.ZodString;
136
+ name: z.ZodString;
137
+ slug: z.ZodString;
138
+ createdAt: z.ZodISODateTime;
139
+ }, z.core.$strict>>;
140
+ roles: z.ZodArray<z.ZodString>;
141
+ }, z.core.$strict>>;
142
+ };
143
+ "account.applications.list": {
144
+ description: string;
145
+ permissions: {
146
+ readonly namespace: "account";
147
+ readonly permission: "read";
148
+ }[];
149
+ input: z.ZodLazy<z.ZodObject<{
150
+ pageSize: z.ZodDefault<z.ZodNumber>;
151
+ cursor: z.ZodDefault<z.ZodNullable<z.ZodString>>;
152
+ }, z.core.$strict>>;
153
+ output: z.ZodLazy<z.ZodObject<{
154
+ consents: z.ZodArray<z.ZodObject<{
155
+ id: z.ZodString;
156
+ clientId: z.ZodString;
157
+ clientName: z.ZodString;
158
+ scopes: z.ZodArray<z.ZodString>;
159
+ resources: z.ZodArray<z.ZodString>;
160
+ requestedUserInfoClaims: z.ZodArray<z.ZodString>;
161
+ createdAt: z.ZodString;
162
+ updatedAt: z.ZodString;
163
+ }, z.core.$strip>>;
164
+ nextCursor: z.ZodNullable<z.ZodString>;
165
+ hasNextPage: z.ZodBoolean;
166
+ }, z.core.$strip>>;
167
+ };
168
+ };
169
+ //#endregion
170
+ export { AccountInvitationRecord, AccountProfile, OAuthConsentPage, accountOperations, oauthConsentPageSchema };
171
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","names":[],"sources":["../../src/v0/account.ts"],"mappings":";;;cAQM,sBAAoB,EAAA,QAAA,EAAA;;;;;;;;;;KAWd,iBAAiB,EAAE,cAAc;;cAGvC,+BAA6B,EAAA,QAAA,EAAA;;;;;;;;;;;KAUvB,0BAA0B,EAAE,cAAc;;cAGzC,wBAAsB,EAAA,QAAA,EAAA;;;;;;;;;;;;;;KAoBvB,mBAAmB,EAAE,cAAc;;cAGlC"}
@@ -0,0 +1,78 @@
1
+ import { directoryPageInputSchema } from "./shared/pagination.js";
2
+ import { BACKOFFICE_PERMISSION } from "./shared/permissions.js";
3
+ import { organizationMembershipRecordSchema, organizationRecordSchema } from "./organization.js";
4
+ import { z } from "zod";
5
+ //#region src/v0/account.ts
6
+ /** The signed-in user's own profile; it never describes another user. */
7
+ const accountProfileSchema = z.lazy(() => z.strictObject({
8
+ userId: z.string().min(1),
9
+ name: z.string(),
10
+ email: z.string().min(1),
11
+ emailVerified: z.boolean(),
12
+ systemRole: z.enum(["user", "admin"])
13
+ })).meta({ id: "AccountProfile" });
14
+ /** A pending invitation addressed to the signed-in user's email. */
15
+ const accountInvitationRecordSchema = z.lazy(() => z.strictObject({
16
+ invitationId: z.string().min(1),
17
+ organization: organizationRecordSchema,
18
+ roles: z.array(z.string().min(1)).min(1),
19
+ expiresAt: z.iso.datetime()
20
+ })).meta({ id: "AccountInvitationRecord" });
21
+ /** User-facing authorizations contain no access tokens, refresh tokens, or client secrets. */
22
+ const oauthConsentPageSchema = z.lazy(() => z.object({
23
+ consents: z.array(z.object({
24
+ id: z.string(),
25
+ clientId: z.string(),
26
+ clientName: z.string(),
27
+ scopes: z.array(z.string()),
28
+ resources: z.array(z.string()),
29
+ requestedUserInfoClaims: z.array(z.string()),
30
+ createdAt: z.string(),
31
+ updatedAt: z.string()
32
+ })),
33
+ nextCursor: z.string().nullable(),
34
+ hasNextPage: z.boolean()
35
+ })).meta({ id: "OAuthConsentPage" });
36
+ /** Account operations act on the calling user only; no operation can target another account. */
37
+ const accountOperations = {
38
+ "account.me": {
39
+ description: "Read your own Backoffice account profile.",
40
+ permissions: [BACKOFFICE_PERMISSION.account.read],
41
+ input: z.void(),
42
+ output: accountProfileSchema
43
+ },
44
+ "account.profile.update": {
45
+ description: "Change the display name on your own Backoffice account.",
46
+ permissions: [BACKOFFICE_PERMISSION.account.manage],
47
+ input: z.lazy(() => z.strictObject({ name: z.string().trim().min(1) })),
48
+ output: accountProfileSchema
49
+ },
50
+ "account.orgs.list": {
51
+ description: "List the organizations you belong to and your roles in each.",
52
+ permissions: [BACKOFFICE_PERMISSION.account.read],
53
+ input: z.void(),
54
+ output: z.lazy(() => z.strictObject({ organizations: z.array(organizationMembershipRecordSchema) }))
55
+ },
56
+ "account.invitations.list": {
57
+ description: "List pending, unexpired organization invitations addressed to your email.",
58
+ permissions: [BACKOFFICE_PERMISSION.account.read],
59
+ input: z.void(),
60
+ output: z.lazy(() => z.strictObject({ invitations: z.array(accountInvitationRecordSchema) }))
61
+ },
62
+ "account.invitations.accept": {
63
+ description: "Accept a pending organization invitation addressed to your email.",
64
+ permissions: [BACKOFFICE_PERMISSION.account.manage],
65
+ input: z.lazy(() => z.strictObject({ invitationId: z.string().trim().min(1) })),
66
+ output: organizationMembershipRecordSchema
67
+ },
68
+ "account.applications.list": {
69
+ description: "List OAuth applications you have authorized and their granted scopes, using cursor pagination. Never exposes tokens.",
70
+ permissions: [BACKOFFICE_PERMISSION.account.read],
71
+ input: directoryPageInputSchema,
72
+ output: oauthConsentPageSchema
73
+ }
74
+ };
75
+ //#endregion
76
+ export { accountOperations, oauthConsentPageSchema };
77
+
78
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","names":[],"sources":["../../src/v0/account.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport type { BackofficeApiOperation } from \"../api\";\nimport { organizationMembershipRecordSchema, organizationRecordSchema } from \"./organization\";\nimport { directoryPageInputSchema } from \"./shared/pagination\";\nimport { BACKOFFICE_PERMISSION } from \"./shared/permissions\";\n\n/** The signed-in user's own profile; it never describes another user. */\nconst accountProfileSchema = z\n .lazy(() =>\n z.strictObject({\n userId: z.string().min(1),\n name: z.string(),\n email: z.string().min(1),\n emailVerified: z.boolean(),\n systemRole: z.enum([\"user\", \"admin\"]),\n }),\n )\n .meta({ id: \"AccountProfile\" });\nexport type AccountProfile = z.output<typeof accountProfileSchema>;\n\n/** A pending invitation addressed to the signed-in user's email. */\nconst accountInvitationRecordSchema = z\n .lazy(() =>\n z.strictObject({\n invitationId: z.string().min(1),\n organization: organizationRecordSchema,\n roles: z.array(z.string().min(1)).min(1),\n expiresAt: z.iso.datetime(),\n }),\n )\n .meta({ id: \"AccountInvitationRecord\" });\nexport type AccountInvitationRecord = z.output<typeof accountInvitationRecordSchema>;\n\n/** User-facing authorizations contain no access tokens, refresh tokens, or client secrets. */\nexport const oauthConsentPageSchema = z\n .lazy(() =>\n z.object({\n consents: z.array(\n z.object({\n id: z.string(),\n clientId: z.string(),\n clientName: z.string(),\n scopes: z.array(z.string()),\n resources: z.array(z.string()),\n requestedUserInfoClaims: z.array(z.string()),\n createdAt: z.string(),\n updatedAt: z.string(),\n }),\n ),\n nextCursor: z.string().nullable(),\n hasNextPage: z.boolean(),\n }),\n )\n .meta({ id: \"OAuthConsentPage\" });\nexport type OAuthConsentPage = z.output<typeof oauthConsentPageSchema>;\n\n/** Account operations act on the calling user only; no operation can target another account. */\nexport const accountOperations = {\n \"account.me\": {\n description: \"Read your own Backoffice account profile.\",\n permissions: [BACKOFFICE_PERMISSION.account.read],\n input: z.void(),\n output: accountProfileSchema,\n },\n \"account.profile.update\": {\n description: \"Change the display name on your own Backoffice account.\",\n permissions: [BACKOFFICE_PERMISSION.account.manage],\n input: z.lazy(() => z.strictObject({ name: z.string().trim().min(1) })),\n output: accountProfileSchema,\n },\n \"account.orgs.list\": {\n description: \"List the organizations you belong to and your roles in each.\",\n permissions: [BACKOFFICE_PERMISSION.account.read],\n input: z.void(),\n output: z.lazy(() =>\n z.strictObject({ organizations: z.array(organizationMembershipRecordSchema) }),\n ),\n },\n \"account.invitations.list\": {\n description: \"List pending, unexpired organization invitations addressed to your email.\",\n permissions: [BACKOFFICE_PERMISSION.account.read],\n input: z.void(),\n output: z.lazy(() => z.strictObject({ invitations: z.array(accountInvitationRecordSchema) })),\n },\n \"account.invitations.accept\": {\n description: \"Accept a pending organization invitation addressed to your email.\",\n permissions: [BACKOFFICE_PERMISSION.account.manage],\n input: z.lazy(() => z.strictObject({ invitationId: z.string().trim().min(1) })),\n output: organizationMembershipRecordSchema,\n },\n \"account.applications.list\": {\n description:\n \"List OAuth applications you have authorized and their granted scopes, using cursor pagination. Never exposes tokens.\",\n permissions: [BACKOFFICE_PERMISSION.account.read],\n input: directoryPageInputSchema,\n output: oauthConsentPageSchema,\n },\n} satisfies Record<string, BackofficeApiOperation>;\n"],"mappings":";;;;;;AAQA,MAAM,uBAAuB,EAC1B,WACC,EAAE,aAAa;CACb,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACxB,MAAM,EAAE,OAAO;CACf,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACvB,eAAe,EAAE,QAAQ;CACzB,YAAY,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC;AACtC,CAAC,CACH,CAAC,CACA,KAAK,EAAE,IAAI,iBAAiB,CAAC;;AAIhC,MAAM,gCAAgC,EACnC,WACC,EAAE,aAAa;CACb,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CAC9B,cAAc;CACd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;CACvC,WAAW,EAAE,IAAI,SAAS;AAC5B,CAAC,CACH,CAAC,CACA,KAAK,EAAE,IAAI,0BAA0B,CAAC;;AAIzC,MAAa,yBAAyB,EACnC,WACC,EAAE,OAAO;CACP,UAAU,EAAE,MACV,EAAE,OAAO;EACP,IAAI,EAAE,OAAO;EACb,UAAU,EAAE,OAAO;EACnB,YAAY,EAAE,OAAO;EACrB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;EAC1B,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;EAC7B,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC;EAC3C,WAAW,EAAE,OAAO;EACpB,WAAW,EAAE,OAAO;CACtB,CAAC,CACH;CACA,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS;CAChC,aAAa,EAAE,QAAQ;AACzB,CAAC,CACH,CAAC,CACA,KAAK,EAAE,IAAI,mBAAmB,CAAC;;AAIlC,MAAa,oBAAoB;CAC/B,cAAc;EACZ,aAAa;EACb,aAAa,CAAC,sBAAsB,QAAQ,IAAI;EAChD,OAAO,EAAE,KAAK;EACd,QAAQ;CACV;CACA,0BAA0B;EACxB,aAAa;EACb,aAAa,CAAC,sBAAsB,QAAQ,MAAM;EAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACtE,QAAQ;CACV;CACA,qBAAqB;EACnB,aAAa;EACb,aAAa,CAAC,sBAAsB,QAAQ,IAAI;EAChD,OAAO,EAAE,KAAK;EACd,QAAQ,EAAE,WACR,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kCAAkC,EAAE,CAAC,CAC/E;CACF;CACA,4BAA4B;EAC1B,aAAa;EACb,aAAa,CAAC,sBAAsB,QAAQ,IAAI;EAChD,OAAO,EAAE,KAAK;EACd,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,6BAA6B,EAAE,CAAC,CAAC;CAC9F;CACA,8BAA8B;EAC5B,aAAa;EACb,aAAa,CAAC,sBAAsB,QAAQ,MAAM;EAClD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAC9E,QAAQ;CACV;CACA,6BAA6B;EAC3B,aACE;EACF,aAAa,CAAC,sBAAsB,QAAQ,IAAI;EAChD,OAAO;EACP,QAAQ;CACV;AACF"}