@payloadcms/db-postgres 0.3.1 → 0.5.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.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +7 -5
- package/dist/createMigration.js +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/migrate.js +2 -2
- package/dist/migrateDown.js +4 -2
- package/dist/migrateFresh.d.ts +3 -1
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +14 -12
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +3 -8
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +9 -1
- package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
- package/dist/schema/validateExistingBlockIsIdentical.js +25 -22
- package/dist/transform/read/traverseFields.d.ts +5 -5
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +38 -23
- package/dist/types.d.ts +12 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/reference.d.ts +0 -2
- package/dist/reference.d.ts.map +0 -1
- package/dist/reference.js +0 -77
package/dist/types.d.ts
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
import type { ColumnBaseConfig, ColumnDataType, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
|
1
|
+
import type { ColumnBaseConfig, ColumnDataType, DrizzleConfig, ExtractTablesWithRelations, Relation, Relations } from 'drizzle-orm';
|
2
2
|
import type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres';
|
3
3
|
import type { PgColumn, PgEnum, PgTableWithColumns, PgTransaction } from 'drizzle-orm/pg-core';
|
4
4
|
import type { Payload } from 'payload';
|
5
5
|
import type { BaseDatabaseAdapter } from 'payload/database';
|
6
|
+
import type { PayloadRequest } from 'payload/types';
|
6
7
|
import type { Pool, PoolConfig } from 'pg';
|
7
8
|
export type DrizzleDB = NodePgDatabase<Record<string, unknown>>;
|
8
9
|
export type Args = {
|
10
|
+
logger?: DrizzleConfig['logger'];
|
9
11
|
migrationDir?: string;
|
10
12
|
pool: PoolConfig;
|
11
13
|
push?: boolean;
|
@@ -26,6 +28,12 @@ export type DrizzleTransaction = PgTransaction<NodePgQueryResultHKT, Record<stri
|
|
26
28
|
export type PostgresAdapter = BaseDatabaseAdapter & {
|
27
29
|
drizzle: DrizzleDB;
|
28
30
|
enums: Record<string, GenericEnum>;
|
31
|
+
/**
|
32
|
+
* An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name
|
33
|
+
* Used for returning properly formed errors from unique fields
|
34
|
+
*/
|
35
|
+
fieldConstraints: Record<string, Record<string, string>>;
|
36
|
+
logger: DrizzleConfig['logger'];
|
29
37
|
pool: Pool;
|
30
38
|
poolOptions: Args['pool'];
|
31
39
|
push: boolean;
|
@@ -39,25 +47,23 @@ export type PostgresAdapter = BaseDatabaseAdapter & {
|
|
39
47
|
};
|
40
48
|
};
|
41
49
|
tables: Record<string, GenericTable>;
|
42
|
-
/**
|
43
|
-
* An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name
|
44
|
-
* Used for returning properly formed errors from unique fields
|
45
|
-
*/
|
46
|
-
fieldConstraints: Record<string, Record<string, string>>;
|
47
50
|
};
|
48
51
|
export type PostgresAdapterResult = (args: {
|
49
52
|
payload: Payload;
|
50
53
|
}) => PostgresAdapter;
|
51
54
|
export type MigrateUpArgs = {
|
52
55
|
payload: Payload;
|
56
|
+
req?: Partial<PayloadRequest>;
|
53
57
|
};
|
54
58
|
export type MigrateDownArgs = {
|
55
59
|
payload: Payload;
|
60
|
+
req?: Partial<PayloadRequest>;
|
56
61
|
};
|
57
62
|
declare module 'payload' {
|
58
63
|
interface DatabaseAdapter extends Omit<Args, 'migrationDir' | 'pool'>, BaseDatabaseAdapter {
|
59
64
|
drizzle: DrizzleDB;
|
60
65
|
enums: Record<string, GenericEnum>;
|
66
|
+
fieldConstraints: Record<string, Record<string, string>>;
|
61
67
|
pool: Pool;
|
62
68
|
push: boolean;
|
63
69
|
relations: Record<string, GenericRelation>;
|
@@ -70,7 +76,6 @@ declare module 'payload' {
|
|
70
76
|
};
|
71
77
|
};
|
72
78
|
tables: Record<string, GenericTable>;
|
73
|
-
fieldConstraints: Record<string, Record<string, string>>;
|
74
79
|
}
|
75
80
|
}
|
76
81
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,IAAI,GAAG;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAClC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,EACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,oBAAoB,EACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACpD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClC,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,YAAY,CAAC,CAAA;IACpE,QAAQ,EAAE;QACR,CAAC,EAAE,EAAE,MAAM,GAAG;YACZ,EAAE,EAAE,kBAAkB,CAAA;YACtB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SAC7B,CAAA;KACF,CAAA;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.5.0",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
6
6
|
"license": "MIT",
|
@@ -15,8 +15,8 @@
|
|
15
15
|
"dependencies": {
|
16
16
|
"@libsql/client": "^0.3.1",
|
17
17
|
"console-table-printer": "2.11.2",
|
18
|
-
"drizzle-kit": "0.
|
19
|
-
"drizzle-orm": "0.
|
18
|
+
"drizzle-kit": "0.20.5-608ae62",
|
19
|
+
"drizzle-orm": "0.29.3",
|
20
20
|
"pg": "8.11.3",
|
21
21
|
"prompts": "2.4.2",
|
22
22
|
"to-snake-case": "1.0.0",
|
@@ -25,8 +25,8 @@
|
|
25
25
|
"devDependencies": {
|
26
26
|
"@types/pg": "8.10.2",
|
27
27
|
"@types/to-snake-case": "1.0.0",
|
28
|
-
"
|
29
|
-
"
|
28
|
+
"@payloadcms/eslint-config": "1.1.1",
|
29
|
+
"payload": "2.9.0"
|
30
30
|
},
|
31
31
|
"peerDependencies": {
|
32
32
|
"payload": "^2.0.0"
|
package/dist/reference.d.ts
DELETED
package/dist/reference.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":""}
|
package/dist/reference.js
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
// type GenerateMigration = (before: DrizzleSnapshotJSON, after: DrizzleSnapshotJSON) => string[]
|
2
|
-
// type GenerateDrizzleJSON = (schema: DrizzleSchemaExports) => DrizzleSnapshotJSON
|
3
|
-
// type PushDiff = (schema: DrizzleSchemaExports) => Promise<{ warnings: string[], apply: () => Promise<void> }>
|
4
|
-
// drizzle-kit@utils
|
5
|
-
"use strict";
|
6
|
-
Object.defineProperty(exports, "__esModule", {
|
7
|
-
value: true
|
8
|
-
});
|
9
|
-
const _nodepostgres = require("drizzle-orm/node-postgres");
|
10
|
-
const _pg = require("pg");
|
11
|
-
function _getRequireWildcardCache(nodeInterop) {
|
12
|
-
if (typeof WeakMap !== "function") return null;
|
13
|
-
var cacheBabelInterop = new WeakMap();
|
14
|
-
var cacheNodeInterop = new WeakMap();
|
15
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
16
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
17
|
-
})(nodeInterop);
|
18
|
-
}
|
19
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
20
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
21
|
-
return obj;
|
22
|
-
}
|
23
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
24
|
-
return {
|
25
|
-
default: obj
|
26
|
-
};
|
27
|
-
}
|
28
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
29
|
-
if (cache && cache.has(obj)) {
|
30
|
-
return cache.get(obj);
|
31
|
-
}
|
32
|
-
var newObj = {};
|
33
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
34
|
-
for(var key in obj){
|
35
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
36
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
37
|
-
if (desc && (desc.get || desc.set)) {
|
38
|
-
Object.defineProperty(newObj, key, desc);
|
39
|
-
} else {
|
40
|
-
newObj[key] = obj[key];
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
newObj.default = obj;
|
45
|
-
if (cache) {
|
46
|
-
cache.set(obj, newObj);
|
47
|
-
}
|
48
|
-
return newObj;
|
49
|
-
}
|
50
|
-
async function generateUsage() {
|
51
|
-
const { generateDrizzleJson, generateMigration } = require('drizzle-kit/utils');
|
52
|
-
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
|
53
|
-
const schema = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./data/users")));
|
54
|
-
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
|
55
|
-
const schemaAfter = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./data/users-after")));
|
56
|
-
const drizzleJsonBefore = generateDrizzleJson(schema);
|
57
|
-
const drizzleJsonAfter = generateDrizzleJson(schemaAfter);
|
58
|
-
const sqlStatements = await generateMigration(drizzleJsonBefore, drizzleJsonAfter);
|
59
|
-
console.log(sqlStatements);
|
60
|
-
}
|
61
|
-
async function pushUsage() {
|
62
|
-
const { pushSchema } = require('drizzle-kit/utils');
|
63
|
-
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
|
64
|
-
const schemaAfter = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./data/users-after")));
|
65
|
-
const db = (0, _nodepostgres.drizzle)(new _pg.Pool({
|
66
|
-
connectionString: ''
|
67
|
-
}));
|
68
|
-
const response = await pushSchema(schemaAfter, db);
|
69
|
-
console.log('\n');
|
70
|
-
console.log('hasDataLoss: ', response.hasDataLoss);
|
71
|
-
console.log('warnings: ', response.warnings);
|
72
|
-
console.log('statements: ', response.statementsToExecute);
|
73
|
-
await response.apply();
|
74
|
-
process.exit(0);
|
75
|
-
}
|
76
|
-
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWZlcmVuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gdHlwZSBHZW5lcmF0ZU1pZ3JhdGlvbiA9IChiZWZvcmU6IERyaXp6bGVTbmFwc2hvdEpTT04sIGFmdGVyOiBEcml6emxlU25hcHNob3RKU09OKSA9PiBzdHJpbmdbXVxuXG4vLyB0eXBlIEdlbmVyYXRlRHJpenpsZUpTT04gPSAoc2NoZW1hOiBEcml6emxlU2NoZW1hRXhwb3J0cykgPT4gRHJpenpsZVNuYXBzaG90SlNPTlxuXG4vLyB0eXBlIFB1c2hEaWZmID0gKHNjaGVtYTogRHJpenpsZVNjaGVtYUV4cG9ydHMpID0+IFByb21pc2U8eyB3YXJuaW5nczogc3RyaW5nW10sIGFwcGx5OiAoKSA9PiBQcm9taXNlPHZvaWQ+IH0+XG5cbi8vIGRyaXp6bGUta2l0QHV0aWxzXG5cbmltcG9ydCB7IGRyaXp6bGUgfSBmcm9tICdkcml6emxlLW9ybS9ub2RlLXBvc3RncmVzJ1xuaW1wb3J0IHsgUG9vbCB9IGZyb20gJ3BnJ1xuXG5hc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVVzYWdlKCkge1xuICBjb25zdCB7IGdlbmVyYXRlRHJpenpsZUpzb24sIGdlbmVyYXRlTWlncmF0aW9uIH0gPSByZXF1aXJlKCdkcml6emxlLWtpdC91dGlscycpXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBKdXN0IFR5cGVTY3JpcHQgYmVpbmcgYnJva2VuIC8vIFRPRE86IE9wZW4gVHlwZVNjcmlwdCBpc3N1ZVxuICBjb25zdCBzY2hlbWEgPSBhd2FpdCBpbXBvcnQoJy4vZGF0YS91c2VycycpXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgSnVzdCBUeXBlU2NyaXB0IGJlaW5nIGJyb2tlbiAvLyBUT0RPOiBPcGVuIFR5cGVTY3JpcHQgaXNzdWVcbiAgY29uc3Qgc2NoZW1hQWZ0ZXIgPSBhd2FpdCBpbXBvcnQoJy4vZGF0YS91c2Vycy1hZnRlcicpXG5cbiAgY29uc3QgZHJpenpsZUpzb25CZWZvcmUgPSBnZW5lcmF0ZURyaXp6bGVKc29uKHNjaGVtYSlcbiAgY29uc3QgZHJpenpsZUpzb25BZnRlciA9IGdlbmVyYXRlRHJpenpsZUpzb24oc2NoZW1hQWZ0ZXIpXG5cbiAgY29uc3Qgc3FsU3RhdGVtZW50cyA9IGF3YWl0IGdlbmVyYXRlTWlncmF0aW9uKGRyaXp6bGVKc29uQmVmb3JlLCBkcml6emxlSnNvbkFmdGVyKVxuXG4gIGNvbnNvbGUubG9nKHNxbFN0YXRlbWVudHMpXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHB1c2hVc2FnZSgpIHtcbiAgY29uc3QgeyBwdXNoU2NoZW1hIH0gPSByZXF1aXJlKCdkcml6emxlLWtpdC91dGlscycpXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBKdXN0IFR5cGVTY3JpcHQgYmVpbmcgYnJva2VuIC8vIFRPRE86IE9wZW4gVHlwZVNjcmlwdCBpc3N1ZVxuICBjb25zdCBzY2hlbWFBZnRlciA9IGF3YWl0IGltcG9ydCgnLi9kYXRhL3VzZXJzLWFmdGVyJylcblxuICBjb25zdCBkYiA9IGRyaXp6bGUobmV3IFBvb2woeyBjb25uZWN0aW9uU3RyaW5nOiAnJyB9KSlcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHB1c2hTY2hlbWEoc2NoZW1hQWZ0ZXIsIGRiKVxuXG4gIGNvbnNvbGUubG9nKCdcXG4nKVxuICBjb25zb2xlLmxvZygnaGFzRGF0YUxvc3M6ICcsIHJlc3BvbnNlLmhhc0RhdGFMb3NzKVxuICBjb25zb2xlLmxvZygnd2FybmluZ3M6ICcsIHJlc3BvbnNlLndhcm5pbmdzKVxuICBjb25zb2xlLmxvZygnc3RhdGVtZW50czogJywgcmVzcG9uc2Uuc3RhdGVtZW50c1RvRXhlY3V0ZSlcblxuICBhd2FpdCByZXNwb25zZS5hcHBseSgpXG5cbiAgcHJvY2Vzcy5leGl0KDApXG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVVc2FnZSIsImdlbmVyYXRlRHJpenpsZUpzb24iLCJnZW5lcmF0ZU1pZ3JhdGlvbiIsInJlcXVpcmUiLCJzY2hlbWEiLCJzY2hlbWFBZnRlciIsImRyaXp6bGVKc29uQmVmb3JlIiwiZHJpenpsZUpzb25BZnRlciIsInNxbFN0YXRlbWVudHMiLCJjb25zb2xlIiwibG9nIiwicHVzaFVzYWdlIiwicHVzaFNjaGVtYSIsImRiIiwiZHJpenpsZSIsIlBvb2wiLCJjb25uZWN0aW9uU3RyaW5nIiwicmVzcG9uc2UiLCJoYXNEYXRhTG9zcyIsIndhcm5pbmdzIiwic3RhdGVtZW50c1RvRXhlY3V0ZSIsImFwcGx5IiwicHJvY2VzcyIsImV4aXQiXSwibWFwcGluZ3MiOiJBQUFBLGlHQUFpRztBQUVqRyxtRkFBbUY7QUFFbkYsZ0hBQWdIO0FBRWhILG9CQUFvQjs7Ozs7OEJBRUk7b0JBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsZUFBZUE7SUFDYixNQUFNLEVBQUVDLG1CQUFtQixFQUFFQyxpQkFBaUIsRUFBRSxHQUFHQyxRQUFRO0lBRTNELCtFQUErRTtJQUMvRSxNQUFNQyxTQUFTLE1BQU0sbUVBQUEsUUFBTztJQUM1QiwrRUFBK0U7SUFDL0UsTUFBTUMsY0FBYyxNQUFNLG1FQUFBLFFBQU87SUFFakMsTUFBTUMsb0JBQW9CTCxvQkFBb0JHO0lBQzlDLE1BQU1HLG1CQUFtQk4sb0JBQW9CSTtJQUU3QyxNQUFNRyxnQkFBZ0IsTUFBTU4sa0JBQWtCSSxtQkFBbUJDO0lBRWpFRSxRQUFRQyxHQUFHLENBQUNGO0FBQ2Q7QUFFQSxlQUFlRztJQUNiLE1BQU0sRUFBRUMsVUFBVSxFQUFFLEdBQUdULFFBQVE7SUFFL0IsK0VBQStFO0lBQy9FLE1BQU1FLGNBQWMsTUFBTSxtRUFBQSxRQUFPO0lBRWpDLE1BQU1RLEtBQUtDLElBQUFBLHFCQUFPLEVBQUMsSUFBSUMsUUFBSSxDQUFDO1FBQUVDLGtCQUFrQjtJQUFHO0lBRW5ELE1BQU1DLFdBQVcsTUFBTUwsV0FBV1AsYUFBYVE7SUFFL0NKLFFBQVFDLEdBQUcsQ0FBQztJQUNaRCxRQUFRQyxHQUFHLENBQUMsaUJBQWlCTyxTQUFTQyxXQUFXO0lBQ2pEVCxRQUFRQyxHQUFHLENBQUMsY0FBY08sU0FBU0UsUUFBUTtJQUMzQ1YsUUFBUUMsR0FBRyxDQUFDLGdCQUFnQk8sU0FBU0csbUJBQW1CO0lBRXhELE1BQU1ILFNBQVNJLEtBQUs7SUFFcEJDLFFBQVFDLElBQUksQ0FBQztBQUNmIn0=
|