@payloadcms/db-postgres 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/find/traverseFields.js +2 -2
- package/dist/schema/idToUUID.d.ts +3 -0
- package/dist/schema/idToUUID.d.ts.map +1 -0
- package/dist/schema/idToUUID.js +21 -0
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +4 -3
- package/dist/schema/validateExistingBlockIsIdentical.js +3 -2
- package/dist/transform/read/index.d.ts.map +1 -1
- package/dist/transform/read/index.js +4 -1
- package/dist/transform/read/traverseFields.d.ts +5 -1
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +29 -2
- package/dist/transform/write/array.d.ts +3 -1
- package/dist/transform/write/array.d.ts.map +1 -1
- package/dist/transform/write/array.js +13 -2
- package/dist/transform/write/blocks.d.ts +3 -1
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +13 -2
- package/dist/transform/write/index.d.ts +3 -1
- package/dist/transform/write/index.d.ts.map +1 -1
- package/dist/transform/write/index.js +3 -2
- package/dist/transform/write/traverseFields.d.ts +3 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +12 -2
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +5 -1
- package/package.json +6 -3
@@ -21,7 +21,7 @@ function _interop_require_default(obj) {
|
|
21
21
|
default: obj
|
22
22
|
};
|
23
23
|
}
|
24
|
-
const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects })=>{
|
24
|
+
const traverseFields = ({ adapter, arrays, baseTableName, blocks, columnPrefix, data, existingLocales, fieldPrefix, fields, forcedLocale, locales, numbers, parentTableName, path, relationships, relationshipsToDelete, row, selects })=>{
|
25
25
|
fields.forEach((field)=>{
|
26
26
|
let columnName = '';
|
27
27
|
let fieldName = '';
|
@@ -39,6 +39,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
39
39
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
40
40
|
if (Array.isArray(localeData)) {
|
41
41
|
const newRows = (0, _array.transformArray)({
|
42
|
+
adapter,
|
42
43
|
arrayTableName,
|
43
44
|
baseTableName,
|
44
45
|
blocks,
|
@@ -57,6 +58,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
57
58
|
}
|
58
59
|
} else {
|
59
60
|
const newRows = (0, _array.transformArray)({
|
61
|
+
adapter,
|
60
62
|
arrayTableName,
|
61
63
|
baseTableName,
|
62
64
|
blocks,
|
@@ -78,6 +80,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
78
80
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
79
81
|
if (Array.isArray(localeData)) {
|
80
82
|
(0, _blocks.transformBlocks)({
|
83
|
+
adapter,
|
81
84
|
baseTableName,
|
82
85
|
blocks,
|
83
86
|
data: localeData,
|
@@ -94,6 +97,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
94
97
|
}
|
95
98
|
} else if ((0, _isArrayOfRows.isArrayOfRows)(fieldData)) {
|
96
99
|
(0, _blocks.transformBlocks)({
|
100
|
+
adapter,
|
97
101
|
baseTableName,
|
98
102
|
blocks,
|
99
103
|
data: fieldData,
|
@@ -112,6 +116,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
112
116
|
if (field.localized) {
|
113
117
|
Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
|
114
118
|
traverseFields({
|
119
|
+
adapter,
|
115
120
|
arrays,
|
116
121
|
baseTableName,
|
117
122
|
blocks,
|
@@ -133,6 +138,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
133
138
|
});
|
134
139
|
} else {
|
135
140
|
traverseFields({
|
141
|
+
adapter,
|
136
142
|
arrays,
|
137
143
|
baseTableName,
|
138
144
|
blocks,
|
@@ -161,6 +167,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
161
167
|
if (tab.localized) {
|
162
168
|
Object.entries(data[tab.name]).forEach(([localeKey, localeData])=>{
|
163
169
|
traverseFields({
|
170
|
+
adapter,
|
164
171
|
arrays,
|
165
172
|
baseTableName,
|
166
173
|
blocks,
|
@@ -182,6 +189,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
182
189
|
});
|
183
190
|
} else {
|
184
191
|
traverseFields({
|
192
|
+
adapter,
|
185
193
|
arrays,
|
186
194
|
baseTableName,
|
187
195
|
blocks,
|
@@ -203,6 +211,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
203
211
|
}
|
204
212
|
} else {
|
205
213
|
traverseFields({
|
214
|
+
adapter,
|
206
215
|
arrays,
|
207
216
|
baseTableName,
|
208
217
|
blocks,
|
@@ -225,6 +234,7 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
225
234
|
}
|
226
235
|
if (field.type === 'row' || field.type === 'collapsible') {
|
227
236
|
traverseFields({
|
237
|
+
adapter,
|
228
238
|
arrays,
|
229
239
|
baseTableName,
|
230
240
|
blocks,
|
@@ -376,4 +386,4 @@ const traverseFields = ({ arrays, baseTableName, blocks, columnPrefix, data, exi
|
|
376
386
|
});
|
377
387
|
};
|
378
388
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQsIEJsb2NrUm93VG9JbnNlcnQsIFJlbGF0aW9uc2hpcFRvRGVsZXRlIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgaXNBcnJheU9mUm93cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pc0FycmF5T2ZSb3dzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtQXJyYXkgfSBmcm9tICcuL2FycmF5J1xuaW1wb3J0IHsgdHJhbnNmb3JtQmxvY2tzIH0gZnJvbSAnLi9ibG9ja3MnXG5pbXBvcnQgeyB0cmFuc2Zvcm1OdW1iZXJzIH0gZnJvbSAnLi9udW1iZXJzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtUmVsYXRpb25zaGlwIH0gZnJvbSAnLi9yZWxhdGlvbnNoaXBzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtU2VsZWN0cyB9IGZyb20gJy4vc2VsZWN0cydcblxudHlwZSBBcmdzID0ge1xuICBhcnJheXM6IHtcbiAgICBbdGFibGVOYW1lOiBzdHJpbmddOiBBcnJheVJvd1RvSW5zZXJ0W11cbiAgfVxuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgYmFzZSB0YWJsZVxuICAgKi9cbiAgYmFzZVRhYmxlTmFtZTogc3RyaW5nXG4gIGJsb2Nrczoge1xuICAgIFtibG9ja1R5cGU6IHN0cmluZ106IEJsb2NrUm93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBBIHNuYWtlLWNhc2UgZmllbGQgcHJlZml4LCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteV9ncm91cF9teV9uYW1lZF90YWJfXG4gICAqL1xuICBjb2x1bW5QcmVmaXg6IHN0cmluZ1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBleGlzdGluZ0xvY2FsZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIC8qKlxuICAgKiBBIHByZWZpeCB0aGF0IHdpbGwgcmV0YWluIGNhbWVsLWNhc2UgZm9ybWF0dGluZywgcmVwcmVzZW50aW5nIHByaW9yIGZpZWxkc1xuICAgKiBFeDogbXlHcm91cF9teU5hbWVkVGFiX1xuICAgKi9cbiAgZmllbGRQcmVmaXg6IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZm9yY2VkTG9jYWxlPzogc3RyaW5nXG4gIGxvY2FsZXM6IHtcbiAgICBbbG9jYWxlOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIG51bWJlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0YWJsZVxuICAgKi9cbiAgcGFyZW50VGFibGVOYW1lOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIHJlbGF0aW9uc2hpcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgcmVsYXRpb25zaGlwc1RvRGVsZXRlOiBSZWxhdGlvbnNoaXBUb0RlbGV0ZVtdXG4gIHJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgc2VsZWN0czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhdmVyc2VGaWVsZHMgPSAoe1xuICBhcnJheXMsXG4gIGJhc2VUYWJsZU5hbWUsXG4gIGJsb2NrcyxcbiAgY29sdW1uUHJlZml4LFxuICBkYXRhLFxuICBleGlzdGluZ0xvY2FsZXMsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIGZvcmNlZExvY2FsZSxcbiAgbG9jYWxlcyxcbiAgbnVtYmVycyxcbiAgcGFyZW50VGFibGVOYW1lLFxuICBwYXRoLFxuICByZWxhdGlvbnNoaXBzLFxuICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gIHJvdyxcbiAgc2VsZWN0cyxcbn06IEFyZ3MpID0+IHtcbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgbGV0IGNvbHVtbk5hbWUgPSAnJ1xuICAgIGxldCBmaWVsZE5hbWUgPSAnJ1xuICAgIGxldCBmaWVsZERhdGE6IHVua25vd25cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29sdW1uTmFtZSA9IGAke2NvbHVtblByZWZpeCB8fCAnJ30ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgIGZpZWxkTmFtZSA9IGAke2ZpZWxkUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZX1gXG4gICAgICBmaWVsZERhdGEgPSBkYXRhW2ZpZWxkLm5hbWVdXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIGNvbnN0IGFycmF5VGFibGVOYW1lID0gYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YFxuXG4gICAgICBpZiAoIWFycmF5c1thcnJheVRhYmxlTmFtZV0pIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBbXVxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsb2NhbGVEYXRhKSkge1xuICAgICAgICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtQXJyYXkoe1xuICAgICAgICAgICAgICAgIGFycmF5VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IGFycmF5c1thcnJheVRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybUFycmF5KHtcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZUtleSxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXlPZlJvd3MoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1CbG9ja3Moe1xuICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgIGRhdGE6IGZpZWxkRGF0YSxcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtmaWVsZC5uYW1lXSA9PT0gJ29iamVjdCcgJiYgZGF0YVtmaWVsZC5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIGxvY2FsZXMsXG4gICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgcGF0aDogYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX0uYCxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgZmllbGQudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbdGFiLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW3RhYi5uYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRhYi5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVt0YWIubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHt0YWIubmFtZX0uYCxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGFbdGFiLm5hbWVdIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGRQcmVmaXggfHwgJyd9JHt0YWIubmFtZX1fYCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgbG9jYWxlcyxcbiAgICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHtwYXRoIHx8ICcnfSR7dGFiLm5hbWV9LmAsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncm93JyB8fCBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBsb2NhbGVzLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcFBhdGggPSBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX1gXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvY2FsZURhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goe1xuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmaWVsZERhdGEgPT09IG51bGwgfHwgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSAmJiBmaWVsZERhdGEubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZS5wdXNoKHsgcGF0aDogcmVsYXRpb25zaGlwUGF0aCB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBudW1iZXJQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybU51bWJlcnMoe1xuICAgICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiBudW1iZXJQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG4gICAgICBpZiAoIXNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSkgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybVNlbGVjdHMoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSxcbiAgICAgICAgfSlcblxuICAgICAgICBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29uc3QgdmFsdWVzVG9UcmFuc2Zvcm06IHsgbG9jYWxlS2V5Pzogc3RyaW5nOyByZWY6IHVua25vd247IHZhbHVlOiB1bmtub3duIH1bXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnICYmIGZpZWxkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9jYWxlc1tsb2NhbGVLZXldKSBsb2NhbGVzW2xvY2FsZUtleV0gPSB7fVxuXG4gICAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHtcbiAgICAgICAgICAgICAgbG9jYWxlS2V5LFxuICAgICAgICAgICAgICByZWY6IGxvY2FsZXMsXG4gICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVmID0gcm93XG5cbiAgICAgICAgaWYgKGZvcmNlZExvY2FsZSkge1xuICAgICAgICAgIGlmICghbG9jYWxlc1tmb3JjZWRMb2NhbGVdKSBsb2NhbGVzW2ZvcmNlZExvY2FsZV0gPSB7fVxuICAgICAgICAgIHJlZiA9IGxvY2FsZXNbZm9yY2VkTG9jYWxlXVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZiwgdmFsdWU6IGZpZWxkRGF0YSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IGxvY2FsZUtleSwgcmVmLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdmFsdWVcblxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScgJiYgZmllbGQubmFtZSA9PT0gJ3VwZGF0ZWRBdCcpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxvY2FsZUtleSkge1xuICAgICAgICAgICAgcmVmW2xvY2FsZUtleV1bZmllbGROYW1lXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlZltmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYXJyYXlzIiwiYmFzZVRhYmxlTmFtZSIsImJsb2NrcyIsImNvbHVtblByZWZpeCIsImRhdGEiLCJleGlzdGluZ0xvY2FsZXMiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlZExvY2FsZSIsImxvY2FsZXMiLCJudW1iZXJzIiwicGFyZW50VGFibGVOYW1lIiwicGF0aCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJyb3ciLCJzZWxlY3RzIiwiZm9yRWFjaCIsImZpZWxkIiwiY29sdW1uTmFtZSIsImZpZWxkTmFtZSIsImZpZWxkRGF0YSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0b1NuYWtlQ2FzZSIsIm5hbWUiLCJ0eXBlIiwiYXJyYXlUYWJsZU5hbWUiLCJsb2NhbGl6ZWQiLCJPYmplY3QiLCJlbnRyaWVzIiwibG9jYWxlS2V5IiwibG9jYWxlRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm5ld1Jvd3MiLCJ0cmFuc2Zvcm1BcnJheSIsImxvY2FsZSIsImNvbmNhdCIsInRyYW5zZm9ybUJsb2NrcyIsImlzQXJyYXlPZlJvd3MiLCJ0YWJzIiwidGFiIiwicmVsYXRpb25zaGlwUGF0aCIsInB1c2giLCJ0cmFuc2Zvcm1SZWxhdGlvbnNoaXAiLCJiYXNlUm93IiwibGVuZ3RoIiwiaGFzTWFueSIsIm51bWJlclBhdGgiLCJ0cmFuc2Zvcm1OdW1iZXJzIiwic2VsZWN0VGFibGVOYW1lIiwidHJhbnNmb3JtU2VsZWN0cyIsInZhbHVlc1RvVHJhbnNmb3JtIiwicmVmIiwidmFsdWUiLCJmb3JtYXR0ZWRWYWx1ZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXlEdkJBOzs7ZUFBQUE7Ozt1QkF0RG9CO29FQUNUOytCQUlNO3VCQUNDO3dCQUNDO3lCQUNDOytCQUNLO3lCQUNMOzs7Ozs7QUE0QzFCLE1BQU1BLGlCQUFpQixDQUFDLEVBQzdCQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLElBQUksRUFDSkMsZUFBZSxFQUNmQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxPQUFPLEVBQ1BDLE9BQU8sRUFDUEMsZUFBZSxFQUNmQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCQyxHQUFHLEVBQ0hDLE9BQU8sRUFDRjtJQUNMVCxPQUFPVSxPQUFPLENBQUMsQ0FBQ0M7UUFDZCxJQUFJQyxhQUFhO1FBQ2pCLElBQUlDLFlBQVk7UUFDaEIsSUFBSUM7UUFFSixJQUFJQyxJQUFBQSx1QkFBZ0IsRUFBQ0osUUFBUTtZQUMzQkMsYUFBYSxDQUFDLEVBQUVoQixnQkFBZ0IsR0FBRyxFQUFFb0IsSUFBQUEsb0JBQVcsRUFBQ0wsTUFBTU0sSUFBSSxFQUFFLENBQUM7WUFD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
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm0vd3JpdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcnJheVJvd1RvSW5zZXJ0LCBCbG9ja1Jvd1RvSW5zZXJ0LCBSZWxhdGlvbnNoaXBUb0RlbGV0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzQXJyYXlPZlJvd3MgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaXNBcnJheU9mUm93cydcbmltcG9ydCB7IHRyYW5zZm9ybUFycmF5IH0gZnJvbSAnLi9hcnJheSdcbmltcG9ydCB7IHRyYW5zZm9ybUJsb2NrcyB9IGZyb20gJy4vYmxvY2tzJ1xuaW1wb3J0IHsgdHJhbnNmb3JtTnVtYmVycyB9IGZyb20gJy4vbnVtYmVycydcbmltcG9ydCB7IHRyYW5zZm9ybVJlbGF0aW9uc2hpcCB9IGZyb20gJy4vcmVsYXRpb25zaGlwcydcbmltcG9ydCB7IHRyYW5zZm9ybVNlbGVjdHMgfSBmcm9tICcuL3NlbGVjdHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBiYXNlIHRhYmxlXG4gICAqL1xuICBiYXNlVGFibGVOYW1lOiBzdHJpbmdcbiAgYmxvY2tzOiB7XG4gICAgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdXG4gIH1cbiAgLyoqXG4gICAqIEEgc25ha2UtY2FzZSBmaWVsZCBwcmVmaXgsIHJlcHJlc2VudGluZyBwcmlvciBmaWVsZHNcbiAgICogRXg6IG15X2dyb3VwX215X25hbWVkX3RhYl9cbiAgICovXG4gIGNvbHVtblByZWZpeDogc3RyaW5nXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGV4aXN0aW5nTG9jYWxlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgLyoqXG4gICAqIEEgcHJlZml4IHRoYXQgd2lsbCByZXRhaW4gY2FtZWwtY2FzZSBmb3JtYXR0aW5nLCByZXByZXNlbnRpbmcgcHJpb3IgZmllbGRzXG4gICAqIEV4OiBteUdyb3VwX215TmFtZWRUYWJfXG4gICAqL1xuICBmaWVsZFByZWZpeDogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBmb3JjZWRMb2NhbGU/OiBzdHJpbmdcbiAgbG9jYWxlczoge1xuICAgIFtsb2NhbGU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgbnVtYmVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgcGFyZW50IHRhYmxlXG4gICAqL1xuICBwYXJlbnRUYWJsZU5hbWU6IHN0cmluZ1xuICBwYXRoOiBzdHJpbmdcbiAgcmVsYXRpb25zaGlwczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICByZWxhdGlvbnNoaXBzVG9EZWxldGU6IFJlbGF0aW9uc2hpcFRvRGVsZXRlW11cbiAgcm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBzZWxlY3RzOiB7XG4gICAgW3RhYmxlTmFtZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9ICh7XG4gIGFkYXB0ZXIsXG4gIGFycmF5cyxcbiAgYmFzZVRhYmxlTmFtZSxcbiAgYmxvY2tzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGRhdGEsXG4gIGV4aXN0aW5nTG9jYWxlcyxcbiAgZmllbGRQcmVmaXgsXG4gIGZpZWxkcyxcbiAgZm9yY2VkTG9jYWxlLFxuICBsb2NhbGVzLFxuICBudW1iZXJzLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHBhdGgsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgcm93LFxuICBzZWxlY3RzLFxufTogQXJncykgPT4ge1xuICBmaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBsZXQgY29sdW1uTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkTmFtZSA9ICcnXG4gICAgbGV0IGZpZWxkRGF0YTogdW5rbm93blxuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcbiAgICAgIGZpZWxkRGF0YSA9IGRhdGFbZmllbGQubmFtZV1cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG5cbiAgICAgIGlmICghYXJyYXlzW2FycmF5VGFibGVOYW1lXSkgYXJyYXlzW2FycmF5VGFibGVOYW1lXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG5ld1Jvd3MgPSB0cmFuc2Zvcm1BcnJheSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBkYXRhOiBkYXRhW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICB9KVxuXG4gICAgICAgIGFycmF5c1thcnJheVRhYmxlTmFtZV0gPSBhcnJheXNbYXJyYXlUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2Jsb2NrcycpIHtcbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2ZpZWxkLm5hbWVdID09PSAnb2JqZWN0JyAmJiBkYXRhW2ZpZWxkLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVtmaWVsZC5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICBkYXRhOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheU9mUm93cyhmaWVsZERhdGEpKSB7XG4gICAgICAgIHRyYW5zZm9ybUJsb2Nrcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlVGFibGVOYW1lLFxuICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICBkYXRhOiBmaWVsZERhdGEsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGFbZmllbGQubmFtZV0pLmZvckVhY2goKFtsb2NhbGVLZXksIGxvY2FsZURhdGFdKSA9PiB7XG4gICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgYmxvY2tzLFxuICAgICAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIGZvcmNlZExvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICBudW1iZXJzLFxuICAgICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICAgIGRhdGE6IGRhdGFbZmllbGQubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICBleGlzdGluZ0xvY2FsZXMsXG4gICAgICAgICAgICBmaWVsZFByZWZpeDogYCR7ZmllbGROYW1lfV9gLFxuICAgICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgIHNlbGVjdHMsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVt0YWIubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbdGFiLm5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGFiLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW3RhYi5uYW1lXSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICAgICAgYXJyYXlzLFxuICAgICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIGJsb2NrcyxcbiAgICAgICAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7dG9TbmFrZUNhc2UodGFiLm5hbWUpfV9gLFxuICAgICAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgZm9yY2VkTG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHt0YWIubmFtZX0uYCxcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzVG9EZWxldGUsXG4gICAgICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgICAgICBzZWxlY3RzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgICBhcnJheXMsXG4gICAgICAgICAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICAgICAgY29sdW1uUHJlZml4OiBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZSh0YWIubmFtZSl9X2AsXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YVt0YWIubmFtZV0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke3RhYi5uYW1lfV9gLFxuICAgICAgICAgICAgICAgIGZpZWxkczogdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgICAgICAgIHBhdGg6IGAke3BhdGggfHwgJyd9JHt0YWIubmFtZX0uYCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgICAgICAgICByb3csXG4gICAgICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFycmF5cyxcbiAgICAgICAgICAgIGJhc2VUYWJsZU5hbWUsXG4gICAgICAgICAgICBibG9ja3MsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgZXhpc3RpbmdMb2NhbGVzLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBsb2NhbGVzLFxuICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLFxuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgc2VsZWN0cyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAncm93JyB8fCBmaWVsZC50eXBlID09PSAnY29sbGFwc2libGUnKSB7XG4gICAgICB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGFycmF5cyxcbiAgICAgICAgYmFzZVRhYmxlTmFtZSxcbiAgICAgICAgYmxvY2tzLFxuICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGV4aXN0aW5nTG9jYWxlcyxcbiAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBsb2NhbGVzLFxuICAgICAgICBudW1iZXJzLFxuICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZSxcbiAgICAgICAgcm93LFxuICAgICAgICBzZWxlY3RzLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcFBhdGggPSBgJHtwYXRoIHx8ICcnfSR7ZmllbGQubmFtZX1gXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZmllbGREYXRhKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvY2FsZURhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmVsYXRpb25zaGlwc1RvRGVsZXRlLnB1c2goe1xuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgIHBhdGg6IHJlbGF0aW9uc2hpcFBhdGgsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0cmFuc2Zvcm1SZWxhdGlvbnNoaXAoe1xuICAgICAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgICAgcGF0aDogcmVsYXRpb25zaGlwUGF0aCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZGF0YTogbG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmaWVsZERhdGEgPT09IG51bGwgfHwgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSAmJiBmaWVsZERhdGEubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgIHJlbGF0aW9uc2hpcHNUb0RlbGV0ZS5wdXNoKHsgcGF0aDogcmVsYXRpb25zaGlwUGF0aCB9KVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgdHJhbnNmb3JtUmVsYXRpb25zaGlwKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiByZWxhdGlvbnNoaXBQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBudW1iZXJQYXRoID0gYCR7cGF0aCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICBpZiAoZmllbGQubG9jYWxpemVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGREYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxvY2FsZURhdGEpKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybU51bWJlcnMoe1xuICAgICAgICAgICAgICAgIGJhc2VSb3c6IHtcbiAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlS2V5LFxuICAgICAgICAgICAgICAgICAgcGF0aDogbnVtYmVyUGF0aCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbnVtYmVycyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZmllbGREYXRhKSkge1xuICAgICAgICB0cmFuc2Zvcm1OdW1iZXJzKHtcbiAgICAgICAgICBiYXNlUm93OiB7XG4gICAgICAgICAgICBwYXRoOiBudW1iZXJQYXRoLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YTogZmllbGREYXRhLFxuICAgICAgICAgIG51bWJlcnMsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gXG4gICAgICBpZiAoIXNlbGVjdHNbc2VsZWN0VGFibGVOYW1lXSkgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gW11cblxuICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbZmllbGQubmFtZV0gPT09ICdvYmplY3QnICYmIGRhdGFbZmllbGQubmFtZV0gIT09IG51bGwpIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhW2ZpZWxkLm5hbWVdKS5mb3JFYWNoKChbbG9jYWxlS2V5LCBsb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobG9jYWxlRGF0YSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Um93cyA9IHRyYW5zZm9ybVNlbGVjdHMoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGxvY2FsZURhdGEsXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGVLZXksXG4gICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdID0gc2VsZWN0c1tzZWxlY3RUYWJsZU5hbWVdLmNvbmNhdChuZXdSb3dzKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2ZpZWxkLm5hbWVdKSkge1xuICAgICAgICBjb25zdCBuZXdSb3dzID0gdHJhbnNmb3JtU2VsZWN0cyh7XG4gICAgICAgICAgZGF0YTogZGF0YVtmaWVsZC5uYW1lXSxcbiAgICAgICAgfSlcblxuICAgICAgICBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0gPSBzZWxlY3RzW3NlbGVjdFRhYmxlTmFtZV0uY29uY2F0KG5ld1Jvd3MpXG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSkge1xuICAgICAgY29uc3QgdmFsdWVzVG9UcmFuc2Zvcm06IHsgbG9jYWxlS2V5Pzogc3RyaW5nOyByZWY6IHVua25vd247IHZhbHVlOiB1bmtub3duIH1bXSA9IFtdXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZERhdGEgPT09ICdvYmplY3QnICYmIGZpZWxkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpZWxkRGF0YSkuZm9yRWFjaCgoW2xvY2FsZUtleSwgbG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmICghbG9jYWxlc1tsb2NhbGVLZXldKSBsb2NhbGVzW2xvY2FsZUtleV0gPSB7fVxuXG4gICAgICAgICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5wdXNoKHtcbiAgICAgICAgICAgICAgbG9jYWxlS2V5LFxuICAgICAgICAgICAgICByZWY6IGxvY2FsZXMsXG4gICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGVEYXRhLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcmVmID0gcm93XG5cbiAgICAgICAgaWYgKGZvcmNlZExvY2FsZSkge1xuICAgICAgICAgIGlmICghbG9jYWxlc1tmb3JjZWRMb2NhbGVdKSBsb2NhbGVzW2ZvcmNlZExvY2FsZV0gPSB7fVxuICAgICAgICAgIHJlZiA9IGxvY2FsZXNbZm9yY2VkTG9jYWxlXVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWVzVG9UcmFuc2Zvcm0ucHVzaCh7IHJlZiwgdmFsdWU6IGZpZWxkRGF0YSB9KVxuICAgICAgfVxuXG4gICAgICB2YWx1ZXNUb1RyYW5zZm9ybS5mb3JFYWNoKCh7IGxvY2FsZUtleSwgcmVmLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdmFsdWVcblxuICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScgJiYgZmllbGQubmFtZSA9PT0gJ3VwZGF0ZWRBdCcpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxvY2FsZUtleSkge1xuICAgICAgICAgICAgcmVmW2xvY2FsZUtleV1bZmllbGROYW1lXSA9IGZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlZltmaWVsZE5hbWVdID0gZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInRyYXZlcnNlRmllbGRzIiwiYWRhcHRlciIsImFycmF5cyIsImJhc2VUYWJsZU5hbWUiLCJibG9ja3MiLCJjb2x1bW5QcmVmaXgiLCJkYXRhIiwiZXhpc3RpbmdMb2NhbGVzIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJmb3JjZWRMb2NhbGUiLCJsb2NhbGVzIiwibnVtYmVycyIsInBhcmVudFRhYmxlTmFtZSIsInBhdGgiLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwicm93Iiwic2VsZWN0cyIsImZvckVhY2giLCJmaWVsZCIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJmaWVsZERhdGEiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJuYW1lIiwidHlwZSIsImFycmF5VGFibGVOYW1lIiwibG9jYWxpemVkIiwiT2JqZWN0IiwiZW50cmllcyIsImxvY2FsZUtleSIsImxvY2FsZURhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdSb3dzIiwidHJhbnNmb3JtQXJyYXkiLCJsb2NhbGUiLCJjb25jYXQiLCJ0cmFuc2Zvcm1CbG9ja3MiLCJpc0FycmF5T2ZSb3dzIiwidGFicyIsInRhYiIsInJlbGF0aW9uc2hpcFBhdGgiLCJwdXNoIiwidHJhbnNmb3JtUmVsYXRpb25zaGlwIiwiYmFzZVJvdyIsImxlbmd0aCIsImhhc01hbnkiLCJudW1iZXJQYXRoIiwidHJhbnNmb3JtTnVtYmVycyIsInNlbGVjdFRhYmxlTmFtZSIsInRyYW5zZm9ybVNlbGVjdHMiLCJ2YWx1ZXNUb1RyYW5zZm9ybSIsInJlZiIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJEYXRlIiwidG9JU09TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyRHZCQTs7O2VBQUFBOzs7dUJBeERvQjtvRUFDVDsrQkFLTTt1QkFDQzt3QkFDQzt5QkFDQzsrQkFDSzt5QkFDTDs7Ozs7O0FBNkMxQixNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLElBQUksRUFDSkMsZUFBZSxFQUNmQyxXQUFXLEVBQ1hDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxPQUFPLEVBQ1BDLE9BQU8sRUFDUEMsZUFBZSxFQUNmQyxJQUFJLEVBQ0pDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCQyxHQUFHLEVBQ0hDLE9BQU8sRUFDRjtJQUNMVCxPQUFPVSxPQUFPLENBQUMsQ0FBQ0M7UUFDZCxJQUFJQyxhQUFhO1FBQ2pCLElBQUlDLFlBQVk7UUFDaEIsSUFBSUM7UUFFSixJQUFJQyxJQUFBQSx1QkFBZ0IsRUFBQ0osUUFBUTtZQUMzQkMsYUFBYSxDQUFDLEVBQUVoQixnQkFBZ0IsR0FBRyxFQUFFb0IsSUFBQUEsb0JBQVcsRUFBQ0wsTUFBTU0sSUFBSSxFQUFFLENBQUM7WUFDOURKLFlBQVksQ0FBQyxFQUFFZCxlQUFlLEdBQUcsRUFBRVksTUFBTU0sSUFBSSxDQUFDLENBQUM7WUFDL0NILFlBQVlqQixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQztRQUM5QjtRQUVBLElBQUlOLE1BQU1PLElBQUksS0FBSyxTQUFTO1lBQzFCLE1BQU1DLGlCQUFpQixDQUFDLEVBQUVmLGdCQUFnQixDQUFDLEVBQUVRLFdBQVcsQ0FBQztZQUV6RCxJQUFJLENBQUNuQixNQUFNLENBQUMwQixlQUFlLEVBQUUxQixNQUFNLENBQUMwQixlQUFlLEdBQUcsRUFBRTtZQUV4RCxJQUFJUixNQUFNUyxTQUFTLEVBQUU7Z0JBQ25CLElBQUksT0FBT3ZCLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDLEtBQUssWUFBWXBCLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDLEtBQUssTUFBTTtvQkFDckVJLE9BQU9DLE9BQU8sQ0FBQ3pCLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDLEVBQUVQLE9BQU8sQ0FBQyxDQUFDLENBQUNhLFdBQVdDLFdBQVc7d0JBQy9ELElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0YsYUFBYTs0QkFDN0IsTUFBTUcsVUFBVUMsSUFBQUEscUJBQWMsRUFBQztnQ0FDN0JwQztnQ0FDQTJCO2dDQUNBekI7Z0NBQ0FDO2dDQUNBRSxNQUFNMkI7Z0NBQ05iO2dDQUNBa0IsUUFBUU47Z0NBQ1JwQjtnQ0FDQUU7Z0NBQ0FDO2dDQUNBQztnQ0FDQUU7NEJBQ0Y7NEJBRUFoQixNQUFNLENBQUMwQixlQUFlLEdBQUcxQixNQUFNLENBQUMwQixlQUFlLENBQUNXLE1BQU0sQ0FBQ0g7d0JBQ3pEO29CQUNGO2dCQUNGO1lBQ0YsT0FBTztnQkFDTCxNQUFNQSxVQUFVQyxJQUFBQSxxQkFBYyxFQUFDO29CQUM3QnBDO29CQUNBMkI7b0JBQ0F6QjtvQkFDQUM7b0JBQ0FFLE1BQU1BLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDO29CQUN0Qk47b0JBQ0FSO29CQUNBRTtvQkFDQUM7b0JBQ0FDO29CQUNBRTtnQkFDRjtnQkFFQWhCLE1BQU0sQ0FBQzBCLGVBQWUsR0FBRzFCLE1BQU0sQ0FBQzBCLGVBQWUsQ0FBQ1csTUFBTSxDQUFDSDtZQUN6RDtZQUVBO1FBQ0Y7UUFFQSxJQUFJaEIsTUFBTU8sSUFBSSxLQUFLLFVBQVU7WUFDM0IsSUFBSVAsTUFBTVMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLE9BQU92QixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxLQUFLLFlBQVlwQixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxLQUFLLE1BQU07b0JBQ3JFSSxPQUFPQyxPQUFPLENBQUN6QixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUMvRCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLGFBQWE7NEJBQzdCTyxJQUFBQSx1QkFBZSxFQUFDO2dDQUNkdkM7Z0NBQ0FFO2dDQUNBQztnQ0FDQUUsTUFBTTJCO2dDQUNOYjtnQ0FDQWtCLFFBQVFOO2dDQUNScEI7Z0NBQ0FFO2dDQUNBQztnQ0FDQUM7Z0NBQ0FFOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0YsT0FBTyxJQUFJdUIsSUFBQUEsNEJBQWEsRUFBQ2xCLFlBQVk7Z0JBQ25DaUIsSUFBQUEsdUJBQWUsRUFBQztvQkFDZHZDO29CQUNBRTtvQkFDQUM7b0JBQ0FFLE1BQU1pQjtvQkFDTkg7b0JBQ0FSO29CQUNBRTtvQkFDQUM7b0JBQ0FDO29CQUNBRTtnQkFDRjtZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlFLE1BQU1PLElBQUksS0FBSyxTQUFTO1lBQzFCLElBQUksT0FBT3JCLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDLEtBQUssWUFBWXBCLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDLEtBQUssTUFBTTtnQkFDckUsSUFBSU4sTUFBTVMsU0FBUyxFQUFFO29CQUNuQkMsT0FBT0MsT0FBTyxDQUFDekIsSUFBSSxDQUFDYyxNQUFNTSxJQUFJLENBQUMsRUFBRVAsT0FBTyxDQUFDLENBQUMsQ0FBQ2EsV0FBV0MsV0FBVzt3QkFDL0RqQyxlQUFlOzRCQUNiQzs0QkFDQUM7NEJBQ0FDOzRCQUNBQzs0QkFDQUMsY0FBYyxDQUFDLEVBQUVnQixXQUFXLENBQUMsQ0FBQzs0QkFDOUJmLE1BQU0yQjs0QkFDTjFCOzRCQUNBQyxhQUFhLENBQUMsRUFBRWMsVUFBVSxDQUFDLENBQUM7NEJBQzVCYixRQUFRVyxNQUFNWCxNQUFNOzRCQUNwQkMsY0FBY3NCOzRCQUNkckI7NEJBQ0FDOzRCQUNBQzs0QkFDQUMsTUFBTSxDQUFDLEVBQUVBLFFBQVEsR0FBRyxFQUFFTSxNQUFNTSxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNuQ1g7NEJBQ0FDOzRCQUNBQzs0QkFDQUM7d0JBQ0Y7b0JBQ0Y7Z0JBQ0YsT0FBTztvQkFDTGxCLGVBQWU7d0JBQ2JDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQyxjQUFjLENBQUMsRUFBRWdCLFdBQVcsQ0FBQyxDQUFDO3dCQUM5QmYsTUFBTUEsSUFBSSxDQUFDYyxNQUFNTSxJQUFJLENBQUM7d0JBQ3RCbkI7d0JBQ0FDLGFBQWEsQ0FBQyxFQUFFYyxVQUFVLENBQUMsQ0FBQzt3QkFDNUJiLFFBQVFXLE1BQU1YLE1BQU07d0JBQ3BCRTt3QkFDQUM7d0JBQ0FDO3dCQUNBQyxNQUFNLENBQUMsRUFBRUEsUUFBUSxHQUFHLEVBQUVNLE1BQU1NLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ25DWDt3QkFDQUM7d0JBQ0FDO3dCQUNBQztvQkFDRjtnQkFDRjtZQUNGO1lBRUE7UUFDRjtRQUVBLElBQUlFLE1BQU1PLElBQUksS0FBSyxRQUFRO1lBQ3pCUCxNQUFNc0IsSUFBSSxDQUFDdkIsT0FBTyxDQUFDLENBQUN3QjtnQkFDbEIsSUFBSSxVQUFVQSxLQUFLO29CQUNqQixJQUFJLE9BQU9yQyxJQUFJLENBQUNxQyxJQUFJakIsSUFBSSxDQUFDLEtBQUssWUFBWXBCLElBQUksQ0FBQ3FDLElBQUlqQixJQUFJLENBQUMsS0FBSyxNQUFNO3dCQUNqRSxJQUFJaUIsSUFBSWQsU0FBUyxFQUFFOzRCQUNqQkMsT0FBT0MsT0FBTyxDQUFDekIsSUFBSSxDQUFDcUMsSUFBSWpCLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO2dDQUM3RGpDLGVBQWU7b0NBQ2JDO29DQUNBQztvQ0FDQUM7b0NBQ0FDO29DQUNBQyxjQUFjLENBQUMsRUFBRUEsZ0JBQWdCLEdBQUcsRUFBRW9CLElBQUFBLG9CQUFXLEVBQUNrQixJQUFJakIsSUFBSSxFQUFFLENBQUMsQ0FBQztvQ0FDOURwQixNQUFNMkI7b0NBQ04xQjtvQ0FDQUMsYUFBYSxDQUFDLEVBQUVBLGVBQWUsR0FBRyxFQUFFbUMsSUFBSWpCLElBQUksQ0FBQyxDQUFDLENBQUM7b0NBQy9DakIsUUFBUWtDLElBQUlsQyxNQUFNO29DQUNsQkMsY0FBY3NCO29DQUNkckI7b0NBQ0FDO29DQUNBQztvQ0FDQUMsTUFBTSxDQUFDLEVBQUVBLFFBQVEsR0FBRyxFQUFFNkIsSUFBSWpCLElBQUksQ0FBQyxDQUFDLENBQUM7b0NBQ2pDWDtvQ0FDQUM7b0NBQ0FDO29DQUNBQztnQ0FDRjs0QkFDRjt3QkFDRixPQUFPOzRCQUNMbEIsZUFBZTtnQ0FDYkM7Z0NBQ0FDO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDLGNBQWMsQ0FBQyxFQUFFQSxnQkFBZ0IsR0FBRyxFQUFFb0IsSUFBQUEsb0JBQVcsRUFBQ2tCLElBQUlqQixJQUFJLEVBQUUsQ0FBQyxDQUFDO2dDQUM5RHBCLE1BQU1BLElBQUksQ0FBQ3FDLElBQUlqQixJQUFJLENBQUM7Z0NBQ3BCbkI7Z0NBQ0FDLGFBQWEsQ0FBQyxFQUFFQSxlQUFlLEdBQUcsRUFBRW1DLElBQUlqQixJQUFJLENBQUMsQ0FBQyxDQUFDO2dDQUMvQ2pCLFFBQVFrQyxJQUFJbEMsTUFBTTtnQ0FDbEJFO2dDQUNBQztnQ0FDQUM7Z0NBQ0FDLE1BQU0sQ0FBQyxFQUFFQSxRQUFRLEdBQUcsRUFBRTZCLElBQUlqQixJQUFJLENBQUMsQ0FBQyxDQUFDO2dDQUNqQ1g7Z0NBQ0FDO2dDQUNBQztnQ0FDQUM7NEJBQ0Y7d0JBQ0Y7b0JBQ0Y7Z0JBQ0YsT0FBTztvQkFDTGxCLGVBQWU7d0JBQ2JDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUMsUUFBUWtDLElBQUlsQyxNQUFNO3dCQUNsQkU7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO3dCQUNBQzt3QkFDQUM7d0JBQ0FDO29CQUNGO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLElBQUlFLE1BQU1PLElBQUksS0FBSyxTQUFTUCxNQUFNTyxJQUFJLEtBQUssZUFBZTtZQUN4RDNCLGVBQWU7Z0JBQ2JDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUMsUUFBUVcsTUFBTVgsTUFBTTtnQkFDcEJFO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7UUFFQSxJQUFJRSxNQUFNTyxJQUFJLEtBQUssa0JBQWtCUCxNQUFNTyxJQUFJLEtBQUssVUFBVTtZQUM1RCxNQUFNaUIsbUJBQW1CLENBQUMsRUFBRTlCLFFBQVEsR0FBRyxFQUFFTSxNQUFNTSxJQUFJLENBQUMsQ0FBQztZQUVyRCxJQUFJTixNQUFNUyxTQUFTLEVBQUU7Z0JBQ25CLElBQUksT0FBT04sY0FBYyxVQUFVO29CQUNqQ08sT0FBT0MsT0FBTyxDQUFDUixXQUFXSixPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUN4RCxJQUFJQSxlQUFlLE1BQU07NEJBQ3ZCakIsc0JBQXNCNkIsSUFBSSxDQUFDO2dDQUN6QlAsUUFBUU47Z0NBQ1JsQixNQUFNOEI7NEJBQ1I7NEJBQ0E7d0JBQ0Y7d0JBRUFFLElBQUFBLG9DQUFxQixFQUFDOzRCQUNwQkMsU0FBUztnQ0FDUFQsUUFBUU47Z0NBQ1JsQixNQUFNOEI7NEJBQ1I7NEJBQ0F0QyxNQUFNMkI7NEJBQ05iOzRCQUNBTDt3QkFDRjtvQkFDRjtnQkFDRjtZQUNGLE9BQU87Z0JBQ0wsSUFBSVEsY0FBYyxRQUFTVyxNQUFNQyxPQUFPLENBQUNaLGNBQWNBLFVBQVV5QixNQUFNLEtBQUssR0FBSTtvQkFDOUVoQyxzQkFBc0I2QixJQUFJLENBQUM7d0JBQUUvQixNQUFNOEI7b0JBQWlCO29CQUNwRDtnQkFDRjtnQkFFQUUsSUFBQUEsb0NBQXFCLEVBQUM7b0JBQ3BCQyxTQUFTO3dCQUNQakMsTUFBTThCO29CQUNSO29CQUNBdEMsTUFBTWlCO29CQUNOSDtvQkFDQUw7Z0JBQ0Y7WUFDRjtZQUVBO1FBQ0Y7UUFFQSxJQUFJSyxNQUFNTyxJQUFJLEtBQUssWUFBWVAsTUFBTTZCLE9BQU8sRUFBRTtZQUM1QyxNQUFNQyxhQUFhLENBQUMsRUFBRXBDLFFBQVEsR0FBRyxFQUFFTSxNQUFNTSxJQUFJLENBQUMsQ0FBQztZQUUvQyxJQUFJTixNQUFNUyxTQUFTLEVBQUU7Z0JBQ25CLElBQUksT0FBT04sY0FBYyxVQUFVO29CQUNqQ08sT0FBT0MsT0FBTyxDQUFDUixXQUFXSixPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUN4RCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLGFBQWE7NEJBQzdCa0IsSUFBQUEseUJBQWdCLEVBQUM7Z0NBQ2ZKLFNBQVM7b0NBQ1BULFFBQVFOO29DQUNSbEIsTUFBTW9DO2dDQUNSO2dDQUNBNUMsTUFBTTJCO2dDQUNOckI7NEJBQ0Y7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7WUFDRixPQUFPLElBQUlzQixNQUFNQyxPQUFPLENBQUNaLFlBQVk7Z0JBQ25DNEIsSUFBQUEseUJBQWdCLEVBQUM7b0JBQ2ZKLFNBQVM7d0JBQ1BqQyxNQUFNb0M7b0JBQ1I7b0JBQ0E1QyxNQUFNaUI7b0JBQ05YO2dCQUNGO1lBQ0Y7WUFFQTtRQUNGO1FBRUEsSUFBSVEsTUFBTU8sSUFBSSxLQUFLLFlBQVlQLE1BQU02QixPQUFPLEVBQUU7WUFDNUMsTUFBTUcsa0JBQWtCLENBQUMsRUFBRXZDLGdCQUFnQixDQUFDLEVBQUVRLFdBQVcsQ0FBQztZQUMxRCxJQUFJLENBQUNILE9BQU8sQ0FBQ2tDLGdCQUFnQixFQUFFbEMsT0FBTyxDQUFDa0MsZ0JBQWdCLEdBQUcsRUFBRTtZQUU1RCxJQUFJaEMsTUFBTVMsU0FBUyxFQUFFO2dCQUNuQixJQUFJLE9BQU92QixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxLQUFLLFlBQVlwQixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxLQUFLLE1BQU07b0JBQ3JFSSxPQUFPQyxPQUFPLENBQUN6QixJQUFJLENBQUNjLE1BQU1NLElBQUksQ0FBQyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDYSxXQUFXQyxXQUFXO3dCQUMvRCxJQUFJQyxNQUFNQyxPQUFPLENBQUNGLGFBQWE7NEJBQzdCLE1BQU1HLFVBQVVpQixJQUFBQSx5QkFBZ0IsRUFBQztnQ0FDL0IvQyxNQUFNMkI7Z0NBQ05LLFFBQVFOOzRCQUNWOzRCQUVBZCxPQUFPLENBQUNrQyxnQkFBZ0IsR0FBR2xDLE9BQU8sQ0FBQ2tDLGdCQUFnQixDQUFDYixNQUFNLENBQUNIO3dCQUM3RDtvQkFDRjtnQkFDRjtZQUNGLE9BQU8sSUFBSUYsTUFBTUMsT0FBTyxDQUFDN0IsSUFBSSxDQUFDYyxNQUFNTSxJQUFJLENBQUMsR0FBRztnQkFDMUMsTUFBTVUsVUFBVWlCLElBQUFBLHlCQUFnQixFQUFDO29CQUMvQi9DLE1BQU1BLElBQUksQ0FBQ2MsTUFBTU0sSUFBSSxDQUFDO2dCQUN4QjtnQkFFQVIsT0FBTyxDQUFDa0MsZ0JBQWdCLEdBQUdsQyxPQUFPLENBQUNrQyxnQkFBZ0IsQ0FBQ2IsTUFBTSxDQUFDSDtZQUM3RDtZQUVBO1FBQ0Y7UUFFQSxJQUFJWixJQUFBQSx1QkFBZ0IsRUFBQ0osUUFBUTtZQUMzQixNQUFNa0Msb0JBQTRFLEVBQUU7WUFFcEYsSUFBSWxDLE1BQU1TLFNBQVMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPTixjQUFjLFlBQVlBLGNBQWMsTUFBTTtvQkFDdkRPLE9BQU9DLE9BQU8sQ0FBQ1IsV0FBV0osT0FBTyxDQUFDLENBQUMsQ0FBQ2EsV0FBV0MsV0FBVzt3QkFDeEQsSUFBSSxDQUFDdEIsT0FBTyxDQUFDcUIsVUFBVSxFQUFFckIsT0FBTyxDQUFDcUIsVUFBVSxHQUFHLENBQUM7d0JBRS9Dc0Isa0JBQWtCVCxJQUFJLENBQUM7NEJBQ3JCYjs0QkFDQXVCLEtBQUs1Qzs0QkFDTDZDLE9BQU92Qjt3QkFDVDtvQkFDRjtnQkFDRjtZQUNGLE9BQU87Z0JBQ0wsSUFBSXNCLE1BQU10QztnQkFFVixJQUFJUCxjQUFjO29CQUNoQixJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsYUFBYSxFQUFFQyxPQUFPLENBQUNELGFBQWEsR0FBRyxDQUFDO29CQUNyRDZDLE1BQU01QyxPQUFPLENBQUNELGFBQWE7Z0JBQzdCO2dCQUVBNEMsa0JBQWtCVCxJQUFJLENBQUM7b0JBQUVVO29CQUFLQyxPQUFPakM7Z0JBQVU7WUFDakQ7WUFFQStCLGtCQUFrQm5DLE9BQU8sQ0FBQyxDQUFDLEVBQUVhLFNBQVMsRUFBRXVCLEdBQUcsRUFBRUMsS0FBSyxFQUFFO2dCQUNsRCxJQUFJLE9BQU9BLFVBQVUsYUFBYTtvQkFDaEMsSUFBSUMsaUJBQWlCRDtvQkFFckIsSUFBSXBDLE1BQU1PLElBQUksS0FBSyxVQUFVUCxNQUFNTSxJQUFJLEtBQUssYUFBYTt3QkFDdkQrQixpQkFBaUIsSUFBSUMsT0FBT0MsV0FBVztvQkFDekM7b0JBRUEsSUFBSTNCLFdBQVc7d0JBQ2J1QixHQUFHLENBQUN2QixVQUFVLENBQUNWLFVBQVUsR0FBR21DO29CQUM5QixPQUFPO3dCQUNMRixHQUFHLENBQUNqQyxVQUFVLEdBQUdtQztvQkFDbkI7Z0JBQ0Y7WUFDRjtRQUNGO0lBQ0Y7QUFDRiJ9
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upsertRow/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AASnC,eAAO,MAAM,SAAS,8GAWnB,IAAI,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upsertRow/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AASnC,eAAO,MAAM,SAAS,8GAWnB,IAAI,eA8QN,CAAA"}
|
package/dist/upsertRow/index.js
CHANGED
@@ -19,6 +19,7 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
19
19
|
// Split out the incoming data into the corresponding:
|
20
20
|
// base row, locales, relationships, blocks, and arrays
|
21
21
|
const rowToInsert = (0, _write.transformForWrite)({
|
22
|
+
adapter,
|
22
23
|
data,
|
23
24
|
fields,
|
24
25
|
path,
|
@@ -88,6 +89,9 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
88
89
|
rowToInsert.blocks[blockName].forEach((blockRow)=>{
|
89
90
|
blockRow.row._parentID = insertedRow.id;
|
90
91
|
if (!blocksToInsert[blockName]) blocksToInsert[blockName] = [];
|
92
|
+
if (blockRow.row.uuid) {
|
93
|
+
delete blockRow.row.uuid;
|
94
|
+
}
|
91
95
|
blocksToInsert[blockName].push(blockRow);
|
92
96
|
});
|
93
97
|
});
|
@@ -240,4 +244,4 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
|
|
240
244
|
return result;
|
241
245
|
};
|
242
246
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgdGFibGVOYW1lLFxuICB1cHNlcnRUYXJnZXQsXG4gIHdoZXJlLFxufTogQXJncyk6IFByb21pc2U8VD4gPT4ge1xuICAvLyBTcGxpdCBvdXQgdGhlIGluY29taW5nIGRhdGEgaW50byB0aGUgY29ycmVzcG9uZGluZzpcbiAgLy8gYmFzZSByb3csIGxvY2FsZXMsIHJlbGF0aW9uc2hpcHMsIGJsb2NrcywgYW5kIGFycmF5c1xuICBjb25zdCByb3dUb0luc2VydCA9IHRyYW5zZm9ybUZvcldyaXRlKHtcbiAgICBkYXRhLFxuICAgIGZpZWxkcyxcbiAgICBwYXRoLFxuICAgIHRhYmxlTmFtZSxcbiAgfSlcblxuICAvLyBGaXJzdCwgd2UgaW5zZXJ0IHRoZSBtYWluIHJvd1xuICBsZXQgaW5zZXJ0ZWRSb3c6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB1cHNlcnRUYXJnZXQgfHwgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZFxuXG4gICAgaWYgKGlkKSB7XG4gICAgICByb3dUb0luc2VydC5yb3cuaWQgPSBpZFxuICAgICAgO1tpbnNlcnRlZFJvd10gPSBhd2FpdCBkYlxuICAgICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0pXG4gICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAub25Db25mbGljdERvVXBkYXRlKHsgc2V0OiByb3dUb0luc2VydC5yb3csIHRhcmdldCB9KVxuICAgICAgICAucmV0dXJuaW5nKClcbiAgICB9IGVsc2Uge1xuICAgICAgO1tpbnNlcnRlZFJvd10gPSBhd2FpdCBkYlxuICAgICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0pXG4gICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAub25Db25mbGljdERvVXBkYXRlKHsgc2V0OiByb3dUb0luc2VydC5yb3csIHRhcmdldCwgd2hlcmUgfSlcbiAgICAgICAgLnJldHVybmluZygpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIDtbaW5zZXJ0ZWRSb3ddID0gYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0pLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpLnJldHVybmluZygpXG4gIH1cblxuICBjb25zdCBsb2NhbGVzVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICBjb25zdCByZWxhdGlvbnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gIGNvbnN0IG51bWJlcnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gIGNvbnN0IGJsb2Nrc1RvSW5zZXJ0OiB7IFtibG9ja1R5cGU6IHN0cmluZ106IEJsb2NrUm93VG9JbnNlcnRbXSB9ID0ge31cbiAgY29uc3Qgc2VsZWN0c1RvSW5zZXJ0OiB7IFtzZWxlY3RUYWJsZU5hbWU6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gfSA9IHt9XG5cbiAgLy8gSWYgdGhlcmUgYXJlIGxvY2FsZSByb3dzIHdpdGggZGF0YSwgYWRkIHRoZSBwYXJlbnQgYW5kIGxvY2FsZSB0byBlYWNoXG4gIGlmIChPYmplY3Qua2V5cyhyb3dUb0luc2VydC5sb2NhbGVzKS5sZW5ndGggPiAwKSB7XG4gICAgT2JqZWN0LmVudHJpZXMocm93VG9JbnNlcnQubG9jYWxlcykuZm9yRWFjaCgoW2xvY2FsZSwgbG9jYWxlUm93XSkgPT4ge1xuICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICBsb2NhbGVSb3cuX2xvY2FsZSA9IGxvY2FsZVxuICAgICAgbG9jYWxlc1RvSW5zZXJ0LnB1c2gobG9jYWxlUm93KVxuICAgIH0pXG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgcmVsYXRpb25zaGlwcywgYWRkIHBhcmVudCB0byBlYWNoXG4gIGlmIChyb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICByb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uKSA9PiB7XG4gICAgICByZWxhdGlvbi5wYXJlbnQgPSBpbnNlcnRlZFJvdy5pZFxuICAgICAgcmVsYXRpb25zVG9JbnNlcnQucHVzaChyZWxhdGlvbilcbiAgICB9KVxuICB9XG5cbiAgLy8gSWYgdGhlcmUgYXJlIG51bWJlcnMsIGFkZCBwYXJlbnQgdG8gZWFjaFxuICBpZiAocm93VG9JbnNlcnQubnVtYmVycy5sZW5ndGggPiAwKSB7XG4gICAgcm93VG9JbnNlcnQubnVtYmVycy5mb3JFYWNoKChudW1iZXJSb3cpID0+IHtcbiAgICAgIG51bWJlclJvdy5wYXJlbnQgPSBpbnNlcnRlZFJvdy5pZFxuICAgICAgbnVtYmVyc1RvSW5zZXJ0LnB1c2gobnVtYmVyUm93KVxuICAgIH0pXG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgc2VsZWN0cywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gIGlmIChPYmplY3Qua2V5cyhyb3dUb0luc2VydC5zZWxlY3RzKS5sZW5ndGggPiAwKSB7XG4gICAgT2JqZWN0LmVudHJpZXMocm93VG9JbnNlcnQuc2VsZWN0cykuZm9yRWFjaCgoW3NlbGVjdFRhYmxlTmFtZSwgc2VsZWN0Um93c10pID0+IHtcbiAgICAgIHNlbGVjdFJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgIHJvdy5wYXJlbnQgPSBpbnNlcnRlZFJvdy5pZFxuICAgICAgICBpZiAoIXNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdKSBzZWxlY3RzVG9JbnNlcnRbc2VsZWN0VGFibGVOYW1lXSA9IFtdXG4gICAgICAgIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdLnB1c2gocm93KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgLy8gSWYgdGhlcmUgYXJlIGJsb2NrcywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gIE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmJsb2NrcykuZm9yRWFjaCgoYmxvY2tOYW1lKSA9PiB7XG4gICAgcm93VG9JbnNlcnQuYmxvY2tzW2Jsb2NrTmFtZV0uZm9yRWFjaCgoYmxvY2tSb3cpID0+IHtcbiAgICAgIGJsb2NrUm93LnJvdy5fcGFyZW50SUQgPSBpbnNlcnRlZFJvdy5pZFxuICAgICAgaWYgKCFibG9ja3NUb0luc2VydFtibG9ja05hbWVdKSBibG9ja3NUb0luc2VydFtibG9ja05hbWVdID0gW11cbiAgICAgIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0ucHVzaChibG9ja1JvdylcbiAgICB9KVxuICB9KVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSU5TRVJUIExPQ0FMRVNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGlmIChsb2NhbGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGxvY2FsZVRhYmxlID0gYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9sb2NhbGVzYF1cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBhd2FpdCBkYi5kZWxldGUobG9jYWxlVGFibGUpLndoZXJlKGVxKGxvY2FsZVRhYmxlLl9wYXJlbnRJRCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgIH1cblxuICAgIGF3YWl0IGRiLmluc2VydChsb2NhbGVUYWJsZSkudmFsdWVzKGxvY2FsZXNUb0luc2VydClcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSU5TRVJUIFJFTEFUSU9OU0hJUFNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICBhd2FpdCBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGgoe1xuICAgICAgYWRhcHRlcixcbiAgICAgIGRiLFxuICAgICAgbG9jYWxlQ29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgIHBhdGhDb2x1bW5OYW1lOiAncGF0aCcsXG4gICAgICByb3dzOiBbLi4ucmVsYXRpb25zVG9JbnNlcnQsIC4uLnJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHNUb0RlbGV0ZV0sXG4gICAgICB0YWJsZU5hbWU6IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChyZWxhdGlvbnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uc2hpcHNUYWJsZU5hbWVdKS52YWx1ZXMocmVsYXRpb25zVG9JbnNlcnQpXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIElOU0VSVCBoYXNNYW55IE5VTUJFUlNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICBhd2FpdCBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGgoe1xuICAgICAgYWRhcHRlcixcbiAgICAgIGRiLFxuICAgICAgbG9jYWxlQ29sdW1uTmFtZTogJ2xvY2FsZScsXG4gICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgIHBhdGhDb2x1bW5OYW1lOiAncGF0aCcsXG4gICAgICByb3dzOiBudW1iZXJzVG9JbnNlcnQsXG4gICAgICB0YWJsZU5hbWU6IG51bWJlcnNUYWJsZU5hbWUsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChudW1iZXJzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgIGF3YWl0IGRiLmluc2VydChhZGFwdGVyLnRhYmxlc1tudW1iZXJzVGFibGVOYW1lXSkudmFsdWVzKG51bWJlcnNUb0luc2VydCkucmV0dXJuaW5nKClcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSU5TRVJUIEJMT0NLU1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgaW5zZXJ0ZWRCbG9ja1Jvd3M6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+ID0ge31cblxuICBmb3IgKGNvbnN0IFtibG9ja05hbWUsIGJsb2NrUm93c10gb2YgT2JqZWN0LmVudHJpZXMoYmxvY2tzVG9JbnNlcnQpKSB7XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRJRDogaW5zZXJ0ZWRSb3cuaWQsXG4gICAgICAgIHBhdGhDb2x1bW5OYW1lOiAnX3BhdGgnLFxuICAgICAgICByb3dzOiBibG9ja1Jvd3MubWFwKCh7IHJvdyB9KSA9PiByb3cpLFxuICAgICAgICB0YWJsZU5hbWU6IGAke3RhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tOYW1lfWAsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGluc2VydGVkQmxvY2tSb3dzW2Jsb2NrTmFtZV0gPSBhd2FpdCBkYlxuICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke2Jsb2NrTmFtZX1gXSlcbiAgICAgIC52YWx1ZXMoYmxvY2tSb3dzLm1hcCgoeyByb3cgfSkgPT4gcm93KSlcbiAgICAgIC5yZXR1cm5pbmcoKVxuXG4gICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXS5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgIGJsb2NrUm93c1tpXS5yb3cgPSByb3dcbiAgICB9KVxuXG4gICAgY29uc3QgYmxvY2tMb2NhbGVJbmRleE1hcDogbnVtYmVyW10gPSBbXVxuXG4gICAgY29uc3QgYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQgPSBibG9ja1Jvd3MucmVkdWNlKChhY2MsIGJsb2NrUm93LCBpKSA9PiB7XG4gICAgICBpZiAoT2JqZWN0LmVudHJpZXMoYmxvY2tSb3cubG9jYWxlcykubGVuZ3RoID4gMCkge1xuICAgICAgICBPYmplY3QuZW50cmllcyhibG9ja1Jvdy5sb2NhbGVzKS5mb3JFYWNoKChbYmxvY2tMb2NhbGUsIGJsb2NrTG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoYmxvY2tMb2NhbGVEYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX3BhcmVudElEID0gYmxvY2tSb3cucm93LmlkXG4gICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX2xvY2FsZSA9IGJsb2NrTG9jYWxlXG4gICAgICAgICAgICBhY2MucHVzaChibG9ja0xvY2FsZURhdGEpXG4gICAgICAgICAgICBibG9ja0xvY2FsZUluZGV4TWFwLnB1c2goaSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBbXSlcblxuICAgIGlmIChibG9ja0xvY2FsZVJvd3NUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYlxuICAgICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgIC52YWx1ZXMoYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgICBhZGFwdGVyLFxuICAgICAgYXJyYXlzOiBibG9ja1Jvd3MubWFwKCh7IGFycmF5cyB9KSA9PiBhcnJheXMpLFxuICAgICAgZGIsXG4gICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLFxuICAgIH0pXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIElOU0VSVCBBUlJBWVMgUkVDVVJTSVZFTFlcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgZm9yIChjb25zdCBhcnJheVRhYmxlTmFtZSBvZiBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5hcnJheXMpKSB7XG4gICAgICBhd2FpdCBkZWxldGVFeGlzdGluZ0FycmF5Um93cyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRJRDogaW5zZXJ0ZWRSb3cuaWQsXG4gICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgYWRhcHRlcixcbiAgICBhcnJheXM6IFtyb3dUb0luc2VydC5hcnJheXNdLFxuICAgIGRiLFxuICAgIHBhcmVudFJvd3M6IFtpbnNlcnRlZFJvd10sXG4gIH0pXG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBJTlNFUlQgaGFzTWFueSBTRUxFQ1RTXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBmb3IgKGNvbnN0IFtzZWxlY3RUYWJsZU5hbWUsIHRhYmxlUm93c10gb2YgT2JqZWN0LmVudHJpZXMoc2VsZWN0c1RvSW5zZXJ0KSkge1xuICAgIGNvbnN0IHNlbGVjdFRhYmxlID0gYWRhcHRlci50YWJsZXNbc2VsZWN0VGFibGVOYW1lXVxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBhd2FpdCBkYi5kZWxldGUoc2VsZWN0VGFibGUpLndoZXJlKGVxKHNlbGVjdFRhYmxlLnBhcmVudCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgIH1cbiAgICBhd2FpdCBkYi5pbnNlcnQoc2VsZWN0VGFibGUpLnZhbHVlcyh0YWJsZVJvd3MpLnJldHVybmluZygpXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFJFVFJJRVZFIE5FV0xZIFVQREFURUQgUk9XXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCBmaW5kTWFueUFyZ3MgPSBidWlsZEZpbmRNYW55QXJncyh7XG4gICAgYWRhcHRlcixcbiAgICBkZXB0aDogMCxcbiAgICBmaWVsZHMsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIGZpbmRNYW55QXJncy53aGVyZSA9IGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGluc2VydGVkUm93LmlkKVxuXG4gIGNvbnN0IGRvYyA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KGZpbmRNYW55QXJncylcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFRSQU5TRk9STSBEQVRBXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm08VD4oe1xuICAgIGNvbmZpZzogYWRhcHRlci5wYXlsb2FkLmNvbmZpZyxcbiAgICBkYXRhOiBkb2MsXG4gICAgZmllbGRzLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cHNlcnRSb3ciLCJpZCIsImFkYXB0ZXIiLCJkYXRhIiwiZGIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJwYXRoIiwidGFibGVOYW1lIiwidXBzZXJ0VGFyZ2V0Iiwid2hlcmUiLCJyb3dUb0luc2VydCIsInRyYW5zZm9ybUZvcldyaXRlIiwiaW5zZXJ0ZWRSb3ciLCJ0YXJnZXQiLCJ0YWJsZXMiLCJyb3ciLCJpbnNlcnQiLCJ2YWx1ZXMiLCJvbkNvbmZsaWN0RG9VcGRhdGUiLCJzZXQiLCJyZXR1cm5pbmciLCJsb2NhbGVzVG9JbnNlcnQiLCJyZWxhdGlvbnNUb0luc2VydCIsIm51bWJlcnNUb0luc2VydCIsImJsb2Nrc1RvSW5zZXJ0Iiwic2VsZWN0c1RvSW5zZXJ0IiwiT2JqZWN0Iiwia2V5cyIsImxvY2FsZXMiLCJsZW5ndGgiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImxvY2FsZSIsImxvY2FsZVJvdyIsIl9wYXJlbnRJRCIsIl9sb2NhbGUiLCJwdXNoIiwicmVsYXRpb25zaGlwcyIsInJlbGF0aW9uIiwicGFyZW50IiwibnVtYmVycyIsIm51bWJlclJvdyIsInNlbGVjdHMiLCJzZWxlY3RUYWJsZU5hbWUiLCJzZWxlY3RSb3dzIiwiYmxvY2tzIiwiYmxvY2tOYW1lIiwiYmxvY2tSb3ciLCJsb2NhbGVUYWJsZSIsImRlbGV0ZSIsImVxIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsImRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCIsImxvY2FsZUNvbHVtbk5hbWUiLCJwYXJlbnRDb2x1bW5OYW1lIiwicGFyZW50SUQiLCJwYXRoQ29sdW1uTmFtZSIsInJvd3MiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJudW1iZXJzVGFibGVOYW1lIiwiaW5zZXJ0ZWRCbG9ja1Jvd3MiLCJibG9ja1Jvd3MiLCJtYXAiLCJpIiwiYmxvY2tMb2NhbGVJbmRleE1hcCIsImJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0IiwicmVkdWNlIiwiYWNjIiwiYmxvY2tMb2NhbGUiLCJibG9ja0xvY2FsZURhdGEiLCJpbnNlcnRBcnJheXMiLCJhcnJheXMiLCJwYXJlbnRSb3dzIiwiYXJyYXlUYWJsZU5hbWUiLCJkZWxldGVFeGlzdGluZ0FycmF5Um93cyIsInRhYmxlUm93cyIsInNlbGVjdFRhYmxlIiwiZmluZE1hbnlBcmdzIiwiYnVpbGRGaW5kTWFueUFyZ3MiLCJkZXB0aCIsImRvYyIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidHJhbnNmb3JtIiwiY29uZmlnIiwicGF5bG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWV2QkE7OztlQUFBQTs7OzRCQVpNO21DQUtlO3NCQUNSO3VCQUNRO3lDQUNNOzBDQUNDOzhCQUNaO0FBRXRCLE1BQU1BLFlBQVksT0FBNkIsRUFDcERDLEVBQUUsRUFDRkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLEVBQUUsRUFDRkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLE9BQU8sRUFBRSxFQUNUQyxTQUFTLEVBQ1RDLFlBQVksRUFDWkMsS0FBSyxFQUNBO0lBQ0wsc0RBQXNEO0lBQ3RELHVEQUF1RDtJQUN2RCxNQUFNQyxjQUFjQyxJQUFBQSx3QkFBaUIsRUFBQztRQUNwQ1Q7UUFDQUU7UUFDQUU7UUFDQUM7SUFDRjtJQUVBLGdDQUFnQztJQUNoQyxJQUFJSztJQUVKLElBQUlQLGNBQWMsVUFBVTtRQUMxQixNQUFNUSxTQUFTTCxnQkFBZ0JQLFFBQVFhLE1BQU0sQ0FBQ1AsVUFBVSxDQUFDUCxFQUFFO1FBRTNELElBQUlBLElBQUk7WUFDTlUsWUFBWUssR0FBRyxDQUFDZixFQUFFLEdBQUdBO1lBQ3BCLENBQUNZLFlBQVksR0FBRyxNQUFNVCxHQUNwQmEsTUFBTSxDQUFDZixRQUFRYSxNQUFNLENBQUNQLFVBQVUsRUFDaENVLE1BQU0sQ0FBQ1AsWUFBWUssR0FBRyxFQUN0Qkcsa0JBQWtCLENBQUM7Z0JBQUVDLEtBQUtULFlBQVlLLEdBQUc7Z0JBQUVGO1lBQU8sR0FDbERPLFNBQVM7UUFDZCxPQUFPO1lBQ0osQ0FBQ1IsWUFBWSxHQUFHLE1BQU1ULEdBQ3BCYSxNQUFNLENBQUNmLFFBQVFhLE1BQU0sQ0FBQ1AsVUFBVSxFQUNoQ1UsTUFBTSxDQUFDUCxZQUFZSyxHQUFHLEVBQ3RCRyxrQkFBa0IsQ0FBQztnQkFBRUMsS0FBS1QsWUFB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
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgdGFibGVOYW1lLFxuICB1cHNlcnRUYXJnZXQsXG4gIHdoZXJlLFxufTogQXJncyk6IFByb21pc2U8VD4gPT4ge1xuICAvLyBTcGxpdCBvdXQgdGhlIGluY29taW5nIGRhdGEgaW50byB0aGUgY29ycmVzcG9uZGluZzpcbiAgLy8gYmFzZSByb3csIGxvY2FsZXMsIHJlbGF0aW9uc2hpcHMsIGJsb2NrcywgYW5kIGFycmF5c1xuICBjb25zdCByb3dUb0luc2VydCA9IHRyYW5zZm9ybUZvcldyaXRlKHtcbiAgICBhZGFwdGVyLFxuICAgIGRhdGEsXG4gICAgZmllbGRzLFxuICAgIHBhdGgsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIC8vIEZpcnN0LCB3ZSBpbnNlcnQgdGhlIG1haW4gcm93XG4gIGxldCBpbnNlcnRlZFJvdzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgIGNvbnN0IHRhcmdldCA9IHVwc2VydFRhcmdldCB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkXG5cbiAgICBpZiAoaWQpIHtcbiAgICAgIHJvd1RvSW5zZXJ0LnJvdy5pZCA9IGlkXG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0IH0pXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH0gZWxzZSB7XG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0LCB3aGVyZSB9KVxuICAgICAgICAucmV0dXJuaW5nKClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgO1tpbnNlcnRlZFJvd10gPSBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSkudmFsdWVzKHJvd1RvSW5zZXJ0LnJvdykucmV0dXJuaW5nKClcbiAgfVxuXG4gIGNvbnN0IGxvY2FsZXNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gIGNvbnN0IHJlbGF0aW9uc1RvSW5zZXJ0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdID0gW11cbiAgY29uc3QgbnVtYmVyc1RvSW5zZXJ0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdID0gW11cbiAgY29uc3QgYmxvY2tzVG9JbnNlcnQ6IHsgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdIH0gPSB7fVxuICBjb25zdCBzZWxlY3RzVG9JbnNlcnQ6IHsgW3NlbGVjdFRhYmxlTmFtZTogc3RyaW5nXTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSB9ID0ge31cblxuICAvLyBJZiB0aGVyZSBhcmUgbG9jYWxlIHJvd3Mgd2l0aCBkYXRhLCBhZGQgdGhlIHBhcmVudCBhbmQgbG9jYWxlIHRvIGVhY2hcbiAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICBPYmplY3QuZW50cmllcyhyb3dUb0luc2VydC5sb2NhbGVzKS5mb3JFYWNoKChbbG9jYWxlLCBsb2NhbGVSb3ddKSA9PiB7XG4gICAgICBsb2NhbGVSb3cuX3BhcmVudElEID0gaW5zZXJ0ZWRSb3cuaWRcbiAgICAgIGxvY2FsZVJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICBsb2NhbGVzVG9JbnNlcnQucHVzaChsb2NhbGVSb3cpXG4gICAgfSlcbiAgfVxuXG4gIC8vIElmIHRoZXJlIGFyZSByZWxhdGlvbnNoaXBzLCBhZGQgcGFyZW50IHRvIGVhY2hcbiAgaWYgKHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgIHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgIHJlbGF0aW9uLnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICByZWxhdGlvbnNUb0luc2VydC5wdXNoKHJlbGF0aW9uKVxuICAgIH0pXG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgbnVtYmVycywgYWRkIHBhcmVudCB0byBlYWNoXG4gIGlmIChyb3dUb0luc2VydC5udW1iZXJzLmxlbmd0aCA+IDApIHtcbiAgICByb3dUb0luc2VydC5udW1iZXJzLmZvckVhY2goKG51bWJlclJvdykgPT4ge1xuICAgICAgbnVtYmVyUm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICBudW1iZXJzVG9JbnNlcnQucHVzaChudW1iZXJSb3cpXG4gICAgfSlcbiAgfVxuXG4gIC8vIElmIHRoZXJlIGFyZSBzZWxlY3RzLCBhZGQgcGFyZW50IHRvIGVhY2gsIGFuZCB0aGVuXG4gIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmxlbmd0aCA+IDApIHtcbiAgICBPYmplY3QuZW50cmllcyhyb3dUb0luc2VydC5zZWxlY3RzKS5mb3JFYWNoKChbc2VsZWN0VGFibGVOYW1lLCBzZWxlY3RSb3dzXSkgPT4ge1xuICAgICAgc2VsZWN0Um93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgcm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGlmICghc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdID0gW11cbiAgICAgICAgc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0ucHVzaChyb3cpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgYmxvY2tzLCBhZGQgcGFyZW50IHRvIGVhY2gsIGFuZCB0aGVuXG4gIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgT2JqZWN0LmtleXMocm93VG9JbnNlcnQuYmxvY2tzKS5mb3JFYWNoKChibG9ja05hbWUpID0+IHtcbiAgICByb3dUb0luc2VydC5ibG9ja3NbYmxvY2tOYW1lXS5mb3JFYWNoKChibG9ja1JvdykgPT4ge1xuICAgICAgYmxvY2tSb3cucm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICBpZiAoIWJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0pIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0gPSBbXVxuICAgICAgaWYgKGJsb2NrUm93LnJvdy51dWlkKSB7XG4gICAgICAgIGRlbGV0ZSBibG9ja1Jvdy5yb3cudXVpZFxuICAgICAgfVxuICAgICAgYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXS5wdXNoKGJsb2NrUm93KVxuICAgIH0pXG4gIH0pXG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBJTlNFUlQgTE9DQUxFU1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgaWYgKGxvY2FsZXNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgbG9jYWxlVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRiLmRlbGV0ZShsb2NhbGVUYWJsZSkud2hlcmUoZXEobG9jYWxlVGFibGUuX3BhcmVudElELCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgfVxuXG4gICAgYXdhaXQgZGIuaW5zZXJ0KGxvY2FsZVRhYmxlKS52YWx1ZXMobG9jYWxlc1RvSW5zZXJ0KVxuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBJTlNFUlQgUkVMQVRJT05TSElQU1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fcmVsc2BcblxuICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICBhZGFwdGVyLFxuICAgICAgZGIsXG4gICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgIHBhcmVudENvbHVtbk5hbWU6ICdwYXJlbnQnLFxuICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgIHJvd3M6IFsuLi5yZWxhdGlvbnNUb0luc2VydCwgLi4ucm93VG9JbnNlcnQucmVsYXRpb25zaGlwc1RvRGVsZXRlXSxcbiAgICAgIHRhYmxlTmFtZTogcmVsYXRpb25zaGlwc1RhYmxlTmFtZSxcbiAgICB9KVxuICB9XG5cbiAgaWYgKHJlbGF0aW9uc1RvSW5zZXJ0Lmxlbmd0aCA+IDApIHtcbiAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0pLnZhbHVlcyhyZWxhdGlvbnNUb0luc2VydClcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSU5TRVJUIGhhc01hbnkgTlVNQkVSU1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgbnVtYmVyc1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fbnVtYmVyc2BcblxuICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICBhZGFwdGVyLFxuICAgICAgZGIsXG4gICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgIHBhcmVudENvbHVtbk5hbWU6ICdwYXJlbnQnLFxuICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgIHJvd3M6IG51bWJlcnNUb0luc2VydCxcbiAgICAgIHRhYmxlTmFtZTogbnVtYmVyc1RhYmxlTmFtZSxcbiAgICB9KVxuICB9XG5cbiAgaWYgKG51bWJlcnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgYXdhaXQgZGIuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdKS52YWx1ZXMobnVtYmVyc1RvSW5zZXJ0KS5yZXR1cm5pbmcoKVxuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBJTlNFUlQgQkxPQ0tTXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCBpbnNlcnRlZEJsb2NrUm93czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gIGZvciAoY29uc3QgW2Jsb2NrTmFtZSwgYmxvY2tSb3dzXSBvZiBPYmplY3QuZW50cmllcyhibG9ja3NUb0luc2VydCkpIHtcbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdfcGF0aCcsXG4gICAgICAgIHJvd3M6IGJsb2NrUm93cy5tYXAoKHsgcm93IH0pID0+IHJvdyksXG4gICAgICAgIHRhYmxlTmFtZTogYCR7dGFibGVOYW1lfV9ibG9ja3NfJHtibG9ja05hbWV9YCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXSA9IGF3YWl0IGRiXG4gICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tOYW1lfWBdKVxuICAgICAgLnZhbHVlcyhibG9ja1Jvd3MubWFwKCh7IHJvdyB9KSA9PiByb3cpKVxuICAgICAgLnJldHVybmluZygpXG5cbiAgICBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgYmxvY2tSb3dzW2ldLnJvdyA9IHJvd1xuICAgIH0pXG5cbiAgICBjb25zdCBibG9ja0xvY2FsZUluZGV4TWFwOiBudW1iZXJbXSA9IFtdXG5cbiAgICBjb25zdCBibG9ja0xvY2FsZVJvd3NUb0luc2VydCA9IGJsb2NrUm93cy5yZWR1Y2UoKGFjYywgYmxvY2tSb3csIGkpID0+IHtcbiAgICAgIGlmIChPYmplY3QuZW50cmllcyhibG9ja1Jvdy5sb2NhbGVzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGJsb2NrUm93LmxvY2FsZXMpLmZvckVhY2goKFtibG9ja0xvY2FsZSwgYmxvY2tMb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhibG9ja0xvY2FsZURhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGJsb2NrTG9jYWxlRGF0YS5fcGFyZW50SUQgPSBibG9ja1Jvdy5yb3cuaWRcbiAgICAgICAgICAgIGJsb2NrTG9jYWxlRGF0YS5fbG9jYWxlID0gYmxvY2tMb2NhbGVcbiAgICAgICAgICAgIGFjYy5wdXNoKGJsb2NrTG9jYWxlRGF0YSlcbiAgICAgICAgICAgIGJsb2NrTG9jYWxlSW5kZXhNYXAucHVzaChpKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIFtdKVxuXG4gICAgaWYgKGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9ibG9ja3NfJHtibG9ja05hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgLnZhbHVlcyhibG9ja0xvY2FsZVJvd3NUb0luc2VydClcbiAgICAgICAgLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBhcnJheXM6IGJsb2NrUm93cy5tYXAoKHsgYXJyYXlzIH0pID0+IGFycmF5cyksXG4gICAgICBkYixcbiAgICAgIHBhcmVudFJvd3M6IGluc2VydGVkQmxvY2tSb3dzW2Jsb2NrTmFtZV0sXG4gICAgfSlcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSU5TRVJUIEFSUkFZUyBSRUNVUlNJVkVMWVxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICBmb3IgKGNvbnN0IGFycmF5VGFibGVOYW1lIG9mIE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmFycmF5cykpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nQXJyYXlSb3dzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgdGFibGVOYW1lOiBhcnJheVRhYmxlTmFtZSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICBhZGFwdGVyLFxuICAgIGFycmF5czogW3Jvd1RvSW5zZXJ0LmFycmF5c10sXG4gICAgZGIsXG4gICAgcGFyZW50Um93czogW2luc2VydGVkUm93XSxcbiAgfSlcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIElOU0VSVCBoYXNNYW55IFNFTEVDVFNcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGZvciAoY29uc3QgW3NlbGVjdFRhYmxlTmFtZSwgdGFibGVSb3dzXSBvZiBPYmplY3QuZW50cmllcyhzZWxlY3RzVG9JbnNlcnQpKSB7XG4gICAgY29uc3Qgc2VsZWN0VGFibGUgPSBhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRiLmRlbGV0ZShzZWxlY3RUYWJsZSkud2hlcmUoZXEoc2VsZWN0VGFibGUucGFyZW50LCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgfVxuICAgIGF3YWl0IGRiLmluc2VydChzZWxlY3RUYWJsZSkudmFsdWVzKHRhYmxlUm93cykucmV0dXJuaW5nKClcbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gUkVUUklFVkUgTkVXTFkgVVBEQVRFRCBST1dcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGNvbnN0IGZpbmRNYW55QXJncyA9IGJ1aWxkRmluZE1hbnlBcmdzKHtcbiAgICBhZGFwdGVyLFxuICAgIGRlcHRoOiAwLFxuICAgIGZpZWxkcyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgZmluZE1hbnlBcmdzLndoZXJlID0gZXEoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCwgaW5zZXJ0ZWRSb3cuaWQpXG5cbiAgY29uc3QgZG9jID0gYXdhaXQgZGIucXVlcnlbdGFibGVOYW1lXS5maW5kRmlyc3QoZmluZE1hbnlBcmdzKVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gVFJBTlNGT1JNIERBVEFcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIGNvbnN0IHJlc3VsdCA9IHRyYW5zZm9ybTxUPih7XG4gICAgY29uZmlnOiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLFxuICAgIGRhdGE6IGRvYyxcbiAgICBmaWVsZHMsXG4gIH0pXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbInVwc2VydFJvdyIsImlkIiwiYWRhcHRlciIsImRhdGEiLCJkYiIsImZpZWxkcyIsIm9wZXJhdGlvbiIsInBhdGgiLCJ0YWJsZU5hbWUiLCJ1cHNlcnRUYXJnZXQiLCJ3aGVyZSIsInJvd1RvSW5zZXJ0IiwidHJhbnNmb3JtRm9yV3JpdGUiLCJpbnNlcnRlZFJvdyIsInRhcmdldCIsInRhYmxlcyIsInJvdyIsImluc2VydCIsInZhbHVlcyIsIm9uQ29uZmxpY3REb1VwZGF0ZSIsInNldCIsInJldHVybmluZyIsImxvY2FsZXNUb0luc2VydCIsInJlbGF0aW9uc1RvSW5zZXJ0IiwibnVtYmVyc1RvSW5zZXJ0IiwiYmxvY2tzVG9JbnNlcnQiLCJzZWxlY3RzVG9JbnNlcnQiLCJPYmplY3QiLCJrZXlzIiwibG9jYWxlcyIsImxlbmd0aCIsImVudHJpZXMiLCJmb3JFYWNoIiwibG9jYWxlIiwibG9jYWxlUm93IiwiX3BhcmVudElEIiwiX2xvY2FsZSIsInB1c2giLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb24iLCJwYXJlbnQiLCJudW1iZXJzIiwibnVtYmVyUm93Iiwic2VsZWN0cyIsInNlbGVjdFRhYmxlTmFtZSIsInNlbGVjdFJvd3MiLCJibG9ja3MiLCJibG9ja05hbWUiLCJibG9ja1JvdyIsInV1aWQiLCJsb2NhbGVUYWJsZSIsImRlbGV0ZSIsImVxIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsImRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCIsImxvY2FsZUNvbHVtbk5hbWUiLCJwYXJlbnRDb2x1bW5OYW1lIiwicGFyZW50SUQiLCJwYXRoQ29sdW1uTmFtZSIsInJvd3MiLCJyZWxhdGlvbnNoaXBzVG9EZWxldGUiLCJudW1iZXJzVGFibGVOYW1lIiwiaW5zZXJ0ZWRCbG9ja1Jvd3MiLCJibG9ja1Jvd3MiLCJtYXAiLCJpIiwiYmxvY2tMb2NhbGVJbmRleE1hcCIsImJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0IiwicmVkdWNlIiwiYWNjIiwiYmxvY2tMb2NhbGUiLCJibG9ja0xvY2FsZURhdGEiLCJpbnNlcnRBcnJheXMiLCJhcnJheXMiLCJwYXJlbnRSb3dzIiwiYXJyYXlUYWJsZU5hbWUiLCJkZWxldGVFeGlzdGluZ0FycmF5Um93cyIsInRhYmxlUm93cyIsInNlbGVjdFRhYmxlIiwiZmluZE1hbnlBcmdzIiwiYnVpbGRGaW5kTWFueUFyZ3MiLCJkZXB0aCIsImRvYyIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidHJhbnNmb3JtIiwiY29uZmlnIiwicGF5bG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWV2QkE7OztlQUFBQTs7OzRCQVpNO21DQUtlO3NCQUNSO3VCQUNRO3lDQUNNOzBDQUNDOzhCQUNaO0FBRXRCLE1BQU1BLFlBQVksT0FBNkIsRUFDcERDLEVBQUUsRUFDRkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLEVBQUUsRUFDRkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLE9BQU8sRUFBRSxFQUNUQyxTQUFTLEVBQ1RDLFlBQVksRUFDWkMsS0FBSyxFQUNBO0lBQ0wsc0RBQXNEO0lBQ3RELHVEQUF1RDtJQUN2RCxNQUFNQyxjQUFjQyxJQUFBQSx3QkFBaUIsRUFBQztRQUNwQ1Y7UUFDQUM7UUFDQUU7UUFDQUU7UUFDQUM7SUFDRjtJQUVBLGdDQUFnQztJQUNoQyxJQUFJSztJQUVKLElBQUlQLGNBQWMsVUFBVTtRQUMxQixNQUFNUSxTQUFTTCxnQkFBZ0JQLFFBQVFhLE1BQU0sQ0FBQ1AsVUFBVSxDQUFDUCxFQUFFO1FBRTNELElBQUlBLElBQUk7WUFDTlUsWUFBWUssR0FBRyxDQUFDZixFQUFFLEdBQUdBO1lBQ3BCLENBQUNZLFlBQVksR0FBRyxNQUFNVCxHQUNwQmEsTUFBTSxDQUFDZixRQUFRYSxNQUFNLENBQUNQLFVBQVUsRUFDaENVLE1BQU0sQ0FBQ1AsWUFBWUssR0FBRyxFQUN0Qkcsa0JBQWtCLENBQUM7Z0JBQUVDLEtBQUtULFlBQVlLLEdBQUc7Z0JBQUVGO1lBQU8sR0FDbERPLFNBQVM7UUFDZCxPQUFPO1lBQ0osQ0FBQ1IsWUFBWSxHQUFHLE1BQU1ULEdB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
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.10",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
6
6
|
"license": "MIT",
|
@@ -24,8 +24,11 @@
|
|
24
24
|
"devDependencies": {
|
25
25
|
"@types/pg": "8.10.2",
|
26
26
|
"@types/to-snake-case": "1.0.0",
|
27
|
-
"
|
28
|
-
"
|
27
|
+
"payload": "2.0.11",
|
28
|
+
"@payloadcms/eslint-config": "1.0.0"
|
29
|
+
},
|
30
|
+
"peerDependencies": {
|
31
|
+
"payload": "^2.0.0"
|
29
32
|
},
|
30
33
|
"publishConfig": {
|
31
34
|
"registry": "https://registry.npmjs.org/"
|