parse-server 5.3.0-alpha.9 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,8 +9,6 @@ var _graphql = require("graphql");
9
9
 
10
10
  var _graphqlRelay = require("graphql-relay");
11
11
 
12
- var _links = require("@graphql-tools/links");
13
-
14
12
  var _node = _interopRequireDefault(require("parse/node"));
15
13
 
16
14
  var defaultGraphQLTypes = _interopRequireWildcard(require("./defaultGraphQLTypes"));
@@ -24,41 +22,30 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
23
 
26
24
  const handleUpload = async (upload, config) => {
27
- const {
28
- createReadStream,
29
- filename,
30
- mimetype
31
- } = await upload;
32
- let data = null;
33
-
34
- if (createReadStream) {
35
- const stream = createReadStream();
36
- data = await new Promise((resolve, reject) => {
37
- const chunks = [];
38
- stream.on('error', reject).on('data', chunk => chunks.push(chunk)).on('end', () => resolve(Buffer.concat(chunks)));
39
- });
40
- }
25
+ const data = Buffer.from(await upload.arrayBuffer());
26
+ const fileName = upload.name;
27
+ const type = upload.type;
41
28
 
42
29
  if (!data || !data.length) {
43
30
  throw new _node.default.Error(_node.default.Error.FILE_SAVE_ERROR, 'Invalid file upload.');
44
31
  }
45
32
 
46
- if (filename.length > 128) {
33
+ if (fileName.length > 128) {
47
34
  throw new _node.default.Error(_node.default.Error.INVALID_FILE_NAME, 'Filename too long.');
48
35
  }
49
36
 
50
- if (!filename.match(/^[_a-zA-Z0-9][a-zA-Z0-9@\.\ ~_-]*$/)) {
37
+ if (!fileName.match(/^[_a-zA-Z0-9][a-zA-Z0-9@\.\ ~_-]*$/)) {
51
38
  throw new _node.default.Error(_node.default.Error.INVALID_FILE_NAME, 'Filename contains invalid characters.');
52
39
  }
53
40
 
54
41
  try {
55
42
  return {
56
- fileInfo: await config.filesController.createFile(config, filename, data, mimetype)
43
+ fileInfo: await config.filesController.createFile(config, fileName, data, type)
57
44
  };
58
45
  } catch (e) {
59
46
  _logger.default.error('Error creating a file: ', e);
60
47
 
61
- throw new _node.default.Error(_node.default.Error.FILE_SAVE_ERROR, `Could not store file: ${filename}.`);
48
+ throw new _node.default.Error(_node.default.Error.FILE_SAVE_ERROR, `Could not store file: ${fileName}.`);
62
49
  }
63
50
  };
64
51
 
@@ -71,7 +58,7 @@ const load = parseGraphQLSchema => {
71
58
  inputFields: {
72
59
  upload: {
73
60
  description: 'This is the new file to be created and uploaded.',
74
- type: new _graphql.GraphQLNonNull(_links.GraphQLUpload)
61
+ type: new _graphql.GraphQLNonNull(defaultGraphQLTypes.GraphQLUpload)
75
62
  }
76
63
  },
77
64
  outputFields: {
@@ -100,4 +87,4 @@ const load = parseGraphQLSchema => {
100
87
  };
101
88
 
102
89
  exports.load = load;
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvZmlsZXNNdXRhdGlvbnMuanMiXSwibmFtZXMiOlsiaGFuZGxlVXBsb2FkIiwidXBsb2FkIiwiY29uZmlnIiwiY3JlYXRlUmVhZFN0cmVhbSIsImZpbGVuYW1lIiwibWltZXR5cGUiLCJkYXRhIiwic3RyZWFtIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjaHVua3MiLCJvbiIsImNodW5rIiwicHVzaCIsIkJ1ZmZlciIsImNvbmNhdCIsImxlbmd0aCIsIlBhcnNlIiwiRXJyb3IiLCJGSUxFX1NBVkVfRVJST1IiLCJJTlZBTElEX0ZJTEVfTkFNRSIsIm1hdGNoIiwiZmlsZUluZm8iLCJmaWxlc0NvbnRyb2xsZXIiLCJjcmVhdGVGaWxlIiwiZSIsImxvZ2dlciIsImVycm9yIiwibG9hZCIsInBhcnNlR3JhcGhRTFNjaGVtYSIsImNyZWF0ZU11dGF0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiaW5wdXRGaWVsZHMiLCJ0eXBlIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMVXBsb2FkIiwib3V0cHV0RmllbGRzIiwiZGVmYXVsdEdyYXBoUUxUeXBlcyIsIkZJTEVfSU5GTyIsIm11dGF0ZUFuZEdldFBheWxvYWQiLCJhcmdzIiwiY29udGV4dCIsImhhbmRsZUVycm9yIiwiYWRkR3JhcGhRTFR5cGUiLCJpbnB1dCIsIm9mVHlwZSIsImFkZEdyYXBoUUxNdXRhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLE1BQU1BLFlBQVksR0FBRyxPQUFPQyxNQUFQLEVBQWVDLE1BQWYsS0FBMEI7QUFDN0MsUUFBTTtBQUFFQyxJQUFBQSxnQkFBRjtBQUFvQkMsSUFBQUEsUUFBcEI7QUFBOEJDLElBQUFBO0FBQTlCLE1BQTJDLE1BQU1KLE1BQXZEO0FBQ0EsTUFBSUssSUFBSSxHQUFHLElBQVg7O0FBQ0EsTUFBSUgsZ0JBQUos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QUEwQkFJLEVBQUFBLGtCQUFrQixDQUFDZSxjQUFuQixDQUFrQ2QsY0FBYyxDQUFDVyxJQUFmLENBQW9CSSxLQUFwQixDQUEwQlgsSUFBMUIsQ0FBK0JZLE1BQWpFLEVBQXlFLElBQXpFLEVBQStFLElBQS9FO0FBQ0FqQixFQUFBQSxrQkFBa0IsQ0FBQ2UsY0FBbkIsQ0FBa0NkLGNBQWMsQ0FBQ0ksSUFBakQsRUFBdUQsSUFBdkQsRUFBNkQsSUFBN0Q7QUFDQUwsRUFBQUEsa0JBQWtCLENBQUNrQixrQkFBbkIsQ0FBc0MsWUFBdEMsRUFBb0RqQixjQUFwRCxFQUFvRSxJQUFwRSxFQUEwRSxJQUExRTtBQUNELENBOUJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IG11dGF0aW9uV2l0aENsaWVudE11dGF0aW9uSWQgfSBmcm9tICdncmFwaHFsLXJlbGF5JztcbmltcG9ydCB7IEdyYXBoUUxVcGxvYWQgfSBmcm9tICdAZ3JhcGhxbC10b29scy9saW5rcyc7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4vZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5cbmNvbnN0IGhhbmRsZVVwbG9hZCA9IGFzeW5jICh1cGxvYWQsIGNvbmZpZykgPT4ge1xuICBjb25zdCB7IGNyZWF0ZVJlYWRTdHJlYW0sIGZpbGVuYW1lLCBtaW1ldHlwZSB9ID0gYXdhaXQgdXBsb2FkO1xuICBsZXQgZGF0YSA9IG51bGw7XG4gIGlmIChjcmVhdGVSZWFkU3RyZWFtKSB7XG4gICAgY29uc3Qgc3RyZWFtID0gY3JlYXRlUmVhZFN0cmVhbSgpO1xuICAgIGRhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBjaHVua3MgPSBbXTtcbiAgICAgIHN0cmVhbVxuICAgICAgICAub24oJ2Vycm9yJywgcmVqZWN0KVxuICAgICAgICAub24oJ2RhdGEnLCBjaHVuayA9PiBjaHVua3MucHVzaChjaHVuaykpXG4gICAgICAgIC5vbignZW5kJywgKCkgPT4gcmVzb2x2ZShCdWZmZXIuY29uY2F0KGNodW5rcykpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmICghZGF0YSB8fCAhZGF0YS5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCAnSW52YWxpZCBmaWxlIHVwbG9hZC4nKTtcbiAgfVxuXG4gIGlmIChmaWxlbmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9GSUxFX05BTUUsICdGaWxlbmFtZSB0b28gbG9uZy4nKTtcbiAgfVxuXG4gIGlmICghZmlsZW5hbWUubWF0Y2goL15bX2EtekEtWjAtOV1bYS16QS1aMC05QFxcLlxcIH5fLV0qJC8pKSB7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLklOVkFMSURfRklMRV9OQU1FLCAnRmlsZW5hbWUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzLicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4ge1xuICAgICAgZmlsZUluZm86IGF3YWl0IGNvbmZpZy5maWxlc0NvbnRyb2xsZXIuY3JlYXRlRmlsZShjb25maWcsIGZpbGVuYW1lLCBkYXRhLCBtaW1ldHlwZSksXG4gICAgfTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5lcnJvcignRXJyb3IgY3JlYXRpbmcgYSBmaWxlOiAnLCBlKTtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuRklMRV9TQVZFX0VSUk9SLCBgQ291bGQgbm90IHN0b3JlIGZpbGU6ICR7ZmlsZW5hbWV9LmApO1xuICB9XG59O1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgY29uc3QgY3JlYXRlTXV0YXRpb24gPSBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkKHtcbiAgICBuYW1lOiAnQ3JlYXRlRmlsZScsXG4gICAgZGVzY3JpcHRpb246ICdUaGUgY3JlYXRlRmlsZSBtdXRhdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYW5kIHVwbG9hZCBhIG5ldyBmaWxlLicsXG4gICAgaW5wdXRGaWVsZHM6IHtcbiAgICAgIHVwbG9hZDoge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5ldyBmaWxlIHRvIGJlIGNyZWF0ZWQgYW5kIHVwbG9hZGVkLicsXG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMVXBsb2FkKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGZpbGVJbmZvOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgY3JlYXRlZCBmaWxlIGluZm8uJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTkZPKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtdXRhdGVBbmRHZXRQYXlsb2FkOiBhc3luYyAoYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB1cGxvYWQgfSA9IGFyZ3M7XG4gICAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSBjb250ZXh0O1xuICAgICAgICByZXR1cm4gaGFuZGxlVXBsb2FkKHVwbG9hZCwgY29uZmlnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVNdXRhdGlvbi5hcmdzLmlucHV0LnR5cGUub2ZUeXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGNyZWF0ZU11dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCdjcmVhdGVGaWxlJywgY3JlYXRlTXV0YXRpb24sIHRydWUsIHRydWUpO1xufTtcblxuZXhwb3J0IHsgbG9hZCwgaGFuZGxlVXBsb2FkIH07XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvZmlsZXNNdXRhdGlvbnMuanMiXSwibmFtZXMiOlsiaGFuZGxlVXBsb2FkIiwidXBsb2FkIiwiY29uZmlnIiwiZGF0YSIsIkJ1ZmZlciIsImZyb20iLCJhcnJheUJ1ZmZlciIsImZpbGVOYW1lIiwibmFtZSIsInR5cGUiLCJsZW5ndGgiLCJQYXJzZSIsIkVycm9yIiwiRklMRV9TQVZFX0VSUk9SIiwiSU5WQUxJRF9GSUxFX05BTUUiLCJtYXRjaCIsImZpbGVJbmZvIiwiZmlsZXNDb250cm9sbGVyIiwiY3JlYXRlRmlsZSIsImUiLCJsb2dnZXIiLCJlcnJvciIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJjcmVhdGVNdXRhdGlvbiIsImRlc2NyaXB0aW9uIiwiaW5wdXRGaWVsZHMiLCJHcmFwaFFMTm9uTnVsbCIsImRlZmF1bHRHcmFwaFFMVHlwZXMiLCJHcmFwaFFMVXBsb2FkIiwib3V0cHV0RmllbGRzIiwiRklMRV9JTkZPIiwibXV0YXRlQW5kR2V0UGF5bG9hZCIsImFyZ3MiLCJjb250ZXh0IiwiaGFuZGxlRXJyb3IiLCJhZGRHcmFwaFFMVHlwZSIsImlucHV0Iiwib2ZUeXBlIiwiYWRkR3JhcGhRTE11dGF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsTUFBTUEsWUFBWSxHQUFHLE9BQU9DLE1BQVAsRUFBZUMsTUFBZixLQUEwQjtBQUM3QyxRQUFNQyxJQUFJLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLE1BQU1KLE1BQU0sQ0FBQ0ssV0FBUCxFQUFsQixDQUFiO0FBQ0EsUUFBTUMsUUFBUSxHQUFHTixNQUFNLENBQUNPLElBQXhCO0FBQ0EsUUFBTUMsSUFBSSxHQUFHUixNQUFNLENBQUNRLElBQXBCOztBQUVBLE1BQUksQ0FBQ04sSUFBRCxJQUFTLENBQUNBLElBQUksQ0FBQ08sTUFBbkIsRUFBMkI7QUFDekIsVUFBTSxJQUFJQyxjQUFNQyxLQUFWLENBQWdCRCxjQUFNQyxLQUFOLENBQVlDLGVBQTVCLEVBQTZDLHNCQUE3QyxDQUFOO0FBQ0Q7O0FBRUQsTUFBSU4sUUFBUSxDQUFDRyxNQUFULEdBQWtCLEdBQXRCLEVBQTJCO0FBQ3pCLFVBQU0sSUFBSUMsY0FBTUMsS0FBVixDQUFnQkQsY0FBTUMsS0FBTixDQUFZRSxpQkFBNUIsRUFBK0Msb0JBQS9DLENBQU47QUFDRDs7QUFFRCxNQUFJLENBQUNQLFFBQVEsQ0FBQ1EsS0FBVCxDQUFlLG9DQUFmLENBQUwsRUFBMkQ7QUFDekQsVUFBTSxJQUFJSixjQUFNQyxLQUFWLENBQWdCRCxjQUFNQyxLQUFOLENBQVlFLGlCQUE1QixFQUErQyx1Q0FBL0MsQ0FBTjtBQUNEOztBQUVELE1BQUk7QUFDRixXQUFPO0FBQ0xFLE1BQUFBLFFBQVEsRUFBRSxNQUFNZCxNQUFNLENBQUNlLGVBQVAsQ0FBdUJDLFVBQXZCLENBQWtDaEIsTUFBbEMsRUFBMENLLFFBQTFDLEVBQW9ESixJQUFwRCxFQUEwRE0sSUFBMUQ7QUFEWCxLQUFQO0FBR0QsR0FKRCxDQUlFLE9BQU9VLENBQVAsRUFBVTtBQUNWQyxvQkFBT0MsS0FBUCxDQUFhLHlCQUFiLEVBQXdDRixDQUF4Qzs7QUFDQSxVQUFNLElBQUlSLGNBQU1DLEtBQVYsQ0FBZ0JELGNBQU1DLEtBQU4sQ0FBWUMsZUFBNUIsRUFBOEMseUJBQXdCTixRQUFTLEdBQS9FLENBQU47QUFDRDtBQUNGLENBekJEOzs7O0FBMkJBLE1BQU1lLElBQUksR0FBR0Msa0JBQWtCLElBQUk7QUFDakMsUUFBTUMsY0FBYyxHQUFHLGdEQUE2QjtBQUNsRGhCLElBQUFBLElBQUksRUFBRSxZQUQ0QztBQUVsRGlCLElBQUFBLFdBQVcsRUFBRSxzRUFGcUM7QUFHbERDLElBQUFBLFdBQVcsRUFBRTtBQUNYekIsTUFBQUEsTUFBTSxFQUFFO0FBQ053QixRQUFBQSxXQUFXLEVBQUUsa0RBRFA7QUFFTmhCLFFBQUFBLElBQUksRUFBRSxJQUFJa0IsdUJBQUosQ0FBbUJDLG1CQUFtQixDQUFDQyxhQUF2QztBQUZBO0FBREcsS0FIcUM7QUFTbERDLElBQUFBLFlBQVksRUFBRTtBQUNaZCxNQUFBQSxRQUFRLEVBQUU7QUFDUlMsUUFBQUEsV0FBVyxFQUFFLGdDQURMO0FBRVJoQixRQUFBQSxJQUFJLEVBQUUsSUFBSWtCLHVCQUFKLENBQW1CQyxtQkFBbUIsQ0FBQ0csU0FBdkM7QUFGRTtBQURFLEtBVG9DO0FBZWxEQyxJQUFBQSxtQkFBbUIsRUFBRSxPQUFPQyxJQUFQLEVBQWFDLE9BQWIsS0FBeUI7QUFDNUMsVUFBSTtBQUNGLGNBQU07QUFBRWpDLFVBQUFBO0FBQUYsWUFBYWdDLElBQW5CO0FBQ0EsY0FBTTtBQUFFL0IsVUFBQUE7QUFBRixZQUFhZ0MsT0FBbkI7QUFDQSxlQUFPbEMsWUFBWSxDQUFDQyxNQUFELEVBQVNDLE1BQVQsQ0FBbkI7QUFDRCxPQUpELENBSUUsT0FBT2lCLENBQVAsRUFBVTtBQUNWSSxRQUFBQSxrQkFBa0IsQ0FBQ1ksV0FBbkIsQ0FBK0JoQixDQUEvQjtBQUNEO0FBQ0Y7QUF2QmlELEdBQTdCLENBQXZCO0FBMEJBSSxFQUFBQSxrQkFBa0IsQ0FBQ2EsY0FBbkIsQ0FBa0NaLGNBQWMsQ0FBQ1MsSUFBZixDQUFvQkksS0FBcEIsQ0FBMEI1QixJQUExQixDQUErQjZCLE1BQWpFLEVBQXlFLElBQXpFLEVBQStFLElBQS9FO0FBQ0FmLEVBQUFBLGtCQUFrQixDQUFDYSxjQUFuQixDQUFrQ1osY0FBYyxDQUFDZixJQUFqRCxFQUF1RCxJQUF2RCxFQUE2RCxJQUE3RDtBQUNBYyxFQUFBQSxrQkFBa0IsQ0FBQ2dCLGtCQUFuQixDQUFzQyxZQUF0QyxFQUFvRGYsY0FBcEQsRUFBb0UsSUFBcEUsRUFBMEUsSUFBMUU7QUFDRCxDQTlCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxOb25OdWxsIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBtdXRhdGlvbldpdGhDbGllbnRNdXRhdGlvbklkIH0gZnJvbSAnZ3JhcGhxbC1yZWxheSc7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0R3JhcGhRTFR5cGVzIGZyb20gJy4vZGVmYXVsdEdyYXBoUUxUeXBlcyc7XG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5cbmNvbnN0IGhhbmRsZVVwbG9hZCA9IGFzeW5jICh1cGxvYWQsIGNvbmZpZykgPT4ge1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmZyb20oYXdhaXQgdXBsb2FkLmFycmF5QnVmZmVyKCkpO1xuICBjb25zdCBmaWxlTmFtZSA9IHVwbG9hZC5uYW1lO1xuICBjb25zdCB0eXBlID0gdXBsb2FkLnR5cGU7XG5cbiAgaWYgKCFkYXRhIHx8ICFkYXRhLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5GSUxFX1NBVkVfRVJST1IsICdJbnZhbGlkIGZpbGUgdXBsb2FkLicpO1xuICB9XG5cbiAgaWYgKGZpbGVOYW1lLmxlbmd0aCA+IDEyOCkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX0ZJTEVfTkFNRSwgJ0ZpbGVuYW1lIHRvbyBsb25nLicpO1xuICB9XG5cbiAgaWYgKCFmaWxlTmFtZS5tYXRjaCgvXltfYS16QS1aMC05XVthLXpBLVowLTlAXFwuXFwgfl8tXSokLykpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9GSUxFX05BTUUsICdGaWxlbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMuJyk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiB7XG4gICAgICBmaWxlSW5mbzogYXdhaXQgY29uZmlnLmZpbGVzQ29udHJvbGxlci5jcmVhdGVGaWxlKGNvbmZpZywgZmlsZU5hbWUsIGRhdGEsIHR5cGUpLFxuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZXJyb3IoJ0Vycm9yIGNyZWF0aW5nIGEgZmlsZTogJywgZSk7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLkZJTEVfU0FWRV9FUlJPUiwgYENvdWxkIG5vdCBzdG9yZSBmaWxlOiAke2ZpbGVOYW1lfS5gKTtcbiAgfVxufTtcblxuY29uc3QgbG9hZCA9IHBhcnNlR3JhcGhRTFNjaGVtYSA9PiB7XG4gIGNvbnN0IGNyZWF0ZU11dGF0aW9uID0gbXV0YXRpb25XaXRoQ2xpZW50TXV0YXRpb25JZCh7XG4gICAgbmFtZTogJ0NyZWF0ZUZpbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhlIGNyZWF0ZUZpbGUgbXV0YXRpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGFuZCB1cGxvYWQgYSBuZXcgZmlsZS4nLFxuICAgIGlucHV0RmllbGRzOiB7XG4gICAgICB1cGxvYWQ6IHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBuZXcgZmlsZSB0byBiZSBjcmVhdGVkIGFuZCB1cGxvYWRlZC4nLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoZGVmYXVsdEdyYXBoUUxUeXBlcy5HcmFwaFFMVXBsb2FkKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBvdXRwdXRGaWVsZHM6IHtcbiAgICAgIGZpbGVJbmZvOiB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgY3JlYXRlZCBmaWxlIGluZm8uJyxcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGRlZmF1bHRHcmFwaFFMVHlwZXMuRklMRV9JTkZPKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtdXRhdGVBbmRHZXRQYXlsb2FkOiBhc3luYyAoYXJncywgY29udGV4dCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB1cGxvYWQgfSA9IGFyZ3M7XG4gICAgICAgIGNvbnN0IHsgY29uZmlnIH0gPSBjb250ZXh0O1xuICAgICAgICByZXR1cm4gaGFuZGxlVXBsb2FkKHVwbG9hZCwgY29uZmlnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcGFyc2VHcmFwaFFMU2NoZW1hLmhhbmRsZUVycm9yKGUpO1xuICAgICAgfVxuICAgIH0sXG4gIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShjcmVhdGVNdXRhdGlvbi5hcmdzLmlucHV0LnR5cGUub2ZUeXBlLCB0cnVlLCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKGNyZWF0ZU11dGF0aW9uLnR5cGUsIHRydWUsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTE11dGF0aW9uKCdjcmVhdGVGaWxlJywgY3JlYXRlTXV0YXRpb24sIHRydWUsIHRydWUpO1xufTtcblxuZXhwb3J0IHsgbG9hZCwgaGFuZGxlVXBsb2FkIH07XG4iXX0=
@@ -5,15 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.load = exports.definitions = void 0;
7
7
 
8
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
9
-
10
8
  var _utils = require("@graphql-tools/utils");
11
9
 
12
10
  var _FunctionsRouter = require("../../Routers/FunctionsRouter");
13
11
 
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- const definitions = (0, _graphqlTag.default)`
12
+ const definitions = `
17
13
  directive @resolve(to: String) on FIELD_DEFINITION
18
14
  directive @mock(with: Any!) on FIELD_DEFINITION
19
15
  `;
@@ -22,51 +18,64 @@ exports.definitions = definitions;
22
18
  const load = parseGraphQLSchema => {
23
19
  parseGraphQLSchema.graphQLSchemaDirectivesDefinitions = definitions;
24
20
 
25
- class ResolveDirectiveVisitor extends _utils.SchemaDirectiveVisitor {
26
- visitFieldDefinition(field) {
27
- field.resolve = async (_source, args, context) => {
28
- try {
29
- const {
30
- config,
31
- auth,
32
- info
33
- } = context;
34
- let functionName = field.name;
35
-
36
- if (this.args.to) {
37
- functionName = this.args.to;
21
+ const resolveDirective = schema => (0, _utils.mapSchema)(schema, {
22
+ [_utils.MapperKind.OBJECT_FIELD]: fieldConfig => {
23
+ var _getDirective;
24
+
25
+ const directive = (_getDirective = (0, _utils.getDirective)(schema, fieldConfig, 'resolve')) === null || _getDirective === void 0 ? void 0 : _getDirective[0];
26
+
27
+ if (directive) {
28
+ const {
29
+ to: targetCloudFunction
30
+ } = directive;
31
+
32
+ fieldConfig.resolve = async (_source, args, context, gqlInfo) => {
33
+ try {
34
+ const {
35
+ config,
36
+ auth,
37
+ info
38
+ } = context;
39
+ const functionName = targetCloudFunction || gqlInfo.fieldName;
40
+ return (await _FunctionsRouter.FunctionsRouter.handleCloudFunction({
41
+ params: {
42
+ functionName
43
+ },
44
+ config,
45
+ auth,
46
+ info,
47
+ body: args
48
+ })).response.result;
49
+ } catch (e) {
50
+ parseGraphQLSchema.handleError(e);
38
51
  }
52
+ };
53
+ }
39
54
 
40
- return (await _FunctionsRouter.FunctionsRouter.handleCloudFunction({
41
- params: {
42
- functionName
43
- },
44
- config,
45
- auth,
46
- info,
47
- body: args
48
- })).response.result;
49
- } catch (e) {
50
- parseGraphQLSchema.handleError(e);
51
- }
52
- };
55
+ return fieldConfig;
53
56
  }
57
+ });
54
58
 
55
- }
59
+ const mockDirective = schema => (0, _utils.mapSchema)(schema, {
60
+ [_utils.MapperKind.OBJECT_FIELD]: fieldConfig => {
61
+ var _getDirective2;
56
62
 
57
- parseGraphQLSchema.graphQLSchemaDirectives.resolve = ResolveDirectiveVisitor;
63
+ const directive = (_getDirective2 = (0, _utils.getDirective)(schema, fieldConfig, 'mock')) === null || _getDirective2 === void 0 ? void 0 : _getDirective2[0];
58
64
 
59
- class MockDirectiveVisitor extends _utils.SchemaDirectiveVisitor {
60
- visitFieldDefinition(field) {
61
- field.resolve = () => {
62
- return this.args.with;
63
- };
64
- }
65
+ if (directive) {
66
+ const {
67
+ with: mockValue
68
+ } = directive;
65
69
 
66
- }
70
+ fieldConfig.resolve = async () => mockValue;
71
+ }
72
+
73
+ return fieldConfig;
74
+ }
75
+ });
67
76
 
68
- parseGraphQLSchema.graphQLSchemaDirectives.mock = MockDirectiveVisitor;
77
+ parseGraphQLSchema.graphQLSchemaDirectives = schema => mockDirective(resolveDirective(schema));
69
78
  };
70
79
 
71
80
  exports.load = load;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hRGlyZWN0aXZlcy5qcyJdLCJuYW1lcyI6WyJkZWZpbml0aW9ucyIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJncmFwaFFMU2NoZW1hRGlyZWN0aXZlc0RlZmluaXRpb25zIiwiUmVzb2x2ZURpcmVjdGl2ZVZpc2l0b3IiLCJTY2hlbWFEaXJlY3RpdmVWaXNpdG9yIiwidmlzaXRGaWVsZERlZmluaXRpb24iLCJmaWVsZCIsInJlc29sdmUiLCJfc291cmNlIiwiYXJncyIsImNvbnRleHQiLCJjb25maWciLCJhdXRoIiwiaW5mbyIsImZ1bmN0aW9uTmFtZSIsIm5hbWUiLCJ0byIsIkZ1bmN0aW9uc1JvdXRlciIsImhhbmRsZUNsb3VkRnVuY3Rpb24iLCJwYXJhbXMiLCJib2R5IiwicmVzcG9uc2UiLCJyZXN1bHQiLCJlIiwiaGFuZGxlRXJyb3IiLCJncmFwaFFMU2NoZW1hRGlyZWN0aXZlcyIsIk1vY2tEaXJlY3RpdmVWaXNpdG9yIiwid2l0aCIsIm1vY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVPLE1BQU1BLFdBQVcsR0FBRyx3QkFBSTtBQUMvQjtBQUNBO0FBQ0EsQ0FITzs7O0FBS1AsTUFBTUMsSUFBSSxHQUFHQyxrQkFBa0IsSUFBSTtBQUNqQ0EsRUFBQUEsa0JBQWtCLENBQUNDLGtDQUFuQixHQUF3REgsV0FBeEQ7O0FBRUEsUUFBTUksdUJBQU4sU0FBc0NDLDZCQUF0QyxDQUE2RDtBQUMzREMsSUFBQUEsb0JBQW9CLENBQUNDLEtBQUQsRUFBUTtBQUMxQkEsTUFBQUEsS0FBSyxDQUFDQyxPQUFOLEdBQWdCLE9BQU9DLE9BQVAsRUFBZ0JDLElBQWhCLEVBQXNCQyxPQUF0QixLQUFrQztBQUNoRCxZQUFJO0FBQ0YsZ0JBQU07QUFBRUMsWUFBQUEsTUFBRjtBQUFVQyxZQUFBQSxJQUFWO0FBQWdCQyxZQUFBQTtBQUFoQixjQUF5QkgsT0FBL0I7QUFFQSxjQUFJSSxZQUFZLEdBQUdSLEtBQUssQ0FBQ1MsSUFBekI7O0FBQ0EsY0FBSSxLQUFLTixJQUFMLENBQVVPLEVBQWQsRUFBa0I7QUFDaEJGLFlBQUFBLFlBQVksR0FBRyxLQUFLTCxJQUFMLENBQVVPLEVBQXpCO0FBQ0Q7O0FBRUQsaUJBQU8sQ0FDTCxNQUFNQyxpQ0FBZ0JDLG1CQUFoQixDQUFvQztBQUN4Q0MsWUFBQUEsTUFBTSxFQUFFO0FBQ05MLGNBQUFBO0FBRE0sYUFEZ0M7QUFJeENILFlBQUFBLE1BSndDO0FBS3hDQyxZQUFBQSxJQUx3QztBQU14Q0MsWUFBQUEsSUFOd0M7QUFPeENPLFlBQUFBLElBQUksRUFBRVg7QUFQa0MsV0FBcEMsQ0FERCxFQVVMWSxRQVZLLENBVUlDLE1BVlg7QUFXRCxTQW5CRCxDQW1CRSxPQUFPQyxDQUFQLEVBQVU7QUFDVnRCLFVBQUFBLGtCQUFrQixDQUFDdUIsV0FBbkIsQ0FBK0JELENBQS9CO0FBQ0Q7QUFDRixPQXZCRDtBQXdCRDs7QUExQjBEOztBQTZCN0R0QixFQUFBQSxrQkFBa0IsQ0FBQ3dCLHVCQUFuQixDQUEyQ2xCLE9BQTNDLEdBQXFESix1QkFBckQ7O0FBRUEsUUFBTXVCLG9CQUFOLFNBQW1DdEIsNkJBQW5DLENBQTBEO0FBQ3hEQyxJQUFBQSxvQkFBb0IsQ0FBQ0MsS0FBRCxFQUFRO0FBQzFCQSxNQUFBQSxLQUFLLENBQUNDLE9BQU4sR0FBZ0IsTUFBTTtBQUNwQixlQUFPLEtBQUtFLElBQUwsQ0FBVWtCLElBQWpCO0FBQ0QsT0FGRDtBQUdEOztBQUx1RDs7QUFRMUQxQixFQUFBQSxrQkFBa0IsQ0FBQ3dCLHVCQUFuQixDQUEyQ0csSUFBM0MsR0FBa0RGLG9CQUFsRDtBQUNELENBM0NEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdxbCBmcm9tICdncmFwaHFsLXRhZyc7XG5pbXBvcnQgeyBTY2hlbWFEaXJlY3RpdmVWaXNpdG9yIH0gZnJvbSAnQGdyYXBocWwtdG9vbHMvdXRpbHMnO1xuaW1wb3J0IHsgRnVuY3Rpb25zUm91dGVyIH0gZnJvbSAnLi4vLi4vUm91dGVycy9GdW5jdGlvbnNSb3V0ZXInO1xuXG5leHBvcnQgY29uc3QgZGVmaW5pdGlvbnMgPSBncWxgXG4gIGRpcmVjdGl2ZSBAcmVzb2x2ZSh0bzogU3RyaW5nKSBvbiBGSUVMRF9ERUZJTklUSU9OXG4gIGRpcmVjdGl2ZSBAbW9jayh3aXRoOiBBbnkhKSBvbiBGSUVMRF9ERUZJTklUSU9OXG5gO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmdyYXBoUUxTY2hlbWFEaXJlY3RpdmVzRGVmaW5pdGlvbnMgPSBkZWZpbml0aW9ucztcblxuICBjbGFzcyBSZXNvbHZlRGlyZWN0aXZlVmlzaXRvciBleHRlbmRzIFNjaGVtYURpcmVjdGl2ZVZpc2l0b3Ige1xuICAgIHZpc2l0RmllbGREZWZpbml0aW9uKGZpZWxkKSB7XG4gICAgICBmaWVsZC5yZXNvbHZlID0gYXN5bmMgKF9zb3VyY2UsIGFyZ3MsIGNvbnRleHQpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB7IGNvbmZpZywgYXV0aCwgaW5mbyB9ID0gY29udGV4dDtcblxuICAgICAgICAgIGxldCBmdW5jdGlvbk5hbWUgPSBmaWVsZC5uYW1lO1xuICAgICAgICAgIGlmICh0aGlzLmFyZ3MudG8pIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSA9IHRoaXMuYXJncy50bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYXdhaXQgRnVuY3Rpb25zUm91dGVyLmhhbmRsZUNsb3VkRnVuY3Rpb24oe1xuICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgYXV0aCxcbiAgICAgICAgICAgICAgaW5mbyxcbiAgICAgICAgICAgICAgYm9keTogYXJncyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKS5yZXNwb25zZS5yZXN1bHQ7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBwYXJzZUdyYXBoUUxTY2hlbWEuaGFuZGxlRXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmdyYXBoUUxTY2hlbWFEaXJlY3RpdmVzLnJlc29sdmUgPSBSZXNvbHZlRGlyZWN0aXZlVmlzaXRvcjtcblxuICBjbGFzcyBNb2NrRGlyZWN0aXZlVmlzaXRvciBleHRlbmRzIFNjaGVtYURpcmVjdGl2ZVZpc2l0b3Ige1xuICAgIHZpc2l0RmllbGREZWZpbml0aW9uKGZpZWxkKSB7XG4gICAgICBmaWVsZC5yZXNvbHZlID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcmdzLndpdGg7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5ncmFwaFFMU2NoZW1hRGlyZWN0aXZlcy5tb2NrID0gTW9ja0RpcmVjdGl2ZVZpc2l0b3I7XG59O1xuXG5leHBvcnQgeyBsb2FkIH07XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hRGlyZWN0aXZlcy5qcyJdLCJuYW1lcyI6WyJkZWZpbml0aW9ucyIsImxvYWQiLCJwYXJzZUdyYXBoUUxTY2hlbWEiLCJncmFwaFFMU2NoZW1hRGlyZWN0aXZlc0RlZmluaXRpb25zIiwicmVzb2x2ZURpcmVjdGl2ZSIsInNjaGVtYSIsIk1hcHBlcktpbmQiLCJPQkpFQ1RfRklFTEQiLCJmaWVsZENvbmZpZyIsImRpcmVjdGl2ZSIsInRvIiwidGFyZ2V0Q2xvdWRGdW5jdGlvbiIsInJlc29sdmUiLCJfc291cmNlIiwiYXJncyIsImNvbnRleHQiLCJncWxJbmZvIiwiY29uZmlnIiwiYXV0aCIsImluZm8iLCJmdW5jdGlvbk5hbWUiLCJmaWVsZE5hbWUiLCJGdW5jdGlvbnNSb3V0ZXIiLCJoYW5kbGVDbG91ZEZ1bmN0aW9uIiwicGFyYW1zIiwiYm9keSIsInJlc3BvbnNlIiwicmVzdWx0IiwiZSIsImhhbmRsZUVycm9yIiwibW9ja0RpcmVjdGl2ZSIsIndpdGgiLCJtb2NrVmFsdWUiLCJncmFwaFFMU2NoZW1hRGlyZWN0aXZlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVPLE1BQU1BLFdBQVcsR0FBSTtBQUM1QjtBQUNBO0FBQ0EsQ0FITzs7O0FBS1AsTUFBTUMsSUFBSSxHQUFHQyxrQkFBa0IsSUFBSTtBQUNqQ0EsRUFBQUEsa0JBQWtCLENBQUNDLGtDQUFuQixHQUF3REgsV0FBeEQ7O0FBRUEsUUFBTUksZ0JBQWdCLEdBQUdDLE1BQU0sSUFDN0Isc0JBQVVBLE1BQVYsRUFBa0I7QUFDaEIsS0FBQ0Msa0JBQVdDLFlBQVosR0FBMkJDLFdBQVcsSUFBSTtBQUFBOztBQUN4QyxZQUFNQyxTQUFTLG9CQUFHLHlCQUFhSixNQUFiLEVBQXFCRyxXQUFyQixFQUFrQyxTQUFsQyxDQUFILGtEQUFHLGNBQStDLENBQS9DLENBQWxCOztBQUNBLFVBQUlDLFNBQUosRUFBZTtBQUNiLGNBQU07QUFBRUMsVUFBQUEsRUFBRSxFQUFFQztBQUFOLFlBQThCRixTQUFwQzs7QUFDQUQsUUFBQUEsV0FBVyxDQUFDSSxPQUFaLEdBQXNCLE9BQU9DLE9BQVAsRUFBZ0JDLElBQWhCLEVBQXNCQyxPQUF0QixFQUErQkMsT0FBL0IsS0FBMkM7QUFDL0QsY0FBSTtBQUNGLGtCQUFNO0FBQUVDLGNBQUFBLE1BQUY7QUFBVUMsY0FBQUEsSUFBVjtBQUFnQkMsY0FBQUE7QUFBaEIsZ0JBQXlCSixPQUEvQjtBQUNBLGtCQUFNSyxZQUFZLEdBQUdULG1CQUFtQixJQUFJSyxPQUFPLENBQUNLLFNBQXBEO0FBQ0EsbUJBQU8sQ0FDTCxNQUFNQyxpQ0FBZ0JDLG1CQUFoQixDQUFvQztBQUN4Q0MsY0FBQUEsTUFBTSxFQUFFO0FBQ05KLGdCQUFBQTtBQURNLGVBRGdDO0FBSXhDSCxjQUFBQSxNQUp3QztBQUt4Q0MsY0FBQUEsSUFMd0M7QUFNeENDLGNBQUFBLElBTndDO0FBT3hDTSxjQUFBQSxJQUFJLEVBQUVYO0FBUGtDLGFBQXBDLENBREQsRUFVTFksUUFWSyxDQVVJQyxNQVZYO0FBV0QsV0FkRCxDQWNFLE9BQU9DLENBQVAsRUFBVTtBQUNWMUIsWUFBQUEsa0JBQWtCLENBQUMyQixXQUFuQixDQUErQkQsQ0FBL0I7QUFDRDtBQUNGLFNBbEJEO0FBbUJEOztBQUNELGFBQU9wQixXQUFQO0FBQ0Q7QUExQmUsR0FBbEIsQ0FERjs7QUE4QkEsUUFBTXNCLGFBQWEsR0FBR3pCLE1BQU0sSUFDMUIsc0JBQVVBLE1BQVYsRUFBa0I7QUFDaEIsS0FBQ0Msa0JBQVdDLFlBQVosR0FBMkJDLFdBQVcsSUFBSTtBQUFBOztBQUN4QyxZQUFNQyxTQUFTLHFCQUFHLHlCQUFhSixNQUFiLEVBQXFCRyxXQUFyQixFQUFrQyxNQUFsQyxDQUFILG1EQUFHLGVBQTRDLENBQTVDLENBQWxCOztBQUNBLFVBQUlDLFNBQUosRUFBZTtBQUNiLGNBQU07QUFBRXNCLFVBQUFBLElBQUksRUFBRUM7QUFBUixZQUFzQnZCLFNBQTVCOztBQUNBRCxRQUFBQSxXQUFXLENBQUNJLE9BQVosR0FBc0IsWUFBWW9CLFNBQWxDO0FBQ0Q7O0FBQ0QsYUFBT3hCLFdBQVA7QUFDRDtBQVJlLEdBQWxCLENBREY7O0FBWUFOLEVBQUFBLGtCQUFrQixDQUFDK0IsdUJBQW5CLEdBQTZDNUIsTUFBTSxJQUFJeUIsYUFBYSxDQUFDMUIsZ0JBQWdCLENBQUNDLE1BQUQsQ0FBakIsQ0FBcEU7QUFDRCxDQTlDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcFNjaGVtYSwgZ2V0RGlyZWN0aXZlLCBNYXBwZXJLaW5kIH0gZnJvbSAnQGdyYXBocWwtdG9vbHMvdXRpbHMnO1xuaW1wb3J0IHsgRnVuY3Rpb25zUm91dGVyIH0gZnJvbSAnLi4vLi4vUm91dGVycy9GdW5jdGlvbnNSb3V0ZXInO1xuXG5leHBvcnQgY29uc3QgZGVmaW5pdGlvbnMgPSBgXG4gIGRpcmVjdGl2ZSBAcmVzb2x2ZSh0bzogU3RyaW5nKSBvbiBGSUVMRF9ERUZJTklUSU9OXG4gIGRpcmVjdGl2ZSBAbW9jayh3aXRoOiBBbnkhKSBvbiBGSUVMRF9ERUZJTklUSU9OXG5gO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmdyYXBoUUxTY2hlbWFEaXJlY3RpdmVzRGVmaW5pdGlvbnMgPSBkZWZpbml0aW9ucztcblxuICBjb25zdCByZXNvbHZlRGlyZWN0aXZlID0gc2NoZW1hID0+XG4gICAgbWFwU2NoZW1hKHNjaGVtYSwge1xuICAgICAgW01hcHBlcktpbmQuT0JKRUNUX0ZJRUxEXTogZmllbGRDb25maWcgPT4ge1xuICAgICAgICBjb25zdCBkaXJlY3RpdmUgPSBnZXREaXJlY3RpdmUoc2NoZW1hLCBmaWVsZENvbmZpZywgJ3Jlc29sdmUnKT8uWzBdO1xuICAgICAgICBpZiAoZGlyZWN0aXZlKSB7XG4gICAgICAgICAgY29uc3QgeyB0bzogdGFyZ2V0Q2xvdWRGdW5jdGlvbiB9ID0gZGlyZWN0aXZlO1xuICAgICAgICAgIGZpZWxkQ29uZmlnLnJlc29sdmUgPSBhc3luYyAoX3NvdXJjZSwgYXJncywgY29udGV4dCwgZ3FsSW5mbykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBjb25maWcsIGF1dGgsIGluZm8gfSA9IGNvbnRleHQ7XG4gICAgICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHRhcmdldENsb3VkRnVuY3Rpb24gfHwgZ3FsSW5mby5maWVsZE5hbWU7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgYXdhaXQgRnVuY3Rpb25zUm91dGVyLmhhbmRsZUNsb3VkRnVuY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICBhdXRoLFxuICAgICAgICAgICAgICAgICAgaW5mbyxcbiAgICAgICAgICAgICAgICAgIGJvZHk6IGFyZ3MsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKS5yZXNwb25zZS5yZXN1bHQ7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIHBhcnNlR3JhcGhRTFNjaGVtYS5oYW5kbGVFcnJvcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZENvbmZpZztcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgY29uc3QgbW9ja0RpcmVjdGl2ZSA9IHNjaGVtYSA9PlxuICAgIG1hcFNjaGVtYShzY2hlbWEsIHtcbiAgICAgIFtNYXBwZXJLaW5kLk9CSkVDVF9GSUVMRF06IGZpZWxkQ29uZmlnID0+IHtcbiAgICAgICAgY29uc3QgZGlyZWN0aXZlID0gZ2V0RGlyZWN0aXZlKHNjaGVtYSwgZmllbGRDb25maWcsICdtb2NrJyk/LlswXTtcbiAgICAgICAgaWYgKGRpcmVjdGl2ZSkge1xuICAgICAgICAgIGNvbnN0IHsgd2l0aDogbW9ja1ZhbHVlIH0gPSBkaXJlY3RpdmU7XG4gICAgICAgICAgZmllbGRDb25maWcucmVzb2x2ZSA9IGFzeW5jICgpID0+IG1vY2tWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmllbGRDb25maWc7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5ncmFwaFFMU2NoZW1hRGlyZWN0aXZlcyA9IHNjaGVtYSA9PiBtb2NrRGlyZWN0aXZlKHJlc29sdmVEaXJlY3RpdmUoc2NoZW1hKSk7XG59O1xuZXhwb3J0IHsgbG9hZCB9O1xuIl19
@@ -27,19 +27,19 @@ const SCHEMA_FIELD = new _graphql.GraphQLInterfaceType({
27
27
  name: SCHEMA_FIELD_NAME_ATT
28
28
  },
29
29
  resolveType: value => ({
30
- String: SCHEMA_STRING_FIELD,
31
- Number: SCHEMA_NUMBER_FIELD,
32
- Boolean: SCHEMA_BOOLEAN_FIELD,
33
- Array: SCHEMA_ARRAY_FIELD,
34
- Object: SCHEMA_OBJECT_FIELD,
35
- Date: SCHEMA_DATE_FIELD,
36
- File: SCHEMA_FILE_FIELD,
37
- GeoPoint: SCHEMA_GEO_POINT_FIELD,
38
- Polygon: SCHEMA_POLYGON_FIELD,
39
- Bytes: SCHEMA_BYTES_FIELD,
40
- Pointer: SCHEMA_POINTER_FIELD,
41
- Relation: SCHEMA_RELATION_FIELD,
42
- ACL: SCHEMA_ACL_FIELD
30
+ String: SCHEMA_STRING_FIELD.name,
31
+ Number: SCHEMA_NUMBER_FIELD.name,
32
+ Boolean: SCHEMA_BOOLEAN_FIELD.name,
33
+ Array: SCHEMA_ARRAY_FIELD.name,
34
+ Object: SCHEMA_OBJECT_FIELD.name,
35
+ Date: SCHEMA_DATE_FIELD.name,
36
+ File: SCHEMA_FILE_FIELD.name,
37
+ GeoPoint: SCHEMA_GEO_POINT_FIELD.name,
38
+ Polygon: SCHEMA_POLYGON_FIELD.name,
39
+ Bytes: SCHEMA_BYTES_FIELD.name,
40
+ Pointer: SCHEMA_POINTER_FIELD.name,
41
+ Relation: SCHEMA_RELATION_FIELD.name,
42
+ ACL: SCHEMA_ACL_FIELD.name
43
43
  })[value.type]
44
44
  });
45
45
  const SCHEMA_STRING_FIELD_INPUT = new _graphql.GraphQLInputObjectType({
@@ -373,4 +373,4 @@ const load = parseGraphQLSchema => {
373
373
  };
374
374
 
375
375
  exports.load = load;
376
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hVHlwZXMuanMiXSwibmFtZXMiOlsiU0NIRU1BX0ZJRUxEX05BTUVfQVRUIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMU3RyaW5nIiwiU0NIRU1BX0ZJRUxEX0lOUFVUIiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIm5hbWUiLCJmaWVsZHMiLCJTQ0hFTUFfRklFTEQiLCJHcmFwaFFMSW50ZXJmYWNlVHlwZSIsInJlc29sdmVUeXBlIiwidmFsdWUiLCJTdHJpbmciLCJTQ0hFTUFfU1RSSU5HX0ZJRUxEIiwiTnVtYmVyIiwiU0NIRU1BX05VTUJFUl9GSUVMRCIsIkJvb2xlYW4iLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRCIsIkFycmF5IiwiU0NIRU1BX0FSUkFZX0ZJRUxEIiwiT2JqZWN0IiwiU0NIRU1BX09CSkVDVF9GSUVMRCIsIkRhdGUiLCJTQ0hFTUFfREFURV9GSUVMRCIsIkZpbGUiLCJTQ0hFTUFfRklMRV9GSUVMRCIsIkdlb1BvaW50IiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRCIsIlBvbHlnb24iLCJTQ0hFTUFfUE9MWUdPTl9GSUVMRCIsIkJ5dGVzIiwiU0NIRU1BX0JZVEVTX0ZJRUxEIiwiUG9pbnRlciIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEIiwiUmVsYXRpb24iLCJTQ0hFTUFfUkVMQVRJT05fRklFTEQiLCJBQ0wiLCJTQ0hFTUFfQUNMX0ZJRUxEIiwiU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiaW50ZXJmYWNlcyIsIlNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQiLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCIsIlNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQiLCJTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCIsIlNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVUIiwiVEFSR0VUX0NMQVNTX0FUVCIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUIiwidGFyZ2V0Q2xhc3NOYW1lIiwiU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsImFkZFN0cmluZ3MiLCJHcmFwaFFMTGlzdCIsImFkZE51bWJlcnMiLCJhZGRCb29sZWFucyIsImFkZEFycmF5cyIsImFkZE9iamVjdHMiLCJhZGREYXRlcyIsImFkZEZpbGVzIiwiYWRkR2VvUG9pbnQiLCJhZGRQb2x5Z29ucyIsImFkZEJ5dGVzIiwiYWRkUG9pbnRlcnMiLCJhZGRSZWxhdGlvbnMiLCJyZW1vdmUiLCJDTEFTU19OQU1FX0FUVCIsIkNMQVNTIiwic2NoZW1hRmllbGRzIiwibG9hZCIsInBhcnNlR3JhcGhRTFNjaGVtYSIsImFkZEdyYXBoUUxUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBU0EsTUFBTUEscUJBQXFCLEdBQUc7QUFDNUJDLEVBQUFBLFdBQVcsRUFBRSx5QkFEZTtBQUU1QkMsRUFBQUEsSUFBSSxFQUFFLElBQUlDLHVCQUFKLENBQW1CQyxzQkFBbkI7QUFGc0IsQ0FBOUI7O0FBS0EsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSUMsK0JBQUosQ0FBMkI7QUFDcERDLEVBQUFBLElBQUksRUFBRSxrQkFEOEM7QUFFcEROLEVBQUFBLFdBQVcsRUFBRSw0RUFGdUM7QUFHcERPLEVBQUFBLE1BQU0sRUFBRTtBQUNORCxJQUFBQSxJQUFJLEVBQUVQO0FBREE7QUFINEMsQ0FBM0IsQ0FBM0I7O0FBUUEsTUFBTVMsWUFBWSxHQUFHLElBQUlDLDZCQUFKLENBQXlCO0FBQzVDSCxFQUFBQSxJQUFJLEVBQUUsYUFEc0M7QUFFNUNOLEVBQUFBLFdBQVcsRUFDVCxxSEFIMEM7QUFJNUNPLEVBQUFBLE1BQU0s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QUFuQixDQUFrQzFCLDBCQUFsQyxFQUE4RCxJQUE5RDtBQUNBeUIsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDN0Msb0JBQWxDLEVBQXdELElBQXhEO0FBQ0E0QyxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N6Qix3QkFBbEMsRUFBNEQsSUFBNUQ7QUFDQXdCLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQzNDLGtCQUFsQyxFQUFzRCxJQUF0RDtBQUNBMEMsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDdkIsMEJBQWxDLEVBQThELElBQTlEO0FBQ0FzQixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N6QyxvQkFBbEMsRUFBd0QsSUFBeEQ7QUFDQXdDLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3JCLDJCQUFsQyxFQUErRCxJQUEvRDtBQUNBb0IsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDdkMscUJBQWxDLEVBQXlELElBQXpEO0FBQ0FzQyxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0NyQyxnQkFBbEMsRUFBb0QsSUFBcEQ7QUFDQW9DLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3BCLG1CQUFsQyxFQUF1RCxJQUF2RDtBQUNBbUIsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDSixLQUFsQyxFQUF5QyxJQUF6QztBQUNELENBN0JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxTdHJpbmcsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMT2JqZWN0VHlwZSxcbiAgR3JhcGhRTEludGVyZmFjZVR5cGUsXG59IGZyb20gJ2dyYXBocWwnO1xuXG5jb25zdCBTQ0hFTUFfRklFTERfTkFNRV9BVFQgPSB7XG4gIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgZmllbGQgbmFtZS4nLFxuICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZyksXG59O1xuXG5jb25zdCBTQ0hFTUFfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfRklFTEQgPSBuZXcgR3JhcGhRTEludGVyZmFjZVR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmllbGQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUZpZWxkIGludGVyZmFjZSB0eXBlIGlzIHVzZWQgYXMgYSBiYXNlIHR5cGUgZm9yIHRoZSBkaWZmZXJlbnQgc3VwcG9ydGVkIGZpZWxkcyBvZiBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbiAgcmVzb2x2ZVR5cGU6IHZhbHVlID0+XG4gICAgKHtcbiAgICAgIFN0cmluZzogU0NIRU1BX1NUUklOR19GSUVMRCxcbiAgICAgIE51bWJlcjogU0NIRU1BX05VTUJFUl9GSUVMRCxcbiAgICAgIEJvb2xlYW46IFNDSEVNQV9CT09MRUFOX0ZJRUxELFxuICAgICAgQXJyYXk6IFNDSEVNQV9BUlJBWV9GSUVMRCxcbiAgICAgIE9iamVjdDogU0NIRU1BX09CSkVDVF9GSUVMRCxcbiAgICAgIERhdGU6IFNDSEVNQV9EQVRFX0ZJRUxELFxuICAgICAgRmlsZTogU0NIRU1BX0ZJTEVfRklFTEQsXG4gICAgICBHZW9Qb2ludDogU0NIRU1BX0dFT19QT0lOVF9GSUVMRCxcbiAgICAgIFBvbHlnb246IFNDSEVNQV9QT0xZR09OX0ZJRUxELFxuICAgICAgQnl0ZXM6IFNDSEVNQV9CWVRFU19GSUVMRCxcbiAgICAgIFBvaW50ZXI6IFNDSEVNQV9QT0lOVEVSX0ZJRUxELFxuICAgICAgUmVsYXRpb246IFNDSEVNQV9SRUxBVElPTl9GSUVMRCxcbiAgICAgIEFDTDogU0NIRU1BX0FDTF9GSUVMRCxcbiAgICB9W3ZhbHVlLnR5cGVdKSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hU3RyaW5nRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hU3RyaW5nRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIHN0cmluZyBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1NUUklOR19GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFTdHJpbmdGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVN0cmluZ0ZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgU3RyaW5nIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU51bWJlckZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYU51bWJlckZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBudW1iZXIgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9OVU1CRVJfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hTnVtYmVyRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFOdW1iZXJGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIE51bWJlciBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQm9vbGVhbkZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUJvb2xlYW5GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYm9vbGVhbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JPT0xFQU5fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQm9vbGVhbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQm9vbGVhbkZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgQm9vbGVhbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUFycmF5RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hQXJyYXlGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYXJyYXkgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BUlJBWV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFBcnJheUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQXJyYXlGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhbiBBcnJheSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFPYmplY3RGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFPYmplY3RGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgb2JqZWN0IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfT0JKRUNUX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU9iamVjdEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hT2JqZWN0RmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gT2JqZWN0IGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0RBVEVfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFEYXRlRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRGF0ZUZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBkYXRlIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfREFURV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFEYXRlRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFEYXRlRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBEYXRlIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJTEVfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWxlRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRmlsZUZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBmaWxlIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfRklMRV9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWxlRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFGaWxlRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBGaWxlIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUdlb1BvaW50RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hR2VvUG9pbnRGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZ2VvIHBvaW50IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUdlb1BvaW50RmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFHZW9Qb2ludEZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgR2VvIFBvaW50IGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2x5Z29uRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hUG9seWdvbkZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBwb2x5Z29uIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUE9MWUdPTl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2x5Z29uRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFQb2x5Z29uRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBQb2x5Z29uIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQnl0ZXNGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFCeXRlc0ZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBieXRlcyBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0JZVEVTX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJ5dGVzRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFCeXRlc0ZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgQnl0ZXMgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBUQVJHRVRfQ0xBU1NfQVRUID0ge1xuICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIHRhcmdldCBjbGFzcyBmb3IgdGhlIGZpZWxkLicsXG4gIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSxcbn07XG5cbmNvbnN0IFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnUG9pbnRlckZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFBvaW50ZXJGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcG9pbnRlciBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9QT0lOVEVSX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYVBvaW50ZXJGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVBvaW50ZXJGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFBvaW50ZXIgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgICB0YXJnZXRDbGFzc05hbWU6IFRBUkdFVF9DTEFTU19BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnUmVsYXRpb25GaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBSZWxhdGlvbkZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSByZWxhdGlvbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9SRUxBVElPTl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFSZWxhdGlvbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hUmVsYXRpb25GaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFJlbGF0aW9uIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9BQ0xfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQUNMRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFBQ0xGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhbiBBQ0wgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfRklFTERTX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmllbGRzSW5wdXQnLFxuICBkZXNjcmlwdGlvbjogYFRoZSBDcmVhdGVDbGFzc1NjaGVtYUlucHV0IHR5cGUgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBzY2hlbWEgZm9yIGEgbmV3IG9iamVjdCBjbGFzcyB0byBiZSBjcmVhdGVkLmAsXG4gIGZpZWxkczoge1xuICAgIGFkZFN0cmluZ3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBTdHJpbmcgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkTnVtYmVyczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIE51bWJlciBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfTlVNQkVSX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRCb29sZWFuczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEJvb2xlYW4gZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0JPT0xFQU5fRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEFycmF5czoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEFycmF5IGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkT2JqZWN0czoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIE9iamVjdCBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGREYXRlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIERhdGUgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0RBVEVfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEZpbGVzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgRmlsZSBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkR2VvUG9pbnQ6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnVGhpcyBpcyB0aGUgR2VvIFBvaW50IGZpZWxkIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuIEN1cnJlbnRseSBpdCBpcyBzdXBwb3J0ZWQgb25seSBvbmUgR2VvUG9pbnQgZmllbGQgcGVyIENsYXNzLicsXG4gICAgICB0eXBlOiBTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEX0lOUFVULFxuICAgIH0sXG4gICAgYWRkUG9seWdvbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBQb2x5Z29uIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRCeXRlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEJ5dGVzIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9CWVRFU19GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkUG9pbnRlcnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBQb2ludGVyIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRSZWxhdGlvbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBSZWxhdGlvbiBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIHJlbW92ZToge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIGZpZWxkcyB0byBiZSByZW1vdmVkIGZyb20gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IENMQVNTX05BTUVfQVRUID0ge1xuICBkZXNjcmlwdGlvbjogJ1RoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCBjbGFzcy4nLFxuICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZyksXG59O1xuXG5jb25zdCBDTEFTUyA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdDbGFzcycsXG4gIGRlc2NyaXB0aW9uOiBgVGhlIENsYXNzIHR5cGUgaXMgdXNlZCB0byByZXR1cm4gdGhlIGluZm9ybWF0aW9uIGFib3V0IGFuIG9iamVjdCBjbGFzcy5gLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBDTEFTU19OQU1FX0FUVCxcbiAgICBzY2hlbWFGaWVsZHM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZXNlIGFyZSB0aGUgc2NoZW1hJ3MgZmllbGRzIG9mIHRoZSBvYmplY3QgY2xhc3MuXCIsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwobmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfRklFTEQpKSksXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBsb2FkID0gcGFyc2VHcmFwaFFMU2NoZW1hID0+IHtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9TVFJJTkdfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfTlVNQkVSX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CT09MRUFOX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQVJSQVlfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfT0JKRUNUX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9EQVRFX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9GSUxFX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0dFT19QT0lOVF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9MWUdPTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9MWUdPTl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQllURVNfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0JZVEVTX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9QT0lOVEVSX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9SRUxBVElPTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUkVMQVRJT05fRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0FDTF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklFTERTX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKENMQVNTLCB0cnVlKTtcbn07XG5cbmV4cG9ydCB7XG4gIFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgU0NIRU1BX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfU1RSSU5HX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfU1RSSU5HX0ZJRUxELFxuICBTQ0hFTUFfTlVNQkVSX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfTlVNQkVSX0ZJRUxELFxuICBTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0JPT0xFQU5fRklFTEQsXG4gIFNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0FSUkFZX0ZJRUxELFxuICBTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfT0JKRUNUX0ZJRUxELFxuICBTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0RBVEVfRklFTEQsXG4gIFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfRklMRV9GSUVMRCxcbiAgU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0dFT19QT0lOVF9GSUVMRCxcbiAgU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9QT0xZR09OX0ZJRUxELFxuICBTQ0hFTUFfQllURVNfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9CWVRFU19GSUVMRCxcbiAgVEFSR0VUX0NMQVNTX0FUVCxcbiAgU0NIRU1BX1BPSU5URVJfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9QT0lOVEVSX0ZJRUxELFxuICBTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9SRUxBVElPTl9GSUVMRCxcbiAgU0NIRU1BX0FDTF9GSUVMRCxcbiAgU0NIRU1BX0ZJRUxEU19JTlBVVCxcbiAgQ0xBU1NfTkFNRV9BVFQsXG4gIENMQVNTLFxuICBsb2FkLFxufTtcbiJdfQ==
376
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9HcmFwaFFML2xvYWRlcnMvc2NoZW1hVHlwZXMuanMiXSwibmFtZXMiOlsiU0NIRU1BX0ZJRUxEX05BTUVfQVRUIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMU3RyaW5nIiwiU0NIRU1BX0ZJRUxEX0lOUFVUIiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIm5hbWUiLCJmaWVsZHMiLCJTQ0hFTUFfRklFTEQiLCJHcmFwaFFMSW50ZXJmYWNlVHlwZSIsInJlc29sdmVUeXBlIiwidmFsdWUiLCJTdHJpbmciLCJTQ0hFTUFfU1RSSU5HX0ZJRUxEIiwiTnVtYmVyIiwiU0NIRU1BX05VTUJFUl9GSUVMRCIsIkJvb2xlYW4iLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRCIsIkFycmF5IiwiU0NIRU1BX0FSUkFZX0ZJRUxEIiwiT2JqZWN0IiwiU0NIRU1BX09CSkVDVF9GSUVMRCIsIkRhdGUiLCJTQ0hFTUFfREFURV9GSUVMRCIsIkZpbGUiLCJTQ0hFTUFfRklMRV9GSUVMRCIsIkdlb1BvaW50IiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRCIsIlBvbHlnb24iLCJTQ0hFTUFfUE9MWUdPTl9GSUVMRCIsIkJ5dGVzIiwiU0NIRU1BX0JZVEVTX0ZJRUxEIiwiUG9pbnRlciIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEIiwiUmVsYXRpb24iLCJTQ0hFTUFfUkVMQVRJT05fRklFTEQiLCJBQ0wiLCJTQ0hFTUFfQUNMX0ZJRUxEIiwiU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiaW50ZXJmYWNlcyIsIlNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQiLCJTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCIsIlNDSEVNQV9BUlJBWV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQiLCJTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCIsIlNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCIsIlNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVUIiwiVEFSR0VUX0NMQVNTX0FUVCIsIlNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVUIiwidGFyZ2V0Q2xhc3NOYW1lIiwiU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUIiwiU0NIRU1BX0ZJRUxEU19JTlBVVCIsImFkZFN0cmluZ3MiLCJHcmFwaFFMTGlzdCIsImFkZE51bWJlcnMiLCJhZGRCb29sZWFucyIsImFkZEFycmF5cyIsImFkZE9iamVjdHMiLCJhZGREYXRlcyIsImFkZEZpbGVzIiwiYWRkR2VvUG9pbnQiLCJhZGRQb2x5Z29ucyIsImFkZEJ5dGVzIiwiYWRkUG9pbnRlcnMiLCJhZGRSZWxhdGlvbnMiLCJyZW1vdmUiLCJDTEFTU19OQU1FX0FUVCIsIkNMQVNTIiwic2NoZW1hRmllbGRzIiwibG9hZCIsInBhcnNlR3JhcGhRTFNjaGVtYSIsImFkZEdyYXBoUUxUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBU0EsTUFBTUEscUJBQXFCLEdBQUc7QUFDNUJDLEVBQUFBLFdBQVcsRUFBRSx5QkFEZTtBQUU1QkMsRUFBQUEsSUFBSSxFQUFFLElBQUlDLHVCQUFKLENBQW1CQyxzQkFBbkI7QUFGc0IsQ0FBOUI7O0FBS0EsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSUMsK0JBQUosQ0FBMkI7QUFDcERDLEVBQUFBLElBQUksRUFBRSxrQkFEOEM7QUFFcEROLEVBQUFBLFdBQVcsRUFBRSw0RUFGdUM7QUFHcERPLEVBQUFBLE1BQU0sRUFBRTtBQUNORCxJQUFBQSxJQUFJLEVBQUVQO0FBREE7QUFINEMsQ0FBM0IsQ0FBM0I7O0FBUUEsTUFBTVMsWUFBWSxHQUFHLElBQUlDLDZCQUFKLENBQXlCO0FBQzVDSCxFQUFBQSxJQUFJLEVBQUUsYUFEc0M7QUFFNUNOLEVBQUFBLFdBQVcsRUFDVCxxSEFIMEM7QUFJNUNPLEVBQUFBLE1BQU0s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LENBQUNDLGNBQW5CLENBQWtDakQsaUJBQWxDLEVBQXFELElBQXJEO0FBQ0FnRCxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0MzQiw0QkFBbEMsRUFBZ0UsSUFBaEU7QUFDQTBCLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQy9DLHNCQUFsQyxFQUEwRCxJQUExRDtBQUNBOEMsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDMUIsMEJBQWxDLEVBQThELElBQTlEO0FBQ0F5QixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0M3QyxvQkFBbEMsRUFBd0QsSUFBeEQ7QUFDQTRDLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3pCLHdCQUFsQyxFQUE0RCxJQUE1RDtBQUNBd0IsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDM0Msa0JBQWxDLEVBQXNELElBQXREO0FBQ0EwQyxFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N2QiwwQkFBbEMsRUFBOEQsSUFBOUQ7QUFDQXNCLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3pDLG9CQUFsQyxFQUF3RCxJQUF4RDtBQUNBd0MsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDckIsMkJBQWxDLEVBQStELElBQS9EO0FBQ0FvQixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0N2QyxxQkFBbEMsRUFBeUQsSUFBekQ7QUFDQXNDLEVBQUFBLGtCQUFrQixDQUFDQyxjQUFuQixDQUFrQ3JDLGdCQUFsQyxFQUFvRCxJQUFwRDtBQUNBb0MsRUFBQUEsa0JBQWtCLENBQUNDLGNBQW5CLENBQWtDcEIsbUJBQWxDLEVBQXVELElBQXZEO0FBQ0FtQixFQUFBQSxrQkFBa0IsQ0FBQ0MsY0FBbkIsQ0FBa0NKLEtBQWxDLEVBQXlDLElBQXpDO0FBQ0QsQ0E3QkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbiAgR3JhcGhRTElucHV0T2JqZWN0VHlwZSxcbiAgR3JhcGhRTExpc3QsXG4gIEdyYXBoUUxPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50ZXJmYWNlVHlwZSxcbn0gZnJvbSAnZ3JhcGhxbCc7XG5cbmNvbnN0IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBmaWVsZCBuYW1lLicsXG4gIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSxcbn07XG5cbmNvbnN0IFNDSEVNQV9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9GSUVMRCA9IG5ldyBHcmFwaFFMSW50ZXJmYWNlVHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hRmllbGQgaW50ZXJmYWNlIHR5cGUgaXMgdXNlZCBhcyBhIGJhc2UgdHlwZSBmb3IgdGhlIGRpZmZlcmVudCBzdXBwb3J0ZWQgZmllbGRzIG9mIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxuICByZXNvbHZlVHlwZTogdmFsdWUgPT5cbiAgICAoe1xuICAgICAgU3RyaW5nOiBTQ0hFTUFfU1RSSU5HX0ZJRUxELm5hbWUsXG4gICAgICBOdW1iZXI6IFNDSEVNQV9OVU1CRVJfRklFTEQubmFtZSxcbiAgICAgIEJvb2xlYW46IFNDSEVNQV9CT09MRUFOX0ZJRUxELm5hbWUsXG4gICAgICBBcnJheTogU0NIRU1BX0FSUkFZX0ZJRUxELm5hbWUsXG4gICAgICBPYmplY3Q6IFNDSEVNQV9PQkpFQ1RfRklFTEQubmFtZSxcbiAgICAgIERhdGU6IFNDSEVNQV9EQVRFX0ZJRUxELm5hbWUsXG4gICAgICBGaWxlOiBTQ0hFTUFfRklMRV9GSUVMRC5uYW1lLFxuICAgICAgR2VvUG9pbnQ6IFNDSEVNQV9HRU9fUE9JTlRfRklFTEQubmFtZSxcbiAgICAgIFBvbHlnb246IFNDSEVNQV9QT0xZR09OX0ZJRUxELm5hbWUsXG4gICAgICBCeXRlczogU0NIRU1BX0JZVEVTX0ZJRUxELm5hbWUsXG4gICAgICBQb2ludGVyOiBTQ0hFTUFfUE9JTlRFUl9GSUVMRC5uYW1lLFxuICAgICAgUmVsYXRpb246IFNDSEVNQV9SRUxBVElPTl9GSUVMRC5uYW1lLFxuICAgICAgQUNMOiBTQ0hFTUFfQUNMX0ZJRUxELm5hbWUsXG4gICAgfVt2YWx1ZS50eXBlXSksXG59KTtcblxuY29uc3QgU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYVN0cmluZ0ZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYVN0cmluZ0ZpZWxkSW5wdXQgaXMgdXNlZCB0byBzcGVjaWZ5IGEgZmllbGQgb2YgdHlwZSBzdHJpbmcgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9TVFJJTkdfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hU3RyaW5nRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFTdHJpbmdGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIFN0cmluZyBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFOdW1iZXJGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFOdW1iZXJGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgbnVtYmVyIGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfTlVNQkVSX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYU51bWJlckZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hTnVtYmVyRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBOdW1iZXIgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJvb2xlYW5GaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBTY2hlbWFCb29sZWFuRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGJvb2xlYW4gZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CT09MRUFOX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJvb2xlYW5GaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYUJvb2xlYW5GaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEJvb2xlYW4gZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFBcnJheUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUFycmF5RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGFycmF5IGZvciBhbiBvYmplY3QgY2xhc3Mgc2NoZW1hLicsXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQVJSQVlfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hQXJyYXlGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYUFycmF5RmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gQXJyYXkgZmllbGQuJyxcbiAgaW50ZXJmYWNlczogW1NDSEVNQV9GSUVMRF0sXG4gIGZpZWxkczoge1xuICAgIG5hbWU6IFNDSEVNQV9GSUVMRF9OQU1FX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfT0JKRUNUX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hT2JqZWN0RmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hT2JqZWN0RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIG9iamVjdCBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX09CSkVDVF9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFPYmplY3RGaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYU9iamVjdEZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGFuIE9iamVjdCBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRGF0ZUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYURhdGVGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZGF0ZSBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0RBVEVfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRGF0ZUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hRGF0ZUZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgRGF0ZSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9GSUxFX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmlsZUZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUZpbGVGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgZmlsZSBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJTEVfRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hRmlsZUZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hRmlsZUZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgRmlsZSBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFHZW9Qb2ludEZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYUdlb1BvaW50RmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIGdlbyBwb2ludCBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0dFT19QT0lOVF9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFHZW9Qb2ludEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hR2VvUG9pbnRGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEdlbyBQb2ludCBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVUID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUG9seWdvbkZpZWxkSW5wdXQnLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnVGhlIFNjaGVtYVBvbHlnb25GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcG9seWdvbiBmb3IgYW4gb2JqZWN0IGNsYXNzIHNjaGVtYS4nLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX1BPTFlHT05fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUG9seWdvbkZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hUG9seWdvbkZpZWxkIGlzIHVzZWQgdG8gcmV0dXJuIGluZm9ybWF0aW9uIG9mIGEgUG9seWdvbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CWVRFU19GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUJ5dGVzRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgU2NoZW1hQnl0ZXNGaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgYnl0ZXMgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9CWVRFU19GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFCeXRlc0ZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQnl0ZXNGaWVsZCBpcyB1c2VkIHRvIHJldHVybiBpbmZvcm1hdGlvbiBvZiBhIEJ5dGVzIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgVEFSR0VUX0NMQVNTX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgY2xhc3MgZm9yIHRoZSBmaWVsZC4nLFxuICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZyksXG59O1xuXG5jb25zdCBTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1BvaW50ZXJGaWVsZElucHV0JyxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1RoZSBQb2ludGVyRmllbGRJbnB1dCBpcyB1c2VkIHRvIHNwZWNpZnkgYSBmaWVsZCBvZiB0eXBlIHBvaW50ZXIgZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUE9JTlRFUl9GSUVMRCA9IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdTY2hlbWFQb2ludGVyRmllbGQnLFxuICBkZXNjcmlwdGlvbjogJ1RoZSBTY2hlbWFQb2ludGVyRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBQb2ludGVyIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gICAgdGFyZ2V0Q2xhc3NOYW1lOiBUQVJHRVRfQ0xBU1NfQVRULFxuICB9LFxufSk7XG5cbmNvbnN0IFNDSEVNQV9SRUxBVElPTl9GSUVMRF9JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1JlbGF0aW9uRmllbGRJbnB1dCcsXG4gIGRlc2NyaXB0aW9uOlxuICAgICdUaGUgUmVsYXRpb25GaWVsZElucHV0IGlzIHVzZWQgdG8gc3BlY2lmeSBhIGZpZWxkIG9mIHR5cGUgcmVsYXRpb24gZm9yIGFuIG9iamVjdCBjbGFzcyBzY2hlbWEuJyxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfUkVMQVRJT05fRklFTEQgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnU2NoZW1hUmVsYXRpb25GaWVsZCcsXG4gIGRlc2NyaXB0aW9uOiAnVGhlIFNjaGVtYVJlbGF0aW9uRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYSBSZWxhdGlvbiBmaWVsZC4nLFxuICBpbnRlcmZhY2VzOiBbU0NIRU1BX0ZJRUxEXSxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogU0NIRU1BX0ZJRUxEX05BTUVfQVRULFxuICAgIHRhcmdldENsYXNzTmFtZTogVEFSR0VUX0NMQVNTX0FUVCxcbiAgfSxcbn0pO1xuXG5jb25zdCBTQ0hFTUFfQUNMX0ZJRUxEID0gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUFDTEZpZWxkJyxcbiAgZGVzY3JpcHRpb246ICdUaGUgU2NoZW1hQUNMRmllbGQgaXMgdXNlZCB0byByZXR1cm4gaW5mb3JtYXRpb24gb2YgYW4gQUNMIGZpZWxkLicsXG4gIGludGVyZmFjZXM6IFtTQ0hFTUFfRklFTERdLFxuICBmaWVsZHM6IHtcbiAgICBuYW1lOiBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIH0sXG59KTtcblxuY29uc3QgU0NIRU1BX0ZJRUxEU19JTlBVVCA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgbmFtZTogJ1NjaGVtYUZpZWxkc0lucHV0JyxcbiAgZGVzY3JpcHRpb246IGBUaGUgQ3JlYXRlQ2xhc3NTY2hlbWFJbnB1dCB0eXBlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2NoZW1hIGZvciBhIG5ldyBvYmplY3QgY2xhc3MgdG8gYmUgY3JlYXRlZC5gLFxuICBmaWVsZHM6IHtcbiAgICBhZGRTdHJpbmdzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgU3RyaW5nIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9TVFJJTkdfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZE51bWJlcnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBOdW1iZXIgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkQm9vbGVhbnM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBCb29sZWFuIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9CT09MRUFOX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRBcnJheXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBBcnJheSBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZE9iamVjdHM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBPYmplY3QgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkRGF0ZXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBEYXRlIGZpZWxkcyB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLicsXG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QobmV3IEdyYXBoUUxOb25OdWxsKFNDSEVNQV9EQVRFX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICBhZGRGaWxlczoge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGVzZSBhcmUgdGhlIEZpbGUgZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJTEVfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZEdlb1BvaW50OiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ1RoaXMgaXMgdGhlIEdlbyBQb2ludCBmaWVsZCB0byBiZSBhZGRlZCB0byB0aGUgY2xhc3Mgc2NoZW1hLiBDdXJyZW50bHkgaXQgaXMgc3VwcG9ydGVkIG9ubHkgb25lIEdlb1BvaW50IGZpZWxkIHBlciBDbGFzcy4nLFxuICAgICAgdHlwZTogU0NIRU1BX0dFT19QT0lOVF9GSUVMRF9JTlBVVCxcbiAgICB9LFxuICAgIGFkZFBvbHlnb25zOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUG9seWdvbiBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUE9MWUdPTl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkQnl0ZXM6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBCeXRlcyBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfQllURVNfRklFTERfSU5QVVQpKSxcbiAgICB9LFxuICAgIGFkZFBvaW50ZXJzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUG9pbnRlciBmaWVsZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGNsYXNzIHNjaGVtYS4nLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxMaXN0KG5ldyBHcmFwaFFMTm9uTnVsbChTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCkpLFxuICAgIH0sXG4gICAgYWRkUmVsYXRpb25zOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXNlIGFyZSB0aGUgUmVsYXRpb24gZmllbGRzIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgICByZW1vdmU6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHRoZSBmaWVsZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBjbGFzcyBzY2hlbWEuJyxcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJRUxEX0lOUFVUKSksXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBDTEFTU19OQU1FX0FUVCA9IHtcbiAgZGVzY3JpcHRpb246ICdUaGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBvYmplY3QgY2xhc3MuJyxcbiAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxTdHJpbmcpLFxufTtcblxuY29uc3QgQ0xBU1MgPSBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICBuYW1lOiAnQ2xhc3MnLFxuICBkZXNjcmlwdGlvbjogYFRoZSBDbGFzcyB0eXBlIGlzIHVzZWQgdG8gcmV0dXJuIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBvYmplY3QgY2xhc3MuYCxcbiAgZmllbGRzOiB7XG4gICAgbmFtZTogQ0xBU1NfTkFNRV9BVFQsXG4gICAgc2NoZW1hRmllbGRzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGVzZSBhcmUgdGhlIHNjaGVtYSdzIGZpZWxkcyBvZiB0aGUgb2JqZWN0IGNsYXNzLlwiLFxuICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKG5ldyBHcmFwaFFMTGlzdChuZXcgR3JhcGhRTE5vbk51bGwoU0NIRU1BX0ZJRUxEKSkpLFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgbG9hZCA9IHBhcnNlR3JhcGhRTFNjaGVtYSA9PiB7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfU1RSSU5HX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9OVU1CRVJfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX05VTUJFUl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQk9PTEVBTl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQk9PTEVBTl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0FSUkFZX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9PQkpFQ1RfRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX09CSkVDVF9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfREFURV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfREFURV9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfRklMRV9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfR0VPX1BPSU5UX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9HRU9fUE9JTlRfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1BPTFlHT05fRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1BPTFlHT05fRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVULCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9CWVRFU19GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9JTlRFUl9GSUVMRF9JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUE9JTlRFUl9GSUVMRCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShTQ0hFTUFfUkVMQVRJT05fRklFTERfSU5QVVQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX1JFTEFUSU9OX0ZJRUxELCB0cnVlKTtcbiAgcGFyc2VHcmFwaFFMU2NoZW1hLmFkZEdyYXBoUUxUeXBlKFNDSEVNQV9BQ0xfRklFTEQsIHRydWUpO1xuICBwYXJzZUdyYXBoUUxTY2hlbWEuYWRkR3JhcGhRTFR5cGUoU0NIRU1BX0ZJRUxEU19JTlBVVCwgdHJ1ZSk7XG4gIHBhcnNlR3JhcGhRTFNjaGVtYS5hZGRHcmFwaFFMVHlwZShDTEFTUywgdHJ1ZSk7XG59O1xuXG5leHBvcnQge1xuICBTQ0hFTUFfRklFTERfTkFNRV9BVFQsXG4gIFNDSEVNQV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX1NUUklOR19GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX1NUUklOR19GSUVMRCxcbiAgU0NIRU1BX05VTUJFUl9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX05VTUJFUl9GSUVMRCxcbiAgU0NIRU1BX0JPT0xFQU5fRklFTERfSU5QVVQsXG4gIFNDSEVNQV9CT09MRUFOX0ZJRUxELFxuICBTQ0hFTUFfQVJSQVlfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9BUlJBWV9GSUVMRCxcbiAgU0NIRU1BX09CSkVDVF9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX09CSkVDVF9GSUVMRCxcbiAgU0NIRU1BX0RBVEVfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9EQVRFX0ZJRUxELFxuICBTQ0hFTUFfRklMRV9GSUVMRF9JTlBVVCxcbiAgU0NIRU1BX0ZJTEVfRklFTEQsXG4gIFNDSEVNQV9HRU9fUE9JTlRfRklFTERfSU5QVVQsXG4gIFNDSEVNQV9HRU9fUE9JTlRfRklFTEQsXG4gIFNDSEVNQV9QT0xZR09OX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUE9MWUdPTl9GSUVMRCxcbiAgU0NIRU1BX0JZVEVTX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfQllURVNfRklFTEQsXG4gIFRBUkdFVF9DTEFTU19BVFQsXG4gIFNDSEVNQV9QT0lOVEVSX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUE9JTlRFUl9GSUVMRCxcbiAgU0NIRU1BX1JFTEFUSU9OX0ZJRUxEX0lOUFVULFxuICBTQ0hFTUFfUkVMQVRJT05fRklFTEQsXG4gIFNDSEVNQV9BQ0xfRklFTEQsXG4gIFNDSEVNQV9GSUVMRFNfSU5QVVQsXG4gIENMQVNTX05BTUVfQVRULFxuICBDTEFTUyxcbiAgbG9hZCxcbn07XG4iXX0=
@@ -9,7 +9,7 @@ exports.getParseClassMutationConfig = exports.extractKeysAndInclude = void 0;
9
9
 
10
10
  var _node = _interopRequireDefault(require("parse/node"));
11
11
 
12
- var _apolloServerCore = require("apollo-server-core");
12
+ var _node2 = require("@graphql-yoga/node");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -30,7 +30,9 @@ function toGraphQLError(error) {
30
30
  message = 'Internal server error';
31
31
  }
32
32
 
33
- return new _apolloServerCore.ApolloError(message, code);
33
+ return new _node2.GraphQLYogaError(message, {
34
+ code
35
+ });
34
36
  }
35
37
 
36
38
  const extractKeysAndInclude = selectedFields => {
@@ -66,4 +68,4 @@ const getParseClassMutationConfig = function (parseClassConfig) {
66
68
  };
67
69
 
68
70
  exports.getParseClassMutationConfig = getParseClassMutationConfig;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9HcmFwaFFML3BhcnNlR3JhcGhRTFV0aWxzLmpzIl0sIm5hbWVzIjpbImVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJhdXRoIiwiaXNNYXN0ZXIiLCJQYXJzZSIsIkVycm9yIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsInRvR3JhcGhRTEVycm9yIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkFwb2xsb0Vycm9yIiwiZXh0cmFjdEtleXNBbmRJbmNsdWRlIiwic2VsZWN0ZWRGaWVsZHMiLCJmaWx0ZXIiLCJmaWVsZCIsImluY2x1ZGVzIiwibWFwIiwiZW5kc1dpdGgiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsImtleXMiLCJ1bmRlZmluZWQiLCJpbmNsdWRlIiwibGVuZ3RoIiwiU2V0Iiwiam9pbiIsImluZGV4T2YiLCJnZXRQYXJzZUNsYXNzTXV0YXRpb25Db25maWciLCJwYXJzZUNsYXNzQ29uZmlnIiwibXV0YXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOzs7O0FBRU8sU0FBU0Esc0JBQVQsQ0FBZ0NDLElBQWhDLEVBQXNDO0FBQzNDLE1BQUksQ0FBQ0EsSUFBSSxDQUFDQyxRQUFWLEVBQW9CO0FBQ2xCLFVBQU0sSUFBSUMsY0FBTUMsS0FBVixDQUFnQkQsY0FBTUMsS0FBTixDQUFZQyxtQkFBNUIsRUFBaUQsc0NBQWpELENBQU47QUFDRDtBQUNGOztBQUVNLFNBQVNDLGNBQVQsQ0FBd0JDLEtBQXhCLEVBQStCO0FBQ3BDLE1BQUlDLElBQUosRUFBVUMsT0FBVjs7QUFDQSxNQUFJRixLQUFLLFlBQVlKLGNBQU1DLEtBQTNCLEVBQWtDO0FBQ2hDSSxJQUFBQSxJQUFJLEdBQUdELEtBQUssQ0FBQ0MsSUFBYjtBQUNBQyxJQUFBQSxPQUFPLEdBQUdGLEtBQUssQ0FBQ0UsT0FBaEI7QUFDRCxHQUhELE1BR087QUFDTEQsSUFBQUEsSUFBSSxHQUFHTCxjQUFNQyxLQUFOLENBQVlNLHFCQUFuQjtBQUNBRCxJQUFBQSxPQUFPLEdBQUcsdUJBQVY7QUFDRDs7QUFDRCxTQUFPLElBQUlFLDZCQUFKLENBQWdCRixPQUFoQixFQUF5QkQsSUFBekIsQ0FBUDtBQUNEOztBQUVNLE1BQU1JLHFCQUFxQixHQUFHQyxjQUFjLElBQUk7QUFDckRBLEVBQUFBLGNBQWMsR0FBR0EsY0FBYyxDQUFDQyxNQUFmLENBQXNCQyxLQUFLLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFOLENBQWUsWUFBZixDQUFoQyxDQUFqQixDQURxRCxDQUVyRDs7QUFDQUgsRUFBQUEsY0FBYyxHQUFHQSxjQUFjLENBQUNJLEdBQWYsQ0FBbUJGLEtBQUssSUFBSTtBQUMzQyxRQUFJQSxLQUFLLEtBQUssSUFBZCxFQUFvQixPQUFPLFVBQVA7QUFDcEIsV0FBT0EsS0FBSyxDQUFDRyxRQUFOLENBQWUsS0FBZixJQUNGLEdBQUVILEtBQUssQ0FBQ0ksU0FBTixDQUFnQixDQUFoQixFQUFtQkosS0FBSyxDQUFDSyxXQUFOLENBQWtCLEtBQWxCLENBQW5CLENBQTZDLFdBRDdDLEdBRUhMLEtBRko7QUFHRCxHQUxnQixDQUFqQjtBQU1BLE1BQUlNLElBQUksR0FBR0MsU0FBWDtBQUNBLE1BQUlDLE9BQU8sR0FBR0QsU0FBZDs7QUFFQSxNQUFJVCxjQUFjLENBQUNXLE1BQWYsR0FBd0IsQ0FBNUIsRUFBK0I7QUFDN0JILElBQUFBLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSUksR0FBSixDQUFRWixjQUFSLENBQUosRUFBNkJhLElBQTdCLENBQWtDLEdBQWxDLENBQVAsQ0FENkIsQ0FFN0I7QUFDQTs7QUFDQUgsSUFBQUEsT0FBTyxHQUFHRixJQUFWO0FBQ0Q7O0FBRUQsU0FBTztBQUNMO0FBQ0E7QUFDQTtBQUNBQSxJQUFBQSxJQUFJLEVBQUVBLElBQUksSUFBSUEsSUFBSSxDQUFDTSxPQUFMLENBQWEsVUFBYixNQUE2QixDQUFDLENBQXRDLEdBQTBDTixJQUExQyxHQUFpREMsU0FKbEQ7QUFLTEMsSUFBQUE7QUFMSyxHQUFQO0FBT0QsQ0ExQk07Ozs7QUE0QkEsTUFBTUssMkJBQTJCLEdBQUcsVUFBVUMsZ0JBQVYsRUFBNEI7QUFDckUsU0FBUUEsZ0JBQWdCLElBQUlBLGdCQUFnQixDQUFDQyxRQUF0QyxJQUFtRCxFQUExRDtBQUNELENBRk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBBcG9sbG9FcnJvciB9IGZyb20gJ2Fwb2xsby1zZXJ2ZXItY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmZvcmNlTWFzdGVyS2V5QWNjZXNzKGF1dGgpIHtcbiAgaWYgKCFhdXRoLmlzTWFzdGVyKSB7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9QRVJBVElPTl9GT1JCSURERU4sICd1bmF1dGhvcml6ZWQ6IG1hc3RlciBrZXkgaXMgcmVxdWlyZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9HcmFwaFFMRXJyb3IoZXJyb3IpIHtcbiAgbGV0IGNvZGUsIG1lc3NhZ2U7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIFBhcnNlLkVycm9yKSB7XG4gICAgY29kZSA9IGVycm9yLmNvZGU7XG4gICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gIH0gZWxzZSB7XG4gICAgY29kZSA9IFBhcnNlLkVycm9yLklOVEVSTkFMX1NFUlZFUl9FUlJPUjtcbiAgICBtZXNzYWdlID0gJ0ludGVybmFsIHNlcnZlciBlcnJvcic7XG4gIH1cbiAgcmV0dXJuIG5ldyBBcG9sbG9FcnJvcihtZXNzYWdlLCBjb2RlKTtcbn1cblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RLZXlzQW5kSW5jbHVkZSA9IHNlbGVjdGVkRmllbGRzID0+IHtcbiAgc2VsZWN0ZWRGaWVsZHMgPSBzZWxlY3RlZEZpZWxkcy5maWx0ZXIoZmllbGQgPT4gIWZpZWxkLmluY2x1ZGVzKCdfX3R5cGVuYW1lJykpO1xuICAvLyBIYW5kbGVzIFwiaWRcIiBmaWVsZCBmb3IgYm90aCBjdXJyZW50IGFuZCBpbmNsdWRlZCBvYmplY3RzXG4gIHNlbGVjdGVkRmllbGRzID0gc2VsZWN0ZWRGaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICBpZiAoZmllbGQgPT09ICdpZCcpIHJldHVybiAnb2JqZWN0SWQnO1xuICAgIHJldHVybiBmaWVsZC5lbmRzV2l0aCgnLmlkJylcbiAgICAgID8gYCR7ZmllbGQuc3Vic3RyaW5nKDAsIGZpZWxkLmxhc3RJbmRleE9mKCcuaWQnKSl9Lm9iamVjdElkYFxuICAgICAgOiBmaWVsZDtcbiAgfSk7XG4gIGxldCBrZXlzID0gdW5kZWZpbmVkO1xuICBsZXQgaW5jbHVkZSA9IHVuZGVmaW5lZDtcblxuICBpZiAoc2VsZWN0ZWRGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIGtleXMgPSBbLi4ubmV3IFNldChzZWxlY3RlZEZpZWxkcyldLmpvaW4oJywnKTtcbiAgICAvLyBXZSBjYW4gdXNlIHRoaXMgc2hvcnRjdXQgc2luY2Ugb3B0aW1pemF0aW9uIGlzIGhhbmRsZWRcbiAgICAvLyBsYXRlciBvbiBSZXN0UXVlcnksIGF2b2lkIG92ZXJoZWFkIGhlcmUuXG4gICAgaW5jbHVkZSA9IGtleXM7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8vIElmIGF1dGhEYXRhIGlzIGRldGVjdGVkIGtleXMgd2lsbCBub3Qgd29yayBwcm9wZXJseVxuICAgIC8vIHNpbmNlIGF1dGhEYXRhIGhhcyBhIHNwZWNpYWwgc3RvcmFnZSBiZWhhdmlvclxuICAgIC8vIHNvIHdlIG5lZWQgdG8gc2tpcCBrZXlzIGN1cnJlbnRseVxuICAgIGtleXM6IGtleXMgJiYga2V5cy5pbmRleE9mKCdhdXRoRGF0YScpID09PSAtMSA/IGtleXMgOiB1bmRlZmluZWQsXG4gICAgaW5jbHVkZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQYXJzZUNsYXNzTXV0YXRpb25Db25maWcgPSBmdW5jdGlvbiAocGFyc2VDbGFzc0NvbmZpZykge1xuICByZXR1cm4gKHBhcnNlQ2xhc3NDb25maWcgJiYgcGFyc2VDbGFzc0NvbmZpZy5tdXRhdGlvbikgfHwge307XG59O1xuIl19
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9HcmFwaFFML3BhcnNlR3JhcGhRTFV0aWxzLmpzIl0sIm5hbWVzIjpbImVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJhdXRoIiwiaXNNYXN0ZXIiLCJQYXJzZSIsIkVycm9yIiwiT1BFUkFUSU9OX0ZPUkJJRERFTiIsInRvR3JhcGhRTEVycm9yIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIkdyYXBoUUxZb2dhRXJyb3IiLCJleHRyYWN0S2V5c0FuZEluY2x1ZGUiLCJzZWxlY3RlZEZpZWxkcyIsImZpbHRlciIsImZpZWxkIiwiaW5jbHVkZXMiLCJtYXAiLCJlbmRzV2l0aCIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwia2V5cyIsInVuZGVmaW5lZCIsImluY2x1ZGUiLCJsZW5ndGgiLCJTZXQiLCJqb2luIiwiaW5kZXhPZiIsImdldFBhcnNlQ2xhc3NNdXRhdGlvbkNvbmZpZyIsInBhcnNlQ2xhc3NDb25maWciLCJtdXRhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFTyxTQUFTQSxzQkFBVCxDQUFnQ0MsSUFBaEMsRUFBc0M7QUFDM0MsTUFBSSxDQUFDQSxJQUFJLENBQUNDLFFBQVYsRUFBb0I7QUFDbEIsVUFBTSxJQUFJQyxjQUFNQyxLQUFWLENBQWdCRCxjQUFNQyxLQUFOLENBQVlDLG1CQUE1QixFQUFpRCxzQ0FBakQsQ0FBTjtBQUNEO0FBQ0Y7O0FBRU0sU0FBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBK0I7QUFDcEMsTUFBSUMsSUFBSixFQUFVQyxPQUFWOztBQUNBLE1BQUlGLEtBQUssWUFBWUosY0FBTUMsS0FBM0IsRUFBa0M7QUFDaENJLElBQUFBLElBQUksR0FBR0QsS0FBSyxDQUFDQyxJQUFiO0FBQ0FDLElBQUFBLE9BQU8sR0FBR0YsS0FBSyxDQUFDRSxPQUFoQjtBQUNELEdBSEQsTUFHTztBQUNMRCxJQUFBQSxJQUFJLEdBQUdMLGNBQU1DLEtBQU4sQ0FBWU0scUJBQW5CO0FBQ0FELElBQUFBLE9BQU8sR0FBRyx1QkFBVjtBQUNEOztBQUNELFNBQU8sSUFBSUUsdUJBQUosQ0FBcUJGLE9BQXJCLEVBQThCO0FBQUVELElBQUFBO0FBQUYsR0FBOUIsQ0FBUDtBQUNEOztBQUVNLE1BQU1JLHFCQUFxQixHQUFHQyxjQUFjLElBQUk7QUFDckRBLEVBQUFBLGNBQWMsR0FBR0EsY0FBYyxDQUFDQyxNQUFmLENBQXNCQyxLQUFLLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxRQUFOLENBQWUsWUFBZixDQUFoQyxDQUFqQixDQURxRCxDQUVyRDs7QUFDQUgsRUFBQUEsY0FBYyxHQUFHQSxjQUFjLENBQUNJLEdBQWYsQ0FBbUJGLEtBQUssSUFBSTtBQUMzQyxRQUFJQSxLQUFLLEtBQUssSUFBZCxFQUFvQixPQUFPLFVBQVA7QUFDcEIsV0FBT0EsS0FBSyxDQUFDRyxRQUFOLENBQWUsS0FBZixJQUNGLEdBQUVILEtBQUssQ0FBQ0ksU0FBTixDQUFnQixDQUFoQixFQUFtQkosS0FBSyxDQUFDSyxXQUFOLENBQWtCLEtBQWxCLENBQW5CLENBQTZDLFdBRDdDLEdBRUhMLEtBRko7QUFHRCxHQUxnQixDQUFqQjtBQU1BLE1BQUlNLElBQUksR0FBR0MsU0FBWDtBQUNBLE1BQUlDLE9BQU8sR0FBR0QsU0FBZDs7QUFFQSxNQUFJVCxjQUFjLENBQUNXLE1BQWYsR0FBd0IsQ0FBNUIsRUFBK0I7QUFDN0JILElBQUFBLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSUksR0FBSixDQUFRWixjQUFSLENBQUosRUFBNkJhLElBQTdCLENBQWtDLEdBQWxDLENBQVAsQ0FENkIsQ0FFN0I7QUFDQTs7QUFDQUgsSUFBQUEsT0FBTyxHQUFHRixJQUFWO0FBQ0Q7O0FBRUQsU0FBTztBQUNMO0FBQ0E7QUFDQTtBQUNBQSxJQUFBQSxJQUFJLEVBQUVBLElBQUksSUFBSUEsSUFBSSxDQUFDTSxPQUFMLENBQWEsVUFBYixNQUE2QixDQUFDLENBQXRDLEdBQTBDTixJQUExQyxHQUFpREMsU0FKbEQ7QUFLTEMsSUFBQUE7QUFMSyxHQUFQO0FBT0QsQ0ExQk07Ozs7QUE0QkEsTUFBTUssMkJBQTJCLEdBQUcsVUFBVUMsZ0JBQVYsRUFBNEI7QUFDckUsU0FBUUEsZ0JBQWdCLElBQUlBLGdCQUFnQixDQUFDQyxRQUF0QyxJQUFtRCxFQUExRDtBQUNELENBRk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgeyBHcmFwaFFMWW9nYUVycm9yIH0gZnJvbSAnQGdyYXBocWwteW9nYS9ub2RlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MoYXV0aCkge1xuICBpZiAoIWF1dGguaXNNYXN0ZXIpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT1BFUkFUSU9OX0ZPUkJJRERFTiwgJ3VuYXV0aG9yaXplZDogbWFzdGVyIGtleSBpcyByZXF1aXJlZCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0dyYXBoUUxFcnJvcihlcnJvcikge1xuICBsZXQgY29kZSwgbWVzc2FnZTtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgUGFyc2UuRXJyb3IpIHtcbiAgICBjb2RlID0gZXJyb3IuY29kZTtcbiAgICBtZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgfSBlbHNlIHtcbiAgICBjb2RlID0gUGFyc2UuRXJyb3IuSU5URVJOQUxfU0VSVkVSX0VSUk9SO1xuICAgIG1lc3NhZ2UgPSAnSW50ZXJuYWwgc2VydmVyIGVycm9yJztcbiAgfVxuICByZXR1cm4gbmV3IEdyYXBoUUxZb2dhRXJyb3IobWVzc2FnZSwgeyBjb2RlIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZXh0cmFjdEtleXNBbmRJbmNsdWRlID0gc2VsZWN0ZWRGaWVsZHMgPT4ge1xuICBzZWxlY3RlZEZpZWxkcyA9IHNlbGVjdGVkRmllbGRzLmZpbHRlcihmaWVsZCA9PiAhZmllbGQuaW5jbHVkZXMoJ19fdHlwZW5hbWUnKSk7XG4gIC8vIEhhbmRsZXMgXCJpZFwiIGZpZWxkIGZvciBib3RoIGN1cnJlbnQgYW5kIGluY2x1ZGVkIG9iamVjdHNcbiAgc2VsZWN0ZWRGaWVsZHMgPSBzZWxlY3RlZEZpZWxkcy5tYXAoZmllbGQgPT4ge1xuICAgIGlmIChmaWVsZCA9PT0gJ2lkJykgcmV0dXJuICdvYmplY3RJZCc7XG4gICAgcmV0dXJuIGZpZWxkLmVuZHNXaXRoKCcuaWQnKVxuICAgICAgPyBgJHtmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQubGFzdEluZGV4T2YoJy5pZCcpKX0ub2JqZWN0SWRgXG4gICAgICA6IGZpZWxkO1xuICB9KTtcbiAgbGV0IGtleXMgPSB1bmRlZmluZWQ7XG4gIGxldCBpbmNsdWRlID0gdW5kZWZpbmVkO1xuXG4gIGlmIChzZWxlY3RlZEZpZWxkcy5sZW5ndGggPiAwKSB7XG4gICAga2V5cyA9IFsuLi5uZXcgU2V0KHNlbGVjdGVkRmllbGRzKV0uam9pbignLCcpO1xuICAgIC8vIFdlIGNhbiB1c2UgdGhpcyBzaG9ydGN1dCBzaW5jZSBvcHRpbWl6YXRpb24gaXMgaGFuZGxlZFxuICAgIC8vIGxhdGVyIG9uIFJlc3RRdWVyeSwgYXZvaWQgb3ZlcmhlYWQgaGVyZS5cbiAgICBpbmNsdWRlID0ga2V5cztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gSWYgYXV0aERhdGEgaXMgZGV0ZWN0ZWQga2V5cyB3aWxsIG5vdCB3b3JrIHByb3Blcmx5XG4gICAgLy8gc2luY2UgYXV0aERhdGEgaGFzIGEgc3BlY2lhbCBzdG9yYWdlIGJlaGF2aW9yXG4gICAgLy8gc28gd2UgbmVlZCB0byBza2lwIGtleXMgY3VycmVudGx5XG4gICAga2V5czoga2V5cyAmJiBrZXlzLmluZGV4T2YoJ2F1dGhEYXRhJykgPT09IC0xID8ga2V5cyA6IHVuZGVmaW5lZCxcbiAgICBpbmNsdWRlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBhcnNlQ2xhc3NNdXRhdGlvbkNvbmZpZyA9IGZ1bmN0aW9uIChwYXJzZUNsYXNzQ29uZmlnKSB7XG4gIHJldHVybiAocGFyc2VDbGFzc0NvbmZpZyAmJiBwYXJzZUNsYXNzQ29uZmlnLm11dGF0aW9uKSB8fCB7fTtcbn07XG4iXX0=
@@ -26,6 +26,12 @@ class ParseCloudCodePublisher {
26
26
 
27
27
  onCloudCodeAfterDelete(request) {
28
28
  this._onCloudCodeMessage(_node.default.applicationId + 'afterDelete', request);
29
+ }
30
+
31
+ onClearCachedRoles(user) {
32
+ this.parsePublisher.publish(_node.default.applicationId + 'clearCache', JSON.stringify({
33
+ userId: user.id
34
+ }));
29
35
  } // Request is the request object from cloud code functions. request.object is a ParseObject.
30
36
 
31
37
 
@@ -41,10 +47,14 @@ class ParseCloudCodePublisher {
41
47
  message.originalParseObject = request.original._toFullJSON();
42
48
  }
43
49
 
50
+ if (request.classLevelPermissions) {
51
+ message.classLevelPermissions = request.classLevelPermissions;
52
+ }
53
+
44
54
  this.parsePublisher.publish(type, JSON.stringify(message));
45
55
  }
46
56
 
47
57
  }
48
58
 
49
59
  exports.ParseCloudCodePublisher = ParseCloudCodePublisher;
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIuanMiXSwibmFtZXMiOlsiUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInBhcnNlUHVibGlzaGVyIiwiUGFyc2VQdWJTdWIiLCJjcmVhdGVQdWJsaXNoZXIiLCJvbkNsb3VkQ29kZUFmdGVyU2F2ZSIsInJlcXVlc3QiLCJfb25DbG91ZENvZGVNZXNzYWdlIiwiUGFyc2UiLCJhcHBsaWNhdGlvbklkIiwib25DbG91ZENvZGVBZnRlckRlbGV0ZSIsInR5cGUiLCJsb2dnZXIiLCJ2ZXJib3NlIiwib2JqZWN0Iiwib3JpZ2luYWwiLCJtZXNzYWdlIiwiY3VycmVudFBhcnNlT2JqZWN0IiwiX3RvRnVsbEpTT04iLCJvcmlnaW5hbFBhcnNlT2JqZWN0IiwicHVibGlzaCIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLHVCQUFOLENBQThCO0FBRzVCO0FBQ0E7QUFDQUMsRUFBQUEsV0FBVyxDQUFDQyxNQUFXLEdBQUcsRUFBZixFQUFtQjtBQUM1QixTQUFLQyxjQUFMLEdBQXNCQyx5QkFBWUMsZUFBWixDQUE0QkgsTUFBNUIsQ0FBdEI7QUFDRDs7QUFFREksRUFBQUEsb0JBQW9CLENBQUNDLE9BQUQsRUFBcUI7QUFDdkMsU0FBS0MsbUJBQUwsQ0FBeUJDLGNBQU1DLGFBQU4sR0FBc0IsV0FBL0MsRUFBNERILE9BQTVEO0FBQ0Q7O0FBRURJLEVBQUFBLHNCQUFzQixDQUFDSixPQUFELEVBQXFCO0FBQ3pDLFNBQUtDLG1CQUFMLENBQXlCQyxjQUFNQyxhQUFOLEdBQXNCLGFBQS9DLEVBQThESCxPQUE5RDtBQUNELEdBZjJCLENBaUI1Qjs7O0FBQ0FDLEVBQUFBLG1CQUFtQixDQUFDSSxJQUFELEVBQWVMLE9BQWYsRUFBbUM7QUFDcERNLG9CQUFPQyxPQUFQLENBQ0UsMERBREYsRUFFRVAsT0FBTyxDQUFDUSxNQUZWLEVBR0VSLE9BQU8sQ0FBQ1MsUUFIVixFQURvRCxDQU1wRDs7O0FBQ0EsVUFBTUMsT0FBTyxHQUFHO0FBQ2RDLE1BQUFBLGtCQUFrQixFQUFFWCxPQUFPLENBQUNRLE1BQVIsQ0FBZUksV0FBZjtBQUROLEtBQWhCOztBQUdBLFFBQUlaLE9BQU8sQ0FBQ1MsUUFBWixFQUFzQjtBQUNwQkMsTUFBQUEsT0FBTyxDQUFDRyxtQkFBUixHQUE4QmIsT0FBTyxDQUFDUyxRQUFSLENBQWlCRyxXQUFqQixFQUE5QjtBQUNEOztBQUNELFNBQUtoQixjQUFMLENBQW9Ca0IsT0FBcEIsQ0FBNEJULElBQTVCLEVBQWtDVSxJQUFJLENBQUNDLFNBQUwsQ0FBZU4sT0FBZixDQUFsQztBQUNEOztBQWhDMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZVB1YlN1YiB9IGZyb20gJy4vUGFyc2VQdWJTdWInO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuXG5jbGFzcyBQYXJzZUNsb3VkQ29kZVB1Ymxpc2hlciB7XG4gIHBhcnNlUHVibGlzaGVyOiBPYmplY3Q7XG5cbiAgLy8gY29uZmlnIG9iamVjdCBvZiB0aGUgcHVibGlzaGVyLCByaWdodCBub3cgaXQgb25seSBjb250YWlucyB0aGUgcmVkaXNVUkwsXG4gIC8vIGJ1dCB3ZSBtYXkgZXh0ZW5kIGl0IGxhdGVyLlxuICBjb25zdHJ1Y3Rvcihjb25maWc6IGFueSA9IHt9KSB7XG4gICAgdGhpcy5wYXJzZVB1Ymxpc2hlciA9IFBhcnNlUHViU3ViLmNyZWF0ZVB1Ymxpc2hlcihjb25maWcpO1xuICB9XG5cbiAgb25DbG91ZENvZGVBZnRlclNhdmUocmVxdWVzdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DbG91ZENvZGVNZXNzYWdlKFBhcnNlLmFwcGxpY2F0aW9uSWQgKyAnYWZ0ZXJTYXZlJywgcmVxdWVzdCk7XG4gIH1cblxuICBvbkNsb3VkQ29kZUFmdGVyRGVsZXRlKHJlcXVlc3Q6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2xvdWRDb2RlTWVzc2FnZShQYXJzZS5hcHBsaWNhdGlvbklkICsgJ2FmdGVyRGVsZXRlJywgcmVxdWVzdCk7XG4gIH1cblxuICAvLyBSZXF1ZXN0IGlzIHRoZSByZXF1ZXN0IG9iamVjdCBmcm9tIGNsb3VkIGNvZGUgZnVuY3Rpb25zLiByZXF1ZXN0Lm9iamVjdCBpcyBhIFBhcnNlT2JqZWN0LlxuICBfb25DbG91ZENvZGVNZXNzYWdlKHR5cGU6IHN0cmluZywgcmVxdWVzdDogYW55KTogdm9pZCB7XG4gICAgbG9nZ2VyLnZlcmJvc2UoXG4gICAgICAnUmF3IHJlcXVlc3QgZnJvbSBjbG91ZCBjb2RlIGN1cnJlbnQgOiAlaiB8IG9yaWdpbmFsIDogJWonLFxuICAgICAgcmVxdWVzdC5vYmplY3QsXG4gICAgICByZXF1ZXN0Lm9yaWdpbmFsXG4gICAgKTtcbiAgICAvLyBXZSBuZWVkIHRoZSBmdWxsIEpTT04gd2hpY2ggaW5jbHVkZXMgY2xhc3NOYW1lXG4gICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgIGN1cnJlbnRQYXJzZU9iamVjdDogcmVxdWVzdC5vYmplY3QuX3RvRnVsbEpTT04oKSxcbiAgICB9O1xuICAgIGlmIChyZXF1ZXN0Lm9yaWdpbmFsKSB7XG4gICAgICBtZXNzYWdlLm9yaWdpbmFsUGFyc2VPYmplY3QgPSByZXF1ZXN0Lm9yaWdpbmFsLl90b0Z1bGxKU09OKCk7XG4gICAgfVxuICAgIHRoaXMucGFyc2VQdWJsaXNoZXIucHVibGlzaCh0eXBlLCBKU09OLnN0cmluZ2lmeShtZXNzYWdlKSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIgfTtcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIuanMiXSwibmFtZXMiOlsiUGFyc2VDbG91ZENvZGVQdWJsaXNoZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInBhcnNlUHVibGlzaGVyIiwiUGFyc2VQdWJTdWIiLCJjcmVhdGVQdWJsaXNoZXIiLCJvbkNsb3VkQ29kZUFmdGVyU2F2ZSIsInJlcXVlc3QiLCJfb25DbG91ZENvZGVNZXNzYWdlIiwiUGFyc2UiLCJhcHBsaWNhdGlvbklkIiwib25DbG91ZENvZGVBZnRlckRlbGV0ZSIsIm9uQ2xlYXJDYWNoZWRSb2xlcyIsInVzZXIiLCJwdWJsaXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsInVzZXJJZCIsImlkIiwidHlwZSIsImxvZ2dlciIsInZlcmJvc2UiLCJvYmplY3QiLCJvcmlnaW5hbCIsIm1lc3NhZ2UiLCJjdXJyZW50UGFyc2VPYmplY3QiLCJfdG9GdWxsSlNPTiIsIm9yaWdpbmFsUGFyc2VPYmplY3QiLCJjbGFzc0xldmVsUGVybWlzc2lvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLHVCQUFOLENBQThCO0FBRzVCO0FBQ0E7QUFDQUMsRUFBQUEsV0FBVyxDQUFDQyxNQUFXLEdBQUcsRUFBZixFQUFtQjtBQUM1QixTQUFLQyxjQUFMLEdBQXNCQyx5QkFBWUMsZUFBWixDQUE0QkgsTUFBNUIsQ0FBdEI7QUFDRDs7QUFFREksRUFBQUEsb0JBQW9CLENBQUNDLE9BQUQsRUFBcUI7QUFDdkMsU0FBS0MsbUJBQUwsQ0FBeUJDLGNBQU1DLGFBQU4sR0FBc0IsV0FBL0MsRUFBNERILE9BQTVEO0FBQ0Q7O0FBRURJLEVBQUFBLHNCQUFzQixDQUFDSixPQUFELEVBQXFCO0FBQ3pDLFNBQUtDLG1CQUFMLENBQXlCQyxjQUFNQyxhQUFOLEdBQXNCLGFBQS9DLEVBQThESCxPQUE5RDtBQUNEOztBQUVESyxFQUFBQSxrQkFBa0IsQ0FBQ0MsSUFBRCxFQUFxQjtBQUNyQyxTQUFLVixjQUFMLENBQW9CVyxPQUFwQixDQUNFTCxjQUFNQyxhQUFOLEdBQXNCLFlBRHhCLEVBRUVLLElBQUksQ0FBQ0MsU0FBTCxDQUFlO0FBQUVDLE1BQUFBLE1BQU0sRUFBRUosSUFBSSxDQUFDSztBQUFmLEtBQWYsQ0FGRjtBQUlELEdBdEIyQixDQXdCNUI7OztBQUNBVixFQUFBQSxtQkFBbUIsQ0FBQ1csSUFBRCxFQUFlWixPQUFmLEVBQW1DO0FBQ3BEYSxvQkFBT0MsT0FBUCxDQUNFLDBEQURGLEVBRUVkLE9BQU8sQ0FBQ2UsTUFGVixFQUdFZixPQUFPLENBQUNnQixRQUhWLEVBRG9ELENBTXBEOzs7QUFDQSxVQUFNQyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsa0JBQWtCLEVBQUVsQixPQUFPLENBQUNlLE1BQVIsQ0FBZUksV0FBZjtBQUROLEtBQWhCOztBQUdBLFFBQUluQixPQUFPLENBQUNnQixRQUFaLEVBQXNCO0FBQ3BCQyxNQUFBQSxPQUFPLENBQUNHLG1CQUFSLEdBQThCcEIsT0FBTyxDQUFDZ0IsUUFBUixDQUFpQkcsV0FBakIsRUFBOUI7QUFDRDs7QUFDRCxRQUFJbkIsT0FBTyxDQUFDcUIscUJBQVosRUFBbUM7QUFDakNKLE1BQUFBLE9BQU8sQ0FBQ0kscUJBQVIsR0FBZ0NyQixPQUFPLENBQUNxQixxQkFBeEM7QUFDRDs7QUFDRCxTQUFLekIsY0FBTCxDQUFvQlcsT0FBcEIsQ0FBNEJLLElBQTVCLEVBQWtDSixJQUFJLENBQUNDLFNBQUwsQ0FBZVEsT0FBZixDQUFsQztBQUNEOztBQTFDMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZVB1YlN1YiB9IGZyb20gJy4vUGFyc2VQdWJTdWInO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuXG5jbGFzcyBQYXJzZUNsb3VkQ29kZVB1Ymxpc2hlciB7XG4gIHBhcnNlUHVibGlzaGVyOiBPYmplY3Q7XG5cbiAgLy8gY29uZmlnIG9iamVjdCBvZiB0aGUgcHVibGlzaGVyLCByaWdodCBub3cgaXQgb25seSBjb250YWlucyB0aGUgcmVkaXNVUkwsXG4gIC8vIGJ1dCB3ZSBtYXkgZXh0ZW5kIGl0IGxhdGVyLlxuICBjb25zdHJ1Y3Rvcihjb25maWc6IGFueSA9IHt9KSB7XG4gICAgdGhpcy5wYXJzZVB1Ymxpc2hlciA9IFBhcnNlUHViU3ViLmNyZWF0ZVB1Ymxpc2hlcihjb25maWcpO1xuICB9XG5cbiAgb25DbG91ZENvZGVBZnRlclNhdmUocmVxdWVzdDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DbG91ZENvZGVNZXNzYWdlKFBhcnNlLmFwcGxpY2F0aW9uSWQgKyAnYWZ0ZXJTYXZlJywgcmVxdWVzdCk7XG4gIH1cblxuICBvbkNsb3VkQ29kZUFmdGVyRGVsZXRlKHJlcXVlc3Q6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2xvdWRDb2RlTWVzc2FnZShQYXJzZS5hcHBsaWNhdGlvbklkICsgJ2FmdGVyRGVsZXRlJywgcmVxdWVzdCk7XG4gIH1cblxuICBvbkNsZWFyQ2FjaGVkUm9sZXModXNlcjogUGFyc2UuT2JqZWN0KSB7XG4gICAgdGhpcy5wYXJzZVB1Ymxpc2hlci5wdWJsaXNoKFxuICAgICAgUGFyc2UuYXBwbGljYXRpb25JZCArICdjbGVhckNhY2hlJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHsgdXNlcklkOiB1c2VyLmlkIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8vIFJlcXVlc3QgaXMgdGhlIHJlcXVlc3Qgb2JqZWN0IGZyb20gY2xvdWQgY29kZSBmdW5jdGlvbnMuIHJlcXVlc3Qub2JqZWN0IGlzIGEgUGFyc2VPYmplY3QuXG4gIF9vbkNsb3VkQ29kZU1lc3NhZ2UodHlwZTogc3RyaW5nLCByZXF1ZXN0OiBhbnkpOiB2b2lkIHtcbiAgICBsb2dnZXIudmVyYm9zZShcbiAgICAgICdSYXcgcmVxdWVzdCBmcm9tIGNsb3VkIGNvZGUgY3VycmVudCA6ICVqIHwgb3JpZ2luYWwgOiAlaicsXG4gICAgICByZXF1ZXN0Lm9iamVjdCxcbiAgICAgIHJlcXVlc3Qub3JpZ2luYWxcbiAgICApO1xuICAgIC8vIFdlIG5lZWQgdGhlIGZ1bGwgSlNPTiB3aGljaCBpbmNsdWRlcyBjbGFzc05hbWVcbiAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgY3VycmVudFBhcnNlT2JqZWN0OiByZXF1ZXN0Lm9iamVjdC5fdG9GdWxsSlNPTigpLFxuICAgIH07XG4gICAgaWYgKHJlcXVlc3Qub3JpZ2luYWwpIHtcbiAgICAgIG1lc3NhZ2Uub3JpZ2luYWxQYXJzZU9iamVjdCA9IHJlcXVlc3Qub3JpZ2luYWwuX3RvRnVsbEpTT04oKTtcbiAgICB9XG4gICAgaWYgKHJlcXVlc3QuY2xhc3NMZXZlbFBlcm1pc3Npb25zKSB7XG4gICAgICBtZXNzYWdlLmNsYXNzTGV2ZWxQZXJtaXNzaW9ucyA9IHJlcXVlc3QuY2xhc3NMZXZlbFBlcm1pc3Npb25zO1xuICAgIH1cbiAgICB0aGlzLnBhcnNlUHVibGlzaGVyLnB1Ymxpc2godHlwZSwgSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpO1xuICB9XG59XG5cbmV4cG9ydCB7IFBhcnNlQ2xvdWRDb2RlUHVibGlzaGVyIH07XG4iXX0=