payload 0.15.1 → 0.15.2
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/.eslintrc.js +6 -0
- package/CHANGELOG.md +7 -0
- package/dist/admin/components/elements/elements.spec.d.ts +1 -0
- package/dist/admin/components/elements/elements.spec.js +12 -0
- package/dist/auth/auth.spec.d.ts +1 -0
- package/dist/auth/auth.spec.js +198 -0
- package/dist/collections/graphql/resolvers/resolvers.spec.d.ts +1 -0
- package/dist/collections/graphql/resolvers/resolvers.spec.js +360 -0
- package/dist/collections/operations/local/local.spec.d.ts +1 -0
- package/dist/collections/operations/local/local.spec.js +175 -0
- package/dist/collections/tests/collections.spec.d.ts +1 -0
- package/dist/collections/tests/collections.spec.js +725 -0
- package/dist/collections/tests/hooks.spec.d.ts +1 -0
- package/dist/collections/tests/hooks.spec.js +152 -0
- package/dist/collections/tests/pointField.spec.d.ts +1 -0
- package/dist/collections/tests/pointField.spec.js +208 -0
- package/dist/collections/tests/relationships.spec.d.ts +1 -0
- package/dist/collections/tests/relationships.spec.js +174 -0
- package/dist/collections/tests/uploads.spec.d.ts +1 -0
- package/dist/collections/tests/uploads.spec.js +328 -0
- package/dist/errors/errors.spec.d.ts +1 -0
- package/dist/errors/errors.spec.js +29 -0
- package/dist/express/middleware/errorHandler.spec.d.ts +1 -0
- package/dist/express/middleware/errorHandler.spec.js +91 -0
- package/dist/globals/requestHandlers/globals.spec.d.ts +4 -0
- package/dist/globals/requestHandlers/globals.spec.js +161 -0
- package/dist/preferences/graphql/resolvers.spec.d.ts +1 -0
- package/dist/preferences/graphql/resolvers.spec.js +115 -0
- package/dist/versions/drafts/appendVersionToQueryKey.js +8 -5
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @jest-environment node
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const load_1 = __importDefault(require("../../config/load"));
|
|
10
|
+
const testCredentials_1 = require("../../mongoose/testCredentials");
|
|
11
|
+
require('isomorphic-fetch');
|
|
12
|
+
const { serverURL: url } = (0, load_1.default)();
|
|
13
|
+
let token = null;
|
|
14
|
+
const navData = {
|
|
15
|
+
en: {
|
|
16
|
+
nav1: {
|
|
17
|
+
text: 'Navigation 1',
|
|
18
|
+
textarea: 'Some navigation text',
|
|
19
|
+
},
|
|
20
|
+
nav2: {
|
|
21
|
+
text: 'Navigation 2',
|
|
22
|
+
textarea: 'Some more navigation text',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
es: {
|
|
26
|
+
nav1: {
|
|
27
|
+
text: 'Navegación 1',
|
|
28
|
+
textarea: 'algún texto de navegación',
|
|
29
|
+
},
|
|
30
|
+
nav2: {
|
|
31
|
+
text: 'Navegación 2',
|
|
32
|
+
textarea: 'un poco más de texto de navegación',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
describe('Globals - REST', () => {
|
|
37
|
+
beforeAll(async (done) => {
|
|
38
|
+
const response = await fetch(`${url}/api/admins/login`, {
|
|
39
|
+
body: JSON.stringify({
|
|
40
|
+
email: testCredentials_1.email,
|
|
41
|
+
password: testCredentials_1.password,
|
|
42
|
+
}),
|
|
43
|
+
headers: {
|
|
44
|
+
'Content-Type': 'application/json',
|
|
45
|
+
},
|
|
46
|
+
method: 'post',
|
|
47
|
+
});
|
|
48
|
+
const data = await response.json();
|
|
49
|
+
({ token } = data);
|
|
50
|
+
done();
|
|
51
|
+
});
|
|
52
|
+
describe('Create', () => {
|
|
53
|
+
it('should create one', async () => {
|
|
54
|
+
const response = await fetch(`${url}/api/globals/navigation-array`, {
|
|
55
|
+
body: JSON.stringify({
|
|
56
|
+
array: [
|
|
57
|
+
{
|
|
58
|
+
text: navData.en.nav1.text,
|
|
59
|
+
textarea: navData.en.nav1.textarea,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
}),
|
|
63
|
+
headers: {
|
|
64
|
+
Authorization: `JWT ${token}`,
|
|
65
|
+
'Content-Type': 'application/json',
|
|
66
|
+
},
|
|
67
|
+
method: 'post',
|
|
68
|
+
});
|
|
69
|
+
expect(response.status).toBe(200);
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
const { text, textarea } = data.result.array[0];
|
|
72
|
+
expect(text).toStrictEqual(navData.en.nav1.text);
|
|
73
|
+
expect(textarea).toStrictEqual(navData.en.nav1.textarea);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('Update', () => {
|
|
77
|
+
it('should update one', async () => {
|
|
78
|
+
const response = await fetch(`${url}/api/globals/navigation-array`, {
|
|
79
|
+
body: JSON.stringify({
|
|
80
|
+
array: [
|
|
81
|
+
{
|
|
82
|
+
text: navData.en.nav1.text,
|
|
83
|
+
textarea: navData.en.nav1.textarea,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
text: navData.en.nav2.text,
|
|
87
|
+
textarea: navData.en.nav2.textarea,
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
}),
|
|
91
|
+
headers: {
|
|
92
|
+
Authorization: `JWT ${token}`,
|
|
93
|
+
'Content-Type': 'application/json',
|
|
94
|
+
},
|
|
95
|
+
method: 'post',
|
|
96
|
+
});
|
|
97
|
+
expect(response.status).toBe(200);
|
|
98
|
+
const data = await response.json();
|
|
99
|
+
expect(data.result.array).toHaveLength(2);
|
|
100
|
+
const { text, textarea } = data.result.array[1];
|
|
101
|
+
expect(text).toStrictEqual(navData.en.nav2.text);
|
|
102
|
+
expect(textarea).toStrictEqual(navData.en.nav2.textarea);
|
|
103
|
+
});
|
|
104
|
+
it('should allow Spanish update', async () => {
|
|
105
|
+
const response = await fetch(`${url}/api/globals/navigation-array?locale=es`, {
|
|
106
|
+
body: JSON.stringify({
|
|
107
|
+
array: [
|
|
108
|
+
{
|
|
109
|
+
text: navData.es.nav1.text,
|
|
110
|
+
textarea: navData.es.nav1.textarea,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
text: navData.es.nav2.text,
|
|
114
|
+
textarea: navData.es.nav2.textarea,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
}),
|
|
118
|
+
headers: {
|
|
119
|
+
Authorization: `JWT ${token}`,
|
|
120
|
+
'Content-Type': 'application/json',
|
|
121
|
+
},
|
|
122
|
+
method: 'post',
|
|
123
|
+
});
|
|
124
|
+
expect(response.status).toBe(200);
|
|
125
|
+
const data = await response.json();
|
|
126
|
+
expect(data.result.array).toHaveLength(2);
|
|
127
|
+
const { text, textarea } = data.result.array[0];
|
|
128
|
+
expect(text).toStrictEqual(navData.es.nav1.text);
|
|
129
|
+
expect(textarea).toStrictEqual(navData.es.nav1.textarea);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('Read', () => {
|
|
133
|
+
it('should read one', async () => {
|
|
134
|
+
const response = await fetch(`${url}/api/globals/navigation-array`, {
|
|
135
|
+
headers: {
|
|
136
|
+
Authorization: `JWT ${token}`,
|
|
137
|
+
'Content-Type': 'application/json',
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
expect(response.status).toBe(200);
|
|
141
|
+
const data = await response.json();
|
|
142
|
+
const { text, textarea } = data.array[0];
|
|
143
|
+
expect(text).toStrictEqual(navData.en.nav1.text);
|
|
144
|
+
expect(textarea).toStrictEqual(navData.en.nav1.textarea);
|
|
145
|
+
});
|
|
146
|
+
it('should read Spanish', async () => {
|
|
147
|
+
const response = await fetch(`${url}/api/globals/navigation-array?locale=es`, {
|
|
148
|
+
headers: {
|
|
149
|
+
Authorization: `JWT ${token}`,
|
|
150
|
+
'Content-Type': 'application/json',
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
expect(response.status).toBe(200);
|
|
154
|
+
const data = await response.json();
|
|
155
|
+
const { text, textarea } = data.array[0];
|
|
156
|
+
expect(text).toStrictEqual(navData.es.nav1.text);
|
|
157
|
+
expect(textarea).toStrictEqual(navData.es.nav1.textarea);
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFscy5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dsb2JhbHMvcmVxdWVzdEhhbmRsZXJzL2dsb2JhbHMuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7O0FBRUgsNkRBQTBDO0FBQzFDLG9FQUFpRTtBQUVqRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUU1QixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUEsY0FBUyxHQUFFLENBQUM7QUFFdkMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRWpCLE1BQU0sT0FBTyxHQUFHO0lBQ2QsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLGNBQWM7WUFDcEIsUUFBUSxFQUFFLHNCQUFzQjtTQUNqQztRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxjQUFjO1lBQ3BCLFFBQVEsRUFBRSwyQkFBMkI7U0FDdEM7S0FDRjtJQUNELEVBQUUsRUFBRTtRQUNGLElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxjQUFjO1lBQ3BCLFFBQVEsRUFBRSwyQkFBMkI7U0FDdEM7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsY0FBYztZQUNwQixRQUFRLEVBQUUsb0NBQW9DO1NBQy9DO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsR0FBRyxtQkFBbUIsRUFBRTtZQUN0RCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsS0FBSyxFQUFMLHVCQUFLO2dCQUNMLFFBQVEsRUFBUiwwQkFBUTthQUNULENBQUM7WUFDRixPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLGtCQUFr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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/**
|
|
7
|
+
* @jest-environment node
|
|
8
|
+
*/
|
|
9
|
+
const graphql_request_1 = require("graphql-request");
|
|
10
|
+
const load_1 = __importDefault(require("../../config/load"));
|
|
11
|
+
const testCredentials_1 = require("../../mongoose/testCredentials");
|
|
12
|
+
require('isomorphic-fetch');
|
|
13
|
+
const config = (0, load_1.default)();
|
|
14
|
+
const url = `${config.serverURL}${config.routes.api}${config.routes.graphQL}`;
|
|
15
|
+
let client = null;
|
|
16
|
+
let token = null;
|
|
17
|
+
describe('GrahpQL Preferences', () => {
|
|
18
|
+
beforeAll(async (done) => {
|
|
19
|
+
const query = `
|
|
20
|
+
mutation {
|
|
21
|
+
loginAdmin(
|
|
22
|
+
email: "${testCredentials_1.email}",
|
|
23
|
+
password: "${testCredentials_1.password}"
|
|
24
|
+
) {
|
|
25
|
+
token
|
|
26
|
+
}
|
|
27
|
+
}`;
|
|
28
|
+
const response = await (0, graphql_request_1.request)(url, query);
|
|
29
|
+
token = response.loginAdmin.token;
|
|
30
|
+
client = new graphql_request_1.GraphQLClient(url, { headers: { Authorization: `JWT ${token}` } });
|
|
31
|
+
done();
|
|
32
|
+
});
|
|
33
|
+
describe('Update', () => {
|
|
34
|
+
it('should allow a preference to be saved', async () => {
|
|
35
|
+
const key = 'preference-key';
|
|
36
|
+
const value = 'preference-value';
|
|
37
|
+
// language=graphQL
|
|
38
|
+
const query = `mutation {
|
|
39
|
+
updatePreference(key: "${key}", value: "${value}") {
|
|
40
|
+
key
|
|
41
|
+
value
|
|
42
|
+
}
|
|
43
|
+
}`;
|
|
44
|
+
const response = await client.request(query);
|
|
45
|
+
const data = response.updatePreference;
|
|
46
|
+
expect(data.key).toBe(key);
|
|
47
|
+
expect(data.value).toBe(value);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('Read', () => {
|
|
51
|
+
it('should be able to read user preference', async () => {
|
|
52
|
+
const key = 'preference-key';
|
|
53
|
+
const value = 'preference-value';
|
|
54
|
+
// language=graphQL
|
|
55
|
+
const query = `mutation {
|
|
56
|
+
updatePreference(key: "${key}", value: "${value}") {
|
|
57
|
+
key
|
|
58
|
+
value
|
|
59
|
+
}
|
|
60
|
+
}`;
|
|
61
|
+
const response = await client.request(query);
|
|
62
|
+
const { key: responseKey, value: responseValue } = response.updatePreference;
|
|
63
|
+
// language=graphQL
|
|
64
|
+
const readQuery = `query {
|
|
65
|
+
Preference(key: "${responseKey}") {
|
|
66
|
+
key
|
|
67
|
+
value
|
|
68
|
+
}
|
|
69
|
+
}`;
|
|
70
|
+
const readResponse = await client.request(readQuery);
|
|
71
|
+
expect(responseKey).toStrictEqual(key);
|
|
72
|
+
expect(readResponse.Preference.key).toStrictEqual(key);
|
|
73
|
+
expect(responseValue).toStrictEqual(value);
|
|
74
|
+
expect(readResponse.Preference.value).toStrictEqual(value);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('Delete', () => {
|
|
78
|
+
it('should be able to delete a preference', async () => {
|
|
79
|
+
const key = 'gql-delete';
|
|
80
|
+
const value = 'description';
|
|
81
|
+
// language=graphQL
|
|
82
|
+
const query = `mutation {
|
|
83
|
+
updatePreference(key: "${key}" value: "${value}") {
|
|
84
|
+
key
|
|
85
|
+
value
|
|
86
|
+
}
|
|
87
|
+
}`;
|
|
88
|
+
const response = await client.request(query);
|
|
89
|
+
const { key: responseKey } = response.updatePreference;
|
|
90
|
+
// language=graphQL
|
|
91
|
+
const deleteMutation = `mutation {
|
|
92
|
+
deletePreference(key: "${key}") {
|
|
93
|
+
key
|
|
94
|
+
value
|
|
95
|
+
}
|
|
96
|
+
}`;
|
|
97
|
+
const deleteResponse = await client.request(deleteMutation);
|
|
98
|
+
const deleteKey = deleteResponse.deletePreference.key;
|
|
99
|
+
expect(responseKey).toStrictEqual(key);
|
|
100
|
+
expect(deleteKey).toStrictEqual(key);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
it('should return null when query key is not found', async () => {
|
|
104
|
+
const key = 'bad-key';
|
|
105
|
+
const readQuery = `query {
|
|
106
|
+
Preference(key: "${key}") {
|
|
107
|
+
key
|
|
108
|
+
value
|
|
109
|
+
}
|
|
110
|
+
}`;
|
|
111
|
+
const response = await client.request(readQuery);
|
|
112
|
+
expect(response.Preference).toBeNull();
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXJzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJlZmVyZW5jZXMvZ3JhcGhxbC9yZXNvbHZlcnMuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOztHQUVHO0FBQ0gscURBQXlEO0FBQ3pELDZEQUEwQztBQUMxQyxvRUFBaUU7QUFFakUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFNUIsTUFBTSxNQUFNLEdBQUcsSUFBQSxjQUFTLEdBQUUsQ0FBQztBQUUzQixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUU5RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7QUFDbEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRWpCLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDbkMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUN2QixNQUFNLEtBQUssR0FBRzs7O29CQUdFLHVCQUFLO3VCQUNGLDBCQUFROzs7O1FBSXZCLENBQUM7UUFFTCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEseUJBQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFM0MsS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRWxDLE1BQU0sR0FBRyxJQUFJLCtCQUFhLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEYsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3RCLEVBQUUsQ0FBQyx1Q0FB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
|
|
@@ -9,11 +9,14 @@ const appendVersionToQueryKey = (query) => {
|
|
|
9
9
|
[key]: val.map((subQuery) => (0, exports.appendVersionToQueryKey)(subQuery)),
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (key !== 'id') {
|
|
13
|
+
return {
|
|
14
|
+
...res,
|
|
15
|
+
[`version.${key}`]: val,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return res;
|
|
16
19
|
}, {});
|
|
17
20
|
};
|
|
18
21
|
exports.appendVersionToQueryKey = appendVersionToQueryKey;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kVmVyc2lvblRvUXVlcnlLZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmVyc2lvbnMvZHJhZnRzL2FwcGVuZFZlcnNpb25Ub1F1ZXJ5S2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFZLEVBQVMsRUFBRTtJQUM3RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyRCxPQUFPO2dCQUNMLEdBQUcsR0FBRztnQkFDTixDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLENBQUM7YUFDaEUsQ0FBQztTQUNIO1FBRUQsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU87Z0JBQ0wsR0FBRyxHQUFHO2dCQUNOLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUc7YUFDeEIsQ0FBQztTQUNIO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUM7QUFsQlcsUUFBQSx1QkFBdUIsMkJBa0JsQyJ9
|