parse-server 9.9.0 → 9.9.1-alpha.1
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/lib/GraphQL/helpers/objectsMutations.js +3 -3
- package/lib/GraphQL/helpers/objectsQueries.js +4 -4
- package/lib/GraphQL/loaders/usersQueries.js +2 -2
- package/lib/RestQuery.js +5 -10
- package/lib/RestWrite.js +3 -8
- package/lib/Routers/AggregateRouter.js +2 -2
- package/lib/Routers/AudiencesRouter.js +2 -2
- package/lib/Routers/ClassesRouter.js +5 -5
- package/lib/Routers/IAPValidationRouter.js +2 -2
- package/lib/Routers/InstallationsRouter.js +2 -2
- package/lib/Routers/SessionsRouter.js +4 -4
- package/lib/Routers/UsersRouter.js +7 -7
- package/lib/middlewares.js +2 -13
- package/lib/rest.js +10 -12
- package/package.json +1 -1
- package/lib/ClientSDK.js +0 -39
|
@@ -10,7 +10,7 @@ const createObject = async (className, fields, config, auth, info) => {
|
|
|
10
10
|
if (!fields) {
|
|
11
11
|
fields = {};
|
|
12
12
|
}
|
|
13
|
-
return (await _rest.default.create(config, auth, className, fields, info.
|
|
13
|
+
return (await _rest.default.create(config, auth, className, fields, info.context)).response;
|
|
14
14
|
};
|
|
15
15
|
exports.createObject = createObject;
|
|
16
16
|
const updateObject = async (className, objectId, fields, config, auth, info) => {
|
|
@@ -19,7 +19,7 @@ const updateObject = async (className, objectId, fields, config, auth, info) =>
|
|
|
19
19
|
}
|
|
20
20
|
return (await _rest.default.update(config, auth, className, {
|
|
21
21
|
objectId
|
|
22
|
-
}, fields, info.
|
|
22
|
+
}, fields, info.context)).response;
|
|
23
23
|
};
|
|
24
24
|
exports.updateObject = updateObject;
|
|
25
25
|
const deleteObject = async (className, objectId, config, auth, info) => {
|
|
@@ -27,4 +27,4 @@ const deleteObject = async (className, objectId, config, auth, info) => {
|
|
|
27
27
|
return true;
|
|
28
28
|
};
|
|
29
29
|
exports.deleteObject = deleteObject;
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY3JlYXRlT2JqZWN0IiwiY2xhc3NOYW1lIiwiZmllbGRzIiwiY29uZmlnIiwiYXV0aCIsImluZm8iLCJyZXN0IiwiY3JlYXRlIiwiY29udGV4dCIsInJlc3BvbnNlIiwiZXhwb3J0cyIsInVwZGF0ZU9iamVjdCIsIm9iamVjdElkIiwidXBkYXRlIiwiZGVsZXRlT2JqZWN0IiwiZGVsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0dyYXBoUUwvaGVscGVycy9vYmplY3RzTXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByZXN0IGZyb20gJy4uLy4uL3Jlc3QnO1xuXG5jb25zdCBjcmVhdGVPYmplY3QgPSBhc3luYyAoY2xhc3NOYW1lLCBmaWVsZHMsIGNvbmZpZywgYXV0aCwgaW5mbykgPT4ge1xuICBpZiAoIWZpZWxkcykge1xuICAgIGZpZWxkcyA9IHt9O1xuICB9XG5cbiAgcmV0dXJuIChhd2FpdCByZXN0LmNyZWF0ZShjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgZmllbGRzLCBpbmZvLmNvbnRleHQpKS5yZXNwb25zZTtcbn07XG5cbmNvbnN0IHVwZGF0ZU9iamVjdCA9IGFzeW5jIChjbGFzc05hbWUsIG9iamVjdElkLCBmaWVsZHMsIGNvbmZpZywgYXV0aCwgaW5mbykgPT4ge1xuICBpZiAoIWZpZWxkcykge1xuICAgIGZpZWxkcyA9IHt9O1xuICB9XG5cbiAgcmV0dXJuIChhd2FpdCByZXN0LnVwZGF0ZShjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgeyBvYmplY3RJZCB9LCBmaWVsZHMsIGluZm8uY29udGV4dCkpLnJlc3BvbnNlO1xufTtcblxuY29uc3QgZGVsZXRlT2JqZWN0ID0gYXN5bmMgKGNsYXNzTmFtZSwgb2JqZWN0SWQsIGNvbmZpZywgYXV0aCwgaW5mbykgPT4ge1xuICBhd2FpdCByZXN0LmRlbChjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgb2JqZWN0SWQsIGluZm8uY29udGV4dCk7XG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IHsgY3JlYXRlT2JqZWN0LCB1cGRhdGVPYmplY3QsIGRlbGV0ZU9iamVjdCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOEIsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFOUIsTUFBTUcsWUFBWSxHQUFHLE1BQUFBLENBQU9DLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxLQUFLO0VBQ3BFLElBQUksQ0FBQ0gsTUFBTSxFQUFFO0lBQ1hBLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDYjtFQUVBLE9BQU8sQ0FBQyxNQUFNSSxhQUFJLENBQUNDLE1BQU0sQ0FBQ0osTUFBTSxFQUFFQyxJQUFJLEVBQUVILFNBQVMsRUFBRUMsTUFBTSxFQUFFRyxJQUFJLENBQUNHLE9BQU8sQ0FBQyxFQUFFQyxRQUFRO0FBQ3BGLENBQUM7QUFBQ0MsT0FBQSxDQUFBVixZQUFBLEdBQUFBLFlBQUE7QUFFRixNQUFNVyxZQUFZLEdBQUcsTUFBQUEsQ0FBT1YsU0FBUyxFQUFFVyxRQUFRLEVBQUVWLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksS0FBSztFQUM5RSxJQUFJLENBQUNILE1BQU0sRUFBRTtJQUNYQSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0VBQ2I7RUFFQSxPQUFPLENBQUMsTUFBTUksYUFBSSxDQUFDTyxNQUFNLENBQUNWLE1BQU0sRUFBRUMsSUFBSSxFQUFFSCxTQUFTLEVBQUU7SUFBRVc7RUFBUyxDQUFDLEVBQUVWLE1BQU0sRUFBRUcsSUFBSSxDQUFDRyxPQUFPLENBQUMsRUFBRUMsUUFBUTtBQUNsRyxDQUFDO0FBQUNDLE9BQUEsQ0FBQUMsWUFBQSxHQUFBQSxZQUFBO0FBRUYsTUFBTUcsWUFBWSxHQUFHLE1BQUFBLENBQU9iLFNBQVMsRUFBRVcsUUFBUSxFQUFFVCxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxLQUFLO0VBQ3RFLE1BQU1DLGFBQUksQ0FBQ1MsR0FBRyxDQUFDWixNQUFNLEVBQUVDLElBQUksRUFBRUgsU0FBUyxFQUFFVyxRQUFRLEVBQUVQLElBQUksQ0FBQ0csT0FBTyxDQUFDO0VBQy9ELE9BQU8sSUFBSTtBQUNiLENBQUM7QUFBQ0UsT0FBQSxDQUFBSSxZQUFBLEdBQUFBLFlBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -50,7 +50,7 @@ const getObject = async (className, objectId, keys, include, readPreference, inc
|
|
|
50
50
|
if (readPreference) {
|
|
51
51
|
options.readPreference = readPreference;
|
|
52
52
|
}
|
|
53
|
-
const response = await _rest.default.get(config, auth, className, objectId, options, info.
|
|
53
|
+
const response = await _rest.default.get(config, auth, className, objectId, options, info.context);
|
|
54
54
|
if (!response.results || response.results.length == 0) {
|
|
55
55
|
throw new _node.default.Error(_node.default.Error.OBJECT_NOT_FOUND, 'Object not found.');
|
|
56
56
|
}
|
|
@@ -86,7 +86,7 @@ const findObjects = async (className, where, order, skipInput, first, after, las
|
|
|
86
86
|
if (Object.keys(where).length > 0 && subqueryReadPreference) {
|
|
87
87
|
preCountOptions.subqueryReadPreference = subqueryReadPreference;
|
|
88
88
|
}
|
|
89
|
-
preCount = (await _rest.default.find(config, auth, className, where, preCountOptions, info.
|
|
89
|
+
preCount = (await _rest.default.find(config, auth, className, where, preCountOptions, info.context)).count;
|
|
90
90
|
if ((skip || 0) + limit < preCount) {
|
|
91
91
|
skip = preCount - limit;
|
|
92
92
|
}
|
|
@@ -136,7 +136,7 @@ const findObjects = async (className, where, order, skipInput, first, after, las
|
|
|
136
136
|
}
|
|
137
137
|
let results, count;
|
|
138
138
|
if (options.count || !options.limit || options.limit && options.limit > 0) {
|
|
139
|
-
const findResult = await _rest.default.find(config, auth, className, where, options, info.
|
|
139
|
+
const findResult = await _rest.default.find(config, auth, className, where, options, info.context);
|
|
140
140
|
results = findResult.results;
|
|
141
141
|
count = findResult.count;
|
|
142
142
|
}
|
|
@@ -243,4 +243,4 @@ const calculateSkipAndLimit = (skipInput, first, after, last, before, maxLimit)
|
|
|
243
243
|
};
|
|
244
244
|
};
|
|
245
245
|
exports.calculateSkipAndLimit = calculateSkipAndLimit;
|
|
246
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWxSZWxheSIsIl9yZXN0IiwiX3F1ZXJ5IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibmVlZFRvR2V0QWxsS2V5cyIsImZpZWxkcyIsImtleXMiLCJwYXJzZUNsYXNzZXMiLCJzcGxpdCIsInNvbWUiLCJrZXlOYW1lIiwia2V5IiwidHlwZSIsInN1YkNsYXNzIiwidGFyZ2V0Q2xhc3MiLCJleHBvcnRzIiwiZ2V0T2JqZWN0IiwiY2xhc3NOYW1lIiwib2JqZWN0SWQiLCJpbmNsdWRlIiwicmVhZFByZWZlcmVuY2UiLCJpbmNsdWRlUmVhZFByZWZlcmVuY2UiLCJjb25maWciLCJhdXRoIiwiaW5mbyIsIm9wdGlvbnMiLCJjb25zb2xlIiwiZXJyb3IiLCJyZXNwb25zZSIsInJlc3QiLCJnZXQiLCJjbGllbnRTREsiLCJjb250ZXh0IiwicmVzdWx0cyIsImxlbmd0aCIsIlBhcnNlIiwiRXJyb3IiLCJPQkpFQ1RfTk9UX0ZPVU5EIiwib2JqZWN0Iiwic2Vzc2lvblRva2VuIiwiZmluZE9iamVjdHMiLCJ3aGVyZSIsIm9yZGVyIiwic2tpcElucHV0IiwiZmlyc3QiLCJhZnRlciIsImxhc3QiLCJiZWZvcmUiLCJpbmNsdWRlQWxsIiwic3VicXVlcnlSZWFkUHJlZmVyZW5jZSIsInNlbGVjdGVkRmllbGRzIiwidHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UiLCJza2lwQW5kTGltaXRDYWxjdWxhdGlvbiIsImNhbGN1bGF0ZVNraXBBbmRMaW1pdCIsIm1heExpbWl0Iiwic2tpcCIsImxpbWl0IiwibmVlZFRvUHJlQ291bnQiLCJwcmVDb3VudCIsInVuZGVmaW5lZCIsInByZUNvdW50T3B0aW9ucyIsImNvdW50IiwiT2JqZWN0IiwiZmluZCIsImZpZWxkIiwic3RhcnRzV2l0aCIsImluY2x1ZGVzIiwiZmluZFJlc3VsdCIsImVkZ2VzIiwicGFnZUluZm8iLCJtYXAiLCJyZXN1bHQiLCJpbmRleCIsImN1cnNvciIsIm9mZnNldFRvQ3Vyc29yIiwibm9kZSIsImhhc1ByZXZpb3VzUGFnZSIsInN0YXJ0Q3Vyc29yIiwiZW5kQ3Vyc29yIiwiaGFzTmV4dFBhZ2UiLCJJTlZBTElEX1FVRVJZIiwiY3Vyc29yVG9PZmZzZXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9oZWxwZXJzL29iamVjdHNRdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IG9mZnNldFRvQ3Vyc29yLCBjdXJzb3JUb09mZnNldCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy9xdWVyeSc7XG5cbi8vIEVzbGludC9QcmV0dGllciBjb25mbGljdFxuLyogZXNsaW50LWRpc2FibGUqL1xuY29uc3QgbmVlZFRvR2V0QWxsS2V5cyA9IChmaWVsZHMsIGtleXMsIHBhcnNlQ2xhc3NlcykgPT5cbiAga2V5c1xuICAgID8ga2V5cy5zcGxpdCgnLCcpLnNvbWUoa2V5TmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGtleU5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgaWYgKGZpZWxkc1trZXlbMF1dKSB7XG4gICAgICAgICAgaWYgKGZpZWxkc1trZXlbMF1dLnR5cGUgPT09ICdSZWxhdGlvbicpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICBpZiAoZmllbGRzW2tleVswXV0udHlwZSA9PT0gJ1BvaW50ZXInKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJDbGFzcyA9IHBhcnNlQ2xhc3Nlc1tmaWVsZHNba2V5WzBdXS50YXJnZXRDbGFzc107XG4gICAgICAgICAgICBpZiAoc3ViQ2xhc3MgJiYgc3ViQ2xhc3MuZmllbGRzW2tleVsxXV0pIHtcbiAgICAgICAgICAgICAgLy8gQ3VycmVudCBzdWIga2V5IGlzIG5vdCBjdXN0b21cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAha2V5WzFdIHx8XG4gICAgICAgICAgICBmaWVsZHNba2V5WzBdXS50eXBlID09PSAnQXJyYXknIHx8XG4gICAgICAgICAgICBmaWVsZHNba2V5WzBdXS50eXBlID09PSAnT2JqZWN0J1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgaXMgbm90IGN1c3RvbVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBLZXkgbm90IGZvdW5kIGludG8gUGFyc2UgU2NoZW1hIHNvIGl0J3MgY3VzdG9tXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICA6IHRydWU7XG4vKiBlc2xpbnQtZW5hYmxlKi9cblxuY29uc3QgZ2V0T2JqZWN0ID0gYXN5bmMgKFxuICBjbGFzc05hbWUsXG4gIG9iamVjdElkLFxuICBrZXlzLFxuICBpbmNsdWRlLFxuICByZWFkUHJlZmVyZW5jZSxcbiAgaW5jbHVkZVJlYWRQcmVmZXJlbmNlLFxuICBjb25maWcsXG4gIGF1dGgsXG4gIGluZm8sXG4gIHBhcnNlQ2xhc3Nlc1xuKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcbiAgdHJ5IHtcbiAgICBpZiAoIW5lZWRUb0dldEFsbEtleXMocGFyc2VDbGFzc2VzW2NsYXNzTmFtZV0uZmllbGRzLCBrZXlzLCBwYXJzZUNsYXNzZXMpKSB7XG4gICAgICBvcHRpb25zLmtleXMgPSBrZXlzO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihlKTtcbiAgfVxuICBpZiAoaW5jbHVkZSkge1xuICAgIG9wdGlvbnMuaW5jbHVkZSA9IGluY2x1ZGU7XG4gICAgaWYgKGluY2x1ZGVSZWFkUHJlZmVyZW5jZSkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBpbmNsdWRlUmVhZFByZWZlcmVuY2U7XG4gICAgfVxuICB9XG4gIGlmIChyZWFkUHJlZmVyZW5jZSkge1xuICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSByZWFkUHJlZmVyZW5jZTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVzdC5nZXQoXG4gICAgY29uZmlnLFxuICAgIGF1dGgsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9iamVjdElkLFxuICAgIG9wdGlvbnMsXG4gICAgaW5mby5jbGllbnRTREssXG4gICAgaW5mby5jb250ZXh0XG4gICk7XG5cbiAgaWYgKCFyZXNwb25zZS5yZXN1bHRzIHx8IHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoID09IDApIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ09iamVjdCBub3QgZm91bmQuJyk7XG4gIH1cblxuICBjb25zdCBvYmplY3QgPSByZXNwb25zZS5yZXN1bHRzWzBdO1xuICBpZiAoY2xhc3NOYW1lID09PSAnX1VzZXInKSB7XG4gICAgZGVsZXRlIG9iamVjdC5zZXNzaW9uVG9rZW47XG4gIH1cbiAgcmV0dXJuIG9iamVjdDtcbn07XG5cbmNvbnN0IGZpbmRPYmplY3RzID0gYXN5bmMgKFxuICBjbGFzc05hbWUsXG4gIHdoZXJlLFxuICBvcmRlcixcbiAgc2tpcElucHV0LFxuICBmaXJzdCxcbiAgYWZ0ZXIsXG4gIGxhc3QsXG4gIGJlZm9yZSxcbiAga2V5cyxcbiAgaW5jbHVkZSxcbiAgaW5jbHVkZUFsbCxcbiAgcmVhZFByZWZlcmVuY2UsXG4gIGluY2x1ZGVSZWFkUHJlZmVyZW5jZSxcbiAgc3VicXVlcnlSZWFkUHJlZmVyZW5jZSxcbiAgY29uZmlnLFxuICBhdXRoLFxuICBpbmZvLFxuICBzZWxlY3RlZEZpZWxkcyxcbiAgcGFyc2VDbGFzc2VzXG4pID0+IHtcbiAgaWYgKCF3aGVyZSkge1xuICAgIHdoZXJlID0ge307XG4gIH1cbiAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2Uod2hlcmUsIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKTtcbiAgY29uc3Qgc2tpcEFuZExpbWl0Q2FsY3VsYXRpb24gPSBjYWxjdWxhdGVTa2lwQW5kTGltaXQoXG4gICAgc2tpcElucHV0LFxuICAgIGZpcnN0LFxuICAgIGFmdGVyLFxuICAgIGxhc3QsXG4gICAgYmVmb3JlLFxuICAgIGNvbmZpZy5tYXhMaW1pdFxuICApO1xuICBsZXQgeyBza2lwIH0gPSBza2lwQW5kTGltaXRDYWxjdWxhdGlvbjtcbiAgY29uc3QgeyBsaW1pdCwgbmVlZFRvUHJlQ291bnQgfSA9IHNraXBBbmRMaW1pdENhbGN1bGF0aW9uO1xuICBsZXQgcHJlQ291bnQgPSB1bmRlZmluZWQ7XG4gIGlmIChuZWVkVG9QcmVDb3VudCkge1xuICAgIGNvbnN0IHByZUNvdW50T3B0aW9ucyA9IHtcbiAgICAgIGxpbWl0OiAwLFxuICAgICAgY291bnQ6IHRydWUsXG4gICAgfTtcbiAgICBpZiAocmVhZFByZWZlcmVuY2UpIHtcbiAgICAgIHByZUNvdW50T3B0aW9ucy5yZWFkUHJlZmVyZW5jZSA9IHJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXMod2hlcmUpLmxlbmd0aCA+IDAgJiYgc3VicXVlcnlSZWFkUHJlZmVyZW5jZSkge1xuICAgICAgcHJlQ291bnRPcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBzdWJxdWVyeVJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBwcmVDb3VudCA9IChcbiAgICAgIGF3YWl0IHJlc3QuZmluZChjb25maWcsIGF1dGgsIGNsYXNzTmFtZSwgd2hlcmUsIHByZUNvdW50T3B0aW9ucywgaW5mby5jbGllbnRTREssIGluZm8uY29udGV4dClcbiAgICApLmNvdW50O1xuICAgIGlmICgoc2tpcCB8fCAwKSArIGxpbWl0IDwgcHJlQ291bnQpIHtcbiAgICAgIHNraXAgPSBwcmVDb3VudCAtIGxpbWl0O1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICBpZiAoc2VsZWN0ZWRGaWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5zdGFydHNXaXRoKCdlZGdlcy4nKSB8fCBmaWVsZC5zdGFydHNXaXRoKCdwYWdlSW5mby4nKSkpIHtcbiAgICBpZiAobGltaXQgfHwgbGltaXQgPT09IDApIHtcbiAgICAgIG9wdGlvbnMubGltaXQgPSBsaW1pdDtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5saW1pdCA9IDEwMDtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubGltaXQgIT09IDApIHtcbiAgICAgIGlmIChvcmRlcikge1xuICAgICAgICBvcHRpb25zLm9yZGVyID0gb3JkZXI7XG4gICAgICB9XG4gICAgICBpZiAoc2tpcCkge1xuICAgICAgICBvcHRpb25zLnNraXAgPSBza2lwO1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5tYXhMaW1pdCAmJiBvcHRpb25zLmxpbWl0ID4gY29uZmlnLm1heExpbWl0KSB7XG4gICAgICAgIC8vIFNpbGVudGx5IHJlcGxhY2UgdGhlIGxpbWl0IG9uIHRoZSBxdWVyeSB3aXRoIHRoZSBtYXggY29uZmlndXJlZFxuICAgICAgICBvcHRpb25zLmxpbWl0ID0gY29uZmlnLm1heExpbWl0O1xuICAgICAgfVxuICAgICAgaWYgKCFuZWVkVG9HZXRBbGxLZXlzKHBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdLmZpZWxkcywga2V5cywgcGFyc2VDbGFzc2VzKSkge1xuICAgICAgICBvcHRpb25zLmtleXMgPSBrZXlzO1xuICAgICAgfVxuICAgICAgaWYgKGluY2x1ZGVBbGwgPT09IHRydWUpIHtcbiAgICAgICAgb3B0aW9ucy5pbmNsdWRlQWxsID0gaW5jbHVkZUFsbDtcbiAgICAgIH1cbiAgICAgIGlmICghb3B0aW9ucy5pbmNsdWRlQWxsICYmIGluY2x1ZGUpIHtcbiAgICAgICAgb3B0aW9ucy5pbmNsdWRlID0gaW5jbHVkZTtcbiAgICAgIH1cbiAgICAgIGlmICgob3B0aW9ucy5pbmNsdWRlQWxsIHx8IG9wdGlvbnMuaW5jbHVkZSkgJiYgaW5jbHVkZVJlYWRQcmVmZXJlbmNlKSB7XG4gICAgICAgIG9wdGlvbnMuaW5jbHVkZVJlYWRQcmVmZXJlbmNlID0gaW5jbHVkZVJlYWRQcmVmZXJlbmNlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvcHRpb25zLmxpbWl0ID0gMDtcbiAgfVxuXG4gIGlmIChcbiAgICAoc2VsZWN0ZWRGaWVsZHMuaW5jbHVkZXMoJ2NvdW50JykgfHxcbiAgICAgIHNlbGVjdGVkRmllbGRzLmluY2x1ZGVzKCdwYWdlSW5mby5oYXNQcmV2aW91c1BhZ2UnKSB8fFxuICAgICAgc2VsZWN0ZWRGaWVsZHMuaW5jbHVkZXMoJ3BhZ2VJbmZvLmhhc05leHRQYWdlJykpICYmXG4gICAgIW5lZWRUb1ByZUNvdW50XG4gICkge1xuICAgIG9wdGlvbnMuY291bnQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHJlYWRQcmVmZXJlbmNlKSB7XG4gICAgb3B0aW9ucy5yZWFkUHJlZmVyZW5jZSA9IHJlYWRQcmVmZXJlbmNlO1xuICB9XG4gIGlmIChPYmplY3Qua2V5cyh3aGVyZSkubGVuZ3RoID4gMCAmJiBzdWJxdWVyeVJlYWRQcmVmZXJlbmNlKSB7XG4gICAgb3B0aW9ucy5zdWJxdWVyeVJlYWRQcmVmZXJlbmNlID0gc3VicXVlcnlSZWFkUHJlZmVyZW5jZTtcbiAgfVxuXG4gIGxldCByZXN1bHRzLCBjb3VudDtcbiAgaWYgKG9wdGlvbnMuY291bnQgfHwgIW9wdGlvbnMubGltaXQgfHwgKG9wdGlvbnMubGltaXQgJiYgb3B0aW9ucy5saW1pdCA+IDApKSB7XG4gICAgY29uc3QgZmluZFJlc3VsdCA9IGF3YWl0IHJlc3QuZmluZChcbiAgICAgIGNvbmZpZyxcbiAgICAgIGF1dGgsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICB3aGVyZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBpbmZvLmNsaWVudFNESyxcbiAgICAgIGluZm8uY29udGV4dFxuICAgICk7XG4gICAgcmVzdWx0cyA9IGZpbmRSZXN1bHQucmVzdWx0cztcbiAgICBjb3VudCA9IGZpbmRSZXN1bHQuY291bnQ7XG4gIH1cblxuICBsZXQgZWRnZXMgPSBudWxsO1xuICBsZXQgcGFnZUluZm8gPSBudWxsO1xuICBpZiAocmVzdWx0cykge1xuICAgIGVkZ2VzID0gcmVzdWx0cy5tYXAoKHJlc3VsdCwgaW5kZXgpID0+ICh7XG4gICAgICBjdXJzb3I6IG9mZnNldFRvQ3Vyc29yKChza2lwIHx8IDApICsgaW5kZXgpLFxuICAgICAgbm9kZTogcmVzdWx0LFxuICAgIH0pKTtcblxuICAgIHBhZ2VJbmZvID0ge1xuICAgICAgaGFzUHJldmlvdXNQYWdlOlxuICAgICAgICAoKHByZUNvdW50ICYmIHByZUNvdW50ID4gMCkgfHwgKGNvdW50ICYmIGNvdW50ID4gMCkpICYmIHNraXAgIT09IHVuZGVmaW5lZCAmJiBza2lwID4gMCxcbiAgICAgIHN0YXJ0Q3Vyc29yOiBvZmZzZXRUb0N1cnNvcihza2lwIHx8IDApLFxuICAgICAgZW5kQ3Vyc29yOiBvZmZzZXRUb0N1cnNvcigoc2tpcCB8fCAwKSArIChyZXN1bHRzLmxlbmd0aCB8fCAxKSAtIDEpLFxuICAgICAgaGFzTmV4dFBhZ2U6IChwcmVDb3VudCB8fCBjb3VudCkgPiAoc2tpcCB8fCAwKSArIHJlc3VsdHMubGVuZ3RoLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVkZ2VzLFxuICAgIHBhZ2VJbmZvLFxuICAgIGNvdW50OiBwcmVDb3VudCB8fCBjb3VudCxcbiAgfTtcbn07XG5cbmNvbnN0IGNhbGN1bGF0ZVNraXBBbmRMaW1pdCA9IChza2lwSW5wdXQsIGZpcnN0LCBhZnRlciwgbGFzdCwgYmVmb3JlLCBtYXhMaW1pdCkgPT4ge1xuICBsZXQgc2tpcCA9IHVuZGVmaW5lZDtcbiAgbGV0IGxpbWl0ID0gdW5kZWZpbmVkO1xuICBsZXQgbmVlZFRvUHJlQ291bnQgPSBmYWxzZTtcblxuICAvLyBWYWxpZGF0ZXMgdGhlIHNraXAgaW5wdXRcbiAgaWYgKHNraXBJbnB1dCB8fCBza2lwSW5wdXQgPT09IDApIHtcbiAgICBpZiAoc2tpcElucHV0IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksICdTa2lwIHNob3VsZCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICAgIH1cbiAgICBza2lwID0gc2tpcElucHV0O1xuICB9XG5cbiAgLy8gVmFsaWRhdGVzIHRoZSBhZnRlciBwYXJhbVxuICBpZiAoYWZ0ZXIpIHtcbiAgICBhZnRlciA9IGN1cnNvclRvT2Zmc2V0KGFmdGVyKTtcbiAgICBpZiAoKCFhZnRlciAmJiBhZnRlciAhPT0gMCkgfHwgYWZ0ZXIgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0FmdGVyIGlzIG5vdCBhIHZhbGlkIGN1cnNvcicpO1xuICAgIH1cblxuICAgIC8vIElmIHNraXAgYW5kIGFmdGVyIGFyZSBwYXNzZWQsIGEgbmV3IHNraXAgaXMgY2FsY3VsYXRlZCBieSBhZGRpbmcgdGhlbVxuICAgIHNraXAgPSAoc2tpcCB8fCAwKSArIChhZnRlciArIDEpO1xuICB9XG5cbiAgLy8gVmFsaWRhdGVzIHRoZSBmaXJzdCBwYXJhbVxuICBpZiAoZmlyc3QgfHwgZmlyc3QgPT09IDApIHtcbiAgICBpZiAoZmlyc3QgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0ZpcnN0IHNob3VsZCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICAgIH1cblxuICAgIC8vIFRoZSBmaXJzdCBwYXJhbSBpcyB0cmFuc2xhdGVkIHRvIHRoZSBsaW1pdCBwYXJhbSBvZiB0aGUgUGFyc2UgbGVnYWN5IEFQSVxuICAgIGxpbWl0ID0gZmlyc3Q7XG4gIH1cblxuICAvLyBWYWxpZGF0ZXMgdGhlIGJlZm9yZSBwYXJhbVxuICBpZiAoYmVmb3JlIHx8IGJlZm9yZSA9PT0gMCkge1xuICAgIC8vIFRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBjdXJzb3IgdG8gdGhlIGluZGV4IG9mIHRoZSBvYmplY3RcbiAgICBiZWZvcmUgPSBjdXJzb3JUb09mZnNldChiZWZvcmUpO1xuICAgIGlmICgoIWJlZm9yZSAmJiBiZWZvcmUgIT09IDApIHx8IGJlZm9yZSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCAnQmVmb3JlIGlzIG5vdCBhIHZhbGlkIGN1cnNvcicpO1xuICAgIH1cblxuICAgIGlmICgoc2tpcCB8fCAwKSA+PSBiZWZvcmUpIHtcbiAgICAgIC8vIElmIHRoZSBiZWZvcmUgaW5kZXggaXMgbGVzcyB0aGFuIHRoZSBza2lwLCBubyBvYmplY3RzIHdpbGwgYmUgcmV0dXJuZWRcbiAgICAgIGxpbWl0ID0gMDtcbiAgICB9IGVsc2UgaWYgKCghbGltaXQgJiYgbGltaXQgIT09IDApIHx8IChza2lwIHx8IDApICsgbGltaXQgPiBiZWZvcmUpIHtcbiAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGxpbWl0IHNldCwgdGhlIGxpbWl0IGlzIGNhbGN1bGF0ZWQuIE9yLCBpZiB0aGUgbGltaXQgKHBsdXMgc2tpcCkgaXMgYmlnZ2VyIHRoYW4gdGhlIGJlZm9yZSBpbmRleCwgdGhlIG5ldyBsaW1pdCBpcyBzZXQuXG4gICAgICBsaW1pdCA9IGJlZm9yZSAtIChza2lwIHx8IDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRlcyB0aGUgbGFzdCBwYXJhbVxuICBpZiAobGFzdCB8fCBsYXN0ID09PSAwKSB7XG4gICAgaWYgKGxhc3QgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0xhc3Qgc2hvdWxkIGJlIGEgcG9zaXRpdmUgbnVtYmVyJyk7XG4gICAgfVxuXG4gICAgaWYgKGxhc3QgPiBtYXhMaW1pdCkge1xuICAgICAgLy8gTGFzdCBjYW4ndCBiZSBiaWdnZXIgdGhhbiBQYXJzZSBzZXJ2ZXIgbWF4TGltaXQgY29uZmlnLlxuICAgICAgbGFzdCA9IG1heExpbWl0O1xuICAgIH1cblxuICAgIGlmIChsaW1pdCB8fCBsaW1pdCA9PT0gMCkge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgYSBwcmV2aW91cyBsaW1pdCBzZXQsIGl0IG1heSBiZSBhZGp1c3RlZFxuICAgICAgaWYgKGxhc3QgPCBsaW1pdCkge1xuICAgICAgICAvLyBpZiBsYXN0IGlzIGxlc3MgdGhhbiB0aGUgY3VycmVudCBsaW1pdFxuICAgICAgICBza2lwID0gKHNraXAgfHwgMCkgKyAobGltaXQgLSBsYXN0KTsgLy8gVGhlIHNraXAgaXMgYWRqdXN0ZWRcbiAgICAgICAgbGltaXQgPSBsYXN0OyAvLyB0aGUgbGltaXQgaXMgYWRqdXN0ZWRcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGxhc3QgPT09IDApIHtcbiAgICAgIC8vIE5vIG9iamVjdHMgd2lsbCBiZSByZXR1cm5lZFxuICAgICAgbGltaXQgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBwcmV2aW91cyBsaW1pdCBzZXQsIHRoZSBsaW1pdCB3aWxsIGJlIGVxdWFsIHRvIGxhc3QgYW5kIHByZSBjb3VudCBpcyBuZWVkZWQuXG4gICAgICBsaW1pdCA9IGxhc3Q7XG4gICAgICBuZWVkVG9QcmVDb3VudCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgc2tpcCxcbiAgICBsaW1pdCxcbiAgICBuZWVkVG9QcmVDb3VudCxcbiAgfTtcbn07XG5cbmV4cG9ydCB7IGdldE9iamVjdCwgZmluZE9iamVjdHMsIGNhbGN1bGF0ZVNraXBBbmRMaW1pdCwgbmVlZFRvR2V0QWxsS2V5cyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFBbUUsU0FBQUQsdUJBQUFLLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFbkU7QUFDQTtBQUNBLE1BQU1HLGdCQUFnQixHQUFHQSxDQUFDQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsWUFBWSxLQUNsREQsSUFBSSxHQUNBQSxJQUFJLENBQUNFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLElBQUk7RUFDOUIsTUFBTUMsR0FBRyxHQUFHRCxPQUFPLENBQUNGLEtBQUssQ0FBQyxHQUFHLENBQUM7RUFDOUIsSUFBSUgsTUFBTSxDQUFDTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNsQixJQUFJTixNQUFNLENBQUNNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJLEtBQUssVUFBVSxFQUFFLE9BQU8sS0FBSztJQUNwRCxJQUFJUCxNQUFNLENBQUNNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxJQUFJLEtBQUssU0FBUyxFQUFFO01BQ3JDLE1BQU1DLFFBQVEsR0FBR04sWUFBWSxDQUFDRixNQUFNLENBQUNNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRyxXQUFXLENBQUM7TUFDekQsSUFBSUQsUUFBUSxJQUFJQSxRQUFRLENBQUNSLE1BQU0sQ0FBQ00sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkM7UUFDQSxPQUFPLEtBQUs7TUFDZDtJQUNGLENBQUMsTUFBTSxJQUNMLENBQUNBLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFDUE4sTUFBTSxDQUFDTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxLQUFLLE9BQU8sSUFDL0JQLE1BQU0sQ0FBQ00sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksS0FBSyxRQUFRLEVBQ2hDO01BQ0E7TUFDQSxPQUFPLEtBQUs7SUFDZDtFQUNGO0VBQ0E7RUFDQSxPQUFPLElBQUk7QUFDYixDQUFDLENBQUMsR0FDRixJQUFJO0FBQ1Y7QUFBQUcsT0FBQSxDQUFBWCxnQkFBQSxHQUFBQSxnQkFBQTtBQUVBLE1BQU1ZLFNBQVMsR0FBRyxNQUFBQSxDQUNoQkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JaLElBQUksRUFDSmEsT0FBTyxFQUNQQyxjQUFjLEVBQ2RDLHFCQUFxQixFQUNyQkMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLElBQUksRUFDSmpCLFlBQVksS0FDVDtFQUNILE1BQU1rQixPQUFPLEdBQUcsQ0FBQyxDQUFDO0VBQ2xCLElBQUk7SUFDRixJQUFJLENBQUNyQixnQkFBZ0IsQ0FBQ0csWUFBWSxDQUFDVSxTQUFTLENBQUMsQ0FBQ1osTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksQ0FBQyxFQUFFO01BQ3pFa0IsT0FBTyxDQUFDbkIsSUFBSSxHQUFHQSxJQUFJO0lBQ3JCO0VBQ0YsQ0FBQyxDQUFDLE9BQU9MLENBQUMsRUFBRTtJQUNWO0lBQ0F5QixPQUFPLENBQUNDLEtBQUssQ0FBQzFCLENBQUMsQ0FBQztFQUNsQjtFQUNBLElBQUlrQixPQUFPLEVBQUU7SUFDWE0sT0FBTyxDQUFDTixPQUFPLEdBQUdBLE9BQU87SUFDekIsSUFBSUUscUJBQXFCLEVBQUU7TUFDekJJLE9BQU8sQ0FBQ0oscUJBQXFCLEdBQUdBLHFCQUFxQjtJQUN2RDtFQUNGO0VBQ0EsSUFBSUQsY0FBYyxFQUFFO0lBQ2xCSyxPQUFPLENBQUNMLGNBQWMsR0FBR0EsY0FBYztFQUN6QztFQUVBLE1BQU1RLFFBQVEsR0FBRyxNQUFNQyxhQUFJLENBQUNDLEdBQUcsQ0FDN0JSLE1BQU0sRUFDTkMsSUFBSSxFQUNKTixTQUFTLEVBQ1RDLFFBQVEsRUFDUk8sT0FBTyxFQUNQRCxJQUFJLENBQUNPLFNBQVMsRUFDZFAsSUFBSSxDQUFDUSxPQUNQLENBQUM7RUFFRCxJQUFJLENBQUNKLFFBQVEsQ0FBQ0ssT0FBTyxJQUFJTCxRQUFRLENBQUNLLE9BQU8sQ0FBQ0MsTUFBTSxJQUFJLENBQUMsRUFBRTtJQUNyRCxNQUFNLElBQUlDLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQ0MsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7RUFDMUU7RUFFQSxNQUFNQyxNQUFNLEdBQUdWLFFBQVEsQ0FBQ0ssT0FBTyxDQUFDLENBQUMsQ0FBQztFQUNsQyxJQUFJaEIsU0FBUyxLQUFLLE9BQU8sRUFBRTtJQUN6QixPQUFPcUIsTUFBTSxDQUFDQyxZQUFZO0VBQzVCO0VBQ0EsT0FBT0QsTUFBTTtBQUNmLENBQUM7QUFBQ3ZCLE9BQUEsQ0FBQUMsU0FBQSxHQUFBQSxTQUFBO0FBRUYsTUFBTXdCLFdBQVcsR0FBRyxNQUFBQSxDQUNsQnZCLFNBQVMsRUFDVHdCLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxTQUFTLEVBQ1RDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxJQUFJLEVBQ0pDLE1BQU0sRUFDTnpDLElBQUksRUFDSmEsT0FBTyxFQUNQNkIsVUFBVSxFQUNWNUIsY0FBYyxFQUNkQyxxQkFBcUIsRUFDckI0QixzQkFBc0IsRUFDdEIzQixNQUFNLEVBQ05DLElBQUksRUFDSkMsSUFBSSxFQUNKMEIsY0FBYyxFQUNkM0MsWUFBWSxLQUNUO0VBQ0gsSUFBSSxDQUFDa0MsS0FBSyxFQUFFO0lBQ1ZBLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDWjtFQUNBLElBQUFVLGlDQUEwQixFQUFDVixLQUFLLEVBQUV4QixTQUFTLEVBQUVWLFlBQVksQ0FBQztFQUMxRCxNQUFNNkMsdUJBQXVCLEdBQUdDLHFCQUFxQixDQUNuRFYsU0FBUyxFQUNUQyxLQUFLLEVBQ0xDLEtBQUssRUFDTEMsSUFBSSxFQUNKQyxNQUFNLEVBQ056QixNQUFNLENBQUNnQyxRQUNULENBQUM7RUFDRCxJQUFJO0lBQUVDO0VBQUssQ0FBQyxHQUFHSCx1QkFBdUI7RUFDdEMsTUFBTTtJQUFFSSxLQUFLO0lBQUVDO0VBQWUsQ0FBQyxHQUFHTCx1QkFBdUI7RUFDekQsSUFBSU0sUUFBUSxHQUFHQyxTQUFTO0VBQ3hCLElBQUlGLGNBQWMsRUFBRTtJQUNsQixNQUFNRyxlQUFlLEdBQUc7TUFDdEJKLEtBQUssRUFBRSxDQUFDO01BQ1JLLEtBQUssRUFBRTtJQUNULENBQUM7SUFDRCxJQUFJekMsY0FBYyxFQUFFO01BQ2xCd0MsZUFBZSxDQUFDeEMsY0FBYyxHQUFHQSxjQUFjO0lBQ2pEO0lBQ0EsSUFBSTBDLE1BQU0sQ0FBQ3hELElBQUksQ0FBQ21DLEtBQUssQ0FBQyxDQUFDUCxNQUFNLEdBQUcsQ0FBQyxJQUFJZSxzQkFBc0IsRUFBRTtNQUMzRFcsZUFBZSxDQUFDWCxzQkFBc0IsR0FBR0Esc0JBQXNCO0lBQ2pFO0lBQ0FTLFFBQVEsR0FBRyxDQUNULE1BQU03QixhQUFJLENBQUNrQyxJQUFJLENBQUN6QyxNQUFNLEVBQUVDLElBQUksRUFBRU4sU0FBUyxFQUFFd0IsS0FBSyxFQUFFbUIsZUFBZSxFQUFFcEMsSUFBSSxDQUFDTyxTQUFTLEVBQUVQLElBQUksQ0FBQ1EsT0FBTyxDQUFDLEVBQzlGNkIsS0FBSztJQUNQLElBQUksQ0FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSUMsS0FBSyxHQUFHRSxRQUFRLEVBQUU7TUFDbENILElBQUksR0FBR0csUUFBUSxHQUFHRixLQUFLO0lBQ3pCO0VBQ0Y7RUFFQSxNQUFNL0IsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUVsQixJQUFJeUIsY0FBYyxDQUFDYSxJQUFJLENBQUNDLEtBQUssSUFBSUEsS0FBSyxDQUFDQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUlELEtBQUssQ0FBQ0MsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7SUFDN0YsSUFBSVQsS0FBSyxJQUFJQSxLQUFLLEtBQUssQ0FBQyxFQUFFO01BQ3hCL0IsT0FBTyxDQUFDK0IsS0FBSyxHQUFHQSxLQUFLO0lBQ3ZCLENBQUMsTUFBTTtNQUNML0IsT0FBTyxDQUFDK0IsS0FBSyxHQUFHLEdBQUc7SUFDckI7SUFDQSxJQUFJL0IsT0FBTyxDQUFDK0IsS0FBSyxLQUFLLENBQUMsRUFBRTtNQUN2QixJQUFJZCxLQUFLLEVBQUU7UUFDVGpCLE9BQU8sQ0FBQ2lCLEtBQUssR0FBR0EsS0FBSztNQUN2QjtNQUNBLElBQUlhLElBQUksRUFBRTtRQUNSOUIsT0FBTyxDQUFDOEIsSUFBSSxHQUFHQSxJQUFJO01BQ3JCO01BQ0EsSUFBSWpDLE1BQU0sQ0FBQ2dDLFFBQVEsSUFBSTdCLE9BQU8sQ0FBQytCLEtBQUssR0FBR2xDLE1BQU0sQ0FBQ2dDLFFBQVEsRUFBRTtRQUN0RDtRQUNBN0IsT0FBTyxDQUFDK0IsS0FBSyxHQUFHbEMsTUFBTSxDQUFDZ0MsUUFBUTtNQUNqQztNQUNBLElBQUksQ0FBQ2xELGdCQUFnQixDQUFDRyxZQUFZLENBQUNVLFNBQVMsQ0FBQyxDQUFDWixNQUFNLEVBQUVDLElBQUksRUFBRUMsWUFBWSxDQUFDLEVBQUU7UUFDekVrQixPQUFPLENBQUNuQixJQUFJLEdBQUdBLElBQUk7TUFDckI7TUFDQSxJQUFJMEMsVUFBVSxLQUFLLElBQUksRUFBRTtRQUN2QnZCLE9BQU8sQ0FBQ3VCLFVBQVUsR0FBR0EsVUFBVTtNQUNqQztNQUNBLElBQUksQ0FBQ3ZCLE9BQU8sQ0FBQ3VCLFVBQVUsSUFBSTdCLE9BQU8sRUFBRTtRQUNsQ00sT0FBTyxDQUFDTixPQUFPLEdBQUdBLE9BQU87TUFDM0I7TUFDQSxJQUFJLENBQUNNLE9BQU8sQ0FBQ3VCLFVBQVUsSUFBSXZCLE9BQU8sQ0FBQ04sT0FBTyxLQUFLRSxxQkFBcUIsRUFBRTtRQUNwRUksT0FBTyxDQUFDSixxQkFBcUIsR0FBR0EscUJBQXFCO01BQ3ZEO0lBQ0Y7RUFDRixDQUFDLE1BQU07SUFDTEksT0FBTyxDQUFDK0IsS0FBSyxHQUFHLENBQUM7RUFDbkI7RUFFQSxJQUNFLENBQUNOLGNBQWMsQ0FBQ2dCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFDL0JoQixjQUFjLENBQUNnQixRQUFRLENBQUMsMEJBQTBCLENBQUMsSUFDbkRoQixjQUFjLENBQUNnQixRQUFRLENBQUMsc0JBQXNCLENBQUMsS0FDakQsQ0FBQ1QsY0FBYyxFQUNmO0lBQ0FoQyxPQUFPLENBQUNvQyxLQUFLLEdBQUcsSUFBSTtFQUN0QjtFQUVBLElBQUl6QyxjQUFjLEVBQUU7SUFDbEJLLE9BQU8sQ0FBQ0wsY0FBYyxHQUFHQSxjQUFjO0VBQ3pDO0VBQ0EsSUFBSTBDLE1BQU0sQ0FBQ3hELElBQUksQ0FBQ21DLEtBQUssQ0FBQyxDQUFDUCxNQUFNLEdBQUcsQ0FBQyxJQUFJZSxzQkFBc0IsRUFBRTtJQUMzRHhCLE9BQU8sQ0FBQ3dCLHNCQUFzQixHQUFHQSxzQkFBc0I7RUFDekQ7RUFFQSxJQUFJaEIsT0FBTyxFQUFFNEIsS0FBSztFQUNsQixJQUFJcEMsT0FBTyxDQUFDb0MsS0FBSyxJQUFJLENBQUNwQyxPQUFPLENBQUMrQixLQUFLLElBQUsvQixPQUFPLENBQUMrQixLQUFLLElBQUkvQixPQUFPLENBQUMrQixLQUFLLEdBQUcsQ0FBRSxFQUFFO0lBQzNFLE1BQU1XLFVBQVUsR0FBRyxNQUFNdEMsYUFBSSxDQUFDa0MsSUFBSSxDQUNoQ3pDLE1BQU0sRUFDTkMsSUFBSSxFQUNKTixTQUFTLEVBQ1R3QixLQUFLLEVBQ0xoQixPQUFPLEVBQ1BELElBQUksQ0FBQ08sU0FBUyxFQUNkUCxJQUFJLENBQUNRLE9BQ1AsQ0FBQztJQUNEQyxPQUFPLEdBQUdrQyxVQUFVLENBQUNsQyxPQUFPO0lBQzVCNEIsS0FBSyxHQUFHTSxVQUFVLENBQUNOLEtBQUs7RUFDMUI7RUFFQSxJQUFJTyxLQUFLLEdBQUcsSUFBSTtFQUNoQixJQUFJQyxRQUFRLEdBQUcsSUFBSTtFQUNuQixJQUFJcEMsT0FBTyxFQUFFO0lBQ1htQyxLQUFLLEdBQUduQyxPQUFPLENBQUNxQyxHQUFHLENBQUMsQ0FBQ0MsTUFBTSxFQUFFQyxLQUFLLE1BQU07TUFDdENDLE1BQU0sRUFBRSxJQUFBQyw0QkFBYyxFQUFDLENBQUNuQixJQUFJLElBQUksQ0FBQyxJQUFJaUIsS0FBSyxDQUFDO01BQzNDRyxJQUFJLEVBQUVKO0lBQ1IsQ0FBQyxDQUFDLENBQUM7SUFFSEYsUUFBUSxHQUFHO01BQ1RPLGVBQWUsRUFDYixDQUFFbEIsUUFBUSxJQUFJQSxRQUFRLEdBQUcsQ0FBQyxJQUFNRyxLQUFLLElBQUlBLEtBQUssR0FBRyxDQUFFLEtBQUtOLElBQUksS0FBS0ksU0FBUyxJQUFJSixJQUFJLEdBQUcsQ0FBQztNQUN4RnNCLFdBQVcsRUFBRSxJQUFBSCw0QkFBYyxFQUFDbkIsSUFBSSxJQUFJLENBQUMsQ0FBQztNQUN0Q3VCLFNBQVMsRUFBRSxJQUFBSiw0QkFBYyxFQUFDLENBQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLdEIsT0FBTyxDQUFDQyxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO01BQ2xFNkMsV0FBVyxFQUFFLENBQUNyQixRQUFRLElBQUlHLEtBQUssSUFBSSxDQUFDTixJQUFJLElBQUksQ0FBQyxJQUFJdEIsT0FBTyxDQUFDQztJQUMzRCxDQUFDO0VBQ0g7RUFFQSxPQUFPO0lBQ0xrQyxLQUFLO0lBQ0xDLFFBQVE7SUFDUlIsS0FBSyxFQUFFSCxRQUFRLElBQUlHO0VBQ3JCLENBQUM7QUFDSCxDQUFDO0FBQUM5QyxPQUFBLENBQUF5QixXQUFBLEdBQUFBLFdBQUE7QUFFRixNQUFNYSxxQkFBcUIsR0FBR0EsQ0FBQ1YsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVPLFFBQVEsS0FBSztFQUNqRixJQUFJQyxJQUFJLEdBQUdJLFNBQVM7RUFDcEIsSUFBSUgsS0FBSyxHQUFHRyxTQUFTO0VBQ3JCLElBQUlGLGNBQWMsR0FBRyxLQUFLOztFQUUxQjtFQUNBLElBQUlkLFNBQVMsSUFBSUEsU0FBUyxLQUFLLENBQUMsRUFBRTtJQUNoQyxJQUFJQSxTQUFTLEdBQUcsQ0FBQyxFQUFFO01BQ2pCLE1BQU0sSUFBSVIsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDNEMsYUFBYSxFQUFFLGtDQUFrQyxDQUFDO0lBQ3RGO0lBQ0F6QixJQUFJLEdBQUdaLFNBQVM7RUFDbEI7O0VBRUE7RUFDQSxJQUFJRSxLQUFLLEVBQUU7SUFDVEEsS0FBSyxHQUFHLElBQUFvQyw0QkFBYyxFQUFDcEMsS0FBSyxDQUFDO0lBQzdCLElBQUssQ0FBQ0EsS0FBSyxJQUFJQSxLQUFLLEtBQUssQ0FBQyxJQUFLQSxLQUFLLEdBQUcsQ0FBQyxFQUFFO01BQ3hDLE1BQU0sSUFBSVYsYUFBSyxDQUFDQyxLQUFLLENBQUNELGFBQUssQ0FBQ0MsS0FBSyxDQUFDNEMsYUFBYSxFQUFFLDZCQUE2QixDQUFDO0lBQ2pGOztJQUVBO0lBQ0F6QixJQUFJLEdBQUcsQ0FBQ0EsSUFBSSxJQUFJLENBQUMsS0FBS1YsS0FBSyxHQUFHLENBQUMsQ0FBQztFQUNsQzs7RUFFQTtFQUNBLElBQUlELEtBQUssSUFBSUEsS0FBSyxLQUFLLENBQUMsRUFBRTtJQUN4QixJQUFJQSxLQUFLLEdBQUcsQ0FBQyxFQUFFO01BQ2IsTUFBTSxJQUFJVCxhQUFLLENBQUNDLEtBQUssQ0FBQ0QsYUFBSyxDQUFDQyxLQUFLLENBQUM0QyxhQUFhLEVBQUUsbUNBQW1DLENBQUM7SUFDdkY7O0lBRUE7SUFDQXhCLEtBQUssR0FBR1osS0FBSztFQUNmOztFQUVBO0VBQ0EsSUFBSUcsTUFBTSxJQUFJQSxNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQzFCO0lBQ0FBLE1BQU0sR0FBRyxJQUFBa0MsNEJBQWMsRUFBQ2xDLE1BQU0sQ0FBQztJQUMvQixJQUFLLENBQUNBLE1BQU0sSUFBSUEsTUFBTSxLQUFLLENBQUMsSUFBS0EsTUFBTSxHQUFHLENBQUMsRUFBRTtNQUMzQyxNQUFNLElBQUlaLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQzRDLGFBQWEsRUFBRSw4QkFBOEIsQ0FBQztJQUNsRjtJQUVBLElBQUksQ0FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUtSLE1BQU0sRUFBRTtNQUN6QjtNQUNBUyxLQUFLLEdBQUcsQ0FBQztJQUNYLENBQUMsTUFBTSxJQUFLLENBQUNBLEtBQUssSUFBSUEsS0FBSyxLQUFLLENBQUMsSUFBSyxDQUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJQyxLQUFLLEdBQUdULE1BQU0sRUFBRTtNQUNsRTtNQUNBUyxLQUFLLEdBQUdULE1BQU0sSUFBSVEsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM5QjtFQUNGOztFQUVBO0VBQ0EsSUFBSVQsSUFBSSxJQUFJQSxJQUFJLEtBQUssQ0FBQyxFQUFFO0lBQ3RCLElBQUlBLElBQUksR0FBRyxDQUFDLEVBQUU7TUFDWixNQUFNLElBQUlYLGFBQUssQ0FBQ0MsS0FBSyxDQUFDRCxhQUFLLENBQUNDLEtBQUssQ0FBQzRDLGFBQWEsRUFBRSxrQ0FBa0MsQ0FBQztJQUN0RjtJQUVBLElBQUlsQyxJQUFJLEdBQUdRLFFBQVEsRUFBRTtNQUNuQjtNQUNBUixJQUFJLEdBQUdRLFFBQVE7SUFDakI7SUFFQSxJQUFJRSxLQUFLLElBQUlBLEtBQUssS0FBSyxDQUFDLEVBQUU7TUFDeEI7TUFDQSxJQUFJVixJQUFJLEdBQUdVLEtBQUssRUFBRTtRQUNoQjtRQUNBRCxJQUFJLEdBQUcsQ0FBQ0EsSUFBSSxJQUFJLENBQUMsS0FBS0MsS0FBSyxHQUFHVixJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JDVSxLQUFLLEdBQUdWLElBQUksQ0FBQyxDQUFDO01BQ2hCO0lBQ0YsQ0FBQyxNQUFNLElBQUlBLElBQUksS0FBSyxDQUFDLEVBQUU7TUFDckI7TUFDQVUsS0FBSyxHQUFHLENBQUM7SUFDWCxDQUFDLE1BQU07TUFDTDtNQUNBQSxLQUFLLEdBQUdWLElBQUk7TUFDWlcsY0FBYyxHQUFHLElBQUk7SUFDdkI7RUFDRjtFQUNBLE9BQU87SUFDTEYsSUFBSTtJQUNKQyxLQUFLO0lBQ0xDO0VBQ0YsQ0FBQztBQUNILENBQUM7QUFBQzFDLE9BQUEsQ0FBQXNDLHFCQUFBLEdBQUFBLHFCQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
246
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWxSZWxheSIsIl9yZXN0IiwiX3F1ZXJ5IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibmVlZFRvR2V0QWxsS2V5cyIsImZpZWxkcyIsImtleXMiLCJwYXJzZUNsYXNzZXMiLCJzcGxpdCIsInNvbWUiLCJrZXlOYW1lIiwia2V5IiwidHlwZSIsInN1YkNsYXNzIiwidGFyZ2V0Q2xhc3MiLCJleHBvcnRzIiwiZ2V0T2JqZWN0IiwiY2xhc3NOYW1lIiwib2JqZWN0SWQiLCJpbmNsdWRlIiwicmVhZFByZWZlcmVuY2UiLCJpbmNsdWRlUmVhZFByZWZlcmVuY2UiLCJjb25maWciLCJhdXRoIiwiaW5mbyIsIm9wdGlvbnMiLCJjb25zb2xlIiwiZXJyb3IiLCJyZXNwb25zZSIsInJlc3QiLCJnZXQiLCJjb250ZXh0IiwicmVzdWx0cyIsImxlbmd0aCIsIlBhcnNlIiwiRXJyb3IiLCJPQkpFQ1RfTk9UX0ZPVU5EIiwib2JqZWN0Iiwic2Vzc2lvblRva2VuIiwiZmluZE9iamVjdHMiLCJ3aGVyZSIsIm9yZGVyIiwic2tpcElucHV0IiwiZmlyc3QiLCJhZnRlciIsImxhc3QiLCJiZWZvcmUiLCJpbmNsdWRlQWxsIiwic3VicXVlcnlSZWFkUHJlZmVyZW5jZSIsInNlbGVjdGVkRmllbGRzIiwidHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UiLCJza2lwQW5kTGltaXRDYWxjdWxhdGlvbiIsImNhbGN1bGF0ZVNraXBBbmRMaW1pdCIsIm1heExpbWl0Iiwic2tpcCIsImxpbWl0IiwibmVlZFRvUHJlQ291bnQiLCJwcmVDb3VudCIsInVuZGVmaW5lZCIsInByZUNvdW50T3B0aW9ucyIsImNvdW50IiwiT2JqZWN0IiwiZmluZCIsImZpZWxkIiwic3RhcnRzV2l0aCIsImluY2x1ZGVzIiwiZmluZFJlc3VsdCIsImVkZ2VzIiwicGFnZUluZm8iLCJtYXAiLCJyZXN1bHQiLCJpbmRleCIsImN1cnNvciIsIm9mZnNldFRvQ3Vyc29yIiwibm9kZSIsImhhc1ByZXZpb3VzUGFnZSIsInN0YXJ0Q3Vyc29yIiwiZW5kQ3Vyc29yIiwiaGFzTmV4dFBhZ2UiLCJJTlZBTElEX1FVRVJZIiwiY3Vyc29yVG9PZmZzZXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9oZWxwZXJzL29iamVjdHNRdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCB7IG9mZnNldFRvQ3Vyc29yLCBjdXJzb3JUb09mZnNldCB9IGZyb20gJ2dyYXBocWwtcmVsYXknO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy9xdWVyeSc7XG5cbi8vIEVzbGludC9QcmV0dGllciBjb25mbGljdFxuLyogZXNsaW50LWRpc2FibGUqL1xuY29uc3QgbmVlZFRvR2V0QWxsS2V5cyA9IChmaWVsZHMsIGtleXMsIHBhcnNlQ2xhc3NlcykgPT5cbiAga2V5c1xuICAgID8ga2V5cy5zcGxpdCgnLCcpLnNvbWUoa2V5TmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGtleU5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgaWYgKGZpZWxkc1trZXlbMF1dKSB7XG4gICAgICAgICAgaWYgKGZpZWxkc1trZXlbMF1dLnR5cGUgPT09ICdSZWxhdGlvbicpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICBpZiAoZmllbGRzW2tleVswXV0udHlwZSA9PT0gJ1BvaW50ZXInKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJDbGFzcyA9IHBhcnNlQ2xhc3Nlc1tmaWVsZHNba2V5WzBdXS50YXJnZXRDbGFzc107XG4gICAgICAgICAgICBpZiAoc3ViQ2xhc3MgJiYgc3ViQ2xhc3MuZmllbGRzW2tleVsxXV0pIHtcbiAgICAgICAgICAgICAgLy8gQ3VycmVudCBzdWIga2V5IGlzIG5vdCBjdXN0b21cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAha2V5WzFdIHx8XG4gICAgICAgICAgICBmaWVsZHNba2V5WzBdXS50eXBlID09PSAnQXJyYXknIHx8XG4gICAgICAgICAgICBmaWVsZHNba2V5WzBdXS50eXBlID09PSAnT2JqZWN0J1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gY3VycmVudCBrZXkgaXMgbm90IGN1c3RvbVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBLZXkgbm90IGZvdW5kIGludG8gUGFyc2UgU2NoZW1hIHNvIGl0J3MgY3VzdG9tXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICA6IHRydWU7XG4vKiBlc2xpbnQtZW5hYmxlKi9cblxuY29uc3QgZ2V0T2JqZWN0ID0gYXN5bmMgKFxuICBjbGFzc05hbWUsXG4gIG9iamVjdElkLFxuICBrZXlzLFxuICBpbmNsdWRlLFxuICByZWFkUHJlZmVyZW5jZSxcbiAgaW5jbHVkZVJlYWRQcmVmZXJlbmNlLFxuICBjb25maWcsXG4gIGF1dGgsXG4gIGluZm8sXG4gIHBhcnNlQ2xhc3Nlc1xuKSA9PiB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcbiAgdHJ5IHtcbiAgICBpZiAoIW5lZWRUb0dldEFsbEtleXMocGFyc2VDbGFzc2VzW2NsYXNzTmFtZV0uZmllbGRzLCBrZXlzLCBwYXJzZUNsYXNzZXMpKSB7XG4gICAgICBvcHRpb25zLmtleXMgPSBrZXlzO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5lcnJvcihlKTtcbiAgfVxuICBpZiAoaW5jbHVkZSkge1xuICAgIG9wdGlvbnMuaW5jbHVkZSA9IGluY2x1ZGU7XG4gICAgaWYgKGluY2x1ZGVSZWFkUHJlZmVyZW5jZSkge1xuICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBpbmNsdWRlUmVhZFByZWZlcmVuY2U7XG4gICAgfVxuICB9XG4gIGlmIChyZWFkUHJlZmVyZW5jZSkge1xuICAgIG9wdGlvbnMucmVhZFByZWZlcmVuY2UgPSByZWFkUHJlZmVyZW5jZTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVzdC5nZXQoXG4gICAgY29uZmlnLFxuICAgIGF1dGgsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9iamVjdElkLFxuICAgIG9wdGlvbnMsXG4gICAgaW5mby5jb250ZXh0XG4gICk7XG5cbiAgaWYgKCFyZXNwb25zZS5yZXN1bHRzIHx8IHJlc3BvbnNlLnJlc3VsdHMubGVuZ3RoID09IDApIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ09iamVjdCBub3QgZm91bmQuJyk7XG4gIH1cblxuICBjb25zdCBvYmplY3QgPSByZXNwb25zZS5yZXN1bHRzWzBdO1xuICBpZiAoY2xhc3NOYW1lID09PSAnX1VzZXInKSB7XG4gICAgZGVsZXRlIG9iamVjdC5zZXNzaW9uVG9rZW47XG4gIH1cbiAgcmV0dXJuIG9iamVjdDtcbn07XG5cbmNvbnN0IGZpbmRPYmplY3RzID0gYXN5bmMgKFxuICBjbGFzc05hbWUsXG4gIHdoZXJlLFxuICBvcmRlcixcbiAgc2tpcElucHV0LFxuICBmaXJzdCxcbiAgYWZ0ZXIsXG4gIGxhc3QsXG4gIGJlZm9yZSxcbiAga2V5cyxcbiAgaW5jbHVkZSxcbiAgaW5jbHVkZUFsbCxcbiAgcmVhZFByZWZlcmVuY2UsXG4gIGluY2x1ZGVSZWFkUHJlZmVyZW5jZSxcbiAgc3VicXVlcnlSZWFkUHJlZmVyZW5jZSxcbiAgY29uZmlnLFxuICBhdXRoLFxuICBpbmZvLFxuICBzZWxlY3RlZEZpZWxkcyxcbiAgcGFyc2VDbGFzc2VzXG4pID0+IHtcbiAgaWYgKCF3aGVyZSkge1xuICAgIHdoZXJlID0ge307XG4gIH1cbiAgdHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2Uod2hlcmUsIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKTtcbiAgY29uc3Qgc2tpcEFuZExpbWl0Q2FsY3VsYXRpb24gPSBjYWxjdWxhdGVTa2lwQW5kTGltaXQoXG4gICAgc2tpcElucHV0LFxuICAgIGZpcnN0LFxuICAgIGFmdGVyLFxuICAgIGxhc3QsXG4gICAgYmVmb3JlLFxuICAgIGNvbmZpZy5tYXhMaW1pdFxuICApO1xuICBsZXQgeyBza2lwIH0gPSBza2lwQW5kTGltaXRDYWxjdWxhdGlvbjtcbiAgY29uc3QgeyBsaW1pdCwgbmVlZFRvUHJlQ291bnQgfSA9IHNraXBBbmRMaW1pdENhbGN1bGF0aW9uO1xuICBsZXQgcHJlQ291bnQgPSB1bmRlZmluZWQ7XG4gIGlmIChuZWVkVG9QcmVDb3VudCkge1xuICAgIGNvbnN0IHByZUNvdW50T3B0aW9ucyA9IHtcbiAgICAgIGxpbWl0OiAwLFxuICAgICAgY291bnQ6IHRydWUsXG4gICAgfTtcbiAgICBpZiAocmVhZFByZWZlcmVuY2UpIHtcbiAgICAgIHByZUNvdW50T3B0aW9ucy5yZWFkUHJlZmVyZW5jZSA9IHJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXMod2hlcmUpLmxlbmd0aCA+IDAgJiYgc3VicXVlcnlSZWFkUHJlZmVyZW5jZSkge1xuICAgICAgcHJlQ291bnRPcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBzdWJxdWVyeVJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBwcmVDb3VudCA9IChhd2FpdCByZXN0LmZpbmQoY29uZmlnLCBhdXRoLCBjbGFzc05hbWUsIHdoZXJlLCBwcmVDb3VudE9wdGlvbnMsIGluZm8uY29udGV4dCkpXG4gICAgICAuY291bnQ7XG4gICAgaWYgKChza2lwIHx8IDApICsgbGltaXQgPCBwcmVDb3VudCkge1xuICAgICAgc2tpcCA9IHByZUNvdW50IC0gbGltaXQ7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuXG4gIGlmIChzZWxlY3RlZEZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLnN0YXJ0c1dpdGgoJ2VkZ2VzLicpIHx8IGZpZWxkLnN0YXJ0c1dpdGgoJ3BhZ2VJbmZvLicpKSkge1xuICAgIGlmIChsaW1pdCB8fCBsaW1pdCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5saW1pdCA9IGxpbWl0O1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLmxpbWl0ID0gMTAwO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5saW1pdCAhPT0gMCkge1xuICAgICAgaWYgKG9yZGVyKSB7XG4gICAgICAgIG9wdGlvbnMub3JkZXIgPSBvcmRlcjtcbiAgICAgIH1cbiAgICAgIGlmIChza2lwKSB7XG4gICAgICAgIG9wdGlvbnMuc2tpcCA9IHNraXA7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLm1heExpbWl0ICYmIG9wdGlvbnMubGltaXQgPiBjb25maWcubWF4TGltaXQpIHtcbiAgICAgICAgLy8gU2lsZW50bHkgcmVwbGFjZSB0aGUgbGltaXQgb24gdGhlIHF1ZXJ5IHdpdGggdGhlIG1heCBjb25maWd1cmVkXG4gICAgICAgIG9wdGlvbnMubGltaXQgPSBjb25maWcubWF4TGltaXQ7XG4gICAgICB9XG4gICAgICBpZiAoIW5lZWRUb0dldEFsbEtleXMocGFyc2VDbGFzc2VzW2NsYXNzTmFtZV0uZmllbGRzLCBrZXlzLCBwYXJzZUNsYXNzZXMpKSB7XG4gICAgICAgIG9wdGlvbnMua2V5cyA9IGtleXM7XG4gICAgICB9XG4gICAgICBpZiAoaW5jbHVkZUFsbCA9PT0gdHJ1ZSkge1xuICAgICAgICBvcHRpb25zLmluY2x1ZGVBbGwgPSBpbmNsdWRlQWxsO1xuICAgICAgfVxuICAgICAgaWYgKCFvcHRpb25zLmluY2x1ZGVBbGwgJiYgaW5jbHVkZSkge1xuICAgICAgICBvcHRpb25zLmluY2x1ZGUgPSBpbmNsdWRlO1xuICAgICAgfVxuICAgICAgaWYgKChvcHRpb25zLmluY2x1ZGVBbGwgfHwgb3B0aW9ucy5pbmNsdWRlKSAmJiBpbmNsdWRlUmVhZFByZWZlcmVuY2UpIHtcbiAgICAgICAgb3B0aW9ucy5pbmNsdWRlUmVhZFByZWZlcmVuY2UgPSBpbmNsdWRlUmVhZFByZWZlcmVuY2U7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG9wdGlvbnMubGltaXQgPSAwO1xuICB9XG5cbiAgaWYgKFxuICAgIChzZWxlY3RlZEZpZWxkcy5pbmNsdWRlcygnY291bnQnKSB8fFxuICAgICAgc2VsZWN0ZWRGaWVsZHMuaW5jbHVkZXMoJ3BhZ2VJbmZvLmhhc1ByZXZpb3VzUGFnZScpIHx8XG4gICAgICBzZWxlY3RlZEZpZWxkcy5pbmNsdWRlcygncGFnZUluZm8uaGFzTmV4dFBhZ2UnKSkgJiZcbiAgICAhbmVlZFRvUHJlQ291bnRcbiAgKSB7XG4gICAgb3B0aW9ucy5jb3VudCA9IHRydWU7XG4gIH1cblxuICBpZiAocmVhZFByZWZlcmVuY2UpIHtcbiAgICBvcHRpb25zLnJlYWRQcmVmZXJlbmNlID0gcmVhZFByZWZlcmVuY2U7XG4gIH1cbiAgaWYgKE9iamVjdC5rZXlzKHdoZXJlKS5sZW5ndGggPiAwICYmIHN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UpIHtcbiAgICBvcHRpb25zLnN1YnF1ZXJ5UmVhZFByZWZlcmVuY2UgPSBzdWJxdWVyeVJlYWRQcmVmZXJlbmNlO1xuICB9XG5cbiAgbGV0IHJlc3VsdHMsIGNvdW50O1xuICBpZiAob3B0aW9ucy5jb3VudCB8fCAhb3B0aW9ucy5saW1pdCB8fCAob3B0aW9ucy5saW1pdCAmJiBvcHRpb25zLmxpbWl0ID4gMCkpIHtcbiAgICBjb25zdCBmaW5kUmVzdWx0ID0gYXdhaXQgcmVzdC5maW5kKFxuICAgICAgY29uZmlnLFxuICAgICAgYXV0aCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIHdoZXJlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGluZm8uY29udGV4dFxuICAgICk7XG4gICAgcmVzdWx0cyA9IGZpbmRSZXN1bHQucmVzdWx0cztcbiAgICBjb3VudCA9IGZpbmRSZXN1bHQuY291bnQ7XG4gIH1cblxuICBsZXQgZWRnZXMgPSBudWxsO1xuICBsZXQgcGFnZUluZm8gPSBudWxsO1xuICBpZiAocmVzdWx0cykge1xuICAgIGVkZ2VzID0gcmVzdWx0cy5tYXAoKHJlc3VsdCwgaW5kZXgpID0+ICh7XG4gICAgICBjdXJzb3I6IG9mZnNldFRvQ3Vyc29yKChza2lwIHx8IDApICsgaW5kZXgpLFxuICAgICAgbm9kZTogcmVzdWx0LFxuICAgIH0pKTtcblxuICAgIHBhZ2VJbmZvID0ge1xuICAgICAgaGFzUHJldmlvdXNQYWdlOlxuICAgICAgICAoKHByZUNvdW50ICYmIHByZUNvdW50ID4gMCkgfHwgKGNvdW50ICYmIGNvdW50ID4gMCkpICYmIHNraXAgIT09IHVuZGVmaW5lZCAmJiBza2lwID4gMCxcbiAgICAgIHN0YXJ0Q3Vyc29yOiBvZmZzZXRUb0N1cnNvcihza2lwIHx8IDApLFxuICAgICAgZW5kQ3Vyc29yOiBvZmZzZXRUb0N1cnNvcigoc2tpcCB8fCAwKSArIChyZXN1bHRzLmxlbmd0aCB8fCAxKSAtIDEpLFxuICAgICAgaGFzTmV4dFBhZ2U6IChwcmVDb3VudCB8fCBjb3VudCkgPiAoc2tpcCB8fCAwKSArIHJlc3VsdHMubGVuZ3RoLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVkZ2VzLFxuICAgIHBhZ2VJbmZvLFxuICAgIGNvdW50OiBwcmVDb3VudCB8fCBjb3VudCxcbiAgfTtcbn07XG5cbmNvbnN0IGNhbGN1bGF0ZVNraXBBbmRMaW1pdCA9IChza2lwSW5wdXQsIGZpcnN0LCBhZnRlciwgbGFzdCwgYmVmb3JlLCBtYXhMaW1pdCkgPT4ge1xuICBsZXQgc2tpcCA9IHVuZGVmaW5lZDtcbiAgbGV0IGxpbWl0ID0gdW5kZWZpbmVkO1xuICBsZXQgbmVlZFRvUHJlQ291bnQgPSBmYWxzZTtcblxuICAvLyBWYWxpZGF0ZXMgdGhlIHNraXAgaW5wdXRcbiAgaWYgKHNraXBJbnB1dCB8fCBza2lwSW5wdXQgPT09IDApIHtcbiAgICBpZiAoc2tpcElucHV0IDwgMCkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksICdTa2lwIHNob3VsZCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICAgIH1cbiAgICBza2lwID0gc2tpcElucHV0O1xuICB9XG5cbiAgLy8gVmFsaWRhdGVzIHRoZSBhZnRlciBwYXJhbVxuICBpZiAoYWZ0ZXIpIHtcbiAgICBhZnRlciA9IGN1cnNvclRvT2Zmc2V0KGFmdGVyKTtcbiAgICBpZiAoKCFhZnRlciAmJiBhZnRlciAhPT0gMCkgfHwgYWZ0ZXIgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0FmdGVyIGlzIG5vdCBhIHZhbGlkIGN1cnNvcicpO1xuICAgIH1cblxuICAgIC8vIElmIHNraXAgYW5kIGFmdGVyIGFyZSBwYXNzZWQsIGEgbmV3IHNraXAgaXMgY2FsY3VsYXRlZCBieSBhZGRpbmcgdGhlbVxuICAgIHNraXAgPSAoc2tpcCB8fCAwKSArIChhZnRlciArIDEpO1xuICB9XG5cbiAgLy8gVmFsaWRhdGVzIHRoZSBmaXJzdCBwYXJhbVxuICBpZiAoZmlyc3QgfHwgZmlyc3QgPT09IDApIHtcbiAgICBpZiAoZmlyc3QgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0ZpcnN0IHNob3VsZCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICAgIH1cblxuICAgIC8vIFRoZSBmaXJzdCBwYXJhbSBpcyB0cmFuc2xhdGVkIHRvIHRoZSBsaW1pdCBwYXJhbSBvZiB0aGUgUGFyc2UgbGVnYWN5IEFQSVxuICAgIGxpbWl0ID0gZmlyc3Q7XG4gIH1cblxuICAvLyBWYWxpZGF0ZXMgdGhlIGJlZm9yZSBwYXJhbVxuICBpZiAoYmVmb3JlIHx8IGJlZm9yZSA9PT0gMCkge1xuICAgIC8vIFRoaXMgbWV0aG9kIGNvbnZlcnRzIHRoZSBjdXJzb3IgdG8gdGhlIGluZGV4IG9mIHRoZSBvYmplY3RcbiAgICBiZWZvcmUgPSBjdXJzb3JUb09mZnNldChiZWZvcmUpO1xuICAgIGlmICgoIWJlZm9yZSAmJiBiZWZvcmUgIT09IDApIHx8IGJlZm9yZSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLCAnQmVmb3JlIGlzIG5vdCBhIHZhbGlkIGN1cnNvcicpO1xuICAgIH1cblxuICAgIGlmICgoc2tpcCB8fCAwKSA+PSBiZWZvcmUpIHtcbiAgICAgIC8vIElmIHRoZSBiZWZvcmUgaW5kZXggaXMgbGVzcyB0aGFuIHRoZSBza2lwLCBubyBvYmplY3RzIHdpbGwgYmUgcmV0dXJuZWRcbiAgICAgIGxpbWl0ID0gMDtcbiAgICB9IGVsc2UgaWYgKCghbGltaXQgJiYgbGltaXQgIT09IDApIHx8IChza2lwIHx8IDApICsgbGltaXQgPiBiZWZvcmUpIHtcbiAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGxpbWl0IHNldCwgdGhlIGxpbWl0IGlzIGNhbGN1bGF0ZWQuIE9yLCBpZiB0aGUgbGltaXQgKHBsdXMgc2tpcCkgaXMgYmlnZ2VyIHRoYW4gdGhlIGJlZm9yZSBpbmRleCwgdGhlIG5ldyBsaW1pdCBpcyBzZXQuXG4gICAgICBsaW1pdCA9IGJlZm9yZSAtIChza2lwIHx8IDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZhbGlkYXRlcyB0aGUgbGFzdCBwYXJhbVxuICBpZiAobGFzdCB8fCBsYXN0ID09PSAwKSB7XG4gICAgaWYgKGxhc3QgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgJ0xhc3Qgc2hvdWxkIGJlIGEgcG9zaXRpdmUgbnVtYmVyJyk7XG4gICAgfVxuXG4gICAgaWYgKGxhc3QgPiBtYXhMaW1pdCkge1xuICAgICAgLy8gTGFzdCBjYW4ndCBiZSBiaWdnZXIgdGhhbiBQYXJzZSBzZXJ2ZXIgbWF4TGltaXQgY29uZmlnLlxuICAgICAgbGFzdCA9IG1heExpbWl0O1xuICAgIH1cblxuICAgIGlmIChsaW1pdCB8fCBsaW1pdCA9PT0gMCkge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgYSBwcmV2aW91cyBsaW1pdCBzZXQsIGl0IG1heSBiZSBhZGp1c3RlZFxuICAgICAgaWYgKGxhc3QgPCBsaW1pdCkge1xuICAgICAgICAvLyBpZiBsYXN0IGlzIGxlc3MgdGhhbiB0aGUgY3VycmVudCBsaW1pdFxuICAgICAgICBza2lwID0gKHNraXAgfHwgMCkgKyAobGltaXQgLSBsYXN0KTsgLy8gVGhlIHNraXAgaXMgYWRqdXN0ZWRcbiAgICAgICAgbGltaXQgPSBsYXN0OyAvLyB0aGUgbGltaXQgaXMgYWRqdXN0ZWRcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGxhc3QgPT09IDApIHtcbiAgICAgIC8vIE5vIG9iamVjdHMgd2lsbCBiZSByZXR1cm5lZFxuICAgICAgbGltaXQgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBwcmV2aW91cyBsaW1pdCBzZXQsIHRoZSBsaW1pdCB3aWxsIGJlIGVxdWFsIHRvIGxhc3QgYW5kIHByZSBjb3VudCBpcyBuZWVkZWQuXG4gICAgICBsaW1pdCA9IGxhc3Q7XG4gICAgICBuZWVkVG9QcmVDb3VudCA9IHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgc2tpcCxcbiAgICBsaW1pdCxcbiAgICBuZWVkVG9QcmVDb3VudCxcbiAgfTtcbn07XG5cbmV4cG9ydCB7IGdldE9iamVjdCwgZmluZE9iamVjdHMsIGNhbGN1bGF0ZVNraXBBbmRMaW1pdCwgbmVlZFRvR2V0QWxsS2V5cyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9B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
|
|
@@ -58,7 +58,7 @@ const getUserFromSessionToken = async (context, queryInfo, keysPrefix, userId) =
|
|
|
58
58
|
// Get the user it self from auth object
|
|
59
59
|
{
|
|
60
60
|
objectId: context.auth.user.id
|
|
61
|
-
}, options, info.
|
|
61
|
+
}, options, info.context);
|
|
62
62
|
if (!response.results || response.results.length == 0) {
|
|
63
63
|
throw (0, _Error.createSanitizedError)(_node.default.Error.INVALID_SESSION_TOKEN, 'Invalid session token', config);
|
|
64
64
|
} else {
|
|
@@ -87,4 +87,4 @@ const load = parseGraphQLSchema => {
|
|
|
87
87
|
}, true, true);
|
|
88
88
|
};
|
|
89
89
|
exports.load = load;
|
|
90
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbCIsInJlcXVpcmUiLCJfZ3JhcGhxbExpc3RGaWVsZHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX25vZGUiLCJfcmVzdCIsIl9wYXJzZUNsYXNzVHlwZXMiLCJfQXV0aCIsIl9FcnJvciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImdldFVzZXJGcm9tU2Vzc2lvblRva2VuIiwiY29udGV4dCIsInF1ZXJ5SW5mbyIsImtleXNQcmVmaXgiLCJ1c2VySWQiLCJpbmZvIiwiY29uZmlnIiwic2Vzc2lvblRva2VuIiwiY3JlYXRlU2FuaXRpemVkRXJyb3IiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9TRVNTSU9OX1RPS0VOIiwic2VsZWN0ZWRGaWVsZHMiLCJnZXRGaWVsZE5hbWVzIiwiZmlsdGVyIiwiZmllbGQiLCJzdGFydHNXaXRoIiwibWFwIiwicmVwbGFjZSIsImtleXNBbmRJbmNsdWRlIiwiZXh0cmFjdEtleXNBbmRJbmNsdWRlIiwia2V5cyIsImluY2x1ZGUiLCJhdXRoIiwiQXV0aCIsImlzTWFzdGVyIiwidXNlciIsImlkIiwib3B0aW9ucyIsInNwbGl0Iiwia2V5Iiwiam9pbiIsImluY2x1ZGVkIiwicmVzcG9uc2UiLCJyZXN0IiwiZmluZCIsIm9iamVjdElkIiwicmVzdWx0cyIsImxlbmd0aCIsImV4cG9ydHMiLCJsb2FkIiwicGFyc2VHcmFwaFFMU2NoZW1hIiwiaXNVc2Vyc0NsYXNzRGlzYWJsZWQiLCJhZGRHcmFwaFFMUXVlcnkiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJHcmFwaFFMTm9uTnVsbCIsInZpZXdlclR5cGUiLCJyZXNvbHZlIiwiX3NvdXJjZSIsIl9hcmdzIiwiaGFuZGxlRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC9sb2FkZXJzL3VzZXJzUXVlcmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmFwaFFMTm9uTnVsbCB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IGdldEZpZWxkTmFtZXMgZnJvbSAnZ3JhcGhxbC1saXN0LWZpZWxkcyc7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgcmVzdCBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IGV4dHJhY3RLZXlzQW5kSW5jbHVkZSB9IGZyb20gJy4vcGFyc2VDbGFzc1R5cGVzJztcbmltcG9ydCB7IEF1dGggfSBmcm9tICcuLi8uLi9BdXRoJztcbmltcG9ydCB7IGNyZWF0ZVNhbml0aXplZEVycm9yIH0gZnJvbSAnLi4vLi4vRXJyb3InO1xuXG5jb25zdCBnZXRVc2VyRnJvbVNlc3Npb25Ub2tlbiA9IGFzeW5jIChjb250ZXh0LCBxdWVyeUluZm8sIGtleXNQcmVmaXgsIHVzZXJJZCkgPT4ge1xuICBjb25zdCB7IGluZm8sIGNvbmZpZyB9ID0gY29udGV4dDtcbiAgaWYgKCFpbmZvIHx8ICFpbmZvLnNlc3Npb25Ub2tlbikge1xuICAgIHRocm93ICBjcmVhdGVTYW5pdGl6ZWRFcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX1NFU1NJT05fVE9LRU4sICdJbnZhbGlkIHNlc3Npb24gdG9rZW4nLCBjb25maWcpO1xuICB9XG4gIGNvbnN0IHNlc3Npb25Ub2tlbiA9IGluZm8uc2Vzc2lvblRva2VuO1xuICBjb25zdCBzZWxlY3RlZEZpZWxkcyA9IGdldEZpZWxkTmFtZXMocXVlcnlJbmZvKVxuICAgIC5maWx0ZXIoZmllbGQgPT4gZmllbGQuc3RhcnRzV2l0aChrZXlzUHJlZml4KSlcbiAgICAubWFwKGZpZWxkID0+IGZpZWxkLnJlcGxhY2Uoa2V5c1ByZWZpeCwgJycpKTtcblxuICBjb25zdCBrZXlzQW5kSW5jbHVkZSA9IGV4dHJhY3RLZXlzQW5kSW5jbHVkZShzZWxlY3RlZEZpZWxkcyk7XG4gIGNvbnN0IHsga2V5cyB9ID0ga2V5c0FuZEluY2x1ZGU7XG4gIGxldCB7IGluY2x1ZGUgfSA9IGtleXNBbmRJbmNsdWRlO1xuXG4gIGlmICh1c2VySWQgJiYgIWtleXMgJiYgIWluY2x1ZGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vzc2lvblRva2VuLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoa2V5cyAmJiAhaW5jbHVkZSkge1xuICAgIGluY2x1ZGUgPSAndXNlcic7XG4gIH1cblxuICBpZiAodXNlcklkKSB7XG4gICAgLy8gV2UgbmVlZCB0byByZSBjcmVhdGUgdGhlIGF1dGggY29udGV4dFxuICAgIC8vIHRvIGF2b2lkIHNlY3VyaXR5IGJyZWFjaCBpZiB1c2VySWQgaXMgcHJvdmlkZWRcbiAgICBjb250ZXh0LmF1dGggPSBuZXcgQXV0aCh7XG4gICAgICBjb25maWcsXG4gICAgICBpc01hc3RlcjogY29udGV4dC5hdXRoLmlzTWFzdGVyLFxuICAgICAgdXNlcjogeyBpZDogdXNlcklkIH0sXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBvcHRpb25zID0ge307XG4gIGlmIChrZXlzKSB7XG4gICAgb3B0aW9ucy5rZXlzID0ga2V5c1xuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoa2V5ID0+IGAke2tleX1gKVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuICBpZiAoaW5jbHVkZSkge1xuICAgIG9wdGlvbnMuaW5jbHVkZSA9IGluY2x1ZGVcbiAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAubWFwKGluY2x1ZGVkID0+IGAke2luY2x1ZGVkfWApXG4gICAgICAuam9pbignLCcpO1xuICB9XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXN0LmZpbmQoXG4gICAgY29uZmlnLFxuICAgIGNvbnRleHQuYXV0aCxcbiAgICAnX1VzZXInLFxuICAgIC8vIEdldCB0aGUgdXNlciBpdCBzZWxmIGZyb20gYXV0aCBvYmplY3RcbiAgICB7IG9iamVjdElkOiBjb250ZXh0LmF1dGgudXNlci5pZCB9LFxuICAgIG9wdGlvbnMsXG4gICAgaW5mby5jb250ZXh0XG4gICk7XG4gIGlmICghcmVzcG9uc2UucmVzdWx0cyB8fCByZXNwb25zZS5yZXN1bHRzLmxlbmd0aCA9PSAwKSB7XG4gICAgdGhyb3cgY3JlYXRlU2FuaXRpemVkRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9TRVNTSU9OX1RPS0VOLCAnSW52YWxpZCBzZXNzaW9uIHRva2VuJywgY29uZmlnKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1c2VyID0gcmVzcG9uc2UucmVzdWx0c1swXTtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vzc2lvblRva2VuLFxuICAgICAgdXNlcixcbiAgICB9O1xuICB9XG59O1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgaWYgKHBhcnNlR3JhcGhRTFNjaGVtYS5pc1VzZXJzQ2xhc3NEaXNhYmxlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMUXVlcnkoXG4gICAgJ3ZpZXdlcicsXG4gICAge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgdmlld2VyIHF1ZXJ5IGNhbiBiZSB1c2VkIHRvIHJldHVybiB0aGUgY3VycmVudCB1c2VyIGRhdGEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChwYXJzZUdyYXBoUUxTY2hlbWEudmlld2VyVHlwZSksXG4gICAgICBhc3luYyByZXNvbHZlKF9zb3VyY2UsIF9hcmdzLCBjb250ZXh0LCBxdWVyeUluZm8pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZ2V0VXNlckZyb21TZXNzaW9uVG9rZW4oY29udGV4dCwgcXVlcnlJbmZvLCAndXNlci4nLCBmYWxzZSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICB0cnVlLFxuICAgIHRydWVcbiAgKTtcbn07XG5cbmV4cG9ydCB7IGxvYWQsIGdldFVzZXJGcm9tU2Vzc2lvblRva2VuIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFB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
|