@aws-sdk/util-dynamodb 3.31.0 → 3.32.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/util-dynamodb
9
+
10
+
11
+
12
+
13
+
6
14
  # [3.31.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.30.0...v3.31.0) (2021-09-11)
7
15
 
8
16
  **Note:** Version bump only for package @aws-sdk/util-dynamodb
@@ -61,7 +61,7 @@ exports.convertToAttr = convertToAttr;
61
61
  const convertToListAttr = (data, options) => ({
62
62
  L: data
63
63
  .filter((item) => !(options === null || options === void 0 ? void 0 : options.removeUndefinedValues) || ((options === null || options === void 0 ? void 0 : options.removeUndefinedValues) && item !== undefined))
64
- .map((item) => (0, exports.convertToAttr)(item, options)),
64
+ .map((item) => exports.convertToAttr(item, options)),
65
65
  });
66
66
  const convertToSetAttr = (set, options) => {
67
67
  const setToOperate = (options === null || options === void 0 ? void 0 : options.removeUndefinedValues) ? new Set([...set].filter((value) => value !== undefined)) : set;
@@ -114,7 +114,7 @@ const convertToMapAttrFromIterable = (data, options) => ({
114
114
  const map = {};
115
115
  for (const [key, value] of data) {
116
116
  if (typeof value !== "function" && (value !== undefined || !(options === null || options === void 0 ? void 0 : options.removeUndefinedValues))) {
117
- map[key] = (0, exports.convertToAttr)(value, options);
117
+ map[key] = exports.convertToAttr(value, options);
118
118
  }
119
119
  }
120
120
  return map;
@@ -126,7 +126,7 @@ const convertToMapAttrFromEnumerableProps = (data, options) => ({
126
126
  for (const key in data) {
127
127
  const value = data[key];
128
128
  if (typeof value !== "function" && (value !== undefined || !(options === null || options === void 0 ? void 0 : options.removeUndefinedValues))) {
129
- map[key] = (0, exports.convertToAttr)(value, options);
129
+ map[key] = exports.convertToAttr(value, options);
130
130
  }
131
131
  }
132
132
  return map;
@@ -178,4 +178,4 @@ const isBinary = (data) => {
178
178
  }
179
179
  return false;
180
180
  };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQXR0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0VG9BdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBOzs7OztHQUtHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUEwQixFQUFFLE9BQXlCLEVBQWtCLEVBQUU7O0lBQ3JHLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7S0FDM0c7U0FBTSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BELE9BQU8saUJBQWlCLEVBQUUsQ0FBQztLQUM1QjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6QztTQUFNLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksTUFBSyxLQUFLLEVBQUU7UUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BEO1NBQU0sSUFBSSxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsMENBQUUsSUFBSSxNQUFLLEtBQUssRUFBRTtRQUM1QyxPQUFPLDRCQUE0QixDQUFDLElBQXlDLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekY7U0FBTSxJQUNMLENBQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVywwQ0FBRSxJQUFJLE1BQUssUUFBUTtRQUNwQyw0RkFBNEY7UUFDNUYsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQy9DO1FBQ0EsT0FBTyxt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QWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtLQUNqQixDQUFDO0lBRUYsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxFQUFFO1FBQ3JCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcblxuaW1wb3J0IHsgbWFyc2hhbGxPcHRpb25zIH0gZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZUJpbmFyeSwgTmF0aXZlQXR0cmlidXRlVmFsdWUsIE5hdGl2ZVNjYWxhckF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbi8qKlxuICogQ29udmVydCBhIEphdmFTY3JpcHQgdmFsdWUgdG8gaXRzIGVxdWl2YWxlbnQgRHluYW1vREIgQXR0cmlidXRlVmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSB7TmF0aXZlQXR0cmlidXRlVmFsdWV9IGRhdGEgLSBUaGUgZGF0YSB0byBjb252ZXJ0IHRvIGEgRHluYW1vREIgQXR0cmlidXRlVmFsdWVcbiAqIEBwYXJhbSB7bWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9BdHRyYFxuICovXG5leHBvcnQgY29uc3QgY29udmVydFRvQXR0ciA9IChkYXRhOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IEF0dHJpYnV0ZVZhbHVlID0+IHtcbiAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFzcyBvcHRpb25zLnJlbW92ZVVuZGVmaW5lZFZhbHVlcz10cnVlIHRvIHJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIGZyb20gbWFwL2FycmF5L3NldC5gKTtcbiAgfSBlbHNlIGlmIChkYXRhID09PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb051bGxBdHRyKCk7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBjb252ZXJ0VG9MaXN0QXR0cihkYXRhLCBvcHRpb25zKTtcbiAgfSBlbHNlIGlmIChkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJTZXRcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9TZXRBdHRyKGRhdGEgYXMgU2V0PGFueT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk1hcFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUoZGF0YSBhcyBNYXA8c3RyaW5nLCBOYXRpdmVBdHRyaWJ1dGVWYWx1ZT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKFxuICAgIGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk9iamVjdFwiIHx8XG4gICAgLy8gZm9yIG9iamVjdCB3aGljaCBpcyByZXN1bHQgb2YgT2JqZWN0LmNyZWF0ZShudWxsKSwgd2hpY2ggZG9lc24ndCBoYXZlIGNvbnN0cnVjdG9yIGRlZmluZWRcbiAgICAoIWRhdGEuY29uc3RydWN0b3IgJiYgdHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpXG4gICkge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFR5cGUgJ3sgQjogTmF0aXZlQXR0cmlidXRlQmluYXJ5OyB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICdBdHRyaWJ1dGVWYWx1ZSdcbiAgICByZXR1cm4gY29udmVydFRvQmluYXJ5QXR0cihkYXRhKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJib29sZWFuXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiQm9vbGVhblwiKSB7XG4gICAgcmV0dXJuIHsgQk9PTDogZGF0YS52YWx1ZU9mKCkgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJudW1iZXJcIiB8fCBkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJOdW1iZXJcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9OdW1iZXJBdHRyKGRhdGEpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcImJpZ2ludFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb0JpZ0ludEF0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiU3RyaW5nXCIpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZ0F0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucz8uY29udmVydENsYXNzSW5zdGFuY2VUb01hcCAmJiB0eXBlb2YgZGF0YSA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBVbnN1cHBvcnRlZCB0eXBlIHBhc3NlZDogJHtkYXRhfS4gUGFzcyBvcHRpb25zLmNvbnZlcnRDbGFzc0luc3RhbmNlVG9NYXA9dHJ1ZSB0byBtYXJzaGFsbCB0eXBlb2Ygb2JqZWN0IGFzIG1hcCBhdHRyaWJ1dGUuYFxuICApO1xufTtcblxuY29uc3QgY29udmVydFRvTGlzdEF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IHsgTDogQXR0cmlidXRlVmFsdWVbXSB9ID0+ICh7XG4gIEw6IGRhdGFcbiAgICAuZmlsdGVyKChpdGVtKSA9PiAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzIHx8IChvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSlcbiAgICAubWFwKChpdGVtKSA9PiBjb252ZXJ0VG9BdHRyKGl0ZW0sIG9wdGlvbnMpKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9TZXRBdHRyID0gKFxuICBzZXQ6IFNldDxhbnk+LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE5TOiBzdHJpbmdbXSB9IHwgeyBCUzogVWludDhBcnJheVtdIH0gfCB7IFNTOiBzdHJpbmdbXSB9IHwgeyBOVUxMOiB0cnVlIH0gPT4ge1xuICBjb25zdCBzZXRUb09wZXJhdGUgPSBvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgPyBuZXcgU2V0KFsuLi5zZXRdLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSA6IHNldDtcblxuICBpZiAoIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcyAmJiBzZXRUb09wZXJhdGUuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhc3Mgb3B0aW9ucy5yZW1vdmVVbmRlZmluZWRWYWx1ZXM9dHJ1ZSB0byByZW1vdmUgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIG1hcC9hcnJheS9zZXQuYCk7XG4gIH1cblxuICBpZiAoc2V0VG9PcGVyYXRlLnNpemUgPT09IDApIHtcbiAgICBpZiAob3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXNzIGEgbm9uLWVtcHR5IHNldCwgb3Igb3B0aW9ucy5jb252ZXJ0RW1wdHlWYWx1ZXM9dHJ1ZS5gKTtcbiAgfVxuXG4gIGNvbnN0IGl0ZW0gPSBzZXRUb09wZXJhdGUudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuICBpZiAodHlwZW9mIGl0ZW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTlM6IEFycmF5LmZyb20oc2V0VG9PcGVyYXRlKVxuICAgICAgICAubWFwKGNvbnZlcnRUb051bWJlckF0dHIpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uTiksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJiaWdpbnRcIikge1xuICAgIHJldHVybiB7XG4gICAgICBOUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmlnSW50QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5OKSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFNTOiBBcnJheS5mcm9tKHNldFRvT3BlcmF0ZSlcbiAgICAgICAgLm1hcChjb252ZXJ0VG9TdHJpbmdBdHRyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLlMpLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoaXRlbSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSAnQXJyYXlCdWZmZXInIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ1VpbnQ4QXJyYXknXG4gICAgICBCUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmluYXJ5QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5CKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBOdW1iZXIgU2V0IChOUyksIEJpbmFyeSBTZXQgKEJTKSBvciBTdHJpbmcgU2V0IChTUykgYXJlIGFsbG93ZWQuYCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUgPSAoXG4gIGRhdGE6IE1hcDxzdHJpbmcsIE5hdGl2ZUF0dHJpYnV0ZVZhbHVlPixcbiAgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9uc1xuKTogeyBNOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0gfSA9PiAoe1xuICBNOiAoKGRhdGEpID0+IHtcbiAgICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIiAmJiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzKSkge1xuICAgICAgICBtYXBba2V5XSA9IGNvbnZlcnRUb0F0dHIodmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KShkYXRhKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyA9IChcbiAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE06IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSB9ID0+ICh7XG4gIE06ICgoZGF0YSkgPT4ge1xuICAgIGNvbnN0IG1hcDogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIgJiYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwgIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcykpIHtcbiAgICAgICAgbWFwW2tleV0gPSBjb252ZXJ0VG9BdHRyKHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfSkoZGF0YSksXG59KTtcblxuLy8gRm9yIGZ1dHVyZS1wcm9vZmluZzogdGhpcyBmdW5jdGlvbnMgYXJlIGNhbGxlZCBmcm9tIG11bHRpcGxlIHBsYWNlc1xuY29uc3QgY29udmVydFRvTnVsbEF0dHIgPSAoKTogeyBOVUxMOiB0cnVlIH0gPT4gKHsgTlVMTDogdHJ1ZSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpbmFyeUF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlQmluYXJ5KTogeyBCOiBOYXRpdmVBdHRyaWJ1dGVCaW5hcnkgfSA9PiAoeyBCOiBkYXRhIH0pO1xuY29uc3QgY29udmVydFRvU3RyaW5nQXR0ciA9IChkYXRhOiBzdHJpbmcgfCBTdHJpbmcpOiB7IFM6IHN0cmluZyB9ID0+ICh7IFM6IGRhdGEudG9TdHJpbmcoKSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpZ0ludEF0dHIgPSAoZGF0YTogYmlnaW50KTogeyBOOiBzdHJpbmcgfSA9PiAoeyBOOiBkYXRhLnRvU3RyaW5nKCkgfSk7XG5cbmNvbnN0IHZhbGlkYXRlQmlnSW50QW5kVGhyb3cgPSAoZXJyb3JQcmVmaXg6IHN0cmluZykgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3JQcmVmaXh9ICR7dHlwZW9mIEJpZ0ludCA9PT0gXCJmdW5jdGlvblwiID8gXCJVc2UgQmlnSW50LlwiIDogXCJQYXNzIHN0cmluZyB2YWx1ZSBpbnN0ZWFkLlwifSBgKTtcbn07XG5cbmNvbnN0IGNvbnZlcnRUb051bWJlckF0dHIgPSAobnVtOiBudW1iZXIgfCBOdW1iZXIpOiB7IE46IHN0cmluZyB9ID0+IHtcbiAgaWYgKFxuICAgIFtOdW1iZXIuTmFOLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV1cbiAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkpXG4gICAgICAuaW5jbHVkZXMobnVtLnRvU3RyaW5nKCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3BlY2lhbCBudW1lcmljIHZhbHVlICR7bnVtLnRvU3RyaW5nKCl9IGlzIG5vdCBhbGxvd2VkYCk7XG4gIH0gZWxzZSBpZiAobnVtID4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICB2YWxpZGF0ZUJpZ0ludEFuZFRocm93KGBOdW1iZXIgJHtudW0udG9TdHJpbmcoKX0gaXMgZ3JlYXRlciB0aGFuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLmApO1xuICB9IGVsc2UgaWYgKG51bSA8IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XG4gICAgdmFsaWRhdGVCaWdJbnRBbmRUaHJvdyhgTnVtYmVyICR7bnVtLnRvU3RyaW5nKCl9IGlzIGxlc3NlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLmApO1xuICB9XG4gIHJldHVybiB7IE46IG51bS50b1N0cmluZygpIH07XG59O1xuXG5jb25zdCBpc0JpbmFyeSA9IChkYXRhOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgYmluYXJ5VHlwZXMgPSBbXG4gICAgXCJBcnJheUJ1ZmZlclwiLFxuICAgIFwiQmxvYlwiLFxuICAgIFwiQnVmZmVyXCIsXG4gICAgXCJEYXRhVmlld1wiLFxuICAgIFwiRmlsZVwiLFxuICAgIFwiSW50OEFycmF5XCIsXG4gICAgXCJVaW50OEFycmF5XCIsXG4gICAgXCJVaW50OENsYW1wZWRBcnJheVwiLFxuICAgIFwiSW50MTZBcnJheVwiLFxuICAgIFwiVWludDE2QXJyYXlcIixcbiAgICBcIkludDMyQXJyYXlcIixcbiAgICBcIlVpbnQzMkFycmF5XCIsXG4gICAgXCJGbG9hdDMyQXJyYXlcIixcbiAgICBcIkZsb2F0NjRBcnJheVwiLFxuICAgIFwiQmlnSW50NjRBcnJheVwiLFxuICAgIFwiQmlnVWludDY0QXJyYXlcIixcbiAgXTtcblxuICBpZiAoZGF0YT8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gYmluYXJ5VHlwZXMuaW5jbHVkZXMoZGF0YS5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQXR0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0VG9BdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBOzs7OztHQUtHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUEwQixFQUFFLE9BQXlCLEVBQWtCLEVBQUU7O0lBQ3JHLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7S0FDM0c7U0FBTSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BELE9BQU8saUJBQWlCLEVBQUUsQ0FBQztLQUM1QjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6QztTQUFNLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksTUFBSyxLQUFLLEVBQUU7UUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BEO1NBQU0sSUFBSSxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsMENBQUUsSUFBSSxNQUFLLEtBQUssRUFBRTtRQUM1QyxPQUFPLDRCQUE0QixDQUFDLElBQXlDLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekY7U0FBTSxJQUNMLENBQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVywwQ0FBRSxJQUFJLE1BQUssUUFBUTtRQUNwQyw0RkFBNEY7UUFDNUYsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQy9DO1FBQ0EsT0FBTyxt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Q2QsZUFBZTtRQUNmLGdCQUFnQjtLQUNqQixDQUFDO0lBRUYsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxFQUFFO1FBQ3JCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcblxuaW1wb3J0IHsgbWFyc2hhbGxPcHRpb25zIH0gZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZUJpbmFyeSwgTmF0aXZlQXR0cmlidXRlVmFsdWUsIE5hdGl2ZVNjYWxhckF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbi8qKlxuICogQ29udmVydCBhIEphdmFTY3JpcHQgdmFsdWUgdG8gaXRzIGVxdWl2YWxlbnQgRHluYW1vREIgQXR0cmlidXRlVmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSB7TmF0aXZlQXR0cmlidXRlVmFsdWV9IGRhdGEgLSBUaGUgZGF0YSB0byBjb252ZXJ0IHRvIGEgRHluYW1vREIgQXR0cmlidXRlVmFsdWVcbiAqIEBwYXJhbSB7bWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9BdHRyYFxuICovXG5leHBvcnQgY29uc3QgY29udmVydFRvQXR0ciA9IChkYXRhOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IEF0dHJpYnV0ZVZhbHVlID0+IHtcbiAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFzcyBvcHRpb25zLnJlbW92ZVVuZGVmaW5lZFZhbHVlcz10cnVlIHRvIHJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIGZyb20gbWFwL2FycmF5L3NldC5gKTtcbiAgfSBlbHNlIGlmIChkYXRhID09PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb051bGxBdHRyKCk7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBjb252ZXJ0VG9MaXN0QXR0cihkYXRhLCBvcHRpb25zKTtcbiAgfSBlbHNlIGlmIChkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJTZXRcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9TZXRBdHRyKGRhdGEgYXMgU2V0PGFueT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk1hcFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUoZGF0YSBhcyBNYXA8c3RyaW5nLCBOYXRpdmVBdHRyaWJ1dGVWYWx1ZT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKFxuICAgIGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk9iamVjdFwiIHx8XG4gICAgLy8gZm9yIG9iamVjdCB3aGljaCBpcyByZXN1bHQgb2YgT2JqZWN0LmNyZWF0ZShudWxsKSwgd2hpY2ggZG9lc24ndCBoYXZlIGNvbnN0cnVjdG9yIGRlZmluZWRcbiAgICAoIWRhdGEuY29uc3RydWN0b3IgJiYgdHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpXG4gICkge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFR5cGUgJ3sgQjogTmF0aXZlQXR0cmlidXRlQmluYXJ5OyB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICdBdHRyaWJ1dGVWYWx1ZSdcbiAgICByZXR1cm4gY29udmVydFRvQmluYXJ5QXR0cihkYXRhKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJib29sZWFuXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiQm9vbGVhblwiKSB7XG4gICAgcmV0dXJuIHsgQk9PTDogZGF0YS52YWx1ZU9mKCkgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJudW1iZXJcIiB8fCBkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJOdW1iZXJcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9OdW1iZXJBdHRyKGRhdGEpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcImJpZ2ludFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb0JpZ0ludEF0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiU3RyaW5nXCIpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZ0F0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucz8uY29udmVydENsYXNzSW5zdGFuY2VUb01hcCAmJiB0eXBlb2YgZGF0YSA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBVbnN1cHBvcnRlZCB0eXBlIHBhc3NlZDogJHtkYXRhfS4gUGFzcyBvcHRpb25zLmNvbnZlcnRDbGFzc0luc3RhbmNlVG9NYXA9dHJ1ZSB0byBtYXJzaGFsbCB0eXBlb2Ygb2JqZWN0IGFzIG1hcCBhdHRyaWJ1dGUuYFxuICApO1xufTtcblxuY29uc3QgY29udmVydFRvTGlzdEF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IHsgTDogQXR0cmlidXRlVmFsdWVbXSB9ID0+ICh7XG4gIEw6IGRhdGFcbiAgICAuZmlsdGVyKChpdGVtKSA9PiAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzIHx8IChvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSlcbiAgICAubWFwKChpdGVtKSA9PiBjb252ZXJ0VG9BdHRyKGl0ZW0sIG9wdGlvbnMpKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9TZXRBdHRyID0gKFxuICBzZXQ6IFNldDxhbnk+LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE5TOiBzdHJpbmdbXSB9IHwgeyBCUzogVWludDhBcnJheVtdIH0gfCB7IFNTOiBzdHJpbmdbXSB9IHwgeyBOVUxMOiB0cnVlIH0gPT4ge1xuICBjb25zdCBzZXRUb09wZXJhdGUgPSBvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgPyBuZXcgU2V0KFsuLi5zZXRdLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSA6IHNldDtcblxuICBpZiAoIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcyAmJiBzZXRUb09wZXJhdGUuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhc3Mgb3B0aW9ucy5yZW1vdmVVbmRlZmluZWRWYWx1ZXM9dHJ1ZSB0byByZW1vdmUgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIG1hcC9hcnJheS9zZXQuYCk7XG4gIH1cblxuICBpZiAoc2V0VG9PcGVyYXRlLnNpemUgPT09IDApIHtcbiAgICBpZiAob3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXNzIGEgbm9uLWVtcHR5IHNldCwgb3Igb3B0aW9ucy5jb252ZXJ0RW1wdHlWYWx1ZXM9dHJ1ZS5gKTtcbiAgfVxuXG4gIGNvbnN0IGl0ZW0gPSBzZXRUb09wZXJhdGUudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuICBpZiAodHlwZW9mIGl0ZW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTlM6IEFycmF5LmZyb20oc2V0VG9PcGVyYXRlKVxuICAgICAgICAubWFwKGNvbnZlcnRUb051bWJlckF0dHIpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uTiksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJiaWdpbnRcIikge1xuICAgIHJldHVybiB7XG4gICAgICBOUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmlnSW50QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5OKSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFNTOiBBcnJheS5mcm9tKHNldFRvT3BlcmF0ZSlcbiAgICAgICAgLm1hcChjb252ZXJ0VG9TdHJpbmdBdHRyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLlMpLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoaXRlbSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSAnQXJyYXlCdWZmZXInIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ1VpbnQ4QXJyYXknXG4gICAgICBCUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmluYXJ5QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5CKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBOdW1iZXIgU2V0IChOUyksIEJpbmFyeSBTZXQgKEJTKSBvciBTdHJpbmcgU2V0IChTUykgYXJlIGFsbG93ZWQuYCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUgPSAoXG4gIGRhdGE6IE1hcDxzdHJpbmcsIE5hdGl2ZUF0dHJpYnV0ZVZhbHVlPixcbiAgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9uc1xuKTogeyBNOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0gfSA9PiAoe1xuICBNOiAoKGRhdGEpID0+IHtcbiAgICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIiAmJiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzKSkge1xuICAgICAgICBtYXBba2V5XSA9IGNvbnZlcnRUb0F0dHIodmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KShkYXRhKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyA9IChcbiAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE06IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSB9ID0+ICh7XG4gIE06ICgoZGF0YSkgPT4ge1xuICAgIGNvbnN0IG1hcDogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIgJiYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwgIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcykpIHtcbiAgICAgICAgbWFwW2tleV0gPSBjb252ZXJ0VG9BdHRyKHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfSkoZGF0YSksXG59KTtcblxuLy8gRm9yIGZ1dHVyZS1wcm9vZmluZzogdGhpcyBmdW5jdGlvbnMgYXJlIGNhbGxlZCBmcm9tIG11bHRpcGxlIHBsYWNlc1xuY29uc3QgY29udmVydFRvTnVsbEF0dHIgPSAoKTogeyBOVUxMOiB0cnVlIH0gPT4gKHsgTlVMTDogdHJ1ZSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpbmFyeUF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlQmluYXJ5KTogeyBCOiBOYXRpdmVBdHRyaWJ1dGVCaW5hcnkgfSA9PiAoeyBCOiBkYXRhIH0pO1xuY29uc3QgY29udmVydFRvU3RyaW5nQXR0ciA9IChkYXRhOiBzdHJpbmcgfCBTdHJpbmcpOiB7IFM6IHN0cmluZyB9ID0+ICh7IFM6IGRhdGEudG9TdHJpbmcoKSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpZ0ludEF0dHIgPSAoZGF0YTogYmlnaW50KTogeyBOOiBzdHJpbmcgfSA9PiAoeyBOOiBkYXRhLnRvU3RyaW5nKCkgfSk7XG5cbmNvbnN0IHZhbGlkYXRlQmlnSW50QW5kVGhyb3cgPSAoZXJyb3JQcmVmaXg6IHN0cmluZykgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3JQcmVmaXh9ICR7dHlwZW9mIEJpZ0ludCA9PT0gXCJmdW5jdGlvblwiID8gXCJVc2UgQmlnSW50LlwiIDogXCJQYXNzIHN0cmluZyB2YWx1ZSBpbnN0ZWFkLlwifSBgKTtcbn07XG5cbmNvbnN0IGNvbnZlcnRUb051bWJlckF0dHIgPSAobnVtOiBudW1iZXIgfCBOdW1iZXIpOiB7IE46IHN0cmluZyB9ID0+IHtcbiAgaWYgKFxuICAgIFtOdW1iZXIuTmFOLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV1cbiAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkpXG4gICAgICAuaW5jbHVkZXMobnVtLnRvU3RyaW5nKCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3BlY2lhbCBudW1lcmljIHZhbHVlICR7bnVtLnRvU3RyaW5nKCl9IGlzIG5vdCBhbGxvd2VkYCk7XG4gIH0gZWxzZSBpZiAobnVtID4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICB2YWxpZGF0ZUJpZ0ludEFuZFRocm93KGBOdW1iZXIgJHtudW0udG9TdHJpbmcoKX0gaXMgZ3JlYXRlciB0aGFuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLmApO1xuICB9IGVsc2UgaWYgKG51bSA8IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XG4gICAgdmFsaWRhdGVCaWdJbnRBbmRUaHJvdyhgTnVtYmVyICR7bnVtLnRvU3RyaW5nKCl9IGlzIGxlc3NlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLmApO1xuICB9XG4gIHJldHVybiB7IE46IG51bS50b1N0cmluZygpIH07XG59O1xuXG5jb25zdCBpc0JpbmFyeSA9IChkYXRhOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgYmluYXJ5VHlwZXMgPSBbXG4gICAgXCJBcnJheUJ1ZmZlclwiLFxuICAgIFwiQmxvYlwiLFxuICAgIFwiQnVmZmVyXCIsXG4gICAgXCJEYXRhVmlld1wiLFxuICAgIFwiRmlsZVwiLFxuICAgIFwiSW50OEFycmF5XCIsXG4gICAgXCJVaW50OEFycmF5XCIsXG4gICAgXCJVaW50OENsYW1wZWRBcnJheVwiLFxuICAgIFwiSW50MTZBcnJheVwiLFxuICAgIFwiVWludDE2QXJyYXlcIixcbiAgICBcIkludDMyQXJyYXlcIixcbiAgICBcIlVpbnQzMkFycmF5XCIsXG4gICAgXCJGbG9hdDMyQXJyYXlcIixcbiAgICBcIkZsb2F0NjRBcnJheVwiLFxuICAgIFwiQmlnSW50NjRBcnJheVwiLFxuICAgIFwiQmlnVWludDY0QXJyYXlcIixcbiAgXTtcblxuICBpZiAoZGF0YT8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gYmluYXJ5VHlwZXMuaW5jbHVkZXMoZGF0YS5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19
@@ -63,9 +63,9 @@ const convertNumber = (numString, options) => {
63
63
  // For future-proofing: Functions from scalar value as well as set value
64
64
  const convertString = (stringValue) => stringValue;
65
65
  const convertBinary = (binaryValue) => binaryValue;
66
- const convertList = (list, options) => list.map((item) => (0, exports.convertToNative)(item, options));
66
+ const convertList = (list, options) => list.map((item) => exports.convertToNative(item, options));
67
67
  const convertMap = (map, options) => Object.entries(map).reduce((acc, [key, value]) => ({
68
68
  ...acc,
69
- [key]: (0, exports.convertToNative)(value, options),
69
+ [key]: exports.convertToNative(value, options),
70
70
  }), {});
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvTmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnRUb05hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7Ozs7R0FLRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBb0IsRUFBRSxPQUEyQixFQUF3QixFQUFFO0lBQ3pHLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixRQUFRLEdBQUcsRUFBRTtnQkFDWCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsS0FBSyxNQUFNO29CQUNULE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4QixLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBbUIsQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBZSxDQUFDLENBQUM7Z0JBQ3hDLEtBQUssR0FBRztvQkFDTixPQUFPLFdBQVcsQ0FBQyxLQUF5QixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxVQUFVLENBQUMsS0FBMEMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekUsS0FBSyxJQUFJO29CQUNQLE9BQU8sSUFBSSxHQUFHLENBQUUsS0FBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixLQUFLLElBQUk7b0JBQ1AsT0FBTyxJQUFJLEdBQUcsQ0FBRSxLQUFzQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxLQUFLLElBQUk7b0JBQ1AsT0FBTyxJQUFJLEdBQUcsQ0FBRSxLQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUN6RDtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7S0FDRjtJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQTlCVyxRQUFBLGVBQWUsbUJBOEIxQjtBQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUEyQixFQUFpQyxFQUFFO0lBQ3RHLElBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFdBQVcsRUFBRTtRQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO0tBQzdCO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckcsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7WUFDaEMsSUFBSTtnQkFDRixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxTQUFTLDZFQUE2RSxDQUFDLENBQUM7YUFDNUc7U0FDRjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFNBQVMsK0VBQStFLENBQUMsQ0FBQztTQUM5RztLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRix3RUFBd0U7QUFDeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUFtQixFQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUM7QUFDbkUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUF1QixFQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUM7QUFFM0UsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFzQixFQUFFLE9BQTJCLEVBQTBCLEVBQUUsQ0FDbEcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSx1QkFBZSxFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRXJELE1BQU0sVUFBVSxHQUFHLENBQ2pCLEdBQXNDLEVBQ3RDLE9BQTJCLEVBQ2MsRUFBRSxDQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxHQUE0QyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RixHQUFHLEdBQUc7SUFDTixDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUEsdUJBQWUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO0NBQ3ZDLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuXG5pbXBvcnQgeyBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSwgTnVtYmVyVmFsdWUgfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7IHVubWFyc2hhbGxPcHRpb25zIH0gZnJvbSBcIi4vdW5tYXJzaGFsbFwiO1xuXG4vKipcbiAqIENvbnZlcnQgYSBEeW5hbW9EQiBBdHRyaWJ1dGVWYWx1ZSBvYmplY3QgdG8gaXRzIGVxdWl2YWxlbnQgSmF2YVNjcmlwdCB0eXBlLlxuICpcbiAqIEBwYXJhbSB7QXR0cmlidXRlVmFsdWV9IGRhdGEgLSBUaGUgRHluYW1vREIgcmVjb3JkIHRvIGNvbnZlcnQgdG8gSmF2YVNjcmlwdCB0eXBlLlxuICogQHBhcmFtIHt1bm1hcnNoYWxsT3B0aW9uc30gb3B0aW9ucyAtIEFuIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBgY29udmVydFRvTmF0aXZlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbnZlcnRUb05hdGl2ZSA9IChkYXRhOiBBdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucz86IHVubWFyc2hhbGxPcHRpb25zKTogTmF0aXZlQXR0cmlidXRlVmFsdWUgPT4ge1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhKSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlIFwiTlVMTFwiOlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBjYXNlIFwiQk9PTFwiOlxuICAgICAgICAgIHJldHVybiBCb29sZWFuKHZhbHVlKTtcbiAgICAgICAgY2FzZSBcIk5cIjpcbiAgICAgICAgICByZXR1cm4gY29udmVydE51bWJlcih2YWx1ZSBhcyBzdHJpbmcsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiQlwiOlxuICAgICAgICAgIHJldHVybiBjb252ZXJ0QmluYXJ5KHZhbHVlIGFzIFVpbnQ4QXJyYXkpO1xuICAgICAgICBjYXNlIFwiU1wiOlxuICAgICAgICAgIHJldHVybiBjb252ZXJ0U3RyaW5nKHZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgIGNhc2UgXCJMXCI6XG4gICAgICAgICAgcmV0dXJuIGNvbnZlcnRMaXN0KHZhbHVlIGFzIEF0dHJpYnV0ZVZhbHVlW10sIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiTVwiOlxuICAgICAgICAgIHJldHVybiBjb252ZXJ0TWFwKHZhbHVlIGFzIHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJOU1wiOlxuICAgICAgICAgIHJldHVybiBuZXcgU2V0KCh2YWx1ZSBhcyBzdHJpbmdbXSkubWFwKChpdGVtKSA9PiBjb252ZXJ0TnVtYmVyKGl0ZW0sIG9wdGlvbnMpKSk7XG4gICAgICAgIGNhc2UgXCJCU1wiOlxuICAgICAgICAgIHJldHVybiBuZXcgU2V0KCh2YWx1ZSBhcyBVaW50OEFycmF5W10pLm1hcChjb252ZXJ0QmluYXJ5KSk7XG4gICAgICAgIGNhc2UgXCJTU1wiOlxuICAgICAgICAgIHJldHVybiBuZXcgU2V0KCh2YWx1ZSBhcyBzdHJpbmdbXSkubWFwKGNvbnZlcnRTdHJpbmcpKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHR5cGUgcGFzc2VkOiAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBObyB2YWx1ZSBkZWZpbmVkOiAke0pTT04uc3RyaW5naWZ5KGRhdGEpfWApO1xufTtcblxuY29uc3QgY29udmVydE51bWJlciA9IChudW1TdHJpbmc6IHN0cmluZywgb3B0aW9ucz86IHVubWFyc2hhbGxPcHRpb25zKTogbnVtYmVyIHwgYmlnaW50IHwgTnVtYmVyVmFsdWUgPT4ge1xuICBpZiAob3B0aW9ucz8ud3JhcE51bWJlcnMpIHtcbiAgICByZXR1cm4geyB2YWx1ZTogbnVtU3RyaW5nIH07XG4gIH1cblxuICBjb25zdCBudW0gPSBOdW1iZXIobnVtU3RyaW5nKTtcbiAgY29uc3QgaW5maW5pdHlWYWx1ZXMgPSBbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFldO1xuICBpZiAoKG51bSA+IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIHx8IG51bSA8IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSAmJiAhaW5maW5pdHlWYWx1ZXMuaW5jbHVkZXMobnVtKSkge1xuICAgIGlmICh0eXBlb2YgQmlnSW50ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBCaWdJbnQobnVtU3RyaW5nKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtudW1TdHJpbmd9IGNhbid0IGJlIGNvbnZlcnRlZCB0byBCaWdJbnQuIFNldCBvcHRpb25zLndyYXBOdW1iZXJzIHRvIGdldCBzdHJpbmcgdmFsdWUuYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtudW1TdHJpbmd9IGlzIG91dHNpZGUgU0FGRV9JTlRFR0VSIGJvdW5kcy4gU2V0IG9wdGlvbnMud3JhcE51bWJlcnMgdG8gZ2V0IHN0cmluZyB2YWx1ZS5gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bTtcbn07XG5cbi8vIEZvciBmdXR1cmUtcHJvb2Zpbmc6IEZ1bmN0aW9ucyBmcm9tIHNjYWxhciB2YWx1ZSBhcyB3ZWxsIGFzIHNldCB2YWx1ZVxuY29uc3QgY29udmVydFN0cmluZyA9IChzdHJpbmdWYWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHN0cmluZ1ZhbHVlO1xuY29uc3QgY29udmVydEJpbmFyeSA9IChiaW5hcnlWYWx1ZTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4gYmluYXJ5VmFsdWU7XG5cbmNvbnN0IGNvbnZlcnRMaXN0ID0gKGxpc3Q6IEF0dHJpYnV0ZVZhbHVlW10sIG9wdGlvbnM/OiB1bm1hcnNoYWxsT3B0aW9ucyk6IE5hdGl2ZUF0dHJpYnV0ZVZhbHVlW10gPT5cbiAgbGlzdC5tYXAoKGl0ZW0pID0+IGNvbnZlcnRUb05hdGl2ZShpdGVtLCBvcHRpb25zKSk7XG5cbmNvbnN0IGNvbnZlcnRNYXAgPSAoXG4gIG1hcDogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogdW5tYXJzaGFsbE9wdGlvbnNcbik6IHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSA9PlxuICBPYmplY3QuZW50cmllcyhtYXApLnJlZHVjZShcbiAgICAoYWNjOiB7IFtrZXk6IHN0cmluZ106IE5hdGl2ZUF0dHJpYnV0ZVZhbHVlIH0sIFtrZXksIHZhbHVlXTogW3N0cmluZywgQXR0cmlidXRlVmFsdWVdKSA9PiAoe1xuICAgICAgLi4uYWNjLFxuICAgICAgW2tleV06IGNvbnZlcnRUb05hdGl2ZSh2YWx1ZSwgb3B0aW9ucyksXG4gICAgfSksXG4gICAge31cbiAgKTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvTmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnRUb05hdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7Ozs7R0FLRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBb0IsRUFBRSxPQUEyQixFQUF3QixFQUFFO0lBQ3pHLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixRQUFRLEdBQUcsRUFBRTtnQkFDWCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsS0FBSyxNQUFNO29CQUNULE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4QixLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBbUIsQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsS0FBZSxDQUFDLENBQUM7Z0JBQ3hDLEtBQUssR0FBRztvQkFDTixPQUFPLFdBQVcsQ0FBQyxLQUF5QixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxVQUFVLENBQUMsS0FBMEMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekUsS0FBSyxJQUFJO29CQUNQLE9BQU8sSUFBSSxHQUFHLENBQUUsS0FBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixLQUFLLElBQUk7b0JBQ1AsT0FBTyxJQUFJLEdBQUcsQ0FBRSxLQUFzQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxLQUFLLElBQUk7b0JBQ1AsT0FBTyxJQUFJLEdBQUcsQ0FBRSxLQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUN6RDtvQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7S0FDRjtJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQTlCVyxRQUFBLGVBQWUsbUJBOEIxQjtBQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUEyQixFQUFpQyxFQUFFO0lBQ3RHLElBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFdBQVcsRUFBRTtRQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO0tBQzdCO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckcsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7WUFDaEMsSUFBSTtnQkFDRixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxTQUFTLDZFQUE2RSxDQUFDLENBQUM7YUFDNUc7U0FDRjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFNBQVMsK0VBQStFLENBQUMsQ0FBQztTQUM5RztLQUNGO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRix3RUFBd0U7QUFDeEUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUFtQixFQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUM7QUFDbkUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxXQUF1QixFQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUM7QUFFM0UsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFzQixFQUFFLE9BQTJCLEVBQTBCLEVBQUUsQ0FDbEcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsdUJBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUVyRCxNQUFNLFVBQVUsR0FBRyxDQUNqQixHQUFzQyxFQUN0QyxPQUEyQixFQUNjLEVBQUUsQ0FDM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3hCLENBQUMsR0FBNEMsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQTJCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekYsR0FBRyxHQUFHO0lBQ04sQ0FBQyxHQUFHLENBQUMsRUFBRSx1QkFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7Q0FDdkMsQ0FBQyxFQUNGLEVBQUUsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlVmFsdWUgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiXCI7XG5cbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZVZhbHVlLCBOdW1iZXJWYWx1ZSB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgdW5tYXJzaGFsbE9wdGlvbnMgfSBmcm9tIFwiLi91bm1hcnNoYWxsXCI7XG5cbi8qKlxuICogQ29udmVydCBhIER5bmFtb0RCIEF0dHJpYnV0ZVZhbHVlIG9iamVjdCB0byBpdHMgZXF1aXZhbGVudCBKYXZhU2NyaXB0IHR5cGUuXG4gKlxuICogQHBhcmFtIHtBdHRyaWJ1dGVWYWx1ZX0gZGF0YSAtIFRoZSBEeW5hbW9EQiByZWNvcmQgdG8gY29udmVydCB0byBKYXZhU2NyaXB0IHR5cGUuXG4gKiBAcGFyYW0ge3VubWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9OYXRpdmVgLlxuICovXG5leHBvcnQgY29uc3QgY29udmVydFRvTmF0aXZlID0gKGRhdGE6IEF0dHJpYnV0ZVZhbHVlLCBvcHRpb25zPzogdW5tYXJzaGFsbE9wdGlvbnMpOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSA9PiB7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgXCJOVUxMXCI6XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGNhc2UgXCJCT09MXCI6XG4gICAgICAgICAgcmV0dXJuIEJvb2xlYW4odmFsdWUpO1xuICAgICAgICBjYXNlIFwiTlwiOlxuICAgICAgICAgIHJldHVybiBjb252ZXJ0TnVtYmVyKHZhbHVlIGFzIHN0cmluZywgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJCXCI6XG4gICAgICAgICAgcmV0dXJuIGNvbnZlcnRCaW5hcnkodmFsdWUgYXMgVWludDhBcnJheSk7XG4gICAgICAgIGNhc2UgXCJTXCI6XG4gICAgICAgICAgcmV0dXJuIGNvbnZlcnRTdHJpbmcodmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgY2FzZSBcIkxcIjpcbiAgICAgICAgICByZXR1cm4gY29udmVydExpc3QodmFsdWUgYXMgQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJNXCI6XG4gICAgICAgICAgcmV0dXJuIGNvbnZlcnRNYXAodmFsdWUgYXMgeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9LCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIk5TXCI6XG4gICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKHZhbHVlIGFzIHN0cmluZ1tdKS5tYXAoKGl0ZW0pID0+IGNvbnZlcnROdW1iZXIoaXRlbSwgb3B0aW9ucykpKTtcbiAgICAgICAgY2FzZSBcIkJTXCI6XG4gICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKHZhbHVlIGFzIFVpbnQ4QXJyYXlbXSkubWFwKGNvbnZlcnRCaW5hcnkpKTtcbiAgICAgICAgY2FzZSBcIlNTXCI6XG4gICAgICAgICAgcmV0dXJuIG5ldyBTZXQoKHZhbHVlIGFzIHN0cmluZ1tdKS5tYXAoY29udmVydFN0cmluZykpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdHlwZSBwYXNzZWQ6ICR7a2V5fWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZhbHVlIGRlZmluZWQ6ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCk7XG59O1xuXG5jb25zdCBjb252ZXJ0TnVtYmVyID0gKG51bVN0cmluZzogc3RyaW5nLCBvcHRpb25zPzogdW5tYXJzaGFsbE9wdGlvbnMpOiBudW1iZXIgfCBiaWdpbnQgfCBOdW1iZXJWYWx1ZSA9PiB7XG4gIGlmIChvcHRpb25zPy53cmFwTnVtYmVycykge1xuICAgIHJldHVybiB7IHZhbHVlOiBudW1TdHJpbmcgfTtcbiAgfVxuXG4gIGNvbnN0IG51bSA9IE51bWJlcihudW1TdHJpbmcpO1xuICBjb25zdCBpbmZpbml0eVZhbHVlcyA9IFtOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV07XG4gIGlmICgobnVtID4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgfHwgbnVtIDwgTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpICYmICFpbmZpbml0eVZhbHVlcy5pbmNsdWRlcyhudW0pKSB7XG4gICAgaWYgKHR5cGVvZiBCaWdJbnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEJpZ0ludChudW1TdHJpbmcpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke251bVN0cmluZ30gY2FuJ3QgYmUgY29udmVydGVkIHRvIEJpZ0ludC4gU2V0IG9wdGlvbnMud3JhcE51bWJlcnMgdG8gZ2V0IHN0cmluZyB2YWx1ZS5gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke251bVN0cmluZ30gaXMgb3V0c2lkZSBTQUZFX0lOVEVHRVIgYm91bmRzLiBTZXQgb3B0aW9ucy53cmFwTnVtYmVycyB0byBnZXQgc3RyaW5nIHZhbHVlLmApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVtO1xufTtcblxuLy8gRm9yIGZ1dHVyZS1wcm9vZmluZzogRnVuY3Rpb25zIGZyb20gc2NhbGFyIHZhbHVlIGFzIHdlbGwgYXMgc2V0IHZhbHVlXG5jb25zdCBjb252ZXJ0U3RyaW5nID0gKHN0cmluZ1ZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4gc3RyaW5nVmFsdWU7XG5jb25zdCBjb252ZXJ0QmluYXJ5ID0gKGJpbmFyeVZhbHVlOiBVaW50OEFycmF5KTogVWludDhBcnJheSA9PiBiaW5hcnlWYWx1ZTtcblxuY29uc3QgY29udmVydExpc3QgPSAobGlzdDogQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucz86IHVubWFyc2hhbGxPcHRpb25zKTogTmF0aXZlQXR0cmlidXRlVmFsdWVbXSA9PlxuICBsaXN0Lm1hcCgoaXRlbSkgPT4gY29udmVydFRvTmF0aXZlKGl0ZW0sIG9wdGlvbnMpKTtcblxuY29uc3QgY29udmVydE1hcCA9IChcbiAgbWFwOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0sXG4gIG9wdGlvbnM/OiB1bm1hcnNoYWxsT3B0aW9uc1xuKTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9ID0+XG4gIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKFxuICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgW2tleSwgdmFsdWVdOiBbc3RyaW5nLCBBdHRyaWJ1dGVWYWx1ZV0pID0+ICh7XG4gICAgICAuLi5hY2MsXG4gICAgICBba2V5XTogY29udmVydFRvTmF0aXZlKHZhbHVlLCBvcHRpb25zKSxcbiAgICB9KSxcbiAgICB7fVxuICApO1xuIl19
package/dist/cjs/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./convertToAttr"), exports);
5
- (0, tslib_1.__exportStar)(require("./convertToNative"), exports);
6
- (0, tslib_1.__exportStar)(require("./marshall"), exports);
7
- (0, tslib_1.__exportStar)(require("./models"), exports);
8
- (0, tslib_1.__exportStar)(require("./unmarshall"), exports);
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQWdDO0FBQ2hDLGlFQUFrQztBQUNsQywwREFBMkI7QUFDM0Isd0RBQXlCO0FBQ3pCLDREQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnZlcnRUb0F0dHJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnZlcnRUb05hdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdW5tYXJzaGFsbFwiO1xuIl19
4
+ tslib_1.__exportStar(require("./convertToAttr"), exports);
5
+ tslib_1.__exportStar(require("./convertToNative"), exports);
6
+ tslib_1.__exportStar(require("./marshall"), exports);
7
+ tslib_1.__exportStar(require("./models"), exports);
8
+ tslib_1.__exportStar(require("./unmarshall"), exports);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQWdDO0FBQ2hDLDREQUFrQztBQUNsQyxxREFBMkI7QUFDM0IsbURBQXlCO0FBQ3pCLHVEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnZlcnRUb0F0dHJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnZlcnRUb05hdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdW5tYXJzaGFsbFwiO1xuIl19
@@ -8,6 +8,6 @@ const convertToAttr_1 = require("./convertToAttr");
8
8
  * @param {any} data - The data to convert to a DynamoDB record
9
9
  * @param {marshallOptions} options - An optional configuration object for `marshall`
10
10
  */
11
- const marshall = (data, options) => (0, convertToAttr_1.convertToAttr)(data, options).M;
11
+ const marshall = (data, options) => convertToAttr_1.convertToAttr(data, options).M;
12
12
  exports.marshall = marshall;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyc2hhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFyc2hhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbURBQWdEO0FBcUJoRDs7Ozs7R0FLRztBQUNJLE1BQU0sUUFBUSxHQUFHLENBQ3RCLElBQU8sRUFDUCxPQUF5QixFQUNVLEVBQUUsQ0FBQyxJQUFBLDZCQUFhLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQXNDLENBQUM7QUFIL0YsUUFBQSxRQUFRLFlBR3VGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlVmFsdWUgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiXCI7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0F0dHIgfSBmcm9tIFwiLi9jb252ZXJ0VG9BdHRyXCI7XG5pbXBvcnQgeyBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG4vKipcbiAqIEFuIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBgbWFyc2hhbGxgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgbWFyc2hhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBjb252ZXJ0IGVtcHR5IHN0cmluZ3MsIGJsb2JzLCBhbmQgc2V0cyB0byBgbnVsbGBcbiAgICovXG4gIGNvbnZlcnRFbXB0eVZhbHVlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIHdoaWxlIG1hcnNoYWxsaW5nLlxuICAgKi9cbiAgcmVtb3ZlVW5kZWZpbmVkVmFsdWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udmVydCB0eXBlb2Ygb2JqZWN0IHRvIG1hcCBhdHRyaWJ1dGUuXG4gICAqL1xuICBjb252ZXJ0Q2xhc3NJbnN0YW5jZVRvTWFwPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgSmF2YVNjcmlwdCBvYmplY3QgaW50byBhIER5bmFtb0RCIHJlY29yZC5cbiAqXG4gKiBAcGFyYW0ge2FueX0gZGF0YSAtIFRoZSBkYXRhIHRvIGNvbnZlcnQgdG8gYSBEeW5hbW9EQiByZWNvcmRcbiAqIEBwYXJhbSB7bWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBtYXJzaGFsbGBcbiAqL1xuZXhwb3J0IGNvbnN0IG1hcnNoYWxsID0gPFQgZXh0ZW5kcyB7IFtLIGluIGtleW9mIFRdOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9PihcbiAgZGF0YTogVCxcbiAgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9uc1xuKTogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9ID0+IGNvbnZlcnRUb0F0dHIoZGF0YSwgb3B0aW9ucykuTSBhcyB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH07XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyc2hhbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFyc2hhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbURBQWdEO0FBcUJoRDs7Ozs7R0FLRztBQUNJLE1BQU0sUUFBUSxHQUFHLENBQ3RCLElBQU8sRUFDUCxPQUF5QixFQUNVLEVBQUUsQ0FBQyw2QkFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFzQyxDQUFDO0FBSC9GLFFBQUEsUUFBUSxZQUd1RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9BdHRyIH0gZnJvbSBcIi4vY29udmVydFRvQXR0clwiO1xuaW1wb3J0IHsgTmF0aXZlQXR0cmlidXRlVmFsdWUgfSBmcm9tIFwiLi9tb2RlbHNcIjtcblxuLyoqXG4gKiBBbiBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYG1hcnNoYWxsYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIG1hcnNoYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgY29udmVydCBlbXB0eSBzdHJpbmdzLCBibG9icywgYW5kIHNldHMgdG8gYG51bGxgXG4gICAqL1xuICBjb252ZXJ0RW1wdHlWYWx1ZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byByZW1vdmUgdW5kZWZpbmVkIHZhbHVlcyB3aGlsZSBtYXJzaGFsbGluZy5cbiAgICovXG4gIHJlbW92ZVVuZGVmaW5lZFZhbHVlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbnZlcnQgdHlwZW9mIG9iamVjdCB0byBtYXAgYXR0cmlidXRlLlxuICAgKi9cbiAgY29udmVydENsYXNzSW5zdGFuY2VUb01hcD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29udmVydCBhIEphdmFTY3JpcHQgb2JqZWN0IGludG8gYSBEeW5hbW9EQiByZWNvcmQuXG4gKlxuICogQHBhcmFtIHthbnl9IGRhdGEgLSBUaGUgZGF0YSB0byBjb252ZXJ0IHRvIGEgRHluYW1vREIgcmVjb3JkXG4gKiBAcGFyYW0ge21hcnNoYWxsT3B0aW9uc30gb3B0aW9ucyAtIEFuIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBgbWFyc2hhbGxgXG4gKi9cbmV4cG9ydCBjb25zdCBtYXJzaGFsbCA9IDxUIGV4dGVuZHMgeyBbSyBpbiBrZXlvZiBUXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfT4oXG4gIGRhdGE6IFQsXG4gIG9wdGlvbnM/OiBtYXJzaGFsbE9wdGlvbnNcbik6IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSA9PiBjb252ZXJ0VG9BdHRyKGRhdGEsIG9wdGlvbnMpLk0gYXMgeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9O1xuIl19
@@ -8,6 +8,6 @@ const convertToNative_1 = require("./convertToNative");
8
8
  * @param {any} data - The DynamoDB record
9
9
  * @param {unmarshallOptions} options - An optional configuration object for `unmarshall`
10
10
  */
11
- const unmarshall = (data, options) => (0, convertToNative_1.convertToNative)({ M: data }, options);
11
+ const unmarshall = (data, options) => convertToNative_1.convertToNative({ M: data }, options);
12
12
  exports.unmarshall = unmarshall;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bm1hcnNoYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVEQUFvRDtBQWNwRDs7Ozs7R0FLRztBQUNJLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQXVDLEVBQ3ZDLE9BQTJCLEVBQ2MsRUFBRSxDQUMzQyxJQUFBLGlDQUFlLEVBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUE0QyxDQUFDO0FBSnRFLFFBQUEsVUFBVSxjQUk0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1keW5hbW9kYlwiO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9OYXRpdmUgfSBmcm9tIFwiLi9jb252ZXJ0VG9OYXRpdmVcIjtcbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbi8qKlxuICogQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9OYXRpdmVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgdW5tYXJzaGFsbE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byByZXR1cm4gbnVtYmVycyBhcyBhIHN0cmluZyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgdGhlbSB0byBuYXRpdmUgSmF2YVNjcmlwdCBudW1iZXJzLlxuICAgKiBUaGlzIGFsbG93cyBmb3IgdGhlIHNhZmUgcm91bmQtdHJpcCB0cmFuc3BvcnQgb2YgbnVtYmVycyBvZiBhcmJpdHJhcnkgc2l6ZS5cbiAgICovXG4gIHdyYXBOdW1iZXJzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgRHluYW1vREIgcmVjb3JkIGludG8gYSBKYXZhU2NyaXB0IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge2FueX0gZGF0YSAtIFRoZSBEeW5hbW9EQiByZWNvcmRcbiAqIEBwYXJhbSB7dW5tYXJzaGFsbE9wdGlvbnN9IG9wdGlvbnMgLSBBbiBvcHRpb25hbCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYHVubWFyc2hhbGxgXG4gKi9cbmV4cG9ydCBjb25zdCB1bm1hcnNoYWxsID0gKFxuICBkYXRhOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0sXG4gIG9wdGlvbnM/OiB1bm1hcnNoYWxsT3B0aW9uc1xuKTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9ID0+XG4gIGNvbnZlcnRUb05hdGl2ZSh7IE06IGRhdGEgfSwgb3B0aW9ucykgYXMgeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9O1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bm1hcnNoYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVEQUFvRDtBQWNwRDs7Ozs7R0FLRztBQUNJLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQXVDLEVBQ3ZDLE9BQTJCLEVBQ2MsRUFBRSxDQUMzQyxpQ0FBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBNEMsQ0FBQztBQUp0RSxRQUFBLFVBQVUsY0FJNEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcblxuaW1wb3J0IHsgY29udmVydFRvTmF0aXZlIH0gZnJvbSBcIi4vY29udmVydFRvTmF0aXZlXCI7XG5pbXBvcnQgeyBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG4vKipcbiAqIEFuIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBgY29udmVydFRvTmF0aXZlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIHVubWFyc2hhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmV0dXJuIG51bWJlcnMgYXMgYSBzdHJpbmcgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHRoZW0gdG8gbmF0aXZlIEphdmFTY3JpcHQgbnVtYmVycy5cbiAgICogVGhpcyBhbGxvd3MgZm9yIHRoZSBzYWZlIHJvdW5kLXRyaXAgdHJhbnNwb3J0IG9mIG51bWJlcnMgb2YgYXJiaXRyYXJ5IHNpemUuXG4gICAqL1xuICB3cmFwTnVtYmVycz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29udmVydCBhIER5bmFtb0RCIHJlY29yZCBpbnRvIGEgSmF2YVNjcmlwdCBvYmplY3QuXG4gKlxuICogQHBhcmFtIHthbnl9IGRhdGEgLSBUaGUgRHluYW1vREIgcmVjb3JkXG4gKiBAcGFyYW0ge3VubWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGB1bm1hcnNoYWxsYFxuICovXG5leHBvcnQgY29uc3QgdW5tYXJzaGFsbCA9IChcbiAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogdW5tYXJzaGFsbE9wdGlvbnNcbik6IHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSA9PlxuICBjb252ZXJ0VG9OYXRpdmUoeyBNOiBkYXRhIH0sIG9wdGlvbnMpIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfTtcbiJdfQ==
@@ -61,7 +61,7 @@ var convertToListAttr = function (data, options) { return ({
61
61
  .map(function (item) { return convertToAttr(item, options); }),
62
62
  }); };
63
63
  var convertToSetAttr = function (set, options) {
64
- var setToOperate = (options === null || options === void 0 ? void 0 : options.removeUndefinedValues) ? new Set(__spreadArray([], __read(set), false).filter(function (value) { return value !== undefined; })) : set;
64
+ var setToOperate = (options === null || options === void 0 ? void 0 : options.removeUndefinedValues) ? new Set(__spreadArray([], __read(set)).filter(function (value) { return value !== undefined; })) : set;
65
65
  if (!(options === null || options === void 0 ? void 0 : options.removeUndefinedValues) && setToOperate.has(undefined)) {
66
66
  throw new Error("Pass options.removeUndefinedValues=true to remove undefined values from map/array/set.");
67
67
  }
@@ -186,4 +186,4 @@ var isBinary = function (data) {
186
186
  }
187
187
  return false;
188
188
  };
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQXR0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0VG9BdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLElBQTBCLEVBQUUsT0FBeUI7O0lBQ2pGLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7S0FDM0c7U0FBTSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BELE9BQU8saUJBQWlCLEVBQUUsQ0FBQztLQUM1QjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6QztTQUFNLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksTUFBSyxLQUFLLEVBQUU7UUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BEO1NBQU0sSUFBSSxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsMENBQUUsSUFBSSxNQUFLLEtBQUssRUFBRTtRQUM1QyxPQUFPLDRCQUE0QixDQUFDLElBQXlDLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekY7U0FBTSxJQUNMLENBQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVywwQ0FBRSxJQUFJLE1BQUssUUFBUTtRQUNwQyw0RkFBNEY7UUFDNUYsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQy9DO1FBQ0EsT0FBTyxtQ0FB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QWE7UUFDYixZQUFZO1FBQ1osYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtLQUNqQixDQUFDO0lBRUYsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxFQUFFO1FBQ3JCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcblxuaW1wb3J0IHsgbWFyc2hhbGxPcHRpb25zIH0gZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZUJpbmFyeSwgTmF0aXZlQXR0cmlidXRlVmFsdWUsIE5hdGl2ZVNjYWxhckF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbi8qKlxuICogQ29udmVydCBhIEphdmFTY3JpcHQgdmFsdWUgdG8gaXRzIGVxdWl2YWxlbnQgRHluYW1vREIgQXR0cmlidXRlVmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSB7TmF0aXZlQXR0cmlidXRlVmFsdWV9IGRhdGEgLSBUaGUgZGF0YSB0byBjb252ZXJ0IHRvIGEgRHluYW1vREIgQXR0cmlidXRlVmFsdWVcbiAqIEBwYXJhbSB7bWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9BdHRyYFxuICovXG5leHBvcnQgY29uc3QgY29udmVydFRvQXR0ciA9IChkYXRhOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IEF0dHJpYnV0ZVZhbHVlID0+IHtcbiAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFzcyBvcHRpb25zLnJlbW92ZVVuZGVmaW5lZFZhbHVlcz10cnVlIHRvIHJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIGZyb20gbWFwL2FycmF5L3NldC5gKTtcbiAgfSBlbHNlIGlmIChkYXRhID09PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb051bGxBdHRyKCk7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBjb252ZXJ0VG9MaXN0QXR0cihkYXRhLCBvcHRpb25zKTtcbiAgfSBlbHNlIGlmIChkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJTZXRcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9TZXRBdHRyKGRhdGEgYXMgU2V0PGFueT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk1hcFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUoZGF0YSBhcyBNYXA8c3RyaW5nLCBOYXRpdmVBdHRyaWJ1dGVWYWx1ZT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKFxuICAgIGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk9iamVjdFwiIHx8XG4gICAgLy8gZm9yIG9iamVjdCB3aGljaCBpcyByZXN1bHQgb2YgT2JqZWN0LmNyZWF0ZShudWxsKSwgd2hpY2ggZG9lc24ndCBoYXZlIGNvbnN0cnVjdG9yIGRlZmluZWRcbiAgICAoIWRhdGEuY29uc3RydWN0b3IgJiYgdHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpXG4gICkge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFR5cGUgJ3sgQjogTmF0aXZlQXR0cmlidXRlQmluYXJ5OyB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICdBdHRyaWJ1dGVWYWx1ZSdcbiAgICByZXR1cm4gY29udmVydFRvQmluYXJ5QXR0cihkYXRhKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJib29sZWFuXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiQm9vbGVhblwiKSB7XG4gICAgcmV0dXJuIHsgQk9PTDogZGF0YS52YWx1ZU9mKCkgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJudW1iZXJcIiB8fCBkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJOdW1iZXJcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9OdW1iZXJBdHRyKGRhdGEpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcImJpZ2ludFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb0JpZ0ludEF0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiU3RyaW5nXCIpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZ0F0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucz8uY29udmVydENsYXNzSW5zdGFuY2VUb01hcCAmJiB0eXBlb2YgZGF0YSA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBVbnN1cHBvcnRlZCB0eXBlIHBhc3NlZDogJHtkYXRhfS4gUGFzcyBvcHRpb25zLmNvbnZlcnRDbGFzc0luc3RhbmNlVG9NYXA9dHJ1ZSB0byBtYXJzaGFsbCB0eXBlb2Ygb2JqZWN0IGFzIG1hcCBhdHRyaWJ1dGUuYFxuICApO1xufTtcblxuY29uc3QgY29udmVydFRvTGlzdEF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IHsgTDogQXR0cmlidXRlVmFsdWVbXSB9ID0+ICh7XG4gIEw6IGRhdGFcbiAgICAuZmlsdGVyKChpdGVtKSA9PiAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzIHx8IChvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSlcbiAgICAubWFwKChpdGVtKSA9PiBjb252ZXJ0VG9BdHRyKGl0ZW0sIG9wdGlvbnMpKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9TZXRBdHRyID0gKFxuICBzZXQ6IFNldDxhbnk+LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE5TOiBzdHJpbmdbXSB9IHwgeyBCUzogVWludDhBcnJheVtdIH0gfCB7IFNTOiBzdHJpbmdbXSB9IHwgeyBOVUxMOiB0cnVlIH0gPT4ge1xuICBjb25zdCBzZXRUb09wZXJhdGUgPSBvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgPyBuZXcgU2V0KFsuLi5zZXRdLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSA6IHNldDtcblxuICBpZiAoIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcyAmJiBzZXRUb09wZXJhdGUuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhc3Mgb3B0aW9ucy5yZW1vdmVVbmRlZmluZWRWYWx1ZXM9dHJ1ZSB0byByZW1vdmUgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIG1hcC9hcnJheS9zZXQuYCk7XG4gIH1cblxuICBpZiAoc2V0VG9PcGVyYXRlLnNpemUgPT09IDApIHtcbiAgICBpZiAob3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXNzIGEgbm9uLWVtcHR5IHNldCwgb3Igb3B0aW9ucy5jb252ZXJ0RW1wdHlWYWx1ZXM9dHJ1ZS5gKTtcbiAgfVxuXG4gIGNvbnN0IGl0ZW0gPSBzZXRUb09wZXJhdGUudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuICBpZiAodHlwZW9mIGl0ZW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTlM6IEFycmF5LmZyb20oc2V0VG9PcGVyYXRlKVxuICAgICAgICAubWFwKGNvbnZlcnRUb051bWJlckF0dHIpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uTiksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJiaWdpbnRcIikge1xuICAgIHJldHVybiB7XG4gICAgICBOUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmlnSW50QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5OKSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFNTOiBBcnJheS5mcm9tKHNldFRvT3BlcmF0ZSlcbiAgICAgICAgLm1hcChjb252ZXJ0VG9TdHJpbmdBdHRyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLlMpLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoaXRlbSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSAnQXJyYXlCdWZmZXInIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ1VpbnQ4QXJyYXknXG4gICAgICBCUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmluYXJ5QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5CKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBOdW1iZXIgU2V0IChOUyksIEJpbmFyeSBTZXQgKEJTKSBvciBTdHJpbmcgU2V0IChTUykgYXJlIGFsbG93ZWQuYCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUgPSAoXG4gIGRhdGE6IE1hcDxzdHJpbmcsIE5hdGl2ZUF0dHJpYnV0ZVZhbHVlPixcbiAgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9uc1xuKTogeyBNOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0gfSA9PiAoe1xuICBNOiAoKGRhdGEpID0+IHtcbiAgICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIiAmJiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzKSkge1xuICAgICAgICBtYXBba2V5XSA9IGNvbnZlcnRUb0F0dHIodmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KShkYXRhKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyA9IChcbiAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE06IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSB9ID0+ICh7XG4gIE06ICgoZGF0YSkgPT4ge1xuICAgIGNvbnN0IG1hcDogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIgJiYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwgIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcykpIHtcbiAgICAgICAgbWFwW2tleV0gPSBjb252ZXJ0VG9BdHRyKHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfSkoZGF0YSksXG59KTtcblxuLy8gRm9yIGZ1dHVyZS1wcm9vZmluZzogdGhpcyBmdW5jdGlvbnMgYXJlIGNhbGxlZCBmcm9tIG11bHRpcGxlIHBsYWNlc1xuY29uc3QgY29udmVydFRvTnVsbEF0dHIgPSAoKTogeyBOVUxMOiB0cnVlIH0gPT4gKHsgTlVMTDogdHJ1ZSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpbmFyeUF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlQmluYXJ5KTogeyBCOiBOYXRpdmVBdHRyaWJ1dGVCaW5hcnkgfSA9PiAoeyBCOiBkYXRhIH0pO1xuY29uc3QgY29udmVydFRvU3RyaW5nQXR0ciA9IChkYXRhOiBzdHJpbmcgfCBTdHJpbmcpOiB7IFM6IHN0cmluZyB9ID0+ICh7IFM6IGRhdGEudG9TdHJpbmcoKSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpZ0ludEF0dHIgPSAoZGF0YTogYmlnaW50KTogeyBOOiBzdHJpbmcgfSA9PiAoeyBOOiBkYXRhLnRvU3RyaW5nKCkgfSk7XG5cbmNvbnN0IHZhbGlkYXRlQmlnSW50QW5kVGhyb3cgPSAoZXJyb3JQcmVmaXg6IHN0cmluZykgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3JQcmVmaXh9ICR7dHlwZW9mIEJpZ0ludCA9PT0gXCJmdW5jdGlvblwiID8gXCJVc2UgQmlnSW50LlwiIDogXCJQYXNzIHN0cmluZyB2YWx1ZSBpbnN0ZWFkLlwifSBgKTtcbn07XG5cbmNvbnN0IGNvbnZlcnRUb051bWJlckF0dHIgPSAobnVtOiBudW1iZXIgfCBOdW1iZXIpOiB7IE46IHN0cmluZyB9ID0+IHtcbiAgaWYgKFxuICAgIFtOdW1iZXIuTmFOLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV1cbiAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkpXG4gICAgICAuaW5jbHVkZXMobnVtLnRvU3RyaW5nKCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3BlY2lhbCBudW1lcmljIHZhbHVlICR7bnVtLnRvU3RyaW5nKCl9IGlzIG5vdCBhbGxvd2VkYCk7XG4gIH0gZWxzZSBpZiAobnVtID4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICB2YWxpZGF0ZUJpZ0ludEFuZFRocm93KGBOdW1iZXIgJHtudW0udG9TdHJpbmcoKX0gaXMgZ3JlYXRlciB0aGFuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLmApO1xuICB9IGVsc2UgaWYgKG51bSA8IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XG4gICAgdmFsaWRhdGVCaWdJbnRBbmRUaHJvdyhgTnVtYmVyICR7bnVtLnRvU3RyaW5nKCl9IGlzIGxlc3NlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLmApO1xuICB9XG4gIHJldHVybiB7IE46IG51bS50b1N0cmluZygpIH07XG59O1xuXG5jb25zdCBpc0JpbmFyeSA9IChkYXRhOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgYmluYXJ5VHlwZXMgPSBbXG4gICAgXCJBcnJheUJ1ZmZlclwiLFxuICAgIFwiQmxvYlwiLFxuICAgIFwiQnVmZmVyXCIsXG4gICAgXCJEYXRhVmlld1wiLFxuICAgIFwiRmlsZVwiLFxuICAgIFwiSW50OEFycmF5XCIsXG4gICAgXCJVaW50OEFycmF5XCIsXG4gICAgXCJVaW50OENsYW1wZWRBcnJheVwiLFxuICAgIFwiSW50MTZBcnJheVwiLFxuICAgIFwiVWludDE2QXJyYXlcIixcbiAgICBcIkludDMyQXJyYXlcIixcbiAgICBcIlVpbnQzMkFycmF5XCIsXG4gICAgXCJGbG9hdDMyQXJyYXlcIixcbiAgICBcIkZsb2F0NjRBcnJheVwiLFxuICAgIFwiQmlnSW50NjRBcnJheVwiLFxuICAgIFwiQmlnVWludDY0QXJyYXlcIixcbiAgXTtcblxuICBpZiAoZGF0YT8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gYmluYXJ5VHlwZXMuaW5jbHVkZXMoZGF0YS5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQXR0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0VG9BdHRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxVQUFDLElBQTBCLEVBQUUsT0FBeUI7O0lBQ2pGLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7S0FDM0c7U0FBTSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BELE9BQU8saUJBQWlCLEVBQUUsQ0FBQztLQUM1QjtTQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6QztTQUFNLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksTUFBSyxLQUFLLEVBQUU7UUFDNUMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BEO1NBQU0sSUFBSSxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsMENBQUUsSUFBSSxNQUFLLEtBQUssRUFBRTtRQUM1QyxPQUFPLDRCQUE0QixDQUFDLElBQXlDLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDekY7U0FBTSxJQUNMLENBQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVywwQ0FBRSxJQUFJLE1BQUssUUFBUTtRQUNwQyw0RkFBNEY7UUFDNUYsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQy9DO1FBQ0EsT0FBTyxtQ0FB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QWE7UUFDYixZQUFZO1FBQ1osYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtLQUNqQixDQUFDO0lBRUYsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxFQUFFO1FBQ3JCLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGVWYWx1ZSB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtZHluYW1vZGJcIjtcblxuaW1wb3J0IHsgbWFyc2hhbGxPcHRpb25zIH0gZnJvbSBcIi4vbWFyc2hhbGxcIjtcbmltcG9ydCB7IE5hdGl2ZUF0dHJpYnV0ZUJpbmFyeSwgTmF0aXZlQXR0cmlidXRlVmFsdWUsIE5hdGl2ZVNjYWxhckF0dHJpYnV0ZVZhbHVlIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbi8qKlxuICogQ29udmVydCBhIEphdmFTY3JpcHQgdmFsdWUgdG8gaXRzIGVxdWl2YWxlbnQgRHluYW1vREIgQXR0cmlidXRlVmFsdWUgdHlwZVxuICpcbiAqIEBwYXJhbSB7TmF0aXZlQXR0cmlidXRlVmFsdWV9IGRhdGEgLSBUaGUgZGF0YSB0byBjb252ZXJ0IHRvIGEgRHluYW1vREIgQXR0cmlidXRlVmFsdWVcbiAqIEBwYXJhbSB7bWFyc2hhbGxPcHRpb25zfSBvcHRpb25zIC0gQW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGBjb252ZXJ0VG9BdHRyYFxuICovXG5leHBvcnQgY29uc3QgY29udmVydFRvQXR0ciA9IChkYXRhOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IEF0dHJpYnV0ZVZhbHVlID0+IHtcbiAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFzcyBvcHRpb25zLnJlbW92ZVVuZGVmaW5lZFZhbHVlcz10cnVlIHRvIHJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIGZyb20gbWFwL2FycmF5L3NldC5gKTtcbiAgfSBlbHNlIGlmIChkYXRhID09PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb051bGxBdHRyKCk7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBjb252ZXJ0VG9MaXN0QXR0cihkYXRhLCBvcHRpb25zKTtcbiAgfSBlbHNlIGlmIChkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJTZXRcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9TZXRBdHRyKGRhdGEgYXMgU2V0PGFueT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk1hcFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUoZGF0YSBhcyBNYXA8c3RyaW5nLCBOYXRpdmVBdHRyaWJ1dGVWYWx1ZT4sIG9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKFxuICAgIGRhdGE/LmNvbnN0cnVjdG9yPy5uYW1lID09PSBcIk9iamVjdFwiIHx8XG4gICAgLy8gZm9yIG9iamVjdCB3aGljaCBpcyByZXN1bHQgb2YgT2JqZWN0LmNyZWF0ZShudWxsKSwgd2hpY2ggZG9lc24ndCBoYXZlIGNvbnN0cnVjdG9yIGRlZmluZWRcbiAgICAoIWRhdGEuY29uc3RydWN0b3IgJiYgdHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIpXG4gICkge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoZGF0YSkpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFR5cGUgJ3sgQjogTmF0aXZlQXR0cmlidXRlQmluYXJ5OyB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICdBdHRyaWJ1dGVWYWx1ZSdcbiAgICByZXR1cm4gY29udmVydFRvQmluYXJ5QXR0cihkYXRhKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJib29sZWFuXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiQm9vbGVhblwiKSB7XG4gICAgcmV0dXJuIHsgQk9PTDogZGF0YS52YWx1ZU9mKCkgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJudW1iZXJcIiB8fCBkYXRhPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gXCJOdW1iZXJcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9OdW1iZXJBdHRyKGRhdGEpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSBcImJpZ2ludFwiKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRUb0JpZ0ludEF0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIgfHwgZGF0YT8uY29uc3RydWN0b3I/Lm5hbWUgPT09IFwiU3RyaW5nXCIpIHtcbiAgICBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgb3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnZlcnRUb1N0cmluZ0F0dHIoZGF0YSk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucz8uY29udmVydENsYXNzSW5zdGFuY2VUb01hcCAmJiB0eXBlb2YgZGF0YSA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyhkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogTmF0aXZlQXR0cmlidXRlVmFsdWUgfSwgb3B0aW9ucyk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBVbnN1cHBvcnRlZCB0eXBlIHBhc3NlZDogJHtkYXRhfS4gUGFzcyBvcHRpb25zLmNvbnZlcnRDbGFzc0luc3RhbmNlVG9NYXA9dHJ1ZSB0byBtYXJzaGFsbCB0eXBlb2Ygb2JqZWN0IGFzIG1hcCBhdHRyaWJ1dGUuYFxuICApO1xufTtcblxuY29uc3QgY29udmVydFRvTGlzdEF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlVmFsdWVbXSwgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9ucyk6IHsgTDogQXR0cmlidXRlVmFsdWVbXSB9ID0+ICh7XG4gIEw6IGRhdGFcbiAgICAuZmlsdGVyKChpdGVtKSA9PiAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzIHx8IChvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSlcbiAgICAubWFwKChpdGVtKSA9PiBjb252ZXJ0VG9BdHRyKGl0ZW0sIG9wdGlvbnMpKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9TZXRBdHRyID0gKFxuICBzZXQ6IFNldDxhbnk+LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE5TOiBzdHJpbmdbXSB9IHwgeyBCUzogVWludDhBcnJheVtdIH0gfCB7IFNTOiBzdHJpbmdbXSB9IHwgeyBOVUxMOiB0cnVlIH0gPT4ge1xuICBjb25zdCBzZXRUb09wZXJhdGUgPSBvcHRpb25zPy5yZW1vdmVVbmRlZmluZWRWYWx1ZXMgPyBuZXcgU2V0KFsuLi5zZXRdLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpKSA6IHNldDtcblxuICBpZiAoIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcyAmJiBzZXRUb09wZXJhdGUuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBhc3Mgb3B0aW9ucy5yZW1vdmVVbmRlZmluZWRWYWx1ZXM9dHJ1ZSB0byByZW1vdmUgdW5kZWZpbmVkIHZhbHVlcyBmcm9tIG1hcC9hcnJheS9zZXQuYCk7XG4gIH1cblxuICBpZiAoc2V0VG9PcGVyYXRlLnNpemUgPT09IDApIHtcbiAgICBpZiAob3B0aW9ucz8uY29udmVydEVtcHR5VmFsdWVzKSB7XG4gICAgICByZXR1cm4gY29udmVydFRvTnVsbEF0dHIoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXNzIGEgbm9uLWVtcHR5IHNldCwgb3Igb3B0aW9ucy5jb252ZXJ0RW1wdHlWYWx1ZXM9dHJ1ZS5gKTtcbiAgfVxuXG4gIGNvbnN0IGl0ZW0gPSBzZXRUb09wZXJhdGUudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuICBpZiAodHlwZW9mIGl0ZW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgTlM6IEFycmF5LmZyb20oc2V0VG9PcGVyYXRlKVxuICAgICAgICAubWFwKGNvbnZlcnRUb051bWJlckF0dHIpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uTiksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJiaWdpbnRcIikge1xuICAgIHJldHVybiB7XG4gICAgICBOUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmlnSW50QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5OKSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFNTOiBBcnJheS5mcm9tKHNldFRvT3BlcmF0ZSlcbiAgICAgICAgLm1hcChjb252ZXJ0VG9TdHJpbmdBdHRyKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLlMpLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoaXNCaW5hcnkoaXRlbSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gRG8gbm90IGFsdGVyIGJpbmFyeSBkYXRhIHBhc3NlZCBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstanMtdjMvaXNzdWVzLzE1MzBcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVHlwZSAnQXJyYXlCdWZmZXInIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ1VpbnQ4QXJyYXknXG4gICAgICBCUzogQXJyYXkuZnJvbShzZXRUb09wZXJhdGUpXG4gICAgICAgIC5tYXAoY29udmVydFRvQmluYXJ5QXR0cilcbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5CKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgT25seSBOdW1iZXIgU2V0IChOUyksIEJpbmFyeSBTZXQgKEJTKSBvciBTdHJpbmcgU2V0IChTUykgYXJlIGFsbG93ZWQuYCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnZlcnRUb01hcEF0dHJGcm9tSXRlcmFibGUgPSAoXG4gIGRhdGE6IE1hcDxzdHJpbmcsIE5hdGl2ZUF0dHJpYnV0ZVZhbHVlPixcbiAgb3B0aW9ucz86IG1hcnNoYWxsT3B0aW9uc1xuKTogeyBNOiB7IFtrZXk6IHN0cmluZ106IEF0dHJpYnV0ZVZhbHVlIH0gfSA9PiAoe1xuICBNOiAoKGRhdGEpID0+IHtcbiAgICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIiAmJiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCAhb3B0aW9ucz8ucmVtb3ZlVW5kZWZpbmVkVmFsdWVzKSkge1xuICAgICAgICBtYXBba2V5XSA9IGNvbnZlcnRUb0F0dHIodmFsdWUsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KShkYXRhKSxcbn0pO1xuXG5jb25zdCBjb252ZXJ0VG9NYXBBdHRyRnJvbUVudW1lcmFibGVQcm9wcyA9IChcbiAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBOYXRpdmVBdHRyaWJ1dGVWYWx1ZSB9LFxuICBvcHRpb25zPzogbWFyc2hhbGxPcHRpb25zXG4pOiB7IE06IHsgW2tleTogc3RyaW5nXTogQXR0cmlidXRlVmFsdWUgfSB9ID0+ICh7XG4gIE06ICgoZGF0YSkgPT4ge1xuICAgIGNvbnN0IG1hcDogeyBba2V5OiBzdHJpbmddOiBBdHRyaWJ1dGVWYWx1ZSB9ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcImZ1bmN0aW9uXCIgJiYgKHZhbHVlICE9PSB1bmRlZmluZWQgfHwgIW9wdGlvbnM/LnJlbW92ZVVuZGVmaW5lZFZhbHVlcykpIHtcbiAgICAgICAgbWFwW2tleV0gPSBjb252ZXJ0VG9BdHRyKHZhbHVlLCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbiAgfSkoZGF0YSksXG59KTtcblxuLy8gRm9yIGZ1dHVyZS1wcm9vZmluZzogdGhpcyBmdW5jdGlvbnMgYXJlIGNhbGxlZCBmcm9tIG11bHRpcGxlIHBsYWNlc1xuY29uc3QgY29udmVydFRvTnVsbEF0dHIgPSAoKTogeyBOVUxMOiB0cnVlIH0gPT4gKHsgTlVMTDogdHJ1ZSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpbmFyeUF0dHIgPSAoZGF0YTogTmF0aXZlQXR0cmlidXRlQmluYXJ5KTogeyBCOiBOYXRpdmVBdHRyaWJ1dGVCaW5hcnkgfSA9PiAoeyBCOiBkYXRhIH0pO1xuY29uc3QgY29udmVydFRvU3RyaW5nQXR0ciA9IChkYXRhOiBzdHJpbmcgfCBTdHJpbmcpOiB7IFM6IHN0cmluZyB9ID0+ICh7IFM6IGRhdGEudG9TdHJpbmcoKSB9KTtcbmNvbnN0IGNvbnZlcnRUb0JpZ0ludEF0dHIgPSAoZGF0YTogYmlnaW50KTogeyBOOiBzdHJpbmcgfSA9PiAoeyBOOiBkYXRhLnRvU3RyaW5nKCkgfSk7XG5cbmNvbnN0IHZhbGlkYXRlQmlnSW50QW5kVGhyb3cgPSAoZXJyb3JQcmVmaXg6IHN0cmluZykgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoYCR7ZXJyb3JQcmVmaXh9ICR7dHlwZW9mIEJpZ0ludCA9PT0gXCJmdW5jdGlvblwiID8gXCJVc2UgQmlnSW50LlwiIDogXCJQYXNzIHN0cmluZyB2YWx1ZSBpbnN0ZWFkLlwifSBgKTtcbn07XG5cbmNvbnN0IGNvbnZlcnRUb051bWJlckF0dHIgPSAobnVtOiBudW1iZXIgfCBOdW1iZXIpOiB7IE46IHN0cmluZyB9ID0+IHtcbiAgaWYgKFxuICAgIFtOdW1iZXIuTmFOLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksIE51bWJlci5ORUdBVElWRV9JTkZJTklUWV1cbiAgICAgIC5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkpXG4gICAgICAuaW5jbHVkZXMobnVtLnRvU3RyaW5nKCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgU3BlY2lhbCBudW1lcmljIHZhbHVlICR7bnVtLnRvU3RyaW5nKCl9IGlzIG5vdCBhbGxvd2VkYCk7XG4gIH0gZWxzZSBpZiAobnVtID4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICB2YWxpZGF0ZUJpZ0ludEFuZFRocm93KGBOdW1iZXIgJHtudW0udG9TdHJpbmcoKX0gaXMgZ3JlYXRlciB0aGFuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLmApO1xuICB9IGVsc2UgaWYgKG51bSA8IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XG4gICAgdmFsaWRhdGVCaWdJbnRBbmRUaHJvdyhgTnVtYmVyICR7bnVtLnRvU3RyaW5nKCl9IGlzIGxlc3NlciB0aGFuIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLmApO1xuICB9XG4gIHJldHVybiB7IE46IG51bS50b1N0cmluZygpIH07XG59O1xuXG5jb25zdCBpc0JpbmFyeSA9IChkYXRhOiBhbnkpOiBib29sZWFuID0+IHtcbiAgY29uc3QgYmluYXJ5VHlwZXMgPSBbXG4gICAgXCJBcnJheUJ1ZmZlclwiLFxuICAgIFwiQmxvYlwiLFxuICAgIFwiQnVmZmVyXCIsXG4gICAgXCJEYXRhVmlld1wiLFxuICAgIFwiRmlsZVwiLFxuICAgIFwiSW50OEFycmF5XCIsXG4gICAgXCJVaW50OEFycmF5XCIsXG4gICAgXCJVaW50OENsYW1wZWRBcnJheVwiLFxuICAgIFwiSW50MTZBcnJheVwiLFxuICAgIFwiVWludDE2QXJyYXlcIixcbiAgICBcIkludDMyQXJyYXlcIixcbiAgICBcIlVpbnQzMkFycmF5XCIsXG4gICAgXCJGbG9hdDMyQXJyYXlcIixcbiAgICBcIkZsb2F0NjRBcnJheVwiLFxuICAgIFwiQmlnSW50NjRBcnJheVwiLFxuICAgIFwiQmlnVWludDY0QXJyYXlcIixcbiAgXTtcblxuICBpZiAoZGF0YT8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gYmluYXJ5VHlwZXMuaW5jbHVkZXMoZGF0YS5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-dynamodb",
3
- "version": "3.31.0",
3
+ "version": "3.32.0",
4
4
  "scripts": {
5
5
  "build:cjs": "tsc -p tsconfig.cjs.json",
6
6
  "build:es": "tsc -p tsconfig.es.json",
@@ -20,10 +20,10 @@
20
20
  "tslib": "^2.3.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@aws-sdk/client-dynamodb": "3.31.0",
23
+ "@aws-sdk/client-dynamodb": "3.32.0",
24
24
  "@types/jest": "^26.0.4",
25
25
  "jest": "^26.1.0",
26
- "typescript": "~4.4.2"
26
+ "typescript": "~4.3.5"
27
27
  },
28
28
  "engines": {
29
29
  "node": ">= 10.0.0"