@payloadcms/drizzle 3.0.0-beta.126 → 3.0.0-beta.128
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/countGlobalVersions.d.ts +3 -0
- package/dist/countGlobalVersions.d.ts.map +1 -0
- package/dist/countGlobalVersions.js +27 -0
- package/dist/countGlobalVersions.js.map +1 -0
- package/dist/countVersions.d.ts +3 -0
- package/dist/countVersions.d.ts.map +1 -0
- package/dist/countVersions.js +27 -0
- package/dist/countVersions.js.map +1 -0
- package/dist/exports/postgres.d.ts +1 -1
- package/dist/exports/postgres.d.ts.map +1 -1
- package/dist/exports/postgres.js +1 -1
- package/dist/exports/postgres.js.map +1 -1
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +51 -22
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +3 -0
- package/dist/migrate.js.map +1 -1
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +3 -0
- package/dist/migrateFresh.js.map +1 -1
- package/dist/postgres/createExtensions.d.ts +3 -0
- package/dist/postgres/createExtensions.d.ts.map +1 -0
- package/dist/postgres/createExtensions.js +16 -0
- package/dist/postgres/createExtensions.js.map +1 -0
- package/dist/postgres/createJSONQuery/index.d.ts +2 -9
- package/dist/postgres/createJSONQuery/index.d.ts.map +1 -1
- package/dist/postgres/createJSONQuery/index.js +34 -46
- package/dist/postgres/createJSONQuery/index.js.map +1 -1
- package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
- package/dist/postgres/defaultSnapshot.js +2 -0
- package/dist/postgres/defaultSnapshot.js.map +1 -1
- package/dist/postgres/schema/geometryColumn.d.ts +12 -0
- package/dist/postgres/schema/geometryColumn.d.ts.map +1 -0
- package/dist/postgres/schema/geometryColumn.js +18 -0
- package/dist/postgres/schema/geometryColumn.js.map +1 -0
- package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
- package/dist/postgres/schema/traverseFields.js +248 -244
- package/dist/postgres/schema/traverseFields.js.map +1 -1
- package/dist/postgres/schema/withDefault.d.ts.map +1 -1
- package/dist/postgres/schema/withDefault.js +3 -0
- package/dist/postgres/schema/withDefault.js.map +1 -1
- package/dist/postgres/types.d.ts +3 -0
- package/dist/postgres/types.d.ts.map +1 -1
- package/dist/postgres/types.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +170 -170
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/queries/operatorMap.d.ts.map +1 -1
- package/dist/queries/operatorMap.js +0 -4
- package/dist/queries/operatorMap.js.map +1 -1
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +38 -5
- package/dist/queries/parseParams.js.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +8 -2
- package/dist/queries/sanitizeQueryValue.js.map +1 -1
- package/dist/transform/read/traverseFields.js +15 -15
- package/dist/transform/read/traverseFields.js.map +1 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +4 -0
- package/dist/transform/write/traverseFields.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/upsertRow/index.js +2 -2
- package/dist/upsertRow/index.js.map +1 -1
- package/dist/utilities/pushDevSchema.d.ts.map +1 -1
- package/dist/utilities/pushDevSchema.js +5 -0
- package/dist/utilities/pushDevSchema.js.map +1 -1
- package/license.md +22 -0
- package/package.json +12 -5
|
@@ -1,54 +1,42 @@
|
|
|
1
|
-
import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js';
|
|
2
|
-
import { formatJSONPathSegment } from './formatJSONPathSegment.js';
|
|
3
1
|
const operatorMap = {
|
|
4
|
-
contains: '
|
|
5
|
-
equals: '
|
|
6
|
-
|
|
2
|
+
contains: '~',
|
|
3
|
+
equals: '==',
|
|
4
|
+
in: 'in',
|
|
5
|
+
like: 'like_regex',
|
|
6
|
+
not_equals: '!=',
|
|
7
|
+
not_in: 'in'
|
|
7
8
|
};
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const arrayElements = isRoot ? pathSegments[0] : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`;
|
|
13
|
-
return `EXISTS (
|
|
14
|
-
SELECT 1
|
|
15
|
-
FROM jsonb_array_elements(${arrayElements}) AS ${alias}
|
|
16
|
-
WHERE ${createJSONQuery({
|
|
17
|
-
operator,
|
|
18
|
-
pathSegments: newPathSegments,
|
|
19
|
-
treatAsArray,
|
|
20
|
-
value
|
|
21
|
-
})}
|
|
22
|
-
)`;
|
|
23
|
-
};
|
|
24
|
-
const createConstraint = ({ operator, pathSegments, value })=>{
|
|
25
|
-
const jsonQuery = convertPathToJSONTraversal(pathSegments);
|
|
26
|
-
return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`;
|
|
27
|
-
};
|
|
28
|
-
export const createJSONQuery = ({ operator, pathSegments, treatAsArray, treatRootAsArray, value })=>{
|
|
29
|
-
if (treatRootAsArray) {
|
|
30
|
-
return fromArray({
|
|
31
|
-
isRoot: true,
|
|
32
|
-
operator,
|
|
33
|
-
pathSegments,
|
|
34
|
-
treatAsArray,
|
|
35
|
-
value
|
|
36
|
-
});
|
|
9
|
+
const sanitizeValue = (value, operator)=>{
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
// ignore casing with like
|
|
12
|
+
return `"${operator === 'like' ? '(?i)' : ''}${value}"`;
|
|
37
13
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
14
|
+
return value;
|
|
15
|
+
};
|
|
16
|
+
export const createJSONQuery = ({ column, operator, pathSegments, value })=>{
|
|
17
|
+
const columnName = typeof column === 'object' ? column.name : column;
|
|
18
|
+
const jsonPaths = pathSegments.slice(1).map((key)=>{
|
|
19
|
+
return `${key}[*]`;
|
|
20
|
+
}).join('.');
|
|
21
|
+
let sql = '';
|
|
22
|
+
if ([
|
|
23
|
+
'in',
|
|
24
|
+
'not_in'
|
|
25
|
+
].includes(operator) && Array.isArray(value)) {
|
|
26
|
+
value.forEach((item, i)=>{
|
|
27
|
+
sql = `${sql}${createJSONQuery({
|
|
28
|
+
column,
|
|
29
|
+
operator: operator === 'in' ? 'equals' : 'not_equals',
|
|
30
|
+
pathSegments,
|
|
31
|
+
value: item
|
|
32
|
+
})}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`;
|
|
44
33
|
});
|
|
34
|
+
} else if (operator === 'exists') {
|
|
35
|
+
sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '$.${jsonPaths}')`;
|
|
36
|
+
} else {
|
|
37
|
+
sql = `jsonb_path_exists(${columnName}, '$.${jsonPaths} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`;
|
|
45
38
|
}
|
|
46
|
-
return
|
|
47
|
-
operator,
|
|
48
|
-
pathSegments,
|
|
49
|
-
treatAsArray,
|
|
50
|
-
value
|
|
51
|
-
});
|
|
39
|
+
return sql;
|
|
52
40
|
};
|
|
53
41
|
|
|
54
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/postgres/createJSONQuery/index.ts"],"sourcesContent":["import type { CreateJSONQueryArgs } from '../../types.js'\n\nconst operatorMap: Record<string, string> = {\n contains: '~',\n equals: '==',\n in: 'in',\n like: 'like_regex',\n not_equals: '!=',\n not_in: 'in',\n}\n\nconst sanitizeValue = (value: unknown, operator?: string) => {\n if (typeof value === 'string') {\n // ignore casing with like\n return `\"${operator === 'like' ? '(?i)' : ''}${value}\"`\n }\n\n return value as string\n}\n\nexport const createJSONQuery = ({ column, operator, pathSegments, value }: CreateJSONQueryArgs) => {\n const columnName = typeof column === 'object' ? column.name : column\n const jsonPaths = pathSegments\n .slice(1)\n .map((key) => {\n return `${key}[*]`\n })\n .join('.')\n\n let sql = ''\n\n if (['in', 'not_in'].includes(operator) && Array.isArray(value)) {\n value.forEach((item, i) => {\n sql = `${sql}${createJSONQuery({ column, operator: operator === 'in' ? 'equals' : 'not_equals', pathSegments, value: item })}${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`\n })\n } else if (operator === 'exists') {\n sql = `${value === false ? 'NOT ' : ''}jsonb_path_exists(${columnName}, '$.${jsonPaths}')`\n } else {\n sql = `jsonb_path_exists(${columnName}, '$.${jsonPaths} ? (@ ${operatorMap[operator]} ${sanitizeValue(value, operator)})')`\n }\n\n return sql\n}\n"],"names":["operatorMap","contains","equals","in","like","not_equals","not_in","sanitizeValue","value","operator","createJSONQuery","column","pathSegments","columnName","name","jsonPaths","slice","map","key","join","sql","includes","Array","isArray","forEach","item","i","length"],"mappings":"AAEA,MAAMA,cAAsC;IAC1CC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,YAAY;IACZC,QAAQ;AACV;AAEA,MAAMC,gBAAgB,CAACC,OAAgBC;IACrC,IAAI,OAAOD,UAAU,UAAU;QAC7B,0BAA0B;QAC1B,OAAO,CAAC,CAAC,EAAEC,aAAa,SAAS,SAAS,GAAG,EAAED,MAAM,CAAC,CAAC;IACzD;IAEA,OAAOA;AACT;AAEA,OAAO,MAAME,kBAAkB,CAAC,EAAEC,MAAM,EAAEF,QAAQ,EAAEG,YAAY,EAAEJ,KAAK,EAAuB;IAC5F,MAAMK,aAAa,OAAOF,WAAW,WAAWA,OAAOG,IAAI,GAAGH;IAC9D,MAAMI,YAAYH,aACfI,KAAK,CAAC,GACNC,GAAG,CAAC,CAACC;QACJ,OAAO,CAAC,EAAEA,IAAI,GAAG,CAAC;IACpB,GACCC,IAAI,CAAC;IAER,IAAIC,MAAM;IAEV,IAAI;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACZ,aAAaa,MAAMC,OAAO,CAACf,QAAQ;QAC/DA,MAAMgB,OAAO,CAAC,CAACC,MAAMC;YACnBN,MAAM,CAAC,EAAEA,IAAI,EAAEV,gBAAgB;gBAAEC;gBAAQF,UAAUA,aAAa,OAAO,WAAW;gBAAcG;gBAAcJ,OAAOiB;YAAK,GAAG,EAAEC,MAAMlB,MAAMmB,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAElB,aAAa,OAAO,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACxM;IACF,OAAO,IAAIA,aAAa,UAAU;QAChCW,MAAM,CAAC,EAAEZ,UAAU,QAAQ,SAAS,GAAG,kBAAkB,EAAEK,WAAW,KAAK,EAAEE,UAAU,EAAE,CAAC;IAC5F,OAAO;QACLK,MAAM,CAAC,kBAAkB,EAAEP,WAAW,KAAK,EAAEE,UAAU,MAAM,EAAEf,WAAW,CAACS,SAAS,CAAC,CAAC,EAAEF,cAAcC,OAAOC,UAAU,GAAG,CAAC;IAC7H;IAEA,OAAOW;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../../src/postgres/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,eAAO,MAAM,sBAAsB,EAAE,mBAiBpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","prevId","sequences","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;
|
|
1
|
+
{"version":3,"sources":["../../src/postgres/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n schemas: {},\n tables: {},\n },\n dialect: 'postgresql',\n enums: {},\n policies: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n roles: {},\n schemas: {},\n sequences: {},\n tables: {},\n version: '7',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","schemas","tables","dialect","enums","policies","prevId","roles","sequences","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAA8C;IACzDC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,UAAU,CAAC;IACXC,QAAQ;IACRC,OAAO,CAAC;IACRN,SAAS,CAAC;IACVO,WAAW,CAAC;IACZN,QAAQ,CAAC;IACTO,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type Point = [number, number];
|
|
2
|
+
export declare const geometryColumn: (name: string) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
|
|
3
|
+
name: string;
|
|
4
|
+
dataType: "custom";
|
|
5
|
+
columnType: "PgCustomColumn";
|
|
6
|
+
data: Point;
|
|
7
|
+
driverParam: string;
|
|
8
|
+
enumValues: undefined;
|
|
9
|
+
generated: undefined;
|
|
10
|
+
}>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=geometryColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryColumn.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/geometryColumn.ts"],"names":[],"mappings":"AAMA,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE7B,eAAO,MAAM,cAAc,SAAU,MAAM;;;;;;;;EAWjC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Uses custom one instead of geometry() from drizzle-orm/pg-core because it's broken on pushDevSchema
|
|
2
|
+
// Why?
|
|
3
|
+
// It tries to give us a prompt "you're about to change.. from geometry(Point) to geometry(point)"
|
|
4
|
+
import { customType } from 'drizzle-orm/pg-core';
|
|
5
|
+
import { parseEWKB } from 'drizzle-orm/pg-core/columns/postgis_extension/utils';
|
|
6
|
+
export const geometryColumn = (name)=>customType({
|
|
7
|
+
dataType () {
|
|
8
|
+
return `geometry(Point)`;
|
|
9
|
+
},
|
|
10
|
+
fromDriver (value) {
|
|
11
|
+
return parseEWKB(value);
|
|
12
|
+
},
|
|
13
|
+
toDriver (value) {
|
|
14
|
+
return `SRID=4326;point(${value[0]} ${value[1]})`;
|
|
15
|
+
}
|
|
16
|
+
})(name);
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=geometryColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/postgres/schema/geometryColumn.ts"],"sourcesContent":["// Uses custom one instead of geometry() from drizzle-orm/pg-core because it's broken on pushDevSchema\n// Why?\n// It tries to give us a prompt \"you're about to change.. from geometry(Point) to geometry(point)\"\nimport { customType } from 'drizzle-orm/pg-core'\nimport { parseEWKB } from 'drizzle-orm/pg-core/columns/postgis_extension/utils'\n\ntype Point = [number, number]\n\nexport const geometryColumn = (name: string) =>\n customType<{ data: Point; driverData: string }>({\n dataType() {\n return `geometry(Point)`\n },\n fromDriver(value: string) {\n return parseEWKB(value)\n },\n toDriver(value: Point) {\n return `SRID=4326;point(${value[0]} ${value[1]})`\n },\n })(name)\n"],"names":["customType","parseEWKB","geometryColumn","name","dataType","fromDriver","value","toDriver"],"mappings":"AAAA,sGAAsG;AACtG,OAAO;AACP,kGAAkG;AAClG,SAASA,UAAU,QAAQ,sBAAqB;AAChD,SAASC,SAAS,QAAQ,sDAAqD;AAI/E,OAAO,MAAMC,iBAAiB,CAACC,OAC7BH,WAAgD;QAC9CI;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QACAC,YAAWC,KAAa;YACtB,OAAOL,UAAUK;QACnB;QACAC,UAASD,KAAY;YACnB,OAAO,CAAC,gBAAgB,EAAEA,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEA,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD;IACF,GAAGH,MAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAkB,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/postgres/schema/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAkB,UAAU,EAAE,MAAM,SAAS,CAAA;AAsBhE,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EAEd,WAAW,EACZ,MAAM,aAAa,CAAA;AAapB,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,mBAAmB,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,gBAAgB,EAAE,WAAW,CAAA;IAC7B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,kWAuBxB,IAAI,KAAG,MA21BT,CAAA"}
|