easy-file-system 2.1.20 → 2.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/rubbishBin.js CHANGED
@@ -8,52 +8,41 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
11
+ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _easy = require("easy");
13
- var _easyDragAndDrop = require("easy-drag-and-drop");
14
- var _drag = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/drag"));
15
- var _rubbishBin = /*#__PURE__*/ _interopRequireDefault(require("./mixins/rubbishBin"));
16
- var _open = /*#__PURE__*/ _interopRequireDefault(require("./svg/rubbishBin/open"));
17
- var _closed = /*#__PURE__*/ _interopRequireDefault(require("./svg/rubbishBin/closed"));
18
- var _dragEntryItem = /*#__PURE__*/ _interopRequireDefault(require("./mixins/dragEntryItem"));
19
- var _fileName = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/marker/fileName"));
20
- var _directoryName = /*#__PURE__*/ _interopRequireDefault(require("./item/entry/marker/directoryName"));
13
+ var _easydraganddrop = require("easy-drag-and-drop");
14
+ var _drag = /*#__PURE__*/ _interop_require_default(require("./item/entry/drag"));
15
+ var _rubbishBin = /*#__PURE__*/ _interop_require_default(require("./mixins/rubbishBin"));
16
+ var _open = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/open"));
17
+ var _closed = /*#__PURE__*/ _interop_require_default(require("./svg/rubbishBin/closed"));
18
+ var _dragEntryItem = /*#__PURE__*/ _interop_require_default(require("./mixins/dragEntryItem"));
19
+ var _fileName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/fileName"));
20
+ var _directoryName = /*#__PURE__*/ _interop_require_default(require("./item/entry/marker/directoryName"));
21
21
  var _pathMap = require("./utilities/pathMap");
22
22
  var _entryTypes = require("./entryTypes");
