@open-kingdom/shared-frontend-feature-user-management 0.0.2-16 → 0.0.2-17
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.
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +598 -358
- package/dist/lib/components/invitations/AcceptInvitation.component.d.ts.map +1 -1
- package/dist/lib/components/invitations/InvitationList.component.d.ts.map +1 -1
- package/dist/lib/components/invitations/InviteUserModal.component.d.ts.map +1 -1
- package/dist/lib/components/roles/RoleList.component.d.ts +2 -0
- package/dist/lib/components/roles/RoleList.component.d.ts.map +1 -0
- package/dist/lib/components/roles/RolePermissionsModal.component.d.ts +11 -0
- package/dist/lib/components/roles/RolePermissionsModal.component.d.ts.map +1 -0
- package/dist/lib/components/roles/index.d.ts +3 -0
- package/dist/lib/components/roles/index.d.ts.map +1 -0
- package/dist/lib/components/shared/ConfirmDialog.component.d.ts.map +1 -1
- package/dist/lib/components/shared/FormField.component.d.ts.map +1 -1
- package/dist/lib/components/shared/RoleBadge.component.d.ts +1 -2
- package/dist/lib/components/shared/RoleBadge.component.d.ts.map +1 -1
- package/dist/lib/components/shared/StatusBadge.component.d.ts.map +1 -1
- package/dist/lib/components/shared/StatusCard.component.d.ts.map +1 -1
- package/dist/lib/components/users/RoleChangeModal.component.d.ts +12 -0
- package/dist/lib/components/users/RoleChangeModal.component.d.ts.map +1 -0
- package/dist/lib/components/users/UserList.component.d.ts.map +1 -1
- package/dist/lib/hooks/useHasPermission.d.ts +2 -0
- package/dist/lib/hooks/useHasPermission.d.ts.map +1 -0
- package/dist/lib/types.d.ts +2 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +19 -1
- package/dist/lib/components/shared/ModalOverlay.component.d.ts +0 -9
- package/dist/lib/components/shared/ModalOverlay.component.d.ts.map +0 -1
- package/dist/lib/styles.d.ts +0 -9
- package/dist/lib/styles.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcceptInvitation.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/AcceptInvitation.component.tsx"],"names":[],"mappings":"AA8BA,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"AcceptInvitation.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/AcceptInvitation.component.tsx"],"names":[],"mappings":"AA8BA,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CA8J3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvitationList.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/InvitationList.component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InvitationList.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/InvitationList.component.tsx"],"names":[],"mappings":"AA4FA,wBAAgB,cAAc,4CAmF7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteUserModal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/InviteUserModal.component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InviteUserModal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/invitations/InviteUserModal.component.tsx"],"names":[],"mappings":"AA0BA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,oBAAoB,2CA6FxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleList.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/roles/RoleList.component.tsx"],"names":[],"mappings":"AAuBA,wBAAgB,QAAQ,4CA8HvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface RolePermissionsModalProps {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
role: {
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function RolePermissionsModal({ isOpen, onClose, role, }: RolePermissionsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=RolePermissionsModal.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RolePermissionsModal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/roles/RolePermissionsModal.component.tsx"],"names":[],"mappings":"AAkBA,UAAU,yBAAyB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AASD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,OAAO,EACP,IAAI,GACL,EAAE,yBAAyB,2CAkH3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/roles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmDialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/ConfirmDialog.component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/ConfirmDialog.component.tsx"],"names":[],"mappings":"AAWA,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,OAAO,EACP,YAAwB,EACxB,SAAS,EACT,QAAQ,EACR,SAAiB,GAClB,EAAE,kBAAkB,2CA+BpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/FormField.component.tsx"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"FormField.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/FormField.component.tsx"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,cAAc,2CAchB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoleBadge.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/RoleBadge.component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RoleBadge.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/RoleBadge.component.tsx"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,kDAIjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/StatusBadge.component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StatusBadge.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/StatusBadge.component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,UAAU,gBAAgB;IACxB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,kDAIvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusCard.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/StatusCard.component.tsx"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD,UAAU,eAAe;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAOD,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"StatusCard.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/StatusCard.component.tsx"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD,UAAU,eAAe;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAOD,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,eAAe,2CAmCjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface RoleChangeModalProps {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
user: {
|
|
5
|
+
id: number;
|
|
6
|
+
email: string;
|
|
7
|
+
role: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare function RoleChangeModal({ isOpen, onClose, user, }: RoleChangeModalProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=RoleChangeModal.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleChangeModal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/users/RoleChangeModal.component.tsx"],"names":[],"mappings":"AAkBA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,IAAI,GACL,EAAE,oBAAoB,2CAiFtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserList.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/users/UserList.component.tsx"],"names":[],"mappings":"AAoBA,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"UserList.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/users/UserList.component.tsx"],"names":[],"mappings":"AAoBA,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,aAAa,2CAyJxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHasPermission.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/useHasPermission.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM1E"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Role =
|
|
1
|
+
export type Role = string;
|
|
2
2
|
export type InvitationStatus = 'pending' | 'accepted' | 'expired';
|
|
3
3
|
export interface User {
|
|
4
4
|
id: number;
|
|
@@ -13,7 +13,7 @@ export interface Invitation {
|
|
|
13
13
|
tokenExpiry: number;
|
|
14
14
|
invitedBy: number;
|
|
15
15
|
invitedAt: number;
|
|
16
|
-
|
|
16
|
+
roleId: number;
|
|
17
17
|
status: InvitationStatus;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;CAC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-kingdom/shared-frontend-feature-user-management",
|
|
3
|
-
"version": "0.0.2-
|
|
3
|
+
"version": "0.0.2-17",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -22,6 +22,24 @@
|
|
|
22
22
|
"dist",
|
|
23
23
|
"!**/*.tsbuildinfo"
|
|
24
24
|
],
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@open-kingdom/shared-poly-util-date": "0.0.2-17"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"react": "^19.0.0",
|
|
30
|
+
"react-dom": "^19.0.0",
|
|
31
|
+
"react-redux": "^9.2.0",
|
|
32
|
+
"@reduxjs/toolkit": "^2.8.2",
|
|
33
|
+
"react-hook-form": "^7.0.0",
|
|
34
|
+
"@hookform/resolvers": "^5.0.0",
|
|
35
|
+
"zod": "^4.0.0",
|
|
36
|
+
"@react-hookz/web": "^25.0.0",
|
|
37
|
+
"@open-kingdom/shared-frontend-data-access-api-client": "0.0.2-17",
|
|
38
|
+
"@open-kingdom/shared-frontend-data-access-notifications": "0.0.2-17",
|
|
39
|
+
"@open-kingdom/shared-frontend-ui-theme": "0.0.2-17",
|
|
40
|
+
"@open-kingdom/shared-frontend-ui-datagrid": "0.0.2-17",
|
|
41
|
+
"@open-kingdom/shared-frontend-ui-primitives": "0.0.2-17"
|
|
42
|
+
},
|
|
25
43
|
"nx": {
|
|
26
44
|
"tags": [
|
|
27
45
|
"scope:shared",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface ModalOverlayProps {
|
|
2
|
-
isOpen: boolean;
|
|
3
|
-
onClose: () => void;
|
|
4
|
-
ariaLabelledBy: string;
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
}
|
|
7
|
-
export declare function ModalOverlay({ isOpen, onClose, ariaLabelledBy, children, }: ModalOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=ModalOverlay.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalOverlay.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/shared/ModalOverlay.component.tsx"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,cAAc,EACd,QAAQ,GACT,EAAE,iBAAiB,kDA6BnB"}
|
package/dist/lib/styles.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const inputStyles = "w-full px-3 py-2 border border-neutral-300 dark:border-neutral-600 rounded-md bg-white dark:bg-neutral-700 text-neutral-900 dark:text-neutral-100";
|
|
2
|
-
export declare const labelStyles = "block text-sm font-medium text-neutral-700 dark:text-neutral-300 mb-1";
|
|
3
|
-
export declare const cardStyles = "max-w-md mx-auto mt-8 p-6 bg-white dark:bg-neutral-800 rounded-lg shadow-lg";
|
|
4
|
-
export declare const bodyTextStyles = "text-neutral-600 dark:text-neutral-400";
|
|
5
|
-
export declare const buttonPrimaryStyles = "rounded-md px-4 py-2 text-sm font-medium transition-colors bg-primary-500 text-white hover:bg-primary-600 disabled:opacity-50";
|
|
6
|
-
export declare const buttonSecondaryStyles = "rounded-md px-4 py-2 text-sm font-medium transition-colors border border-neutral-300 text-neutral-700 hover:bg-neutral-50 dark:border-neutral-600 dark:text-neutral-300 dark:hover:bg-neutral-700";
|
|
7
|
-
export declare const buttonDangerStyles = "rounded-md px-4 py-2 text-sm font-medium transition-colors bg-error-500 text-white hover:bg-error-600 disabled:opacity-50";
|
|
8
|
-
export declare const buttonInlineDestructiveStyles = "rounded px-2 py-1 text-xs font-medium text-error-600 transition-colors hover:bg-error-50 disabled:cursor-not-allowed disabled:opacity-40 dark:text-error-400 dark:hover:bg-error-900/20";
|
|
9
|
-
//# sourceMappingURL=styles.d.ts.map
|
package/dist/lib/styles.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/lib/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,sJAC6H,CAAC;AAEtJ,eAAO,MAAM,WAAW,0EACiD,CAAC;AAE1E,eAAO,MAAM,UAAU,gFACwD,CAAC;AAEhF,eAAO,MAAM,cAAc,2CAA2C,CAAC;AAKvE,eAAO,MAAM,mBAAmB,kIAA2F,CAAC;AAE5H,eAAO,MAAM,qBAAqB,sMAA+J,CAAC;AAElM,eAAO,MAAM,kBAAkB,8HAAuF,CAAC;AAEvH,eAAO,MAAM,6BAA6B,4LACiJ,CAAC"}
|