parse-server 7.0.0-alpha.9 → 7.0.0-beta.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/README.md +8 -11
- package/lib/AccountLockout.js +2 -3
- package/lib/Adapters/AdapterLoader.js +2 -3
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -3
- package/lib/Adapters/Auth/AuthAdapter.js +2 -3
- package/lib/Adapters/Auth/janraincapture.js +1 -2
- package/lib/Adapters/Auth/ldap.js +2 -2
- package/lib/Adapters/Auth/mfa.js +2 -3
- package/lib/Adapters/Cache/InMemoryCache.js +2 -3
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +2 -3
- package/lib/Adapters/Cache/LRUCache.js +2 -3
- package/lib/Adapters/Cache/NullCacheAdapter.js +2 -3
- package/lib/Adapters/Cache/RedisCacheAdapter.js +2 -3
- package/lib/Adapters/Cache/SchemaCache.js +2 -3
- package/lib/Adapters/Email/MailAdapter.js +2 -3
- package/lib/Adapters/Files/FilesAdapter.js +2 -3
- package/lib/Adapters/Files/GridFSBucketAdapter.js +2 -3
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -3
- package/lib/Adapters/Logger/WinstonLogger.js +5 -7
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +2 -3
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +2 -3
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +2 -3
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -3
- package/lib/Adapters/PubSub/RedisPubSub.js +6 -7
- package/lib/Adapters/Push/PushAdapter.js +2 -3
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +19 -10
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +6 -7
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +16 -13
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +5 -5
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +7 -12
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +2 -3
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +2 -3
- package/lib/Auth.js +5 -12
- package/lib/Config.js +10 -4
- package/lib/Controllers/AdaptableController.js +2 -3
- package/lib/Controllers/AnalyticsController.js +2 -3
- package/lib/Controllers/CacheController.js +2 -3
- package/lib/Controllers/DatabaseController.js +15 -13
- package/lib/Controllers/FilesController.js +2 -3
- package/lib/Controllers/HooksController.js +4 -5
- package/lib/Controllers/LiveQueryController.js +2 -3
- package/lib/Controllers/LoggerController.js +5 -9
- package/lib/Controllers/ParseGraphQLController.js +9 -13
- package/lib/Controllers/PushController.js +2 -3
- package/lib/Controllers/SchemaController.js +9 -14
- package/lib/Controllers/UserController.js +6 -8
- package/lib/Controllers/index.js +5 -5
- package/lib/Deprecator/Deprecations.js +1 -7
- package/lib/GraphQL/ParseGraphQLSchema.js +3 -3
- package/lib/GraphQL/ParseGraphQLServer.js +61 -30
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +3 -3
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +3 -3
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +87 -153
- package/lib/GraphQL/loaders/defaultRelaySchema.js +8 -9
- package/lib/GraphQL/loaders/filesMutations.js +55 -17
- package/lib/GraphQL/loaders/functionsMutations.js +7 -7
- package/lib/GraphQL/loaders/parseClassMutations.js +9 -7
- package/lib/GraphQL/loaders/parseClassQueries.js +3 -3
- package/lib/GraphQL/loaders/parseClassTypes.js +7 -7
- package/lib/GraphQL/loaders/schemaDirectives.js +2 -3
- package/lib/GraphQL/loaders/schemaMutations.js +3 -3
- package/lib/GraphQL/loaders/schemaQueries.js +3 -3
- package/lib/GraphQL/loaders/schemaTypes.js +32 -63
- package/lib/GraphQL/loaders/usersMutations.js +9 -7
- package/lib/GraphQL/parseGraphQLUtils.js +6 -4
- package/lib/GraphQL/transformers/constraintType.js +3 -3
- package/lib/GraphQL/transformers/inputType.js +3 -3
- package/lib/GraphQL/transformers/mutation.js +19 -14
- package/lib/GraphQL/transformers/outputType.js +3 -3
- package/lib/GraphQL/transformers/query.js +5 -5
- package/lib/GraphQL/transformers/schemaFields.js +5 -5
- package/lib/LiveQuery/ParseLiveQueryServer.js +3 -12
- package/lib/LiveQuery/ParsePubSub.js +2 -3
- package/lib/LiveQuery/RequestSchema.js +2 -19
- package/lib/Options/Definitions.js +11 -11
- package/lib/Options/docs.js +7 -7
- package/lib/Options/index.js +1 -1
- package/lib/Page.js +2 -3
- package/lib/ParseMessageQueue.js +2 -3
- package/lib/ParseServer.js +23 -16
- package/lib/ParseServerRESTController.js +6 -7
- package/lib/Push/PushWorker.js +4 -5
- package/lib/RestQuery.js +2 -3
- package/lib/RestWrite.js +7 -8
- package/lib/Routers/AggregateRouter.js +8 -5
- package/lib/Routers/AudiencesRouter.js +4 -5
- package/lib/Routers/ClassesRouter.js +6 -4
- package/lib/Routers/FeaturesRouter.js +3 -3
- package/lib/Routers/FilesRouter.js +5 -5
- package/lib/Routers/GlobalConfigRouter.js +4 -5
- package/lib/Routers/GraphQLRouter.js +4 -5
- package/lib/Routers/HooksRouter.js +4 -5
- package/lib/Routers/InstallationsRouter.js +2 -3
- package/lib/Routers/LogsRouter.js +4 -5
- package/lib/Routers/PagesRouter.js +2 -3
- package/lib/Routers/PublicAPIRouter.js +2 -3
- package/lib/Routers/PurgeRouter.js +4 -5
- package/lib/Routers/PushRouter.js +4 -5
- package/lib/Routers/RolesRouter.js +2 -3
- package/lib/Routers/SchemasRouter.js +5 -5
- package/lib/Routers/SecurityRouter.js +4 -5
- package/lib/Routers/SessionsRouter.js +2 -3
- package/lib/Routers/UsersRouter.js +22 -15
- package/lib/SchemaMigrations/DefinedSchemas.js +7 -7
- package/lib/Security/Check.js +2 -3
- package/lib/Security/CheckRunner.js +3 -3
- package/lib/StatusHandler.js +5 -5
- package/lib/TestUtils.js +2 -2
- package/lib/cache.js +3 -5
- package/lib/cli/definitions/parse-live-query-server.js +2 -3
- package/lib/cli/definitions/parse-server.js +2 -3
- package/lib/cli/utils/commander.js +2 -3
- package/lib/cli/utils/runner.js +1 -2
- package/lib/cloud-code/Parse.Cloud.js +9 -135
- package/lib/defaults.js +3 -5
- package/lib/index.js +6 -9
- package/lib/middlewares.js +8 -5
- package/lib/triggers.js +16 -8
- package/package.json +32 -32
|
@@ -9,18 +9,19 @@ var _graphqlRelay = require("graphql-relay");
|
|
|
9
9
|
var _filesMutations = require("../loaders/filesMutations");
|
|
10
10
|
var defaultGraphQLTypes = _interopRequireWildcard(require("../loaders/defaultGraphQLTypes"));
|
|
11
11
|
var objectsMutations = _interopRequireWildcard(require("../helpers/objectsMutations"));
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
function ownKeys(
|
|
16
|
-
function _objectSpread(
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
17
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
-
function _toPropertyKey(
|
|
19
|
-
function _toPrimitive(
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
19
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
20
|
const transformTypes = async (inputType, fields, {
|
|
21
21
|
className,
|
|
22
22
|
parseGraphQLSchema,
|
|
23
|
-
req
|
|
23
|
+
req,
|
|
24
|
+
originalFields
|
|
24
25
|
}) => {
|
|
25
26
|
const {
|
|
26
27
|
classGraphQLCreateType,
|
|
@@ -62,10 +63,12 @@ const transformTypes = async (inputType, fields, {
|
|
|
62
63
|
fields[field] = transformers.polygon(fields[field]);
|
|
63
64
|
break;
|
|
64
65
|
case inputTypeField.type === defaultGraphQLTypes.FILE_INPUT:
|
|
65
|
-
|
|
66
|
+
// Use `originalFields` to handle file upload since fields are a deepcopy and do not
|
|
67
|
+
// keep the file object
|
|
68
|
+
fields[field] = await transformers.file(originalFields[field], req);
|
|
66
69
|
break;
|
|
67
70
|
case parseClass.fields[field].type === 'Relation':
|
|
68
|
-
fields[field] = await transformers.relation(parseClass.fields[field].targetClass, field, fields[field], parseGraphQLSchema, req);
|
|
71
|
+
fields[field] = await transformers.relation(parseClass.fields[field].targetClass, field, fields[field], originalFields[field], parseGraphQLSchema, req);
|
|
69
72
|
break;
|
|
70
73
|
case parseClass.fields[field].type === 'Pointer':
|
|
71
74
|
if (fields[field] === null) {
|
|
@@ -74,7 +77,7 @@ const transformTypes = async (inputType, fields, {
|
|
|
74
77
|
};
|
|
75
78
|
break;
|
|
76
79
|
}
|
|
77
|
-
fields[field] = await transformers.pointer(parseClass.fields[field].targetClass, field, fields[field], parseGraphQLSchema, req);
|
|
80
|
+
fields[field] = await transformers.pointer(parseClass.fields[field].targetClass, field, fields[field], originalFields[field], parseGraphQLSchema, req);
|
|
78
81
|
break;
|
|
79
82
|
default:
|
|
80
83
|
if (fields[field] === null) {
|
|
@@ -159,7 +162,7 @@ const transformers = {
|
|
|
159
162
|
}
|
|
160
163
|
return parseACL;
|
|
161
164
|
},
|
|
162
|
-
relation: async (targetClass, field, value, parseGraphQLSchema, {
|
|
165
|
+
relation: async (targetClass, field, value, originalValue, parseGraphQLSchema, {
|
|
163
166
|
config,
|
|
164
167
|
auth,
|
|
165
168
|
info
|
|
@@ -171,9 +174,10 @@ const transformers = {
|
|
|
171
174
|
};
|
|
172
175
|
let nestedObjectsToAdd = [];
|
|
173
176
|
if (value.createAndAdd) {
|
|
174
|
-
nestedObjectsToAdd = (await Promise.all(value.createAndAdd.map(async input => {
|
|
177
|
+
nestedObjectsToAdd = (await Promise.all(value.createAndAdd.map(async (input, i) => {
|
|
175
178
|
const parseFields = await transformTypes('create', input, {
|
|
176
179
|
className: targetClass,
|
|
180
|
+
originalFields: originalValue.createAndAdd[i],
|
|
177
181
|
parseGraphQLSchema,
|
|
178
182
|
req: {
|
|
179
183
|
config,
|
|
@@ -224,7 +228,7 @@ const transformers = {
|
|
|
224
228
|
}
|
|
225
229
|
return op;
|
|
226
230
|
},
|
|
227
|
-
pointer: async (targetClass, field, value, parseGraphQLSchema, {
|
|
231
|
+
pointer: async (targetClass, field, value, originalValue, parseGraphQLSchema, {
|
|
228
232
|
config,
|
|
229
233
|
auth,
|
|
230
234
|
info
|
|
@@ -235,6 +239,7 @@ const transformers = {
|
|
|
235
239
|
const parseFields = await transformTypes('create', value.createAndLink, {
|
|
236
240
|
className: targetClass,
|
|
237
241
|
parseGraphQLSchema,
|
|
242
|
+
originalFields: originalValue.createAndLink,
|
|
238
243
|
req: {
|
|
239
244
|
config,
|
|
240
245
|
auth,
|
|
@@ -262,4 +267,4 @@ const transformers = {
|
|
|
262
267
|
}
|
|
263
268
|
}
|
|
264
269
|
};
|
|
265
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWxSZWxheSIsIl9maWxlc011dGF0aW9ucyIsImRlZmF1bHRHcmFwaFFMVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIm9iamVjdHNNdXRhdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJ0cmFuc2Zvcm1UeXBlcyIsImlucHV0VHlwZSIsImZpZWxkcyIsImNsYXNzTmFtZSIsInBhcnNlR3JhcGhRTFNjaGVtYSIsInJlcSIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJtYXAiLCJmaWVsZCIsImlucHV0VHlwZUZpZWxkIiwidHlwZSIsIkdFT19QT0lOVF9JTlBVVCIsIl9fb3AiLCJ0cmFuc2Zvcm1lcnMiLCJnZW9Qb2ludCIsIlBPTFlHT05fSU5QVVQiLCJwb2x5Z29uIiwiRklMRV9JTlBVVCIsImZpbGUiLCJyZWxhdGlvbiIsInRhcmdldENsYXNzIiwicG9pbnRlciIsIlByb21pc2UiLCJhbGwiLCJBQ0wiLCJleHBvcnRzIiwidXBsb2FkIiwiZmlsZUluZm8iLCJoYW5kbGVVcGxvYWQiLCJfX3R5cGUiLCJuYW1lIiwidXJsIiwiUGFyc2UiLCJFcnJvciIsIkZJTEVfU0FWRV9FUlJPUiIsImNvb3JkaW5hdGVzIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJwYXJzZUFDTCIsInB1YmxpYyIsInJlYWQiLCJ3cml0ZSIsInVzZXJzIiwicnVsZSIsImdsb2JhbElkT2JqZWN0IiwiZnJvbUdsb2JhbElkIiwidXNlcklkIiwiaWQiLCJyb2xlcyIsInJvbGVOYW1lIiwiYXV0aCIsImluZm8iLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwiY3JlYXRlT2JqZWN0Iiwib2JqZWN0SWQiLCJhZGQiLCJvYmplY3RzIiwicmVtb3ZlIiwibmVzdGVkT2JqZWN0VG9BZGQiLCJjcmVhdGVBbmRMaW5rIiwibGluayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9tdXRhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBmcm9tR2xvYmFsSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcbmltcG9ydCB7IGhhbmRsZVVwbG9hZCB9IGZyb20gJy4uL2xvYWRlcnMvZmlsZXNNdXRhdGlvbnMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdEdyYXBoUUxUeXBlcyBmcm9tICcuLi9sb2FkZXJzL2RlZmF1bHRHcmFwaFFMVHlwZXMnO1xuaW1wb3J0ICogYXMgb2JqZWN0c011dGF0aW9ucyBmcm9tICcuLi9oZWxwZXJzL29iamVjdHNNdXRhdGlvbnMnO1xuXG5jb25zdCB0cmFuc2Zvcm1UeXBlcyA9IGFzeW5jIChcbiAgaW5wdXRUeXBlOiAnY3JlYXRlJyB8ICd1cGRhdGUnLFxuICBmaWVsZHMsXG4gIHsgY2xhc3NOYW1lLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHJlcSB9XG4pID0+IHtcbiAgY29uc3Qge1xuICAgIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUsXG4gICAgY2xhc3NHcmFwaFFMVXBkYXRlVHlwZSxcbiAgICBjb25maWc6IHsgaXNDcmVhdGVFbmFibGVkLCBpc1VwZGF0ZUVuYWJsZWQgfSxcbiAgfSA9IHBhcnNlR3JhcGhRTFNjaGVtYS5wYXJzZUNsYXNzVHlwZXNbY2xhc3NOYW1lXTtcbiAgY29uc3QgcGFyc2VDbGFzcyA9IHBhcnNlR3JhcGhRTFNjaGVtYS5wYXJzZUNsYXNzZXNbY2xhc3NOYW1lXTtcbiAgaWYgKGZpZWxkcykge1xuICAgIGNvbnN0IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMgPVxuICAgICAgaXNDcmVhdGVFbmFibGVkICYmIGNsYXNzR3JhcGhRTENyZWF0ZVR5cGUgPyBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlLmdldEZpZWxkcygpIDogbnVsbDtcbiAgICBjb25zdCBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzID1cbiAgICAgIGlzVXBkYXRlRW5hYmxlZCAmJiBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlID8gY2xhc3NHcmFwaFFMVXBkYXRlVHlwZS5nZXRGaWVsZHMoKSA6IG51bGw7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBPYmplY3Qua2V5cyhmaWVsZHMpLm1hcChhc3luYyBmaWVsZCA9PiB7XG4gICAgICBsZXQgaW5wdXRUeXBlRmllbGQ7XG4gICAgICBpZiAoaW5wdXRUeXBlID09PSAnY3JlYXRlJyAmJiBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzKSB7XG4gICAgICAgIGlucHV0VHlwZUZpZWxkID0gY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkc1tmaWVsZF07XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGVGaWVsZHMpIHtcbiAgICAgICAgaW5wdXRUeXBlRmllbGQgPSBjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzW2ZpZWxkXTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dFR5cGVGaWVsZCkge1xuICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuR0VPX1BPSU5UX0lOUFVUOlxuICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gdHJhbnNmb3JtZXJzLmdlb1BvaW50KGZpZWxkc1tmaWVsZF0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLlBPTFlHT05fSU5QVVQ6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB0cmFuc2Zvcm1lcnMucG9seWdvbihmaWVsZHNbZmllbGRdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5GSUxFX0lOUFVUOlxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5maWxlKGZpZWxkc1tmaWVsZF0sIHJlcSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHBhcnNlQ2xhc3MuZmllbGRzW2ZpZWxkXS50eXBlID09PSAnUmVsYXRpb24nOlxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5yZWxhdGlvbihcbiAgICAgICAgICAgICAgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnRhcmdldENsYXNzLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHBhcnNlQ2xhc3MuZmllbGRzW2ZpZWxkXS50eXBlID09PSAnUG9pbnRlcic6XG4gICAgICAgICAgICBpZiAoZmllbGRzW2ZpZWxkXSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdID0geyBfX29wOiAnRGVsZXRlJyB9O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSBhd2FpdCB0cmFuc2Zvcm1lcnMucG9pbnRlcihcbiAgICAgICAgICAgICAgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnRhcmdldENsYXNzLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLFxuICAgICAgICAgICAgICByZXFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgaWYgKGZpZWxkcy5BQ0wpIGZpZWxkcy5BQ0wgPSB0cmFuc2Zvcm1lcnMuQUNMKGZpZWxkcy5BQ0wpO1xuICB9XG4gIHJldHVybiBmaWVsZHM7XG59O1xuXG5jb25zdCB0cmFuc2Zvcm1lcnMgPSB7XG4gIGZpbGU6IGFzeW5jIChpbnB1dCwgeyBjb25maWcgfSkgPT4ge1xuICAgIGlmIChpbnB1dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICB9XG4gICAgY29uc3QgeyBmaWxlLCB1cGxvYWQgfSA9IGlucHV0O1xuICAgIGlmICh1cGxvYWQpIHtcbiAgICAgIGNvbnN0IHsgZmlsZUluZm8gfSA9IGF3YWl0IGhhbmRsZVVwbG9hZCh1cGxvYWQsIGNvbmZpZyk7XG4gICAgICByZXR1cm4geyAuLi5maWxlSW5mbywgX190eXBlOiAnRmlsZScgfTtcbiAgICB9IGVsc2UgaWYgKGZpbGUgJiYgZmlsZS5uYW1lKSB7XG4gICAgICByZXR1cm4geyBuYW1lOiBmaWxlLm5hbWUsIF9fdHlwZTogJ0ZpbGUnLCB1cmw6IGZpbGUudXJsIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsICdJbnZhbGlkIGZpbGUgdXBsb2FkLicpO1xuICB9LFxuICBwb2x5Z29uOiB2YWx1ZSA9PiAoe1xuICAgIF9fdHlwZTogJ1BvbHlnb24nLFxuICAgIGNvb3JkaW5hdGVzOiB2YWx1ZS5tYXAoZ2VvUG9pbnQgPT4gW2dlb1BvaW50LmxhdGl0dWRlLCBnZW9Qb2ludC5sb25naXR1ZGVdKSxcbiAgfSksXG4gIGdlb1BvaW50OiB2YWx1ZSA9PiAoe1xuICAgIC4uLnZhbHVlLFxuICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgfSksXG4gIEFDTDogdmFsdWUgPT4ge1xuICAgIGNvbnN0IHBhcnNlQUNMID0ge307XG4gICAgaWYgKHZhbHVlLnB1YmxpYykge1xuICAgICAgcGFyc2VBQ0xbJyonXSA9IHtcbiAgICAgICAgcmVhZDogdmFsdWUucHVibGljLnJlYWQsXG4gICAgICAgIHdyaXRlOiB2YWx1ZS5wdWJsaWMud3JpdGUsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUudXNlcnMpIHtcbiAgICAgIHZhbHVlLnVzZXJzLmZvckVhY2gocnVsZSA9PiB7XG4gICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKHJ1bGUudXNlcklkKTtcbiAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09ICdfVXNlcicpIHtcbiAgICAgICAgICBydWxlLnVzZXJJZCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICB9XG4gICAgICAgIHBhcnNlQUNMW3J1bGUudXNlcklkXSA9IHtcbiAgICAgICAgICByZWFkOiBydWxlLnJlYWQsXG4gICAgICAgICAgd3JpdGU6IHJ1bGUud3JpdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnJvbGVzKSB7XG4gICAgICB2YWx1ZS5yb2xlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICBwYXJzZUFDTFtgcm9sZToke3J1bGUucm9sZU5hbWV9YF0gPSB7XG4gICAgICAgICAgcmVhZDogcnVsZS5yZWFkLFxuICAgICAgICAgIHdyaXRlOiBydWxlLndyaXRlLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUFDTDtcbiAgfSxcbiAgcmVsYXRpb246IGFzeW5jICh0YXJnZXRDbGFzcywgZmllbGQsIHZhbHVlLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHsgY29uZmlnLCBhdXRoLCBpbmZvIH0pID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBhdCBsZWFzdCBvbmUgb3BlcmF0aW9uIG9uIHRoZSByZWxhdGlvbiBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBjb25zdCBvcCA9IHtcbiAgICAgIF9fb3A6ICdCYXRjaCcsXG4gICAgICBvcHM6IFtdLFxuICAgIH07XG4gICAgbGV0IG5lc3RlZE9iamVjdHNUb0FkZCA9IFtdO1xuXG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZEFkZCkge1xuICAgICAgbmVzdGVkT2JqZWN0c1RvQWRkID0gKFxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICB2YWx1ZS5jcmVhdGVBbmRBZGQubWFwKGFzeW5jIGlucHV0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlRmllbGRzID0gYXdhaXQgdHJhbnNmb3JtVHlwZXMoJ2NyZWF0ZScsIGlucHV0LCB7XG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgICAgICAgcmVxOiB7IGNvbmZpZywgYXV0aCwgaW5mbyB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0c011dGF0aW9ucy5jcmVhdGVPYmplY3QodGFyZ2V0Q2xhc3MsIHBhcnNlRmllbGRzLCBjb25maWcsIGF1dGgsIGluZm8pO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICkubWFwKG9iamVjdCA9PiAoe1xuICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgb2JqZWN0SWQ6IG9iamVjdC5vYmplY3RJZCxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUuYWRkIHx8IG5lc3RlZE9iamVjdHNUb0FkZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoIXZhbHVlLmFkZCkgdmFsdWUuYWRkID0gW107XG4gICAgICB2YWx1ZS5hZGQgPSB2YWx1ZS5hZGQubWFwKGlucHV0ID0+IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoaW5wdXQpO1xuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gdGFyZ2V0Q2xhc3MpIHtcbiAgICAgICAgICBpbnB1dCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICBvYmplY3RJZDogaW5wdXQsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIG9wLm9wcy5wdXNoKHtcbiAgICAgICAgX19vcDogJ0FkZFJlbGF0aW9uJyxcbiAgICAgICAgb2JqZWN0czogWy4uLnZhbHVlLmFkZCwgLi4ubmVzdGVkT2JqZWN0c1RvQWRkXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZS5yZW1vdmUpIHtcbiAgICAgIG9wLm9wcy5wdXNoKHtcbiAgICAgICAgX19vcDogJ1JlbW92ZVJlbGF0aW9uJyxcbiAgICAgICAgb2JqZWN0czogdmFsdWUucmVtb3ZlLm1hcChpbnB1dCA9PiB7XG4gICAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoaW5wdXQpO1xuICAgICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICAgICAgaW5wdXQgPSBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIG9iamVjdElkOiBpbnB1dCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG4gIH0sXG4gIHBvaW50ZXI6IGFzeW5jICh0YXJnZXRDbGFzcywgZmllbGQsIHZhbHVlLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHsgY29uZmlnLCBhdXRoLCBpbmZvIH0pID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA+IDEgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBsaW5rIE9SIGNyZWF0ZUxpbmsgb24gdGhlIHBvaW50ZXIgbXV0YXRpb24gb2YgZmllbGQgJHtmaWVsZH1gXG4gICAgICApO1xuXG4gICAgbGV0IG5lc3RlZE9iamVjdFRvQWRkO1xuICAgIGlmICh2YWx1ZS5jcmVhdGVBbmRMaW5rKSB7XG4gICAgICBjb25zdCBwYXJzZUZpZWxkcyA9IGF3YWl0IHRyYW5zZm9ybVR5cGVzKCdjcmVhdGUnLCB2YWx1ZS5jcmVhdGVBbmRMaW5rLCB7XG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgcmVxOiB7IGNvbmZpZywgYXV0aCwgaW5mbyB9LFxuICAgICAgfSk7XG4gICAgICBuZXN0ZWRPYmplY3RUb0FkZCA9IGF3YWl0IG9iamVjdHNNdXRhdGlvbnMuY3JlYXRlT2JqZWN0KFxuICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VGaWVsZHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgYXV0aCxcbiAgICAgICAgaW5mb1xuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogbmVzdGVkT2JqZWN0VG9BZGQub2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUubGluaykge1xuICAgICAgbGV0IG9iamVjdElkID0gdmFsdWUubGluaztcbiAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKG9iamVjdElkKTtcbiAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICBvYmplY3RJZCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1UeXBlcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxh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
|
|
270
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2dyYXBocWxSZWxheSIsIl9maWxlc011dGF0aW9ucyIsImRlZmF1bHRHcmFwaFFMVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIm9iamVjdHNNdXRhdGlvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvYmoiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImtleSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwidHJhbnNmb3JtVHlwZXMiLCJpbnB1dFR5cGUiLCJmaWVsZHMiLCJjbGFzc05hbWUiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJyZXEiLCJvcmlnaW5hbEZpZWxkcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGUiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlIiwiY29uZmlnIiwiaXNDcmVhdGVFbmFibGVkIiwiaXNVcGRhdGVFbmFibGVkIiwicGFyc2VDbGFzc1R5cGVzIiwicGFyc2VDbGFzcyIsInBhcnNlQ2xhc3NlcyIsImNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHMiLCJnZXRGaWVsZHMiLCJjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzIiwicHJvbWlzZXMiLCJtYXAiLCJmaWVsZCIsImlucHV0VHlwZUZpZWxkIiwidHlwZSIsIkdFT19QT0lOVF9JTlBVVCIsIl9fb3AiLCJ0cmFuc2Zvcm1lcnMiLCJnZW9Qb2ludCIsIlBPTFlHT05fSU5QVVQiLCJwb2x5Z29uIiwiRklMRV9JTlBVVCIsImZpbGUiLCJyZWxhdGlvbiIsInRhcmdldENsYXNzIiwicG9pbnRlciIsIlByb21pc2UiLCJhbGwiLCJBQ0wiLCJleHBvcnRzIiwiaW5wdXQiLCJ1cGxvYWQiLCJmaWxlSW5mbyIsImhhbmRsZVVwbG9hZCIsIl9fdHlwZSIsIm5hbWUiLCJ1cmwiLCJQYXJzZSIsIkVycm9yIiwiRklMRV9TQVZFX0VSUk9SIiwiY29vcmRpbmF0ZXMiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInBhcnNlQUNMIiwicHVibGljIiwicmVhZCIsIndyaXRlIiwidXNlcnMiLCJydWxlIiwiZ2xvYmFsSWRPYmplY3QiLCJmcm9tR2xvYmFsSWQiLCJ1c2VySWQiLCJpZCIsInJvbGVzIiwicm9sZU5hbWUiLCJvcmlnaW5hbFZhbHVlIiwiYXV0aCIsImluZm8iLCJJTlZBTElEX1BPSU5URVIiLCJvcCIsIm9wcyIsIm5lc3RlZE9iamVjdHNUb0FkZCIsImNyZWF0ZUFuZEFkZCIsInBhcnNlRmllbGRzIiwiY3JlYXRlT2JqZWN0Iiwib2JqZWN0Iiwib2JqZWN0SWQiLCJhZGQiLCJvYmplY3RzIiwicmVtb3ZlIiwibmVzdGVkT2JqZWN0VG9BZGQiLCJjcmVhdGVBbmRMaW5rIiwibGluayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9tdXRhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBmcm9tR2xvYmFsSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcbmltcG9ydCB7IGhhbmRsZVVwbG9hZCB9IGZyb20gJy4uL2xvYWRlcnMvZmlsZXNNdXRhdGlvbnMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdEdyYXBoUUxUeXBlcyBmcm9tICcuLi9sb2FkZXJzL2RlZmF1bHRHcmFwaFFMVHlwZXMnO1xuaW1wb3J0ICogYXMgb2JqZWN0c011dGF0aW9ucyBmcm9tICcuLi9oZWxwZXJzL29iamVjdHNNdXRhdGlvbnMnO1xuXG5jb25zdCB0cmFuc2Zvcm1UeXBlcyA9IGFzeW5jIChcbiAgaW5wdXRUeXBlOiAnY3JlYXRlJyB8ICd1cGRhdGUnLFxuICBmaWVsZHMsXG4gIHsgY2xhc3NOYW1lLCBwYXJzZUdyYXBoUUxTY2hlbWEsIHJlcSwgb3JpZ2luYWxGaWVsZHMgfVxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlLFxuICAgIGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGUsXG4gICAgY29uZmlnOiB7IGlzQ3JlYXRlRW5hYmxlZCwgaXNVcGRhdGVFbmFibGVkIH0sXG4gIH0gPSBwYXJzZUdyYXBoUUxTY2hlbWEucGFyc2VDbGFzc1R5cGVzW2NsYXNzTmFtZV07XG4gIGNvbnN0IHBhcnNlQ2xhc3MgPSBwYXJzZUdyYXBoUUxTY2hlbWEucGFyc2VDbGFzc2VzW2NsYXNzTmFtZV07XG4gIGlmIChmaWVsZHMpIHtcbiAgICBjb25zdCBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlRmllbGRzID1cbiAgICAgIGlzQ3JlYXRlRW5hYmxlZCAmJiBjbGFzc0dyYXBoUUxDcmVhdGVUeXBlID8gY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZS5nZXRGaWVsZHMoKSA6IG51bGw7XG4gICAgY29uc3QgY2xhc3NHcmFwaFFMVXBkYXRlVHlwZUZpZWxkcyA9XG4gICAgICBpc1VwZGF0ZUVuYWJsZWQgJiYgY2xhc3NHcmFwaFFMVXBkYXRlVHlwZSA/IGNsYXNzR3JhcGhRTFVwZGF0ZVR5cGUuZ2V0RmllbGRzKCkgOiBudWxsO1xuICAgIGNvbnN0IHByb21pc2VzID0gT2JqZWN0LmtleXMoZmllbGRzKS5tYXAoYXN5bmMgZmllbGQgPT4ge1xuICAgICAgbGV0IGlucHV0VHlwZUZpZWxkO1xuICAgICAgaWYgKGlucHV0VHlwZSA9PT0gJ2NyZWF0ZScgJiYgY2xhc3NHcmFwaFFMQ3JlYXRlVHlwZUZpZWxkcykge1xuICAgICAgICBpbnB1dFR5cGVGaWVsZCA9IGNsYXNzR3JhcGhRTENyZWF0ZVR5cGVGaWVsZHNbZmllbGRdO1xuICAgICAgfSBlbHNlIGlmIChjbGFzc0dyYXBoUUxVcGRhdGVUeXBlRmllbGRzKSB7XG4gICAgICAgIGlucHV0VHlwZUZpZWxkID0gY2xhc3NHcmFwaFFMVXBkYXRlVHlwZUZpZWxkc1tmaWVsZF07XG4gICAgICB9XG4gICAgICBpZiAoaW5wdXRUeXBlRmllbGQpIHtcbiAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgY2FzZSBpbnB1dFR5cGVGaWVsZC50eXBlID09PSBkZWZhdWx0R3JhcGhRTFR5cGVzLkdFT19QT0lOVF9JTlBVVDpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHRyYW5zZm9ybWVycy5nZW9Qb2ludChmaWVsZHNbZmllbGRdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgaW5wdXRUeXBlRmllbGQudHlwZSA9PT0gZGVmYXVsdEdyYXBoUUxUeXBlcy5QT0xZR09OX0lOUFVUOlxuICAgICAgICAgICAgaWYgKGZpZWxkc1tmaWVsZF0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IHsgX19vcDogJ0RlbGV0ZScgfTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWVsZHNbZmllbGRdID0gdHJhbnNmb3JtZXJzLnBvbHlnb24oZmllbGRzW2ZpZWxkXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIGlucHV0VHlwZUZpZWxkLnR5cGUgPT09IGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTlBVVDpcbiAgICAgICAgICAgIC8vIFVzZSBgb3JpZ2luYWxGaWVsZHNgIHRvIGhhbmRsZSBmaWxlIHVwbG9hZCBzaW5jZSBmaWVsZHMgYXJlIGEgZGVlcGNvcHkgYW5kIGRvIG5vdFxuICAgICAgICAgICAgLy8ga2VlcCB0aGUgZmlsZSBvYmplY3RcbiAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSBhd2FpdCB0cmFuc2Zvcm1lcnMuZmlsZShvcmlnaW5hbEZpZWxkc1tmaWVsZF0sIHJlcSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHBhcnNlQ2xhc3MuZmllbGRzW2ZpZWxkXS50eXBlID09PSAnUmVsYXRpb24nOlxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5yZWxhdGlvbihcbiAgICAgICAgICAgICAgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnRhcmdldENsYXNzLFxuICAgICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgcGFyc2VDbGFzcy5maWVsZHNbZmllbGRdLnR5cGUgPT09ICdQb2ludGVyJzpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmllbGRzW2ZpZWxkXSA9IGF3YWl0IHRyYW5zZm9ybWVycy5wb2ludGVyKFxuICAgICAgICAgICAgICBwYXJzZUNsYXNzLmZpZWxkc1tmaWVsZF0udGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICBmaWVsZHNbZmllbGRdLFxuICAgICAgICAgICAgICBvcmlnaW5hbEZpZWxkc1tmaWVsZF0sXG4gICAgICAgICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgICAgICAgcmVxXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChmaWVsZHNbZmllbGRdID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGZpZWxkc1tmaWVsZF0gPSB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgIGlmIChmaWVsZHMuQUNMKSBmaWVsZHMuQUNMID0gdHJhbnNmb3JtZXJzLkFDTChmaWVsZHMuQUNMKTtcbiAgfVxuICByZXR1cm4gZmllbGRzO1xufTtcblxuY29uc3QgdHJhbnNmb3JtZXJzID0ge1xuICBmaWxlOiBhc3luYyAoaW5wdXQsIHsgY29uZmlnIH0pID0+IHtcbiAgICBpZiAoaW5wdXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7IF9fb3A6ICdEZWxldGUnIH07XG4gICAgfVxuICAgIGNvbnN0IHsgZmlsZSwgdXBsb2FkIH0gPSBpbnB1dDtcbiAgICBpZiAodXBsb2FkKSB7XG4gICAgICBjb25zdCB7IGZpbGVJbmZvIH0gPSBhd2FpdCBoYW5kbGVVcGxvYWQodXBsb2FkLCBjb25maWcpO1xuICAgICAgcmV0dXJuIHsgLi4uZmlsZUluZm8sIF9fdHlwZTogJ0ZpbGUnIH07XG4gICAgfSBlbHNlIGlmIChmaWxlICYmIGZpbGUubmFtZSkge1xuICAgICAgcmV0dXJuIHsgbmFtZTogZmlsZS5uYW1lLCBfX3R5cGU6ICdGaWxlJywgdXJsOiBmaWxlLnVybCB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCAnSW52YWxpZCBmaWxlIHVwbG9hZC4nKTtcbiAgfSxcbiAgcG9seWdvbjogdmFsdWUgPT4gKHtcbiAgICBfX3R5cGU6ICdQb2x5Z29uJyxcbiAgICBjb29yZGluYXRlczogdmFsdWUubWFwKGdlb1BvaW50ID0+IFtnZW9Qb2ludC5sYXRpdHVkZSwgZ2VvUG9pbnQubG9uZ2l0dWRlXSksXG4gIH0pLFxuICBnZW9Qb2ludDogdmFsdWUgPT4gKHtcbiAgICAuLi52YWx1ZSxcbiAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gIH0pLFxuICBBQ0w6IHZhbHVlID0+IHtcbiAgICBjb25zdCBwYXJzZUFDTCA9IHt9O1xuICAgIGlmICh2YWx1ZS5wdWJsaWMpIHtcbiAgICAgIHBhcnNlQUNMWycqJ10gPSB7XG4gICAgICAgIHJlYWQ6IHZhbHVlLnB1YmxpYy5yZWFkLFxuICAgICAgICB3cml0ZTogdmFsdWUucHVibGljLndyaXRlLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnVzZXJzKSB7XG4gICAgICB2YWx1ZS51c2Vycy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgICBjb25zdCBnbG9iYWxJZE9iamVjdCA9IGZyb21HbG9iYWxJZChydWxlLnVzZXJJZCk7XG4gICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSAnX1VzZXInKSB7XG4gICAgICAgICAgcnVsZS51c2VySWQgPSBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZUFDTFtydWxlLnVzZXJJZF0gPSB7XG4gICAgICAgICAgcmVhZDogcnVsZS5yZWFkLFxuICAgICAgICAgIHdyaXRlOiBydWxlLndyaXRlLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5yb2xlcykge1xuICAgICAgdmFsdWUucm9sZXMuZm9yRWFjaChydWxlID0+IHtcbiAgICAgICAgcGFyc2VBQ0xbYHJvbGU6JHtydWxlLnJvbGVOYW1lfWBdID0ge1xuICAgICAgICAgIHJlYWQ6IHJ1bGUucmVhZCxcbiAgICAgICAgICB3cml0ZTogcnVsZS53cml0ZSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VBQ0w7XG4gIH0sXG4gIHJlbGF0aW9uOiBhc3luYyAoXG4gICAgdGFyZ2V0Q2xhc3MsXG4gICAgZmllbGQsXG4gICAgdmFsdWUsXG4gICAgb3JpZ2luYWxWYWx1ZSxcbiAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgeyBjb25maWcsIGF1dGgsIGluZm8gfVxuICApID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBhdCBsZWFzdCBvbmUgb3BlcmF0aW9uIG9uIHRoZSByZWxhdGlvbiBtdXRhdGlvbiBvZiBmaWVsZCAke2ZpZWxkfWBcbiAgICAgICk7XG5cbiAgICBjb25zdCBvcCA9IHtcbiAgICAgIF9fb3A6ICdCYXRjaCcsXG4gICAgICBvcHM6IFtdLFxuICAgIH07XG4gICAgbGV0IG5lc3RlZE9iamVjdHNUb0FkZCA9IFtdO1xuXG4gICAgaWYgKHZhbHVlLmNyZWF0ZUFuZEFkZCkge1xuICAgICAgbmVzdGVkT2JqZWN0c1RvQWRkID0gKFxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICB2YWx1ZS5jcmVhdGVBbmRBZGQubWFwKGFzeW5jIChpbnB1dCwgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VGaWVsZHMgPSBhd2FpdCB0cmFuc2Zvcm1UeXBlcygnY3JlYXRlJywgaW5wdXQsIHtcbiAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgICAgb3JpZ2luYWxGaWVsZHM6IG9yaWdpbmFsVmFsdWUuY3JlYXRlQW5kQWRkW2ldLFxuICAgICAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgICAgICAgICAgIHJlcTogeyBjb25maWcsIGF1dGgsIGluZm8gfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG9iamVjdHNNdXRhdGlvbnMuY3JlYXRlT2JqZWN0KHRhcmdldENsYXNzLCBwYXJzZUZpZWxkcywgY29uZmlnLCBhdXRoLCBpbmZvKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApLm1hcChvYmplY3QgPT4gKHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkOiBvYmplY3Qub2JqZWN0SWQsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlLmFkZCB8fCBuZXN0ZWRPYmplY3RzVG9BZGQubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKCF2YWx1ZS5hZGQpIHZhbHVlLmFkZCA9IFtdO1xuICAgICAgdmFsdWUuYWRkID0gdmFsdWUuYWRkLm1hcChpbnB1dCA9PiB7XG4gICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKGlucHV0KTtcbiAgICAgICAgaWYgKGdsb2JhbElkT2JqZWN0LnR5cGUgPT09IHRhcmdldENsYXNzKSB7XG4gICAgICAgICAgaW5wdXQgPSBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgb2JqZWN0SWQ6IGlucHV0LFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICBvcC5vcHMucHVzaCh7XG4gICAgICAgIF9fb3A6ICdBZGRSZWxhdGlvbicsXG4gICAgICAgIG9iamVjdHM6IFsuLi52YWx1ZS5hZGQsIC4uLm5lc3RlZE9iamVjdHNUb0FkZF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUucmVtb3ZlKSB7XG4gICAgICBvcC5vcHMucHVzaCh7XG4gICAgICAgIF9fb3A6ICdSZW1vdmVSZWxhdGlvbicsXG4gICAgICAgIG9iamVjdHM6IHZhbHVlLnJlbW92ZS5tYXAoaW5wdXQgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKGlucHV0KTtcbiAgICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gdGFyZ2V0Q2xhc3MpIHtcbiAgICAgICAgICAgIGlucHV0ID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBfX3R5cGU6ICdQb2ludGVyJyxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICBvYmplY3RJZDogaW5wdXQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9wO1xuICB9LFxuICBwb2ludGVyOiBhc3luYyAoXG4gICAgdGFyZ2V0Q2xhc3MsXG4gICAgZmllbGQsXG4gICAgdmFsdWUsXG4gICAgb3JpZ2luYWxWYWx1ZSxcbiAgICBwYXJzZUdyYXBoUUxTY2hlbWEsXG4gICAgeyBjb25maWcsIGF1dGgsIGluZm8gfVxuICApID0+IHtcbiAgICBpZiAoT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA+IDEgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMClcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9QT0lOVEVSLFxuICAgICAgICBgWW91IG5lZWQgdG8gcHJvdmlkZSBsaW5rIE9SIGNyZWF0ZUxpbmsgb24gdGhlIHBvaW50ZXIgbXV0YXRpb24gb2YgZmllbGQgJHtmaWVsZH1gXG4gICAgICApO1xuXG4gICAgbGV0IG5lc3RlZE9iamVjdFRvQWRkO1xuICAgIGlmICh2YWx1ZS5jcmVhdGVBbmRMaW5rKSB7XG4gICAgICBjb25zdCBwYXJzZUZpZWxkcyA9IGF3YWl0IHRyYW5zZm9ybVR5cGVzKCdjcmVhdGUnLCB2YWx1ZS5jcmVhdGVBbmRMaW5rLCB7XG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYSxcbiAgICAgICAgb3JpZ2luYWxGaWVsZHM6IG9yaWdpbmFsVmFsdWUuY3JlYXRlQW5kTGluayxcbiAgICAgICAgcmVxOiB7IGNvbmZpZywgYXV0aCwgaW5mbyB9LFxuICAgICAgfSk7XG4gICAgICBuZXN0ZWRPYmplY3RUb0FkZCA9IGF3YWl0IG9iamVjdHNNdXRhdGlvbnMuY3JlYXRlT2JqZWN0KFxuICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgcGFyc2VGaWVsZHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgYXV0aCxcbiAgICAgICAgaW5mb1xuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIF9fdHlwZTogJ1BvaW50ZXInLFxuICAgICAgICBjbGFzc05hbWU6IHRhcmdldENsYXNzLFxuICAgICAgICBvYmplY3RJZDogbmVzdGVkT2JqZWN0VG9BZGQub2JqZWN0SWQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodmFsdWUubGluaykge1xuICAgICAgbGV0IG9iamVjdElkID0gdmFsdWUubGluaztcbiAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKG9iamVjdElkKTtcbiAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSB0YXJnZXRDbGFzcykge1xuICAgICAgICBvYmplY3RJZCA9IGdsb2JhbElkT2JqZWN0LmlkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX190eXBlOiAnUG9pbnRlcicsXG4gICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgIG9iamVjdElkLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1UeXBlcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssZ0JBQUEsR0FBQUQsdUJBQUEsQ0FBQUosT0FBQTtBQUFnRSxTQUFBTSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSCx3QkFBQUcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMs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
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.transformOutputTypeToGraphQL = void 0;
|
|
7
7
|
var defaultGraphQLTypes = _interopRequireWildcard(require("../loaders/defaultGraphQLTypes"));
|
|
8
8
|
var _graphql = require("graphql");
|
|
9
|
-
function _getRequireWildcardCache(
|
|
10
|
-
function _interopRequireWildcard(
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
11
|
const transformOutputTypeToGraphQL = (parseType, targetClass, parseClassTypes) => {
|
|
12
12
|
switch (parseType) {
|
|
13
13
|
case 'String':
|
|
@@ -49,4 +49,4 @@ const transformOutputTypeToGraphQL = (parseType, targetClass, parseClassTypes) =
|
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
exports.transformOutputTypeToGraphQL = transformOutputTypeToGraphQL;
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0R3JhcGhRTFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2dyYXBocWwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJ0cmFuc2Zvcm1PdXRwdXRUeXBlVG9HcmFwaFFMIiwicGFyc2VUeXBlIiwidGFyZ2V0Q2xhc3MiLCJwYXJzZUNsYXNzVHlwZXMiLCJHcmFwaFFMU3RyaW5nIiwiR3JhcGhRTEZsb2F0IiwiR3JhcGhRTEJvb2xlYW4iLCJHcmFwaFFMTGlzdCIsIkFSUkFZX1JFU1VMVCIsIk9CSkVDVCIsIkRBVEUiLCJjbGFzc0dyYXBoUUxPdXRwdXRUeXBlIiwiY2xhc3NHcmFwaFFMRmluZFJlc3VsdFR5cGUiLCJHcmFwaFFMTm9uTnVsbCIsIkZJTEVfSU5GTyIsIkdFT19QT0lOVCIsIlBPTFlHT04iLCJCWVRFUyIsIkFDTCIsInVuZGVmaW5lZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC90cmFuc2Zvcm1lcnMvb3V0cHV0VHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4uL2xvYWRlcnMvZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgeyBHcmFwaFFMU3RyaW5nLCBHcmFwaFFMRmxvYXQsIEdyYXBoUUxCb29sZWFuLCBHcmFwaFFMTGlzdCwgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJztcblxuY29uc3QgdHJhbnNmb3JtT3V0cHV0VHlwZVRvR3JhcGhRTCA9IChwYXJzZVR5cGUsIHRhcmdldENsYXNzLCBwYXJzZUNsYXNzVHlwZXMpID0+IHtcbiAgc3dpdGNoIChwYXJzZVR5cGUpIHtcbiAgICBjYXNlICdTdHJpbmcnOlxuICAgICAgcmV0dXJuIEdyYXBoUUxTdHJpbmc7XG4gICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIHJldHVybiBHcmFwaFFMRmxvYXQ7XG4gICAgY2FzZSAnQm9vbGVhbic6XG4gICAgICByZXR1cm4gR3JhcGhRTEJvb2xlYW47XG4gICAgY2FzZSAnQXJyYXknOlxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFFMTGlzdChkZWZhdWx0R3JhcGhRTFR5cGVzLkFSUkFZX1JFU1VMVCk7XG4gICAgY2FzZSAnT2JqZWN0JzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLk9CSkVDVDtcbiAgICBjYXNlICdEYXRlJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkRBVEU7XG4gICAgY2FzZSAnUG9pbnRlcic6XG4gICAgICBpZiAoXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlcyAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdICYmXG4gICAgICAgIHBhcnNlQ2xhc3NUeXBlc1t0YXJnZXRDbGFzc10uY2xhc3NHcmFwaFFMT3V0cHV0VHlwZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTE91dHB1dFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEdyYXBoUUxUeXBlcy5PQkpFQ1Q7XG4gICAgICB9XG4gICAgY2FzZSAnUmVsYXRpb24nOlxuICAgICAgaWYgKFxuICAgICAgICBwYXJzZUNsYXNzVHlwZXMgJiZcbiAgICAgICAgcGFyc2VDbGFzc1R5cGVzW3RhcmdldENsYXNzXSAmJlxuICAgICAgICBwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTEZpbmRSZXN1bHRUeXBlXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHcmFwaFFMTm9uTnVsbChwYXJzZUNsYXNzVHlwZXNbdGFyZ2V0Q2xhc3NdLmNsYXNzR3JhcGhRTEZpbmRSZXN1bHRUeXBlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5PQkpFQ1QpO1xuICAgICAgfVxuICAgIGNhc2UgJ0ZpbGUnOlxuICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTkZPO1xuICAgIGNhc2UgJ0dlb1BvaW50JzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLkdFT19QT0lOVDtcbiAgICBjYXNlICdQb2x5Z29uJzpcbiAgICAgIHJldHVybiBkZWZhdWx0R3JhcGhRTFR5cGVzLlBPTFlHT047XG4gICAgY2FzZSAnQnl0ZXMnOlxuICAgICAgcmV0dXJuIGRlZmF1bHRHcmFwaFFMVHlwZXMuQllURVM7XG4gICAgY2FzZSAnQUNMJzpcbiAgICAgIHJldHVybiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5BQ0wpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1PdXRwdXRUeXBlVG9HcmFwaFFMIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFBbUcsU0FBQUUseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFB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
|
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.transformQueryInputToParse = exports.transformQueryConstraintInputToParse = void 0;
|
|
7
7
|
var _graphqlRelay = require("graphql-relay");
|
|
8
|
-
function ownKeys(
|
|
9
|
-
function _objectSpread(
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(
|
|
12
|
-
function _toPrimitive(
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
13
|
const parseQueryMap = {
|
|
14
14
|
OR: '$or',
|
|
15
15
|
AND: '$and',
|
|
@@ -234,4 +234,4 @@ const transformQueryInputToParse = (constraints, className, parseClasses) => {
|
|
|
234
234
|
});
|
|
235
235
|
};
|
|
236
236
|
exports.transformQueryInputToParse = transformQueryInputToParse;
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbFJlbGF5IiwicmVxdWlyZSIsIm93bktleXMiLCJvYmplY3QiLCJlbnVtZXJhYmxlT25seSIsImtleXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzeW1ib2xzIiwiZmlsdGVyIiwic3ltIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiZm9yRWFjaCIsImtleSIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwicGFyc2VRdWVyeU1hcCIsIk9SIiwiQU5EIiwiTk9SIiwicGFyc2VDb25zdHJhaW50TWFwIiwiZXF1YWxUbyIsIm5vdEVxdWFsVG8iLCJsZXNzVGhhbiIsImxlc3NUaGFuT3JFcXVhbFRvIiwiZ3JlYXRlclRoYW4iLCJncmVhdGVyVGhhbk9yRXF1YWxUbyIsImluIiwibm90SW4iLCJleGlzdHMiLCJpblF1ZXJ5S2V5Iiwibm90SW5RdWVyeUtleSIsImluUXVlcnkiLCJub3RJblF1ZXJ5IiwiY29udGFpbmVkQnkiLCJjb250YWlucyIsIm1hdGNoZXNSZWdleCIsIm9wdGlvbnMiLCJ0ZXh0Iiwic2VhcmNoIiwidGVybSIsImxhbmd1YWdlIiwiY2FzZVNlbnNpdGl2ZSIsImRpYWNyaXRpY1NlbnNpdGl2ZSIsIm5lYXJTcGhlcmUiLCJtYXhEaXN0YW5jZSIsIm1heERpc3RhbmNlSW5SYWRpYW5zIiwibWF4RGlzdGFuY2VJbk1pbGVzIiwibWF4RGlzdGFuY2VJbktpbG9tZXRlcnMiLCJ3aXRoaW4iLCJib3giLCJnZW9XaXRoaW4iLCJwb2x5Z29uIiwiY2VudGVyU3BoZXJlIiwiZ2VvSW50ZXJzZWN0cyIsInBvaW50IiwidHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlIiwiY29uc3RyYWludHMiLCJwYXJlbnRGaWVsZE5hbWUiLCJjbGFzc05hbWUiLCJwYXJlbnRDb25zdHJhaW50cyIsInBhcnNlQ2xhc3NlcyIsImZpZWxkcyIsImNvbnN0cmFpbnROYW1lIiwiY29uc3RyYWludFZhbHVlIiwiZ2xvYmFsSWRPYmplY3QiLCJmcm9tR2xvYmFsSWQiLCJ0eXBlIiwiaWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJvYmplY3RJZCIsImZpZWxkTmFtZSIsImZpZWxkVmFsdWUiLCJ0YXJnZXRDbGFzcyIsIndoZXJlVGFyZ2V0IiwiJGV4aXN0cyIsInBhcnNlV2hlcmVUYXJnZXQiLCJ3aGVyZSIsIiRpblF1ZXJ5IiwidHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UiLCIkbm90SW5RdWVyeSIsIl9fdHlwZSIsImJvdHRvbUxlZnQiLCJ1cHBlclJpZ2h0IiwiZ2VvUG9pbnQiLCJjZW50ZXIiLCJkaXN0YW5jZSIsImV4cG9ydHMiLCJmaWVsZFZhbHVlSXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9xdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tR2xvYmFsSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcblxuY29uc3QgcGFyc2VRdWVyeU1hcCA9IHtcbiAgT1I6ICckb3InLFxuICBBTkQ6ICckYW5kJyxcbiAgTk9SOiAnJG5vcicsXG59O1xuXG5jb25zdCBwYXJzZUNvbnN0cmFpbnRNYXAgPSB7XG4gIGVxdWFsVG86ICckZXEnLFxuICBub3RFcXVhbFRvOiAnJG5lJyxcbiAgbGVzc1RoYW46ICckbHQnLFxuICBsZXNzVGhhbk9yRXF1YWxUbzogJyRsdGUnLFxuICBncmVhdGVyVGhhbjogJyRndCcsXG4gIGdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAnJGd0ZScsXG4gIGluOiAnJGluJyxcbiAgbm90SW46ICckbmluJyxcbiAgZXhpc3RzOiAnJGV4aXN0cycsXG4gIGluUXVlcnlLZXk6ICckc2VsZWN0JyxcbiAgbm90SW5RdWVyeUtleTogJyRkb250U2VsZWN0JyxcbiAgaW5RdWVyeTogJyRpblF1ZXJ5JyxcbiAgbm90SW5RdWVyeTogJyRub3RJblF1ZXJ5JyxcbiAgY29udGFpbmVkQnk6ICckY29udGFpbmVkQnknLFxuICBjb250YWluczogJyRhbGwnLFxuICBtYXRjaGVzUmVnZXg6ICckcmVnZXgnLFxuICBvcHRpb25zOiAnJG9wdGlvbnMnLFxuICB0ZXh0OiAnJHRleHQnLFxuICBzZWFyY2g6ICckc2VhcmNoJyxcbiAgdGVybTogJyR0ZXJtJyxcbiAgbGFuZ3VhZ2U6ICckbGFuZ3VhZ2UnLFxuICBjYXNlU2Vuc2l0aXZlOiAnJGNhc2VTZW5zaXRpdmUnLFxuICBkaWFjcml0aWNTZW5zaXRpdmU6ICckZGlhY3JpdGljU2Vuc2l0aXZlJyxcbiAgbmVhclNwaGVyZTogJyRuZWFyU3BoZXJlJyxcbiAgbWF4RGlzdGFuY2U6ICckbWF4RGlzdGFuY2UnLFxuICBtYXhEaXN0YW5jZUluUmFkaWFuczogJyRtYXhEaXN0YW5jZUluUmFkaWFucycsXG4gIG1heERpc3RhbmNlSW5NaWxlczogJyRtYXhEaXN0YW5jZUluTWlsZXMnLFxuICBtYXhEaXN0YW5jZUluS2lsb21ldGVyczogJyRtYXhEaXN0YW5jZUluS2lsb21ldGVycycsXG4gIHdpdGhpbjogJyR3aXRoaW4nLFxuICBib3g6ICckYm94JyxcbiAgZ2VvV2l0aGluOiAnJGdlb1dpdGhpbicsXG4gIHBvbHlnb246ICckcG9seWdvbicsXG4gIGNlbnRlclNwaGVyZTogJyRjZW50ZXJTcGhlcmUnLFxuICBnZW9JbnRlcnNlY3RzOiAnJGdlb0ludGVyc2VjdHMnLFxuICBwb2ludDogJyRwb2ludCcsXG59O1xuXG5jb25zdCB0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UgPSAoXG4gIGNvbnN0cmFpbnRzLFxuICBwYXJlbnRGaWVsZE5hbWUsXG4gIGNsYXNzTmFtZSxcbiAgcGFyZW50Q29uc3RyYWludHMsXG4gIHBhcnNlQ2xhc3Nlc1xuKSA9PiB7XG4gIGNvbnN0IGZpZWxkcyA9IHBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdLmZpZWxkcztcbiAgaWYgKHBhcmVudEZpZWxkTmFtZSA9PT0gJ2lkJyAmJiBjbGFzc05hbWUpIHtcbiAgICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChjb25zdHJhaW50TmFtZSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJhaW50VmFsdWUgPSBjb25zdHJhaW50c1tjb25zdHJhaW50TmFtZV07XG4gICAgICBpZiAodHlwZW9mIGNvbnN0cmFpbnRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoY29uc3RyYWludFZhbHVlKTtcblxuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gY2xhc3NOYW1lKSB7XG4gICAgICAgICAgY29uc3RyYWludHNbY29uc3RyYWludE5hbWVdID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb25zdHJhaW50VmFsdWUpKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzW2NvbnN0cmFpbnROYW1lXSA9IGNvbnN0cmFpbnRWYWx1ZS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKHZhbHVlKTtcblxuICAgICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSBjbGFzc05hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHBhcmVudENvbnN0cmFpbnRzLm9iamVjdElkID0gY29uc3RyYWludHM7XG4gICAgZGVsZXRlIHBhcmVudENvbnN0cmFpbnRzLmlkO1xuICB9XG4gIE9iamVjdC5rZXlzKGNvbnN0cmFpbnRzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XG4gICAgbGV0IGZpZWxkVmFsdWUgPSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIGlmIChwYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXSkge1xuICAgICAgY29uc3RyYWludHNbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dID0gY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIGRlbGV0ZSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiB3ZSBoYXZlIGEga2V5LXZhbHVlIHBhaXIsIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSB3YXkgdGhlIGNvbnN0cmFpbnQgaXMgc3RydWN0dXJlZC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogICBGcm9tOlxuICAgICAqICAge1xuICAgICAqICAgICBcInNvbWVGaWVsZFwiOiB7XG4gICAgICogICAgICAgXCJsZXNzVGhhblwiOiB7XG4gICAgICogICAgICAgICBcImtleVwiOlwiZm9vLmJhclwiLFxuICAgICAqICAgICAgICAgXCJ2YWx1ZVwiOiAxMDBcbiAgICAgKiAgICAgICB9LFxuICAgICAqICAgICAgIFwiZ3JlYXRlclRoYW5cIjoge1xuICAgICAqICAgICAgICAgXCJrZXlcIjpcImZvby5iYXJcIixcbiAgICAgKiAgICAgICAgIFwidmFsdWVcIjogMTBcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKlxuICAgICAqICAgVG86XG4gICAgICogICB7XG4gICAgICogICAgIFwic29tZUZpZWxkLmZvby5iYXJcIjoge1xuICAgICAqICAgICAgIFwiJGx0XCI6IDEwMCxcbiAgICAgKiAgICAgICBcIiRndFwiOiAxMFxuICAgICAqICAgICAgfVxuICAgICAqICAgfVxuICAgICAqL1xuICAgIGlmIChmaWVsZFZhbHVlLmtleSAmJiBmaWVsZFZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcGFyZW50Q29uc3RyYWludHMgJiYgcGFyZW50RmllbGROYW1lKSB7XG4gICAgICBkZWxldGUgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXTtcbiAgICAgIHBhcmVudENvbnN0cmFpbnRzW2Ake3BhcmVudEZpZWxkTmFtZX0uJHtmaWVsZFZhbHVlLmtleX1gXSA9IHtcbiAgICAgICAgLi4ucGFyZW50Q29uc3RyYWludHNbYCR7cGFyZW50RmllbGROYW1lfS4ke2ZpZWxkVmFsdWUua2V5fWBdLFxuICAgICAgICBbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dOiBmaWVsZFZhbHVlLnZhbHVlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgZmllbGRzW3BhcmVudEZpZWxkTmFtZV0gJiZcbiAgICAgIChmaWVsZHNbcGFyZW50RmllbGROYW1lXS50eXBlID09PSAnUG9pbnRlcicgfHwgZmllbGRzW3BhcmVudEZpZWxkTmFtZV0udHlwZSA9PT0gJ1JlbGF0aW9uJylcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgdGFyZ2V0Q2xhc3MgfSA9IGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdO1xuICAgICAgaWYgKGZpZWxkTmFtZSA9PT0gJ2V4aXN0cycpIHtcbiAgICAgICAgaWYgKGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdLnR5cGUgPT09ICdSZWxhdGlvbicpIHtcbiAgICAgICAgICBjb25zdCB3aGVyZVRhcmdldCA9IGZpZWxkVmFsdWUgPyAnd2hlcmUnIDogJ25vdFdoZXJlJztcbiAgICAgICAgICBpZiAoY29uc3RyYWludHNbd2hlcmVUYXJnZXRdKSB7XG4gICAgICAgICAgICBpZiAoY29uc3RyYWludHNbd2hlcmVUYXJnZXRdLm9iamVjdElkKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25zdHJhaW50c1t3aGVyZVRhcmdldF0ub2JqZWN0SWQsXG4gICAgICAgICAgICAgICAgJGV4aXN0czogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCA9IHtcbiAgICAgICAgICAgICAgICAkZXhpc3RzOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZVdoZXJlVGFyZ2V0ID0gZmllbGRWYWx1ZSA/ICckaW5RdWVyeScgOiAnJG5vdEluUXVlcnknO1xuICAgICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXVtwYXJzZVdoZXJlVGFyZ2V0XSA9IHtcbiAgICAgICAgICAgICAgd2hlcmU6IHsgb2JqZWN0SWQ6IHsgJGV4aXN0czogdHJ1ZSB9IH0sXG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWxldGUgY29uc3RyYWludHMuJGV4aXN0cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRleGlzdHMgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICAgIGNhc2UgJ2hhdmUnOlxuICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJGluUXVlcnkgPSB7XG4gICAgICAgICAgICB3aGVyZTogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShcbiAgICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJGluUXVlcnkud2hlcmUsXG4gICAgICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2hhdmVOb3QnOlxuICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJG5vdEluUXVlcnkgPSB7XG4gICAgICAgICAgICB3aGVyZTogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShcbiAgICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJG5vdEluUXVlcnkud2hlcmUsXG4gICAgICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWxldGUgY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgIGNhc2UgJ3BvaW50JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiAhZmllbGRWYWx1ZS5fX3R5cGUpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlLl9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICduZWFyU3BoZXJlJzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiAhZmllbGRWYWx1ZS5fX3R5cGUpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlLl9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3gnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmIGZpZWxkVmFsdWUuYm90dG9tTGVmdCAmJiBmaWVsZFZhbHVlLnVwcGVyUmlnaHQpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkVmFsdWUuYm90dG9tTGVmdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgICAgICAgICAgICAgLi4uZmllbGRWYWx1ZS51cHBlclJpZ2h0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0cmFpbnRzW3BhcnNlQ29uc3RyYWludE1hcFtmaWVsZE5hbWVdXSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwb2x5Z29uJzpcbiAgICAgICAgaWYgKGZpZWxkVmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgIGZpZWxkVmFsdWUuZm9yRWFjaChnZW9Qb2ludCA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGdlb1BvaW50ID09PSAnb2JqZWN0JyAmJiAhZ2VvUG9pbnQuX190eXBlKSB7XG4gICAgICAgICAgICAgIGdlb1BvaW50Ll9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXJTcGhlcmUnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmIGZpZWxkVmFsdWUuY2VudGVyICYmIGZpZWxkVmFsdWUuZGlzdGFuY2UpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkVmFsdWUuY2VudGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpZWxkVmFsdWUuZGlzdGFuY2UsXG4gICAgICAgICAgXTtcbiAgICAgICAgICBjb25zdHJhaW50c1twYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXV0gPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAoZmllbGROYW1lID09PSAnd2hlcmUnKSB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKGZpZWxkVmFsdWUsIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5Q29uc3RyYWludElucHV0VG9QYXJzZShcbiAgICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgcGFyc2VDbGFzc2VzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlID0gKGNvbnN0cmFpbnRzLCBjbGFzc05hbWUsIHBhcnNlQ2xhc3NlcykgPT4ge1xuICBpZiAoIWNvbnN0cmFpbnRzIHx8IHR5cGVvZiBjb25zdHJhaW50cyAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChmaWVsZE5hbWUgPT4ge1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuXG4gICAgaWYgKHBhcnNlUXVlcnlNYXBbZmllbGROYW1lXSkge1xuICAgICAgZGVsZXRlIGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV07XG4gICAgICBmaWVsZE5hbWUgPSBwYXJzZVF1ZXJ5TWFwW2ZpZWxkTmFtZV07XG4gICAgICBjb25zdHJhaW50c1tmaWVsZE5hbWVdID0gZmllbGRWYWx1ZTtcbiAgICAgIGZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlSXRlbSA9PiB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKGZpZWxkVmFsdWVJdGVtLCBjbGFzc05hbWUsIHBhcnNlQ2xhc3Nlcyk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlKFxuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlLCB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxhQUFBLEdBQUFDLE9BQUE7QUFBNkMsU0FBQUMsUUFBQUMsTUFBQSxFQUFBQyxjQUFBLFFBQUFDLElBQUEsR0FBQUMsTUFBQSxDQUFBRCxJQUFBLENBQUFGLE1BQUEsT0FBQUcsTUFBQSxDQUFBQyxxQkFB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
|
|
237
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ3JhcGhxbFJlbGF5IiwicmVxdWlyZSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwicGFyc2VRdWVyeU1hcCIsIk9SIiwiQU5EIiwiTk9SIiwicGFyc2VDb25zdHJhaW50TWFwIiwiZXF1YWxUbyIsIm5vdEVxdWFsVG8iLCJsZXNzVGhhbiIsImxlc3NUaGFuT3JFcXVhbFRvIiwiZ3JlYXRlclRoYW4iLCJncmVhdGVyVGhhbk9yRXF1YWxUbyIsImluIiwibm90SW4iLCJleGlzdHMiLCJpblF1ZXJ5S2V5Iiwibm90SW5RdWVyeUtleSIsImluUXVlcnkiLCJub3RJblF1ZXJ5IiwiY29udGFpbmVkQnkiLCJjb250YWlucyIsIm1hdGNoZXNSZWdleCIsIm9wdGlvbnMiLCJ0ZXh0Iiwic2VhcmNoIiwidGVybSIsImxhbmd1YWdlIiwiY2FzZVNlbnNpdGl2ZSIsImRpYWNyaXRpY1NlbnNpdGl2ZSIsIm5lYXJTcGhlcmUiLCJtYXhEaXN0YW5jZSIsIm1heERpc3RhbmNlSW5SYWRpYW5zIiwibWF4RGlzdGFuY2VJbk1pbGVzIiwibWF4RGlzdGFuY2VJbktpbG9tZXRlcnMiLCJ3aXRoaW4iLCJib3giLCJnZW9XaXRoaW4iLCJwb2x5Z29uIiwiY2VudGVyU3BoZXJlIiwiZ2VvSW50ZXJzZWN0cyIsInBvaW50IiwidHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlIiwiY29uc3RyYWludHMiLCJwYXJlbnRGaWVsZE5hbWUiLCJjbGFzc05hbWUiLCJwYXJlbnRDb25zdHJhaW50cyIsInBhcnNlQ2xhc3NlcyIsImZpZWxkcyIsImNvbnN0cmFpbnROYW1lIiwiY29uc3RyYWludFZhbHVlIiwiZ2xvYmFsSWRPYmplY3QiLCJmcm9tR2xvYmFsSWQiLCJ0eXBlIiwiaWQiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJvYmplY3RJZCIsImZpZWxkTmFtZSIsImZpZWxkVmFsdWUiLCJ1bmRlZmluZWQiLCJ0YXJnZXRDbGFzcyIsIndoZXJlVGFyZ2V0IiwiJGV4aXN0cyIsInBhcnNlV2hlcmVUYXJnZXQiLCJ3aGVyZSIsIiRpblF1ZXJ5IiwidHJhbnNmb3JtUXVlcnlJbnB1dFRvUGFyc2UiLCIkbm90SW5RdWVyeSIsIl9fdHlwZSIsImJvdHRvbUxlZnQiLCJ1cHBlclJpZ2h0IiwiZ2VvUG9pbnQiLCJjZW50ZXIiLCJkaXN0YW5jZSIsImV4cG9ydHMiLCJmaWVsZFZhbHVlSXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML3RyYW5zZm9ybWVycy9xdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tR2xvYmFsSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcblxuY29uc3QgcGFyc2VRdWVyeU1hcCA9IHtcbiAgT1I6ICckb3InLFxuICBBTkQ6ICckYW5kJyxcbiAgTk9SOiAnJG5vcicsXG59O1xuXG5jb25zdCBwYXJzZUNvbnN0cmFpbnRNYXAgPSB7XG4gIGVxdWFsVG86ICckZXEnLFxuICBub3RFcXVhbFRvOiAnJG5lJyxcbiAgbGVzc1RoYW46ICckbHQnLFxuICBsZXNzVGhhbk9yRXF1YWxUbzogJyRsdGUnLFxuICBncmVhdGVyVGhhbjogJyRndCcsXG4gIGdyZWF0ZXJUaGFuT3JFcXVhbFRvOiAnJGd0ZScsXG4gIGluOiAnJGluJyxcbiAgbm90SW46ICckbmluJyxcbiAgZXhpc3RzOiAnJGV4aXN0cycsXG4gIGluUXVlcnlLZXk6ICckc2VsZWN0JyxcbiAgbm90SW5RdWVyeUtleTogJyRkb250U2VsZWN0JyxcbiAgaW5RdWVyeTogJyRpblF1ZXJ5JyxcbiAgbm90SW5RdWVyeTogJyRub3RJblF1ZXJ5JyxcbiAgY29udGFpbmVkQnk6ICckY29udGFpbmVkQnknLFxuICBjb250YWluczogJyRhbGwnLFxuICBtYXRjaGVzUmVnZXg6ICckcmVnZXgnLFxuICBvcHRpb25zOiAnJG9wdGlvbnMnLFxuICB0ZXh0OiAnJHRleHQnLFxuICBzZWFyY2g6ICckc2VhcmNoJyxcbiAgdGVybTogJyR0ZXJtJyxcbiAgbGFuZ3VhZ2U6ICckbGFuZ3VhZ2UnLFxuICBjYXNlU2Vuc2l0aXZlOiAnJGNhc2VTZW5zaXRpdmUnLFxuICBkaWFjcml0aWNTZW5zaXRpdmU6ICckZGlhY3JpdGljU2Vuc2l0aXZlJyxcbiAgbmVhclNwaGVyZTogJyRuZWFyU3BoZXJlJyxcbiAgbWF4RGlzdGFuY2U6ICckbWF4RGlzdGFuY2UnLFxuICBtYXhEaXN0YW5jZUluUmFkaWFuczogJyRtYXhEaXN0YW5jZUluUmFkaWFucycsXG4gIG1heERpc3RhbmNlSW5NaWxlczogJyRtYXhEaXN0YW5jZUluTWlsZXMnLFxuICBtYXhEaXN0YW5jZUluS2lsb21ldGVyczogJyRtYXhEaXN0YW5jZUluS2lsb21ldGVycycsXG4gIHdpdGhpbjogJyR3aXRoaW4nLFxuICBib3g6ICckYm94JyxcbiAgZ2VvV2l0aGluOiAnJGdlb1dpdGhpbicsXG4gIHBvbHlnb246ICckcG9seWdvbicsXG4gIGNlbnRlclNwaGVyZTogJyRjZW50ZXJTcGhlcmUnLFxuICBnZW9JbnRlcnNlY3RzOiAnJGdlb0ludGVyc2VjdHMnLFxuICBwb2ludDogJyRwb2ludCcsXG59O1xuXG5jb25zdCB0cmFuc2Zvcm1RdWVyeUNvbnN0cmFpbnRJbnB1dFRvUGFyc2UgPSAoXG4gIGNvbnN0cmFpbnRzLFxuICBwYXJlbnRGaWVsZE5hbWUsXG4gIGNsYXNzTmFtZSxcbiAgcGFyZW50Q29uc3RyYWludHMsXG4gIHBhcnNlQ2xhc3Nlc1xuKSA9PiB7XG4gIGNvbnN0IGZpZWxkcyA9IHBhcnNlQ2xhc3Nlc1tjbGFzc05hbWVdLmZpZWxkcztcbiAgaWYgKHBhcmVudEZpZWxkTmFtZSA9PT0gJ2lkJyAmJiBjbGFzc05hbWUpIHtcbiAgICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChjb25zdHJhaW50TmFtZSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJhaW50VmFsdWUgPSBjb25zdHJhaW50c1tjb25zdHJhaW50TmFtZV07XG4gICAgICBpZiAodHlwZW9mIGNvbnN0cmFpbnRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsSWRPYmplY3QgPSBmcm9tR2xvYmFsSWQoY29uc3RyYWludFZhbHVlKTtcblxuICAgICAgICBpZiAoZ2xvYmFsSWRPYmplY3QudHlwZSA9PT0gY2xhc3NOYW1lKSB7XG4gICAgICAgICAgY29uc3RyYWludHNbY29uc3RyYWludE5hbWVdID0gZ2xvYmFsSWRPYmplY3QuaWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb25zdHJhaW50VmFsdWUpKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzW2NvbnN0cmFpbnROYW1lXSA9IGNvbnN0cmFpbnRWYWx1ZS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbElkT2JqZWN0ID0gZnJvbUdsb2JhbElkKHZhbHVlKTtcblxuICAgICAgICAgIGlmIChnbG9iYWxJZE9iamVjdC50eXBlID09PSBjbGFzc05hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBnbG9iYWxJZE9iamVjdC5pZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHBhcmVudENvbnN0cmFpbnRzLm9iamVjdElkID0gY29uc3RyYWludHM7XG4gICAgZGVsZXRlIHBhcmVudENvbnN0cmFpbnRzLmlkO1xuICB9XG4gIE9iamVjdC5rZXlzKGNvbnN0cmFpbnRzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XG4gICAgbGV0IGZpZWxkVmFsdWUgPSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIGlmIChwYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXSkge1xuICAgICAgY29uc3RyYWludHNbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dID0gY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIGRlbGV0ZSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJZiB3ZSBoYXZlIGEga2V5LXZhbHVlIHBhaXIsIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSB3YXkgdGhlIGNvbnN0cmFpbnQgaXMgc3RydWN0dXJlZC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogICBGcm9tOlxuICAgICAqICAge1xuICAgICAqICAgICBcInNvbWVGaWVsZFwiOiB7XG4gICAgICogICAgICAgXCJsZXNzVGhhblwiOiB7XG4gICAgICogICAgICAgICBcImtleVwiOlwiZm9vLmJhclwiLFxuICAgICAqICAgICAgICAgXCJ2YWx1ZVwiOiAxMDBcbiAgICAgKiAgICAgICB9LFxuICAgICAqICAgICAgIFwiZ3JlYXRlclRoYW5cIjoge1xuICAgICAqICAgICAgICAgXCJrZXlcIjpcImZvby5iYXJcIixcbiAgICAgKiAgICAgICAgIFwidmFsdWVcIjogMTBcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIH1cbiAgICAgKiAgIH1cbiAgICAgKlxuICAgICAqICAgVG86XG4gICAgICogICB7XG4gICAgICogICAgIFwic29tZUZpZWxkLmZvby5iYXJcIjoge1xuICAgICAqICAgICAgIFwiJGx0XCI6IDEwMCxcbiAgICAgKiAgICAgICBcIiRndFwiOiAxMFxuICAgICAqICAgICAgfVxuICAgICAqICAgfVxuICAgICAqL1xuICAgIGlmIChmaWVsZFZhbHVlLmtleSAmJiBmaWVsZFZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcGFyZW50Q29uc3RyYWludHMgJiYgcGFyZW50RmllbGROYW1lKSB7XG4gICAgICBkZWxldGUgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXTtcbiAgICAgIHBhcmVudENvbnN0cmFpbnRzW2Ake3BhcmVudEZpZWxkTmFtZX0uJHtmaWVsZFZhbHVlLmtleX1gXSA9IHtcbiAgICAgICAgLi4ucGFyZW50Q29uc3RyYWludHNbYCR7cGFyZW50RmllbGROYW1lfS4ke2ZpZWxkVmFsdWUua2V5fWBdLFxuICAgICAgICBbcGFyc2VDb25zdHJhaW50TWFwW2ZpZWxkTmFtZV1dOiBmaWVsZFZhbHVlLnZhbHVlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgZmllbGRzW3BhcmVudEZpZWxkTmFtZV0gJiZcbiAgICAgIChmaWVsZHNbcGFyZW50RmllbGROYW1lXS50eXBlID09PSAnUG9pbnRlcicgfHwgZmllbGRzW3BhcmVudEZpZWxkTmFtZV0udHlwZSA9PT0gJ1JlbGF0aW9uJylcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgdGFyZ2V0Q2xhc3MgfSA9IGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdO1xuICAgICAgaWYgKGZpZWxkTmFtZSA9PT0gJ2V4aXN0cycpIHtcbiAgICAgICAgaWYgKGZpZWxkc1twYXJlbnRGaWVsZE5hbWVdLnR5cGUgPT09ICdSZWxhdGlvbicpIHtcbiAgICAgICAgICBjb25zdCB3aGVyZVRhcmdldCA9IGZpZWxkVmFsdWUgPyAnd2hlcmUnIDogJ25vdFdoZXJlJztcbiAgICAgICAgICBpZiAoY29uc3RyYWludHNbd2hlcmVUYXJnZXRdKSB7XG4gICAgICAgICAgICBpZiAoY29uc3RyYWludHNbd2hlcmVUYXJnZXRdLm9iamVjdElkKSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25zdHJhaW50c1t3aGVyZVRhcmdldF0ub2JqZWN0SWQsXG4gICAgICAgICAgICAgICAgJGV4aXN0czogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzW3doZXJlVGFyZ2V0XS5vYmplY3RJZCA9IHtcbiAgICAgICAgICAgICAgICAkZXhpc3RzOiBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYXJzZVdoZXJlVGFyZ2V0ID0gZmllbGRWYWx1ZSA/ICckaW5RdWVyeScgOiAnJG5vdEluUXVlcnknO1xuICAgICAgICAgICAgcGFyZW50Q29uc3RyYWludHNbcGFyZW50RmllbGROYW1lXVtwYXJzZVdoZXJlVGFyZ2V0XSA9IHtcbiAgICAgICAgICAgICAgd2hlcmU6IHsgb2JqZWN0SWQ6IHsgJGV4aXN0czogdHJ1ZSB9IH0sXG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWxldGUgY29uc3RyYWludHMuJGV4aXN0cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwYXJlbnRDb25zdHJhaW50c1twYXJlbnRGaWVsZE5hbWVdLiRleGlzdHMgPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICAgIGNhc2UgJ2hhdmUnOlxuICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJGluUXVlcnkgPSB7XG4gICAgICAgICAgICB3aGVyZTogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShcbiAgICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJGluUXVlcnkud2hlcmUsXG4gICAgICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2hhdmVOb3QnOlxuICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJG5vdEluUXVlcnkgPSB7XG4gICAgICAgICAgICB3aGVyZTogZmllbGRWYWx1ZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZTogdGFyZ2V0Q2xhc3MsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZShcbiAgICAgICAgICAgIHBhcmVudENvbnN0cmFpbnRzW3BhcmVudEZpZWxkTmFtZV0uJG5vdEluUXVlcnkud2hlcmUsXG4gICAgICAgICAgICB0YXJnZXRDbGFzcyxcbiAgICAgICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWxldGUgY29uc3RyYWludHNbZmllbGROYW1lXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgIGNhc2UgJ3BvaW50JzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiAhZmllbGRWYWx1ZS5fX3R5cGUpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlLl9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICduZWFyU3BoZXJlJzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWVsZFZhbHVlID09PSAnb2JqZWN0JyAmJiAhZmllbGRWYWx1ZS5fX3R5cGUpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlLl9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3gnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmIGZpZWxkVmFsdWUuYm90dG9tTGVmdCAmJiBmaWVsZFZhbHVlLnVwcGVyUmlnaHQpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkVmFsdWUuYm90dG9tTGVmdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9fdHlwZTogJ0dlb1BvaW50JyxcbiAgICAgICAgICAgICAgLi4uZmllbGRWYWx1ZS51cHBlclJpZ2h0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICAgIGNvbnN0cmFpbnRzW3BhcnNlQ29uc3RyYWludE1hcFtmaWVsZE5hbWVdXSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwb2x5Z29uJzpcbiAgICAgICAgaWYgKGZpZWxkVmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgIGZpZWxkVmFsdWUuZm9yRWFjaChnZW9Qb2ludCA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGdlb1BvaW50ID09PSAnb2JqZWN0JyAmJiAhZ2VvUG9pbnQuX190eXBlKSB7XG4gICAgICAgICAgICAgIGdlb1BvaW50Ll9fdHlwZSA9ICdHZW9Qb2ludCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXJTcGhlcmUnOlxuICAgICAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnICYmIGZpZWxkVmFsdWUuY2VudGVyICYmIGZpZWxkVmFsdWUuZGlzdGFuY2UpIHtcbiAgICAgICAgICBmaWVsZFZhbHVlID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBfX3R5cGU6ICdHZW9Qb2ludCcsXG4gICAgICAgICAgICAgIC4uLmZpZWxkVmFsdWUuY2VudGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpZWxkVmFsdWUuZGlzdGFuY2UsXG4gICAgICAgICAgXTtcbiAgICAgICAgICBjb25zdHJhaW50c1twYXJzZUNvbnN0cmFpbnRNYXBbZmllbGROYW1lXV0gPSBmaWVsZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZpZWxkVmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAoZmllbGROYW1lID09PSAnd2hlcmUnKSB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKGZpZWxkVmFsdWUsIGNsYXNzTmFtZSwgcGFyc2VDbGFzc2VzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5Q29uc3RyYWludElucHV0VG9QYXJzZShcbiAgICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgcGFyc2VDbGFzc2VzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlID0gKGNvbnN0cmFpbnRzLCBjbGFzc05hbWUsIHBhcnNlQ2xhc3NlcykgPT4ge1xuICBpZiAoIWNvbnN0cmFpbnRzIHx8IHR5cGVvZiBjb25zdHJhaW50cyAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBPYmplY3Qua2V5cyhjb25zdHJhaW50cykuZm9yRWFjaChmaWVsZE5hbWUgPT4ge1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBjb25zdHJhaW50c1tmaWVsZE5hbWVdO1xuXG4gICAgaWYgKHBhcnNlUXVlcnlNYXBbZmllbGROYW1lXSkge1xuICAgICAgZGVsZXRlIGNvbnN0cmFpbnRzW2ZpZWxkTmFtZV07XG4gICAgICBmaWVsZE5hbWUgPSBwYXJzZVF1ZXJ5TWFwW2ZpZWxkTmFtZV07XG4gICAgICBjb25zdHJhaW50c1tmaWVsZE5hbWVdID0gZmllbGRWYWx1ZTtcbiAgICAgIGZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlSXRlbSA9PiB7XG4gICAgICAgIHRyYW5zZm9ybVF1ZXJ5SW5wdXRUb1BhcnNlKGZpZWxkVmFsdWVJdGVtLCBjbGFzc05hbWUsIHBhcnNlQ2xhc3Nlcyk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlKFxuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIHBhcnNlQ2xhc3Nlc1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgdHJhbnNmb3JtUXVlcnlDb25zdHJhaW50SW5wdXRUb1BhcnNlLCB0cmFuc2Zvcm1RdWVyeUlucHV0VG9QYXJzZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxhQUFBLEdBQUFDLE9BQUE7QUFBNkMsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FB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
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.transformToParse = exports.transformToGraphQL = void 0;
|
|
7
7
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
8
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
function ownKeys(
|
|
10
|
-
function _objectSpread(
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
-
function _toPropertyKey(
|
|
13
|
-
function _toPrimitive(
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
14
|
const transformToParse = (graphQLSchemaFields, existingFields) => {
|
|
15
15
|
if (!graphQLSchemaFields) {
|
|
16
16
|
return {};
|
|
@@ -98,4 +98,4 @@ const transformToGraphQL = parseSchemaFields => {
|
|
|
98
98
|
}));
|
|
99
99
|
};
|
|
100
100
|
exports.transformToGraphQL = transformToGraphQL;
|
|
101
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImZvckVhY2giLCJrZXkiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsInRyYW5zZm9ybVRvUGFyc2UiLCJncmFwaFFMU2NoZW1hRmllbGRzIiwiZXhpc3RpbmdGaWVsZHMiLCJwYXJzZVNjaGVtYUZpZWxkcyIsInJlZHVjZXJHZW5lcmF0b3IiLCJ0eXBlIiwiZmllbGQiLCJuYW1lIiwiX19vcCIsInJlbW92ZSIsImZpbmQiLCJyZW1vdmVGaWVsZCIsIlBhcnNlIiwiRXJyb3IiLCJJTlZBTElEX0tFWV9OQU1FIiwidGFyZ2V0Q2xhc3MiLCJ0YXJnZXRDbGFzc05hbWUiLCJhZGRTdHJpbmdzIiwicmVkdWNlIiwiYWRkTnVtYmVycyIsImFkZEJvb2xlYW5zIiwiYWRkQXJyYXlzIiwiYWRkT2JqZWN0cyIsImFkZERhdGVzIiwiYWRkRmlsZXMiLCJhZGRHZW9Qb2ludCIsImFkZFBvbHlnb25zIiwiYWRkQnl0ZXMiLCJhZGRQb2ludGVycyIsImFkZFJlbGF0aW9ucyIsImV4cG9ydHMiLCJ0cmFuc2Zvcm1Ub0dyYXBoUUwiLCJtYXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC90cmFuc2Zvcm1lcnMvc2NoZW1hRmllbGRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcblxuY29uc3QgdHJhbnNmb3JtVG9QYXJzZSA9IChncmFwaFFMU2NoZW1hRmllbGRzLCBleGlzdGluZ0ZpZWxkcykgPT4ge1xuICBpZiAoIWdyYXBoUUxTY2hlbWFGaWVsZHMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBsZXQgcGFyc2VTY2hlbWFGaWVsZHMgPSB7fTtcblxuICBjb25zdCByZWR1Y2VyR2VuZXJhdG9yID0gdHlwZSA9PiAocGFyc2VTY2hlbWFGaWVsZHMsIGZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdSZW1vdmUnKSB7XG4gICAgICBpZiAoZXhpc3RpbmdGaWVsZHNbZmllbGQubmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wYXJzZVNjaGVtYUZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIF9fb3A6ICdEZWxldGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGFyc2VTY2hlbWFGaWVsZHM7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGdyYXBoUUxTY2hlbWFGaWVsZHMucmVtb3ZlICYmXG4gICAgICBncmFwaFFMU2NoZW1hRmllbGRzLnJlbW92ZS5maW5kKHJlbW92ZUZpZWxkID0+IHJlbW92ZUZpZWxkLm5hbWUgPT09IGZpZWxkLm5hbWUpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcGFyc2VTY2hlbWFGaWVsZHM7XG4gICAgfVxuICAgIGlmIChwYXJzZVNjaGVtYUZpZWxkc1tmaWVsZC5uYW1lXSB8fCAoZXhpc3RpbmdGaWVsZHMgJiYgZXhpc3RpbmdGaWVsZHNbZmllbGQubmFtZV0pKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9LRVlfTkFNRSwgYER1cGxpY2F0ZWQgZmllbGQgbmFtZTogJHtmaWVsZC5uYW1lfWApO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ1JlbGF0aW9uJyB8fCB0eXBlID09PSAnUG9pbnRlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnBhcnNlU2NoZW1hRmllbGRzLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHRhcmdldENsYXNzOiBmaWVsZC50YXJnZXRDbGFzc05hbWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyc2VTY2hlbWFGaWVsZHMsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcblxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRTdHJpbmdzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFN0cmluZ3MucmVkdWNlKFxuICAgICAgcmVkdWNlckdlbmVyYXRvcignU3RyaW5nJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkTnVtYmVycykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGROdW1iZXJzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ051bWJlcicpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZEJvb2xlYW5zKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZEJvb2xlYW5zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0Jvb2xlYW4nKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRBcnJheXMpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkQXJyYXlzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0FycmF5JyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkT2JqZWN0cykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRPYmplY3RzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ09iamVjdCcpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZERhdGVzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZERhdGVzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0RhdGUnKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRGaWxlcykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRGaWxlcy5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdGaWxlJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkR2VvUG9pbnQpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IFtncmFwaFFMU2NoZW1hRmllbGRzLmFkZEdlb1BvaW50XS5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdHZW9Qb2ludCcpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvbHlnb25zKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvbHlnb25zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1BvbHlnb24nKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRCeXRlcykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRCeXRlcy5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdCeXRlcycpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvaW50ZXJzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvaW50ZXJzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1BvaW50ZXInKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRSZWxhdGlvbnMpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkUmVsYXRpb25zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1JlbGF0aW9uJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGV4aXN0aW5nRmllbGRzICYmIGdyYXBoUUxTY2hlbWFGaWVsZHMucmVtb3ZlKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLnJlbW92ZS5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdSZW1vdmUnKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZVNjaGVtYUZpZWxkcztcbn07XG5cbmNvbnN0IHRyYW5zZm9ybVRvR3JhcGhRTCA9IHBhcnNlU2NoZW1hRmllbGRzID0+IHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcnNlU2NoZW1hRmllbGRzKS5tYXAobmFtZSA9PiAoe1xuICAgIG5hbWUsXG4gICAgdHlwZTogcGFyc2VTY2hlbWFGaWVsZHNbbmFtZV0udHlwZSxcbiAgICB0YXJnZXRDbGFzc05hbWU6IHBhcnNlU2NoZW1hRmllbGRzW25hbWVdLnRhcmdldENsYXNzLFxuICB9KSk7XG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1Ub1BhcnNlLCB0cmFuc2Zvcm1Ub0dyYXBoUUwgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQStCLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsUUFBQUMsTUFBQSxFQUFBQyxjQUFBLFFBQUFDLElBQUEsR0FBQUMsTUFBQSxDQUFBRCxJQUFBLENBQUFGLE1BQUEsT0FBQUcsTUFBQSxDQUFBQyxxQkFBQSxRQUFBQyxPQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQUosTUFBQSxHQUFBQyxjQUFBLEtBQUFJLE9BQUEsR0FBQUEsT0FBQSxDQUFBQyxNQUFBLFdBQUFDLEdBQUEsV0FBQUosTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixNQUFBLEVBQUFPLEdBQUEsRUFBQUUsVUFBQSxPQUFBUCxJQUFBLENBQUFRLElBQUEsQ0FB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
|
|
101
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsInRyYW5zZm9ybVRvUGFyc2UiLCJncmFwaFFMU2NoZW1hRmllbGRzIiwiZXhpc3RpbmdGaWVsZHMiLCJwYXJzZVNjaGVtYUZpZWxkcyIsInJlZHVjZXJHZW5lcmF0b3IiLCJ0eXBlIiwiZmllbGQiLCJuYW1lIiwiX19vcCIsInJlbW92ZSIsImZpbmQiLCJyZW1vdmVGaWVsZCIsIlBhcnNlIiwiRXJyb3IiLCJJTlZBTElEX0tFWV9OQU1FIiwidGFyZ2V0Q2xhc3MiLCJ0YXJnZXRDbGFzc05hbWUiLCJhZGRTdHJpbmdzIiwicmVkdWNlIiwiYWRkTnVtYmVycyIsImFkZEJvb2xlYW5zIiwiYWRkQXJyYXlzIiwiYWRkT2JqZWN0cyIsImFkZERhdGVzIiwiYWRkRmlsZXMiLCJhZGRHZW9Qb2ludCIsImFkZFBvbHlnb25zIiwiYWRkQnl0ZXMiLCJhZGRQb2ludGVycyIsImFkZFJlbGF0aW9ucyIsImV4cG9ydHMiLCJ0cmFuc2Zvcm1Ub0dyYXBoUUwiLCJtYXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvR3JhcGhRTC90cmFuc2Zvcm1lcnMvc2NoZW1hRmllbGRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcblxuY29uc3QgdHJhbnNmb3JtVG9QYXJzZSA9IChncmFwaFFMU2NoZW1hRmllbGRzLCBleGlzdGluZ0ZpZWxkcykgPT4ge1xuICBpZiAoIWdyYXBoUUxTY2hlbWFGaWVsZHMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBsZXQgcGFyc2VTY2hlbWFGaWVsZHMgPSB7fTtcblxuICBjb25zdCByZWR1Y2VyR2VuZXJhdG9yID0gdHlwZSA9PiAocGFyc2VTY2hlbWFGaWVsZHMsIGZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdSZW1vdmUnKSB7XG4gICAgICBpZiAoZXhpc3RpbmdGaWVsZHNbZmllbGQubmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wYXJzZVNjaGVtYUZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIF9fb3A6ICdEZWxldGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGFyc2VTY2hlbWFGaWVsZHM7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGdyYXBoUUxTY2hlbWFGaWVsZHMucmVtb3ZlICYmXG4gICAgICBncmFwaFFMU2NoZW1hRmllbGRzLnJlbW92ZS5maW5kKHJlbW92ZUZpZWxkID0+IHJlbW92ZUZpZWxkLm5hbWUgPT09IGZpZWxkLm5hbWUpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcGFyc2VTY2hlbWFGaWVsZHM7XG4gICAgfVxuICAgIGlmIChwYXJzZVNjaGVtYUZpZWxkc1tmaWVsZC5uYW1lXSB8fCAoZXhpc3RpbmdGaWVsZHMgJiYgZXhpc3RpbmdGaWVsZHNbZmllbGQubmFtZV0pKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9LRVlfTkFNRSwgYER1cGxpY2F0ZWQgZmllbGQgbmFtZTogJHtmaWVsZC5uYW1lfWApO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ1JlbGF0aW9uJyB8fCB0eXBlID09PSAnUG9pbnRlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnBhcnNlU2NoZW1hRmllbGRzLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIHRhcmdldENsYXNzOiBmaWVsZC50YXJnZXRDbGFzc05hbWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyc2VTY2hlbWFGaWVsZHMsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcblxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRTdHJpbmdzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFN0cmluZ3MucmVkdWNlKFxuICAgICAgcmVkdWNlckdlbmVyYXRvcignU3RyaW5nJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkTnVtYmVycykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGROdW1iZXJzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ051bWJlcicpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZEJvb2xlYW5zKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZEJvb2xlYW5zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0Jvb2xlYW4nKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRBcnJheXMpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkQXJyYXlzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0FycmF5JyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkT2JqZWN0cykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRPYmplY3RzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ09iamVjdCcpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZERhdGVzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZERhdGVzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ0RhdGUnKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRGaWxlcykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRGaWxlcy5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdGaWxlJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkR2VvUG9pbnQpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IFtncmFwaFFMU2NoZW1hRmllbGRzLmFkZEdlb1BvaW50XS5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdHZW9Qb2ludCcpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvbHlnb25zKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvbHlnb25zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1BvbHlnb24nKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRCeXRlcykge1xuICAgIHBhcnNlU2NoZW1hRmllbGRzID0gZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRCeXRlcy5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdCeXRlcycpLFxuICAgICAgcGFyc2VTY2hlbWFGaWVsZHNcbiAgICApO1xuICB9XG4gIGlmIChncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvaW50ZXJzKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLmFkZFBvaW50ZXJzLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1BvaW50ZXInKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuICBpZiAoZ3JhcGhRTFNjaGVtYUZpZWxkcy5hZGRSZWxhdGlvbnMpIHtcbiAgICBwYXJzZVNjaGVtYUZpZWxkcyA9IGdyYXBoUUxTY2hlbWFGaWVsZHMuYWRkUmVsYXRpb25zLnJlZHVjZShcbiAgICAgIHJlZHVjZXJHZW5lcmF0b3IoJ1JlbGF0aW9uJyksXG4gICAgICBwYXJzZVNjaGVtYUZpZWxkc1xuICAgICk7XG4gIH1cbiAgaWYgKGV4aXN0aW5nRmllbGRzICYmIGdyYXBoUUxTY2hlbWFGaWVsZHMucmVtb3ZlKSB7XG4gICAgcGFyc2VTY2hlbWFGaWVsZHMgPSBncmFwaFFMU2NoZW1hRmllbGRzLnJlbW92ZS5yZWR1Y2UoXG4gICAgICByZWR1Y2VyR2VuZXJhdG9yKCdSZW1vdmUnKSxcbiAgICAgIHBhcnNlU2NoZW1hRmllbGRzXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZVNjaGVtYUZpZWxkcztcbn07XG5cbmNvbnN0IHRyYW5zZm9ybVRvR3JhcGhRTCA9IHBhcnNlU2NoZW1hRmllbGRzID0+IHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcnNlU2NoZW1hRmllbGRzKS5tYXAobmFtZSA9PiAoe1xuICAgIG5hbWUsXG4gICAgdHlwZTogcGFyc2VTY2hlbWFGaWVsZHNbbmFtZV0udHlwZSxcbiAgICB0YXJnZXRDbGFzc05hbWU6IHBhcnNlU2NoZW1hRmllbGRzW25hbWVdLnRhcmdldENsYXNzLFxuICB9KSk7XG59O1xuXG5leHBvcnQgeyB0cmFuc2Zvcm1Ub1BhcnNlLCB0cmFuc2Zvcm1Ub0dyYXBoUUwgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQStCLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZ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
|