23
- function _assertThisInitialized(self) {
23
+ function _assert_this_initialized(self) {
24
24
  if (self === void 0) {
25
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
26
26
  }
27
27
  return self;
28
28
  }
29
- function _classCallCheck(instance, Constructor) {
29
+ function _class_call_check(instance, Constructor) {
30
30
  if (!(instance instanceof Constructor)) {
31
31
  throw new TypeError("Cannot call a class as a function");
32
32
  }
33
33
  }
34
- function isNativeReflectConstruct() {
35
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
36
- if (Reflect.construct.sham) return false;
37
- if (typeof Proxy === "function") return true;
38
- try {
39
- Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
40
- return true;
41
- } catch (e) {
42
- return false;
43
- }
44
- }
45
34
  function _construct(Parent, args, Class) {
46
- if (isNativeReflectConstruct()) {
35
+ if (_is_native_reflect_construct()) {
47
36
  _construct = Reflect.construct;
48
37
  } else {
49
- _construct = function _construct(Parent, args, Class) {
38
+ _construct = function construct(Parent, args, Class) {
50
39
  var a = [
51
40
  null
52
41
  ];
53
42
  a.push.apply(a, args);
54
43
  var Constructor = Function.bind.apply(Parent, a);
55
44
  var instance = new Constructor();
56
- if (Class) _setPrototypeOf(instance, Class.prototype);
45
+ if (Class) _set_prototype_of(instance, Class.prototype);
57
46
  return instance;
58
47
  };
59
48
  }
@@ -68,12 +57,12 @@ function _defineProperties(target, props) {
68
57
  Object.defineProperty(target, descriptor.key, descriptor);
69
58
  }
70
59
  }
71
- function _createClass(Constructor, protoProps, staticProps) {
60
+ function _create_class(Constructor, protoProps, staticProps) {
72
61
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
73
62
  if (staticProps) _defineProperties(Constructor, staticProps);
74
63
  return Constructor;
75
64
  }
76
- function _defineProperty(obj, key, value) {
65
+ function _define_property(obj, key, value) {
77
66
  if (key in obj) {
78
67
  Object.defineProperty(obj, key, {
79
68
  value: value,
@@ -86,11 +75,11 @@ function _defineProperty(obj, key, value) {
86
75
  }
87
76
  return obj;
88
77
  }
89
- function _getPrototypeOf(o) {
90
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
78
+ function _get_prototype_of(o) {
79
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
91
80
  return o.__proto__ || Object.getPrototypeOf(o);
92
81
  };
93
- return _getPrototypeOf(o);
82
+ return _get_prototype_of(o);
94
83
  }
95
84
  function _inherits(subClass, superClass) {
96
85
  if (typeof superClass !== "function" && superClass !== null) {
@@ -103,7 +92,7 @@ function _inherits(subClass, superClass) {
103
92
  configurable: true
104
93
  }
105
94
  });
106
- if (superClass) _setPrototypeOf(subClass, superClass);
95
+ if (superClass) _set_prototype_of(subClass, superClass);
107
96
  }
108
97
  function _instanceof(left, right) {
109
98
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
@@ -112,28 +101,28 @@ function _instanceof(left, right) {
112
101
  return left instanceof right;
113
102
  }
114
103
  }
115
- function _interopRequireDefault(obj) {
104
+ function _interop_require_default(obj) {
116
105
  return obj && obj.__esModule ? obj : {
117
106
  default: obj
118
107
  };
119
108
  }
120
- function _isNativeFunction(fn) {
109
+ function _is_native_function(fn) {
121
110
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
122
111
  }
123
- function _possibleConstructorReturn(self, call) {
124
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
112
+ function _possible_constructor_return(self, call) {
113
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
125
114
  return call;
126
115
  }
127
- return _assertThisInitialized(self);
116
+ return _assert_this_initialized(self);
128
117
  }
129
- function _setPrototypeOf(o, p) {
130
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
118
+ function _set_prototype_of(o, p) {
119
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
131
120
  o.__proto__ = p;
132
121
  return o;
133
122
  };
134
- return _setPrototypeOf(o, p);
123
+ return _set_prototype_of(o, p);
135
124
  }
136
- function _taggedTemplateLiteral(strings, raw) {
125
+ function _tagged_template_literal(strings, raw) {
137
126
  if (!raw) {
138
127
  raw = strings.slice(0);
139
128
  }
@@ -143,14 +132,14 @@ function _taggedTemplateLiteral(strings, raw) {
143
132
  }
144
133
  }));
145
134
  }
146
- var _typeof = function(obj) {
135
+ function _type_of(obj) {
147
136
  "@swc/helpers - typeof";
148
137
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
149
- };
150
- function _wrapNativeSuper(Class) {
138
+ }
139
+ function _wrap_native_super(Class) {
151
140
  var _cache = typeof Map === "function" ? new Map() : undefined;
152
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
153
- if (Class === null || !_isNativeFunction(Class)) return Class;
141
+ _wrap_native_super = function wrapNativeSuper(Class) {
142
+ if (Class === null || !_is_native_function(Class)) return Class;
154
143
  if (typeof Class !== "function") {
155
144
  throw new TypeError("Super expression must either be null or a function");
156
145
  }
@@ -159,7 +148,7 @@ function _wrapNativeSuper(Class) {
159
148
  _cache.set(Class, Wrapper);
160
149
  }
161
150
  function Wrapper() {
162
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
151
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
163
152
  }
164
153
  Wrapper.prototype = Object.create(Class.prototype, {
165
154
  constructor: {
@@ -169,11 +158,11 @@ function _wrapNativeSuper(Class) {
169
158
  configurable: true
170
159
  }
171
160
  });
172
- return _setPrototypeOf(Wrapper, Class);
161
+ return _set_prototype_of(Wrapper, Class);
173
162
  };
174
- return _wrapNativeSuper(Class);
163
+ return _wrap_native_super(Class);
175
164
  }
176
- function _isNativeReflectConstruct() {
165
+ function _is_native_reflect_construct() {
177
166
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
178
167
  if (Reflect.construct.sham) return false;
179
168
  if (typeof Proxy === "function") return true;
@@ -184,21 +173,21 @@ function _isNativeReflectConstruct() {
184
173
  return false;
185
174
  }
186
175
  }
187
- function _createSuper(Derived) {
188
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
176
+ function _create_super(Derived) {
177
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
189
178
  return function _createSuperInternal() {
190
- var Super = _getPrototypeOf(Derived), result;
179
+ var Super = _get_prototype_of(Derived), result;
191
180
  if (hasNativeReflectConstruct) {
192
- var NewTarget = _getPrototypeOf(this).constructor;
181
+ var NewTarget = _get_prototype_of(this).constructor;
193
182
  result = Reflect.construct(Super, arguments, NewTarget);
194
183
  } else {
195
184
  result = Super.apply(this, arguments);
196
185
  }
197
- return _possibleConstructorReturn(this, result);
186
+ return _possible_constructor_return(this, result);
198
187
  };
199
188
  }
200
189
  function _templateObject() {
201
- var data = _taggedTemplateLiteral([
190
+ var data = _tagged_template_literal([
202
191
  "\n \n display: inline-block;\n \n"
203
192
  ]);
204
193
  _templateObject = function _templateObject() {
@@ -208,12 +197,12 @@ function _templateObject() {
208
197
  }
209
198
  var RubbishBin = /*#__PURE__*/ function(Element) {
210
199
  _inherits(RubbishBin, Element);
211
- var _super = _createSuper(RubbishBin);
200
+ var _super = _create_super(RubbishBin);
212
201
  function RubbishBin() {
213
- _classCallCheck(this, RubbishBin);
202
+ _class_call_check(this, RubbishBin);
214
203
  var _this;
215
204
  _this = _super.apply(this, arguments);
216
- _defineProperty(_assertThisInitialized(_this), "dropHandler", function(dragElement, aborted, element, done) {
205
+ _define_property(_assert_this_initialized(_this), "dropHandler", function(dragElement, aborted, element, done) {
217
206
  var dragElementDragEntryItem = _instanceof(dragElement, _drag.default);
218
207
  if (!dragElementDragEntryItem) {
219
208
  done();
@@ -227,7 +216,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
227
216
  }
228
217
  markerEntryItemExplorer.dropDragEntryItem(dragEntryItem, done);
229
218
  });
230
- _defineProperty(_assertThisInitialized(_this), "dragOverHandler", function(dragElement, element) {
219
+ _define_property(_assert_this_initialized(_this), "dragOverHandler", function(dragElement, element) {
231
220
  var dragElementDragEntryItem = _instanceof(dragElement, _drag.default);
232
221
  if (!dragElementDragEntryItem) {
233
222
  return;
@@ -239,7 +228,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
239
228
  var markerEntryItem = _this.retrieveMarkerEntryItem();
240
229
  var markerEntryItemPath = markerEntryItem.getPath(), markerEntryItemExplorer = markerEntryItem.getExplorer(), previousMarkerEntryItemPath = markerEntryItemPath, previousMarkerEntryItemExplorer = markerEntryItemExplorer; ///
241
230
  markerEntryItemPath = null; ///
242
- markerEntryItemExplorer = _assertThisInitialized(_this); ///
231
+ markerEntryItemExplorer = _assert_this_initialized(_this); ///
243
232
  if (markerEntryItemExplorer !== previousMarkerEntryItemExplorer || markerEntryItemPath !== previousMarkerEntryItemPath) {
244
233
  var dragEntryItemType = dragEntryItem.getType();
245
234
  previousMarkerEntryItemExplorer.removeMarker();
@@ -248,7 +237,7 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
248
237
  });
249
238
  return _this;
250
239
  }
251
- _createClass(RubbishBin, [
240
+ _create_class(RubbishBin, [
252
241
  {
253
242
  key: "isExplorerIgnored",
254
243
  value: function isExplorerIgnored(explorer) {
@@ -438,20 +427,20 @@ var RubbishBin = /*#__PURE__*/ function(Element) {
438
427
  }
439
428
  ]);
440
429
  return RubbishBin;
441
- }(_wrapNativeSuper(_easy.Element));
442
- _defineProperty(RubbishBin, "OpenRubbishBinSVG", _open.default);
443
- _defineProperty(RubbishBin, "ClosedRubbishBinSVG", _closed.default);
444
- _defineProperty(RubbishBin, "tagName", "div");
445
- _defineProperty(RubbishBin, "ignoredProperties", [
430
+ }(_wrap_native_super(_easy.Element));
431
+ _define_property(RubbishBin, "OpenRubbishBinSVG", _open.default);
432
+ _define_property(RubbishBin, "ClosedRubbishBinSVG", _closed.default);
433
+ _define_property(RubbishBin, "tagName", "div");
434
+ _define_property(RubbishBin, "ignoredProperties", [
446
435
  "onRemove",
447
436
  "ignoredReferences"
448
437
  ]);
449
- _defineProperty(RubbishBin, "defaultProperties", {
438
+ _define_property(RubbishBin, "defaultProperties", {
450
439
  className: "rubbish-bin"
451
440
  });
452
- Object.assign(RubbishBin.prototype, _easyDragAndDrop.dropMixins);
441
+ Object.assign(RubbishBin.prototype, _easydraganddrop.dropMixins);
453
442
  Object.assign(RubbishBin.prototype, _rubbishBin.default);
454
443
  Object.assign(RubbishBin.prototype, _dragEntryItem.default);
455
- var _default = (0, _easyWithStyle.default)(RubbishBin)(_templateObject());
444
+ var _default = (0, _easywithstyle.default)(RubbishBin)(_templateObject());
456
445
 
457
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBEcmFnRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvZHJhZ1wiO1xuaW1wb3J0IHJ1YmJpc2hCaW5NaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3J1YmJpc2hCaW5cIjtcbmltcG9ydCBPcGVuUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9vcGVuXCI7XG5pbXBvcnQgQ2xvc2VkUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9jbG9zZWRcIjtcbmltcG9ydCBkcmFnRW50cnlJdGVtTWl4aW5zIGZyb20gXCIuL21peGlucy9kcmFnRW50cnlJdGVtXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2RpcmVjdG9yeU5hbWVcIjtcblxuaW1wb3J0IHsgc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbSB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwXCI7XG5pbXBvcnQgeyBESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgfSBmcm9tIFwiLi9lbnRyeVR5cGVzXCI7XG5cbmNsYXNzIFJ1YmJpc2hCaW4gZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSk7XG4gIH1cblxuICBkcmFnT3ZlckhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50LCAgLy8vXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQgPSB0aGlzLmlzRXhwbG9yZXJJZ25vcmVkKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcik7XG5cbiAgICBpZiAoZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKTtcblxuICAgIGxldCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtUGF0aCwgLy8vXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcjsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbDsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIGlmICgobWFya2VyRW50cnlJdGVtRXhwbG9yZXIgIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIpIHx8IChtYXJrZXJFbnRyeUl0ZW1QYXRoICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgpKSB7XG4gICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5hZGRNYXJrZXIobWFya2VyRW50cnlJdGVtUGF0aCwgZHJhZ0VudHJ5SXRlbVR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRXhwbG9yZXJJZ25vcmVkKGV4cGxvcmVyKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0gZXhwbG9yZXIuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXMgPSB0aGlzLmdldElnbm9yZWRSZWZlcmVuY2VzKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IGlnbm9yZWRSZWZlcmVuY2VzLmluY2x1ZGVzKHJlZmVyZW5jZSksXG4gICAgICAgICAgZXhwbG9yZXJJZ25vcmVkID0gaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZTtcdC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVySWdub3JlZDtcbiAgfVxuXG4gIGdldElnbm9yZWRSZWZlcmVuY2VzKCkge1xuICAgIGNvbnN0IHsgaWdub3JlZFJlZmVyZW5jZXMgPSBbXSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIGlnbm9yZWRSZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW0gfSA9IGdsb2JhbFRoaXM7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IG51bGw7XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0pLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGwsXG4gICAgICAgICAgcGF0aE1hcHMgPSBkcmFnRW50cnlJdGVtLmdldFBhdGhNYXBzKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSxcbiAgICAgICAgICBleHBsb3JlciA9IGRyYWdFbnRyeUl0ZW1FeHBsb3JlcjsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSkge1xuICAgIHRoaXMuY2FsbFJlbW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGV4cGxvcmVyLCAoKSA9PiB7XG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcilcbiAgICAgIH0pO1xuXG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcik7XG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnNob3dPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuaGlkZUNsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaGlkZU9wZW5SdWJiaXNoQmluU1ZHKCk7XG4gICAgdGhpcy5zaG93Q2xvc2VkUnViYmlzaEJpblNWRygpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvblJlbW92ZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIHJlbW92ZUhhbmRsZXIgPSBvblJlbW92ZTsgLy8vXG5cbiAgICB0aGlzLmVuYWJsZURyb3AoKTtcblxuICAgIHRoaXMub25Ecm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vbkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcblxuICAgIHJlbW92ZUhhbmRsZXIgJiYgdGhpcy5vblJlbW92ZShyZW1vdmVIYW5kbGVyKTtcblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgb25SZW1vdmUgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICByZW1vdmVIYW5kbGVyID0gb25SZW1vdmU7IC8vL1xuXG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZEcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICByZW1vdmVIYW5kbGVyICYmIHRoaXMub2ZmUmVtb3ZlKHJlbW92ZUhhbmRsZXIpO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtUGF0aCgpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbVBhdGggfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBtYXJrZXJFbnRyeUl0ZW1QYXRoO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIoKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyO1xuICB9XG5cbiAgc2V0TWFya2VyRW50cnlJdGVtUGF0aChtYXJrZXJFbnRyeUl0ZW1QYXRoKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoXG4gICAgfSk7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcihtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlcikge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXJcbiAgICB9KTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBPcGVuUnViYmlzaEJpblNWRywgQ2xvc2VkUnViYmlzaEJpblNWRyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8T3BlblJ1YmJpc2hCaW5TVkcvPixcbiAgICAgIDxDbG9zZWRSdWJiaXNoQmluU1ZHLz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbCxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG51bGw7XG5cbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgT3BlblJ1YmJpc2hCaW5TVkcgPSBPcGVuUnViYmlzaEJpblNWRztcblxuICBzdGF0aWMgQ2xvc2VkUnViYmlzaEJpblNWRyA9IENsb3NlZFJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJydWJiaXNoLWJpblwiXG4gIH07XG59XG5cbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIGRyb3BNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgcnViYmlzaEJpbk1peGlucyk7XG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcmFnRW50cnlJdGVtTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJ1YmJpc2hCaW4pYFxuICBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG5gO1xuIl0sIm5hbWVzIjpbIlJ1YmJpc2hCaW4iLCJkcm9wSGFuZGxlciIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImVsZW1lbnQiLCJkb25lIiwiZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtIiwiRHJhZ0VudHJ5SXRlbSIsImRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImRyYWdPdmVySGFuZGxlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQiLCJpc0V4cGxvcmVySWdub3JlZCIsIm1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRQYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsImFkZE1hcmtlciIsImV4cGxvcmVyIiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiaWdub3JlZFJlZmVyZW5jZXMiLCJnZXRJZ25vcmVkUmVmZXJlbmNlcyIsImlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UiLCJpbmNsdWRlcyIsImV4cGxvcmVySWdub3JlZCIsInByb3BlcnRpZXMiLCJnbG9iYWxUaGlzIiwibWFya2VyRW50cnlJdGVtTmFtZSIsImFkZE1hcmtlckVudHJ5SXRlbSIsIm9wZW4iLCJyZW1vdmVNYXJrZXJFbnRyeUl0ZW0iLCJjbG9zZSIsIm5hbWUiLCJ0eXBlIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIk9iamVjdCIsImFzc2lnbiIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0iLCJ0YXJnZXRFbnRyeVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbXMiLCJjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyIsImZvckVhY2giLCJwYXRoTWFwIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbSIsImFkZERyYWdFbnRyeUl0ZW0iLCJzaG93T3BlblJ1YmJpc2hCaW5TVkciLCJoaWRlQ2xvc2VkUnViYmlzaEJpblNWRyIsImhpZGVPcGVuUnViYmlzaEJpblNWRyIsInNob3dDbG9zZWRSdWJiaXNoQmluU1ZHIiwiZGlkTW91bnQiLCJvblJlbW92ZSIsInJlbW92ZUhhbmRsZXIiLCJlbmFibGVEcm9wIiwib25Ecm9wIiwib25EcmFnT3ZlciIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJvZmZEcm9wIiwib2ZmRHJhZ092ZXIiLCJvZmZSZW1vdmUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0U3RhdGUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsInNldE1hcmtlckVudHJ5SXRlbVBhdGgiLCJ1cGRhdGVTdGF0ZSIsInNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiY2hpbGRFbGVtZW50cyIsImNvbnN0cnVjdG9yIiwiT3BlblJ1YmJpc2hCaW5TVkciLCJDbG9zZWRSdWJiaXNoQmluU1ZHIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJzZXRTdGF0ZSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJydWJiaXNoQmluTWl4aW5zIiwiZHJhZ0VudHJ5SXRlbU1peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcVNBOzs7ZUFBQTs7O2tFQW5Tc0I7b0JBRUU7K0JBQ0c7eURBRUQ7K0RBQ0c7eURBQ0M7MkRBQ0U7a0VBQ0E7NkRBQ0k7a0VBQ0s7dUJBRUk7MEJBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFFLElBQUEsQUFBTUEsMkJBK1FILEFBL1FIO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztRQUNKQywrQ0FBQUEsZUFBYyxTQUFDQyxhQUFhQyxTQUFTQyxTQUFTQyxNQUFTO1lBQ3JELElBQU1DLDJCQUE0QkosQUFBVyxZQUFYQSxhQUF1QkssYUFBYTtZQUV0RSxJQUFJLENBQUNELDBCQUEwQjtnQkFDN0JEO2dCQUVBO1lBQ0Ys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
446
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWJiaXNoQmluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGRyb3BNaXhpbnMgfSBmcm9tIFwiZWFzeS1kcmFnLWFuZC1kcm9wXCI7XG5cbmltcG9ydCBEcmFnRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvZHJhZ1wiO1xuaW1wb3J0IHJ1YmJpc2hCaW5NaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3J1YmJpc2hCaW5cIjtcbmltcG9ydCBPcGVuUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9vcGVuXCI7XG5pbXBvcnQgQ2xvc2VkUnViYmlzaEJpblNWRyBmcm9tIFwiLi9zdmcvcnViYmlzaEJpbi9jbG9zZWRcIjtcbmltcG9ydCBkcmFnRW50cnlJdGVtTWl4aW5zIGZyb20gXCIuL21peGlucy9kcmFnRW50cnlJdGVtXCI7XG5pbXBvcnQgRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gZnJvbSBcIi4vaXRlbS9lbnRyeS9tYXJrZXIvZmlsZU5hbWVcIjtcbmltcG9ydCBEaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIGZyb20gXCIuL2l0ZW0vZW50cnkvbWFya2VyL2RpcmVjdG9yeU5hbWVcIjtcblxuaW1wb3J0IHsgc291cmNlRW50cnlQYXRoRnJvbUVudHJ5SXRlbSB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoTWFwXCI7XG5pbXBvcnQgeyBESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUsIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgfSBmcm9tIFwiLi9lbnRyeVR5cGVzXCI7XG5cbmNsYXNzIFJ1YmJpc2hCaW4gZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkcmFnRW50cnlJdGVtID0gZHJhZ0VsZW1lbnQsICAvLy9cbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSB0aGlzLnJldHJpZXZlTWFya2VyRW50cnlJdGVtKCksXG4gICAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKTtcblxuICAgIGlmIChhYm9ydGVkKSB7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5yZW1vdmVNYXJrZXIoKTtcblxuICAgICAgZG9uZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIuZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSk7XG4gIH1cblxuICBkcmFnT3ZlckhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkcmFnRWxlbWVudERyYWdFbnRyeUl0ZW0gPSAoZHJhZ0VsZW1lbnQgaW5zdGFuY2VvZiBEcmFnRW50cnlJdGVtKTtcblxuICAgIGlmICghZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ0VudHJ5SXRlbSA9IGRyYWdFbGVtZW50LCAgLy8vXG4gICAgICAgICAgZHJhZ0VudHJ5SXRlbUV4cGxvcmVyID0gZHJhZ0VudHJ5SXRlbS5nZXRFeHBsb3JlcigpLFxuICAgICAgICAgIGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQgPSB0aGlzLmlzRXhwbG9yZXJJZ25vcmVkKGRyYWdFbnRyeUl0ZW1FeHBsb3Jlcik7XG5cbiAgICBpZiAoZHJhZ0VudHJ5SXRlbUV4cGxvcmVySWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IHRoaXMucmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKTtcblxuICAgIGxldCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtLmdldFBhdGgoKSxcbiAgICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgcHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoID0gbWFya2VyRW50cnlJdGVtUGF0aCwgLy8vXG4gICAgICAgIHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIgPSBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcjsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbDsgLy8vXG5cbiAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IHRoaXM7ICAvLy9cblxuICAgIGlmICgobWFya2VyRW50cnlJdGVtRXhwbG9yZXIgIT09IHByZXZpb3VzTWFya2VyRW50cnlJdGVtRXhwbG9yZXIpIHx8IChtYXJrZXJFbnRyeUl0ZW1QYXRoICE9PSBwcmV2aW91c01hcmtlckVudHJ5SXRlbVBhdGgpKSB7XG4gICAgICBjb25zdCBkcmFnRW50cnlJdGVtVHlwZSA9IGRyYWdFbnRyeUl0ZW0uZ2V0VHlwZSgpO1xuXG4gICAgICBwcmV2aW91c01hcmtlckVudHJ5SXRlbUV4cGxvcmVyLnJlbW92ZU1hcmtlcigpO1xuXG4gICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlci5hZGRNYXJrZXIobWFya2VyRW50cnlJdGVtUGF0aCwgZHJhZ0VudHJ5SXRlbVR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzRXhwbG9yZXJJZ25vcmVkKGV4cGxvcmVyKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0gZXhwbG9yZXIuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXMgPSB0aGlzLmdldElnbm9yZWRSZWZlcmVuY2VzKCksXG4gICAgICAgICAgaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IGlnbm9yZWRSZWZlcmVuY2VzLmluY2x1ZGVzKHJlZmVyZW5jZSksXG4gICAgICAgICAgZXhwbG9yZXJJZ25vcmVkID0gaWdub3JlZFJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZTtcdC8vL1xuXG4gICAgcmV0dXJuIGV4cGxvcmVySWdub3JlZDtcbiAgfVxuXG4gIGdldElnbm9yZWRSZWZlcmVuY2VzKCkge1xuICAgIGNvbnN0IHsgaWdub3JlZFJlZmVyZW5jZXMgPSBbXSB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIGlnbm9yZWRSZWZlcmVuY2VzO1xuICB9XG5cbiAgcmV0cmlldmVNYXJrZXJFbnRyeUl0ZW0oKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW0gfSA9IGdsb2JhbFRoaXM7XG5cbiAgICByZXR1cm4gbWFya2VyRW50cnlJdGVtO1xuICB9XG5cbiAgYWRkTWFya2VyKG1hcmtlckVudHJ5SXRlbVBhdGgsIGRyYWdFbnRyeUl0ZW1UeXBlKSB7XG4gICAgY29uc3QgbWFya2VyRW50cnlJdGVtTmFtZSA9IG1hcmtlckVudHJ5SXRlbVBhdGg7ICAvLy9cblxuICAgIHRoaXMuYWRkTWFya2VyRW50cnlJdGVtKG1hcmtlckVudHJ5SXRlbU5hbWUsIGRyYWdFbnRyeUl0ZW1UeXBlKTtcblxuICAgIHRoaXMub3BlbigpO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyKCkge1xuICAgIHRoaXMucmVtb3ZlTWFya2VyRW50cnlJdGVtKCk7XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBhZGRNYXJrZXJFbnRyeUl0ZW0obWFya2VyRW50cnlJdGVtTmFtZSwgZHJhZ0VudHJ5SXRlbVR5cGUpIHtcbiAgICBsZXQgbWFya2VyRW50cnlJdGVtO1xuXG4gICAgY29uc3QgbmFtZSA9IG1hcmtlckVudHJ5SXRlbU5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSBkcmFnRW50cnlJdGVtVHlwZTsgIC8vL1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZJTEVfTkFNRV9EUkFHX0VOVFJZX1RZUEUgOiB7XG4gICAgICAgIGNvbnN0IGV4cGxvcmVyID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbSA9XG5cbiAgICAgICAgICAgICAgICA8RmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBmaWxlTmFtZU1hcmtlckVudHJ5SXRlbTsgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIERJUkVDVE9SWV9OQU1FX0RSQUdfRU5UUllfVFlQRSA6IHtcbiAgICAgICAgY29uc3QgZXhwbG9yZXIgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGRpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gPVxuXG4gICAgICAgICAgICAgICAgPERpcmVjdG9yeU5hbWVNYXJrZXJFbnRyeUl0ZW0gbmFtZT17bmFtZX0gZXhwbG9yZXI9e2V4cGxvcmVyfSAvPlxuXG4gICAgICAgICAgICAgIDtcblxuICAgICAgICBtYXJrZXJFbnRyeUl0ZW0gPSBkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlTWFya2VyRW50cnlJdGVtKCkge1xuICAgIGNvbnN0IG1hcmtlckVudHJ5SXRlbSA9IG51bGw7XG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIG1hcmtlckVudHJ5SXRlbVxuICAgIH0pO1xuICB9XG5cbiAgZHJvcERyYWdFbnRyeUl0ZW0oZHJhZ0VudHJ5SXRlbSwgZG9uZSkge1xuICAgIGNvbnN0IGRyYWdFbnRyeUl0ZW1FeHBsb3JlciA9IGRyYWdFbnRyeUl0ZW0uZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBzb3VyY2VFbnRyeVBhdGggPSBzb3VyY2VFbnRyeVBhdGhGcm9tRW50cnlJdGVtKGRyYWdFbnRyeUl0ZW0pLFxuICAgICAgICAgIHRhcmdldEVudHJ5UGF0aCA9IG51bGwsXG4gICAgICAgICAgcGF0aE1hcHMgPSBkcmFnRW50cnlJdGVtLmdldFBhdGhNYXBzKHNvdXJjZUVudHJ5UGF0aCwgdGFyZ2V0RW50cnlQYXRoKSxcbiAgICAgICAgICBleHBsb3JlciA9IGRyYWdFbnRyeUl0ZW1FeHBsb3JlcjsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVEcmFnRW50cnlJdGVtcyhwYXRoTWFwcywgZXhwbG9yZXIsICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlTWFya2VyKCk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZURyYWdFbnRyeUl0ZW1zKHBhdGhNYXBzLCBleHBsb3JlciwgZG9uZSkge1xuICAgIHRoaXMuY2FsbFJlbW92ZUhhbmRsZXJzQXN5bmMocGF0aE1hcHMsIGV4cGxvcmVyLCAoKSA9PiB7XG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3JlcilcbiAgICAgIH0pO1xuXG4gICAgICBwYXRoTWFwcy5mb3JFYWNoKChwYXRoTWFwKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkRHJhZ0VudHJ5SXRlbShwYXRoTWFwLCBleHBsb3Jlcik7XG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnNob3dPcGVuUnViYmlzaEJpblNWRygpO1xuICAgIHRoaXMuaGlkZUNsb3NlZFJ1YmJpc2hCaW5TVkcoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaGlkZU9wZW5SdWJiaXNoQmluU1ZHKCk7XG4gICAgdGhpcy5zaG93Q2xvc2VkUnViYmlzaEJpblNWRygpO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBvblJlbW92ZSB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgIHJlbW92ZUhhbmRsZXIgPSBvblJlbW92ZTsgLy8vXG5cbiAgICB0aGlzLmVuYWJsZURyb3AoKTtcblxuICAgIHRoaXMub25Ecm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vbkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcblxuICAgIHJlbW92ZUhhbmRsZXIgJiYgdGhpcy5vblJlbW92ZShyZW1vdmVIYW5kbGVyKTtcblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIGNvbnN0IHsgb25SZW1vdmUgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICByZW1vdmVIYW5kbGVyID0gb25SZW1vdmU7IC8vL1xuXG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuXG4gICAgdGhpcy5vZmZEcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG5cbiAgICByZW1vdmVIYW5kbGVyICYmIHRoaXMub2ZmUmVtb3ZlKHJlbW92ZUhhbmRsZXIpO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtUGF0aCgpIHtcbiAgICBjb25zdCB7IG1hcmtlckVudHJ5SXRlbVBhdGggfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICAgIHJldHVybiBtYXJrZXJFbnRyeUl0ZW1QYXRoO1xuICB9XG5cbiAgZ2V0TWFya2VyRW50cnlJdGVtRXhwbG9yZXIoKSB7XG4gICAgY29uc3QgeyBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgcmV0dXJuIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyO1xuICB9XG5cbiAgc2V0TWFya2VyRW50cnlJdGVtUGF0aChtYXJrZXJFbnRyeUl0ZW1QYXRoKSB7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICBtYXJrZXJFbnRyeUl0ZW1QYXRoXG4gICAgfSk7XG4gIH1cblxuICBzZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlcihtYXJrZXJFbnRyeUl0ZW1FeHBsb3Jlcikge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtRXhwbG9yZXJcbiAgICB9KTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgY29uc3QgeyBPcGVuUnViYmlzaEJpblNWRywgQ2xvc2VkUnViYmlzaEJpblNWRyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiAoW1xuXG4gICAgICA8T3BlblJ1YmJpc2hCaW5TVkcvPixcbiAgICAgIDxDbG9zZWRSdWJiaXNoQmluU1ZHLz5cblxuICAgIF0pO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICBjb25zdCBtYXJrZXJFbnRyeUl0ZW1QYXRoID0gbnVsbCxcbiAgICAgICAgICBtYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciA9IG51bGw7XG5cbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbWFya2VyRW50cnlJdGVtUGF0aCxcbiAgICAgIG1hcmtlckVudHJ5SXRlbUV4cGxvcmVyXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgT3BlblJ1YmJpc2hCaW5TVkcgPSBPcGVuUnViYmlzaEJpblNWRztcblxuICBzdGF0aWMgQ2xvc2VkUnViYmlzaEJpblNWRyA9IENsb3NlZFJ1YmJpc2hCaW5TVkc7XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBpZ25vcmVkUHJvcGVydGllcyA9IFtcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJpZ25vcmVkUmVmZXJlbmNlc1wiXG4gIF07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJydWJiaXNoLWJpblwiXG4gIH07XG59XG5cbk9iamVjdC5hc3NpZ24oUnViYmlzaEJpbi5wcm90b3R5cGUsIGRyb3BNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihSdWJiaXNoQmluLnByb3RvdHlwZSwgcnViYmlzaEJpbk1peGlucyk7XG5PYmplY3QuYXNzaWduKFJ1YmJpc2hCaW4ucHJvdG90eXBlLCBkcmFnRW50cnlJdGVtTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJ1YmJpc2hCaW4pYFxuICBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgXG5gO1xuIl0sIm5hbWVzIjpbIlJ1YmJpc2hCaW4iLCJkcm9wSGFuZGxlciIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImVsZW1lbnQiLCJkb25lIiwiZHJhZ0VsZW1lbnREcmFnRW50cnlJdGVtIiwiRHJhZ0VudHJ5SXRlbSIsImRyYWdFbnRyeUl0ZW0iLCJtYXJrZXJFbnRyeUl0ZW0iLCJyZXRyaWV2ZU1hcmtlckVudHJ5SXRlbSIsIm1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiZ2V0RXhwbG9yZXIiLCJyZW1vdmVNYXJrZXIiLCJkcm9wRHJhZ0VudHJ5SXRlbSIsImRyYWdPdmVySGFuZGxlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1FeHBsb3Jlcklnbm9yZWQiLCJpc0V4cGxvcmVySWdub3JlZCIsIm1hcmtlckVudHJ5SXRlbVBhdGgiLCJnZXRQYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1QYXRoIiwicHJldmlvdXNNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsImRyYWdFbnRyeUl0ZW1UeXBlIiwiZ2V0VHlwZSIsImFkZE1hcmtlciIsImV4cGxvcmVyIiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiaWdub3JlZFJlZmVyZW5jZXMiLCJnZXRJZ25vcmVkUmVmZXJlbmNlcyIsImlnbm9yZWRSZWZlcmVuY2VzSW5jbHVkZXNSZWZlcmVuY2UiLCJpbmNsdWRlcyIsImV4cGxvcmVySWdub3JlZCIsInByb3BlcnRpZXMiLCJnbG9iYWxUaGlzIiwibWFya2VyRW50cnlJdGVtTmFtZSIsImFkZE1hcmtlckVudHJ5SXRlbSIsIm9wZW4iLCJyZW1vdmVNYXJrZXJFbnRyeUl0ZW0iLCJjbG9zZSIsIm5hbWUiLCJ0eXBlIiwiRklMRV9OQU1FX0RSQUdfRU5UUllfVFlQRSIsImZpbGVOYW1lTWFya2VyRW50cnlJdGVtIiwiRmlsZU5hbWVNYXJrZXJFbnRyeUl0ZW0iLCJESVJFQ1RPUllfTkFNRV9EUkFHX0VOVFJZX1RZUEUiLCJkaXJlY3RvcnlOYW1lTWFya2VyRW50cnlJdGVtIiwiRGlyZWN0b3J5TmFtZU1hcmtlckVudHJ5SXRlbSIsIk9iamVjdCIsImFzc2lnbiIsInNvdXJjZUVudHJ5UGF0aCIsInNvdXJjZUVudHJ5UGF0aEZyb21FbnRyeUl0ZW0iLCJ0YXJnZXRFbnRyeVBhdGgiLCJwYXRoTWFwcyIsImdldFBhdGhNYXBzIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbXMiLCJjYWxsUmVtb3ZlSGFuZGxlcnNBc3luYyIsImZvckVhY2giLCJwYXRoTWFwIiwicmVtb3ZlRHJhZ0VudHJ5SXRlbSIsImFkZERyYWdFbnRyeUl0ZW0iLCJzaG93T3BlblJ1YmJpc2hCaW5TVkciLCJoaWRlQ2xvc2VkUnViYmlzaEJpblNWRyIsImhpZGVPcGVuUnViYmlzaEJpblNWRyIsInNob3dDbG9zZWRSdWJiaXNoQmluU1ZHIiwiZGlkTW91bnQiLCJvblJlbW92ZSIsInJlbW92ZUhhbmRsZXIiLCJlbmFibGVEcm9wIiwib25Ecm9wIiwib25EcmFnT3ZlciIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJvZmZEcm9wIiwib2ZmRHJhZ092ZXIiLCJvZmZSZW1vdmUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1QYXRoIiwiZ2V0U3RhdGUiLCJnZXRNYXJrZXJFbnRyeUl0ZW1FeHBsb3JlciIsInNldE1hcmtlckVudHJ5SXRlbVBhdGgiLCJ1cGRhdGVTdGF0ZSIsInNldE1hcmtlckVudHJ5SXRlbUV4cGxvcmVyIiwiY2hpbGRFbGVtZW50cyIsImNvbnN0cnVjdG9yIiwiT3BlblJ1YmJpc2hCaW5TVkciLCJDbG9zZWRSdWJiaXNoQmluU1ZHIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJzZXRTdGF0ZSIsIkVsZW1lbnQiLCJ0YWdOYW1lIiwiaWdub3JlZFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInByb3RvdHlwZSIsImRyb3BNaXhpbnMiLCJydWJiaXNoQmluTWl4aW5zIiwiZHJhZ0VudHJ5SXRlbU1peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcVNBOzs7ZUFBQTs7O29FQW5Tc0I7b0JBRUU7K0JBQ0c7MkRBRUQ7aUVBQ0c7MkRBQ0M7NkRBQ0U7b0VBQ0E7K0RBQ0k7b0VBQ0s7dUJBRUk7MEJBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRSxJQUFBLEFBQU1BLDJCQStRSCxBQS9RSDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7UUFDSkMsa0RBQUFBLGVBQWMsU0FBQ0MsYUFBYUMsU0FBU0MsU0FBU0MsTUFBUztZQUNyRCxJQUFNQywyQkFBNEJKLEFBQVcsWUFBWEEsYUFBdUJLLGFBQWE7WUFFdEUsSUFBSSxDQUFDRCwwQkFBMEI7Z0JBQzdCRDtnQkFFQTtZQUNGLENBQUM7WUFFRCxJ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
package/lib/span/name.js CHANGED
@@ -8,45 +8,34 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _easyWithStyle = /*#__PURE__*/ _interopRequireDefault(require("easy-with-style"));
11
+ var _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
12
  var _necessary = require("necessary");
13
- var _nameSpan = /*#__PURE__*/ _interopRequireDefault(require("../mixins/nameSpan"));
13
+ var _nameSpan = /*#__PURE__*/ _interop_require_default(require("../mixins/nameSpan"));
14
14
  var _constants = require("../constants");
15
15
  var _easy = require("easy");
16
- function _assertThisInitialized(self) {
16
+ function _assert_this_initialized(self) {
17
17
  if (self === void 0) {
18
18
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
19
19
  }
20
20
  return self;
21
21
  }
22
- function _classCallCheck(instance, Constructor) {
22
+ function _class_call_check(instance, Constructor) {
23
23
  if (!(instance instanceof Constructor)) {
24
24
  throw new TypeError("Cannot call a class as a function");
25
25
  }
26
26
  }
27
- function isNativeReflectConstruct() {
28
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
29
- if (Reflect.construct.sham) return false;
30
- if (typeof Proxy === "function") return true;
31
- try {
32
- Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));
33
- return true;
34
- } catch (e) {
35
- return false;
36
- }
37
- }
38
27
  function _construct(Parent, args, Class) {
39
- if (isNativeReflectConstruct()) {
28
+ if (_is_native_reflect_construct()) {
40
29
  _construct = Reflect.construct;
41
30
  } else {
42
- _construct = function _construct(Parent, args, Class) {
31
+ _construct = function construct(Parent, args, Class) {
43
32
  var a = [
44
33
  null
45
34
  ];
46
35
  a.push.apply(a, args);
47
36
  var Constructor = Function.bind.apply(Parent, a);
48
37
  var instance = new Constructor();
49
- if (Class) _setPrototypeOf(instance, Class.prototype);
38
+ if (Class) _set_prototype_of(instance, Class.prototype);
50
39
  return instance;
51
40
  };
52
41
  }
@@ -61,12 +50,12 @@ function _defineProperties(target, props) {
61
50
  Object.defineProperty(target, descriptor.key, descriptor);
62
51
  }
63
52
  }
64
- function _createClass(Constructor, protoProps, staticProps) {
53
+ function _create_class(Constructor, protoProps, staticProps) {
65
54
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
66
55
  if (staticProps) _defineProperties(Constructor, staticProps);
67
56
  return Constructor;
68
57
  }
69
- function _defineProperty(obj, key, value) {
58
+ function _define_property(obj, key, value) {
70
59
  if (key in obj) {
71
60
  Object.defineProperty(obj, key, {
72
61
  value: value,
@@ -79,11 +68,11 @@ function _defineProperty(obj, key, value) {
79
68
  }
80
69
  return obj;
81
70
  }
82
- function _getPrototypeOf(o) {
83
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
71
+ function _get_prototype_of(o) {
72
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
84
73
  return o.__proto__ || Object.getPrototypeOf(o);
85
74
  };
86
- return _getPrototypeOf(o);
75
+ return _get_prototype_of(o);
87
76
  }
88
77
  function _inherits(subClass, superClass) {
89
78
  if (typeof superClass !== "function" && superClass !== null) {
@@ -96,30 +85,30 @@ function _inherits(subClass, superClass) {
96
85
  configurable: true
97
86
  }
98
87
  });
99
- if (superClass) _setPrototypeOf(subClass, superClass);
88
+ if (superClass) _set_prototype_of(subClass, superClass);
100
89
  }
101
- function _interopRequireDefault(obj) {
90
+ function _interop_require_default(obj) {
102
91
  return obj && obj.__esModule ? obj : {
103
92
  default: obj
104
93
  };
105
94
  }
106
- function _isNativeFunction(fn) {
95
+ function _is_native_function(fn) {
107
96
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
108
97
  }
109
- function _possibleConstructorReturn(self, call) {
110
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
98
+ function _possible_constructor_return(self, call) {
99
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
111
100
  return call;
112
101
  }
113
- return _assertThisInitialized(self);
102
+ return _assert_this_initialized(self);
114
103
  }
115
- function _setPrototypeOf(o, p) {
116
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
104
+ function _set_prototype_of(o, p) {
105
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
117
106
  o.__proto__ = p;
118
107
  return o;
119
108
  };
120
- return _setPrototypeOf(o, p);
109
+ return _set_prototype_of(o, p);
121
110
  }
122
- function _taggedTemplateLiteral(strings, raw) {
111
+ function _tagged_template_literal(strings, raw) {
123
112
  if (!raw) {
124
113
  raw = strings.slice(0);
125
114
  }
@@ -129,14 +118,14 @@ function _taggedTemplateLiteral(strings, raw) {
129
118
  }
130
119
  }));
131
120
  }
132
- var _typeof = function(obj) {
121
+ function _type_of(obj) {
133
122
  "@swc/helpers - typeof";
134
123
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
135
- };
136
- function _wrapNativeSuper(Class) {
124
+ }
125
+ function _wrap_native_super(Class) {
137
126
  var _cache = typeof Map === "function" ? new Map() : undefined;
138
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
139
- if (Class === null || !_isNativeFunction(Class)) return Class;
127
+ _wrap_native_super = function wrapNativeSuper(Class) {
128
+ if (Class === null || !_is_native_function(Class)) return Class;
140
129
  if (typeof Class !== "function") {
141
130
  throw new TypeError("Super expression must either be null or a function");
142
131
  }
@@ -145,7 +134,7 @@ function _wrapNativeSuper(Class) {
145
134
  _cache.set(Class, Wrapper);
146
135
  }
147
136
  function Wrapper() {
148
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
137
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
149
138
  }
150
139
  Wrapper.prototype = Object.create(Class.prototype, {
151
140
  constructor: {
@@ -155,11 +144,11 @@ function _wrapNativeSuper(Class) {
155
144
  configurable: true
156
145
  }
157
146
  });
158
- return _setPrototypeOf(Wrapper, Class);
147
+ return _set_prototype_of(Wrapper, Class);
159
148
  };
160
- return _wrapNativeSuper(Class);
149
+ return _wrap_native_super(Class);
161
150
  }
162
- function _isNativeReflectConstruct() {
151
+ function _is_native_reflect_construct() {
163
152
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
164
153
  if (Reflect.construct.sham) return false;
165
154
  if (typeof Proxy === "function") return true;
@@ -170,21 +159,21 @@ function _isNativeReflectConstruct() {
170
159
  return false;
171
160
  }
172
161
  }
173
- function _createSuper(Derived) {
174
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
162
+ function _create_super(Derived) {
163
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
175
164
  return function _createSuperInternal() {
176
- var Super = _getPrototypeOf(Derived), result;
165
+ var Super = _get_prototype_of(Derived), result;
177
166
  if (hasNativeReflectConstruct) {
178
- var NewTarget = _getPrototypeOf(this).constructor;
167
+ var NewTarget = _get_prototype_of(this).constructor;
179
168
  result = Reflect.construct(Super, arguments, NewTarget);
180
169
  } else {
181
170
  result = Super.apply(this, arguments);
182
171
  }
183
- return _possibleConstructorReturn(this, result);
172
+ return _possible_constructor_return(this, result);
184
173
  };
185
174
  }
186
175
  function _templateObject() {
187
- var data = _taggedTemplateLiteral([
176
+ var data = _tagged_template_literal([
188
177
  "\n\n border: none;\n display: inline-block;\n font-size: inherit;\n text-align: left;\n background: transparent;\n font-weight: inherit;\n font-family: inherit;\n\n [contentEditable] {\n border: 1px solid black;\n padding: 4px;\n }\n \n"
189
178
  ]);
190
179
  _templateObject = function _templateObject() {
@@ -195,12 +184,12 @@ function _templateObject() {
195
184
  var first = _necessary.arrayUtilities.first, ENTER_KEY_CODE = _necessary.keyCodes.ENTER_KEY_CODE, ESCAPE_KEY_CODE = _necessary.keyCodes.ESCAPE_KEY_CODE;
196
185
  var NameSpan = /*#__PURE__*/ function(Element) {
197
186
  _inherits(NameSpan, Element);
198
- var _super = _createSuper(NameSpan);
187
+ var _super = _create_super(NameSpan);
199
188
  function NameSpan() {
200
- _classCallCheck(this, NameSpan);
189
+ _class_call_check(this, NameSpan);
201
190
  var _this;
202
191
  _this = _super.apply(this, arguments);
203
- _defineProperty(_assertThisInitialized(_this), "keyDownHandler", function(event, element) {
192
+ _define_property(_assert_this_initialized(_this), "keyDownHandler", function(event, element) {
204
193
  var keyCode = event.keyCode;
205
194
  if (keyCode === ENTER_KEY_CODE) {
206
195
  _this.callChangeHandlers();
@@ -213,7 +202,7 @@ var NameSpan = /*#__PURE__*/ function(Element) {
213
202
  });
214
203
  return _this;
215
204
  }
216
- _createClass(NameSpan, [
205
+ _create_class(NameSpan, [
217
206
  {
218
207
  key: "isEditable",
219
208
  value: function isEditable() {
@@ -274,13 +263,13 @@ var NameSpan = /*#__PURE__*/ function(Element) {
274
263
  }
275
264
  ]);
276
265
  return NameSpan;
277
- }(_wrapNativeSuper(_easy.Element));
278
- _defineProperty(NameSpan, "tagName", "span") ///
266
+ }(_wrap_native_super(_easy.Element));
267
+ _define_property(NameSpan, "tagName", "span") ///
279
268
  ;
280
- _defineProperty(NameSpan, "defaultProperties", {
269
+ _define_property(NameSpan, "defaultProperties", {
281
270
  className: "name"
282
271
  });
283
272
  Object.assign(NameSpan.prototype, _nameSpan.default);
284
- var _default = (0, _easyWithStyle.default)(NameSpan)(_templateObject());
273
+ var _default = (0, _easywithstyle.default)(NameSpan)(_templateObject());
285
274
 
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGFuL25hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IGtleUNvZGVzLCBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IG5hbWVTcGFuTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbmFtZVNwYW5cIjtcblxuaW1wb3J0IHsgVFJVRSwgQ09OVEVOVF9FRElUQUJMRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVsZW1lbnQsIHdpbmRvdywgZG9jdW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgRU5URVJfS0VZX0NPREUsIEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXM7XG5cbmNsYXNzIE5hbWVTcGFuIGV4dGVuZHMgRWxlbWVudCB7XG4gIGtleURvd25IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudDtcblxuICAgIGlmIChrZXlDb2RlID09PSBFTlRFUl9LRVlfQ09ERSkge1xuICAgICAgdGhpcy5jYWxsQ2hhbmdlSGFuZGxlcnMoKTtcblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSB7XG4gICAgICB0aGlzLmNhbGxDYW5jZWxIYW5kbGVycygpO1xuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRWRpdGFibGUoKSB7XG4gICAgY29uc3QgY29udGVudEVkaXRhYmxlID0gdGhpcy5oYXNBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSksXG4gICAgICAgICAgZWRpdGFibGUgPSBjb250ZW50RWRpdGFibGU7IC8vL1xuXG4gICAgcmV0dXJuIGVkaXRhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgbmFtZSA9IGh0bWw7ICAvLy9cblxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHRleHROb2RlLm5vZGVWYWx1ZSA9IG5hbWU7ICAvLy9cbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgdGhpcy5mb2N1cygpO1xuXG4gICAgdGhpcy5hZGRBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG5cbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLFxuICAgICAgICAgIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXG4gICAgICAgICAgaHRtbExlbmd0aCA9IGh0bWwubGVuZ3RoLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHJhbmdlLnNldFN0YXJ0KHRleHROb2RlLCBodG1sTGVuZ3RoKTtcblxuICAgIHJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgaHRtbExlbmd0aCk7XG5cbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuXG4gICAgdGhpcy5vbktleURvd24odGhpcy5rZXlEb3duSGFuZGxlcik7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vZmZLZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuXG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG4gIH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGVkaXROYW1lU3BhbiA9IHRoaXMuZWRpdC5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBjYW5jZWxOYW1lU3BhbiA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGdldE5hbWVTcGFuTmFtZSA9IHRoaXMuZ2V0TmFtZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBzZXROYW1lU3Bhbk5hbWUgPSB0aGlzLnNldE5hbWUuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNhbmNlbCA9IHRoaXMub25DYW5jZWwuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb2ZmTmFtZVNwYW5DaGFuZ2UgPSB0aGlzLm9mZkNoYW5nZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBvZmZOYW1lU3BhbkNhbmNlbCA9IHRoaXMub2ZmQ2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGlzTmFtZVNwYW5FZGl0YWJsZSA9IHRoaXMuaXNFZGl0YWJsZS5iaW5kKHRoaXMpOyAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZWRpdE5hbWVTcGFuLFxuICAgICAgY2FuY2VsTmFtZVNwYW4sXG4gICAgICBnZXROYW1lU3Bhbk5hbWUsXG4gICAgICBzZXROYW1lU3Bhbk5hbWUsXG4gICAgICBvbk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb25OYW1lU3BhbkNhbmNlbCxcbiAgICAgIG9mZk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb2ZmTmFtZVNwYW5DYW5jZWwsXG4gICAgICBpc05hbWVTcGFuRWRpdGFibGVcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJzcGFuXCI7ICAvLy9cblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcIm5hbWVcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKE5hbWVTcGFuLnByb3RvdHlwZSwgbmFtZVNwYW5NaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoTmFtZVNwYW4pYFxuXG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgW2NvbnRlbnRFZGl0YWJsZV0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIkVOVEVSX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJFU0NBUEVfS0VZX0NPREUiLCJOYW1lU3BhbiIsImtleURvd25IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50Iiwia2V5Q29kZSIsImNhbGxDaGFuZ2VIYW5kbGVycyIsInByZXZlbnREZWZhdWx0IiwiY2FsbENhbmNlbEhhbmRsZXJzIiwiaXNFZGl0YWJsZSIsImNvbnRlbnRFZGl0YWJsZSIsImhhc0F0dHJpYnV0ZSIsIkNPTlRFTlRfRURJVEFCTEUiLCJlZGl0YWJsZSIsImdldE5hbWUiLCJodG1sIiwibmFtZSIsInNldE5hbWUiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImNoaWxkTm9kZXMiLCJmaXJzdENoaWxkTm9kZSIsInRleHROb2RlIiwibm9kZVZhbHVlIiwiZWRpdCIsImZvY3VzIiwiYWRkQXR0cmlidXRlIiwiVFJVRSIsInJhbmdlIiwiZG9jdW1lbnQiLCJjcmVhdGVSYW5nZSIsInNlbGVjdGlvbiIsIndpbmRvdyIsImdldFNlbGVjdGlvbiIsImh0bWxMZW5ndGgiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwib25LZXlEb3duIiwiY2FuY2VsIiwib2ZmS2V5RG93biIsInJlbW92ZUF0dHJpYnV0ZSIsInBhcmVudENvbnRleHQiLCJlZGl0TmFtZVNwYW4iLCJiaW5kIiwiY2FuY2VsTmFtZVNwYW4iLCJnZXROYW1lU3Bhbk5hbWUiLCJzZXROYW1lU3Bhbk5hbWUiLCJvbk5hbWVTcGFuQ2hhbmdlIiwib25DaGFuZ2UiLCJvbk5hbWVTcGFuQ2FuY2VsIiwib25DYW5jZWwiLCJvZmZOYW1lU3BhbkNoYW5nZSIsIm9mZkNoYW5nZSIsIm9mZk5hbWVTcGFuQ2FuY2VsIiwib2ZmQ2FuY2VsIiwiaXNOYW1lU3BhbkVkaXRhYmxlIiwiRWxlbWVudCIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsIm5hbWVTcGFuTWl4aW5zIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzSEE7OztlQUFBOzs7a0VBcEhzQjt5QkFFbUI7NkRBRWQ7eUJBRVk7b0JBQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcGFuL25hbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IGtleUNvZGVzLCBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IG5hbWVTcGFuTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbmFtZVNwYW5cIjtcblxuaW1wb3J0IHsgVFJVRSwgQ09OVEVOVF9FRElUQUJMRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVsZW1lbnQsIHdpbmRvdywgZG9jdW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgRU5URVJfS0VZX0NPREUsIEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXM7XG5cbmNsYXNzIE5hbWVTcGFuIGV4dGVuZHMgRWxlbWVudCB7XG4gIGtleURvd25IYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudDtcblxuICAgIGlmIChrZXlDb2RlID09PSBFTlRFUl9LRVlfQ09ERSkge1xuICAgICAgdGhpcy5jYWxsQ2hhbmdlSGFuZGxlcnMoKTtcblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSB7XG4gICAgICB0aGlzLmNhbGxDYW5jZWxIYW5kbGVycygpO1xuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzRWRpdGFibGUoKSB7XG4gICAgY29uc3QgY29udGVudEVkaXRhYmxlID0gdGhpcy5oYXNBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSksXG4gICAgICAgICAgZWRpdGFibGUgPSBjb250ZW50RWRpdGFibGU7IC8vL1xuXG4gICAgcmV0dXJuIGVkaXRhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgbmFtZSA9IGh0bWw7ICAvLy9cblxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHRleHROb2RlLm5vZGVWYWx1ZSA9IG5hbWU7ICAvLy9cbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgdGhpcy5mb2N1cygpO1xuXG4gICAgdGhpcy5hZGRBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG5cbiAgICBjb25zdCBodG1sID0gdGhpcy5odG1sKCksXG4gICAgICAgICAgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLFxuICAgICAgICAgIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXG4gICAgICAgICAgaHRtbExlbmd0aCA9IGh0bWwubGVuZ3RoLFxuICAgICAgICAgIHsgY2hpbGROb2RlcyB9ID0gZG9tRWxlbWVudCxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZSA9IGZpcnN0KGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHRleHROb2RlID0gZmlyc3RDaGlsZE5vZGU7ICAvLy9cblxuICAgIHJhbmdlLnNldFN0YXJ0KHRleHROb2RlLCBodG1sTGVuZ3RoKTtcblxuICAgIHJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgaHRtbExlbmd0aCk7XG5cbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuXG4gICAgdGhpcy5vbktleURvd24odGhpcy5rZXlEb3duSGFuZGxlcik7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5vZmZLZXlEb3duKHRoaXMua2V5RG93bkhhbmRsZXIpO1xuXG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQ09OVEVOVF9FRElUQUJMRSwgVFJVRSk7XG4gIH1cblxuICBwYXJlbnRDb250ZXh0KCkge1xuICAgIGNvbnN0IGVkaXROYW1lU3BhbiA9IHRoaXMuZWRpdC5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBjYW5jZWxOYW1lU3BhbiA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGdldE5hbWVTcGFuTmFtZSA9IHRoaXMuZ2V0TmFtZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBzZXROYW1lU3Bhbk5hbWUgPSB0aGlzLnNldE5hbWUuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNoYW5nZSA9IHRoaXMub25DaGFuZ2UuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb25OYW1lU3BhbkNhbmNlbCA9IHRoaXMub25DYW5jZWwuYmluZCh0aGlzKSwgLy8vXG4gICAgICAgICAgb2ZmTmFtZVNwYW5DaGFuZ2UgPSB0aGlzLm9mZkNoYW5nZS5iaW5kKHRoaXMpLCAvLy9cbiAgICAgICAgICBvZmZOYW1lU3BhbkNhbmNlbCA9IHRoaXMub2ZmQ2FuY2VsLmJpbmQodGhpcyksIC8vL1xuICAgICAgICAgIGlzTmFtZVNwYW5FZGl0YWJsZSA9IHRoaXMuaXNFZGl0YWJsZS5iaW5kKHRoaXMpOyAvLy9cblxuICAgIHJldHVybiAoe1xuICAgICAgZWRpdE5hbWVTcGFuLFxuICAgICAgY2FuY2VsTmFtZVNwYW4sXG4gICAgICBnZXROYW1lU3Bhbk5hbWUsXG4gICAgICBzZXROYW1lU3Bhbk5hbWUsXG4gICAgICBvbk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb25OYW1lU3BhbkNhbmNlbCxcbiAgICAgIG9mZk5hbWVTcGFuQ2hhbmdlLFxuICAgICAgb2ZmTmFtZVNwYW5DYW5jZWwsXG4gICAgICBpc05hbWVTcGFuRWRpdGFibGVcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJzcGFuXCI7ICAvLy9cblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcIm5hbWVcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKE5hbWVTcGFuLnByb3RvdHlwZSwgbmFtZVNwYW5NaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoTmFtZVNwYW4pYFxuXG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgW2NvbnRlbnRFZGl0YWJsZV0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIkVOVEVSX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJFU0NBUEVfS0VZX0NPREUiLCJOYW1lU3BhbiIsImtleURvd25IYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50Iiwia2V5Q29kZSIsImNhbGxDaGFuZ2VIYW5kbGVycyIsInByZXZlbnREZWZhdWx0IiwiY2FsbENhbmNlbEhhbmRsZXJzIiwiaXNFZGl0YWJsZSIsImNvbnRlbnRFZGl0YWJsZSIsImhhc0F0dHJpYnV0ZSIsIkNPTlRFTlRfRURJVEFCTEUiLCJlZGl0YWJsZSIsImdldE5hbWUiLCJodG1sIiwibmFtZSIsInNldE5hbWUiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImNoaWxkTm9kZXMiLCJmaXJzdENoaWxkTm9kZSIsInRleHROb2RlIiwibm9kZVZhbHVlIiwiZWRpdCIsImZvY3VzIiwiYWRkQXR0cmlidXRlIiwiVFJVRSIsInJhbmdlIiwiZG9jdW1lbnQiLCJjcmVhdGVSYW5nZSIsInNlbGVjdGlvbiIsIndpbmRvdyIsImdldFNlbGVjdGlvbiIsImh0bWxMZW5ndGgiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwib25LZXlEb3duIiwiY2FuY2VsIiwib2ZmS2V5RG93biIsInJlbW92ZUF0dHJpYnV0ZSIsInBhcmVudENvbnRleHQiLCJlZGl0TmFtZVNwYW4iLCJiaW5kIiwiY2FuY2VsTmFtZVNwYW4iLCJnZXROYW1lU3Bhbk5hbWUiLCJzZXROYW1lU3Bhbk5hbWUiLCJvbk5hbWVTcGFuQ2hhbmdlIiwib25DaGFuZ2UiLCJvbk5hbWVTcGFuQ2FuY2VsIiwib25DYW5jZWwiLCJvZmZOYW1lU3BhbkNoYW5nZSIsIm9mZkNoYW5nZSIsIm9mZk5hbWVTcGFuQ2FuY2VsIiwib2ZmQ2FuY2VsIiwiaXNOYW1lU3BhbkVkaXRhYmxlIiwiRWxlbWVudCIsInRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsIm5hbWVTcGFuTWl4aW5zIiwid2l0aFN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzSEE7OztlQUFBOzs7b0VBcEhzQjt5QkFFbUI7K0RBRWQ7eUJBRVk7b0JBQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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