easy 16.0.8 → 16.0.10

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/constants.js CHANGED
@@ -27,9 +27,6 @@ _export(exports, {
27
27
  CLASS_NAME: function() {
28
28
  return CLASS_NAME;
29
29
  },
30
- CUSTOM_EVENT_TYPE_SUFFIX: function() {
31
- return CUSTOM_EVENT_TYPE_SUFFIX;
32
- },
33
30
  DASH: function() {
34
31
  return DASH;
35
32
  },
@@ -109,6 +106,5 @@ var EMPTY_STRING = "";
109
106
  var SVG_NAMESPACE_URI = "http://www.w3.org/2000/svg";
110
107
  var DEFAULT_PROPERTIES = "defaultProperties";
111
108
  var IGNORED_PROPERTIES = "ignoredProperties";
112
- var CUSTOM_EVENT_TYPE_SUFFIX = "-custom";
113
109
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBGT1IgPSBcImZvclwiO1xuZXhwb3J0IGNvbnN0IEJPRFkgPSBcImJvZHlcIjtcbmV4cG9ydCBjb25zdCBOT05FID0gXCJub25lXCI7XG5leHBvcnQgY29uc3QgREFTSCA9IFwiLVwiO1xuZXhwb3J0IGNvbnN0IFNQQUNFID0gXCIgXCI7XG5leHBvcnQgY29uc3QgQ0xBU1MgPSBcImNsYXNzXCI7XG5leHBvcnQgY29uc3QgV0lEVEggPSBcIndpZHRoXCI7XG5leHBvcnQgY29uc3QgQkxPQ0sgPSBcImJsb2NrXCI7XG5leHBvcnQgY29uc3QgSEVJR0hUID0gXCJoZWlnaHRcIjtcbmV4cG9ydCBjb25zdCBPQkpFQ1QgPSBcIm9iamVjdFwiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgRElTUExBWSA9IFwiZGlzcGxheVwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwiZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBGVU5DVElPTiA9IFwiZnVuY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBXSUxEQ0FSRCA9IFwiKlwiO1xuZXhwb3J0IGNvbnN0IEhUTUxfRk9SID0gXCJodG1sRm9yXCI7XG5leHBvcnQgY29uc3QgVU5ERUZJTkVEID0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgY29uc3QgQ0xBU1NfTkFNRSA9IFwiY2xhc3NOYW1lXCI7XG5leHBvcnQgY29uc3QgQUJPVVRfQkxBTksgPSBcImFib3V0OmJsYW5rXCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBTVkdfTkFNRVNQQUNFX1VSSSA9IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BST1BFUlRJRVMgPSBcImRlZmF1bHRQcm9wZXJ0aWVzXCI7XG5leHBvcnQgY29uc3QgSUdOT1JFRF9QUk9QRVJUSUVTID0gXCJpZ25vcmVkUHJvcGVydGllc1wiO1xuZXhwb3J0IGNvbnN0IENVU1RPTV9FVkVOVF9UWVBFX1NVRkZJWCA9IFwiLWN1c3RvbVwiO1xuIl0sIm5hbWVzIjpbIkFCT1VUX0JMQU5LIiwiQkxPQ0siLCJCT0RZIiwiQk9PTEVBTiIsIkNMQVNTIiwiQ0xBU1NfTkFNRSIsIkNVU1RPTV9FVkVOVF9UWVBFX1NVRkZJWCIsIkRBU0giLCJERUZBVUxUX1BST1BFUlRJRVMiLCJESVNBQkxFRCIsIkRJU1BMQVkiLCJFTVBUWV9TVFJJTkciLCJGT1IiLCJGVU5DVElPTiIsIkhFSUdIVCIsIkhUTUxfRk9SIiwiSUdOT1JFRF9QUk9QRVJUSUVTIiwiTk9ORSIsIk9CSkVDVCIsIlNQQUNFIiwiU1RSSU5HIiwiU1ZHX05BTUVTUEFDRV9VUkkiLCJVTkRFRklORUQiLCJXSURUSCIsIldJTERDQVJEIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFxQmFBLFdBQVc7ZUFBWEE7O0lBWkFDLEtBQUs7ZUFBTEE7O0lBTkFDLElBQUk7ZUFBSkE7O0lBV0FDLE9BQU87ZUFBUEE7O0lBUEFDLEtBQUs7ZUFBTEE7O0lBYUFDLFVBQVU7ZUFBVkE7O0lBTUFDLHdCQUF3QjtlQUF4QkE7O0lBckJBQyxJQUFJO2VBQUpBOztJQW1CQUMsa0JBQWtCO2VBQWxCQTs7SUFUQUMsUUFBUTtlQUFSQTs7SUFGQUMsT0FBTztlQUFQQTs7SUFTQUMsWUFBWTtlQUFaQTs7SUFwQkFDLEdBQUc7ZUFBSEE7O0lBY0FDLFFBQVE7ZUFBUkE7O0lBTkFDLE1BQU07ZUFBTkE7O0lBUUFDLFFBQVE7ZUFBUkE7O0lBT0FDLGtCQUFrQjtlQUFsQkE7O0lBckJBQyxJQUFJO2VBQUpBOztJQU9BQyxNQUFNO2VBQU5BOztJQUxBQyxLQUFLO2VBQUxBOztJQU1BQyxNQUFNO2VBQU5BOztJQVdBQyxpQkFBaUI7ZUFBakJBOztJQUpBQyxTQUFTO2VBQVRBOztJQVhBQyxLQUFLO2VBQUxBOztJQVNBQyxRQUFRO2VBQVJBOzs7QUFmTixJQUFNWixNQUFNO0FBQ1osSUFBTVYsT0FBTztBQUNiLElBQU1lLE9BQU87QUFDYixJQUFNVixPQUFPO0FBQ2IsSUFBTVksUUFBUTtBQUNkLElBQU1mLFFBQVE7QUFDZCxJQUFNbUIsUUFBUTtBQUNkLElBQU10QixRQUFRO0FBQ2QsSUFBTWEsU0FBUztBQUNmLElBQU1JLFNBQVM7QUFDZixJQUFNRSxTQUFTO0FBQ2YsSUFBTVYsVUFBVTtBQUNoQixJQUFNUCxVQUFVO0FBQ2hCLElBQU1NLFdBQVc7QUFDakIsSUFBTUksV0FBVztBQUNqQixJQUFNVyxXQUFXO0FBQ2pCLElBQU1ULFdBQVc7QUFDakIsSUFBTU8sWUFBWTtBQUNsQixJQUFNakIsYUFBYTtBQUNuQixJQUFNTCxjQUFjO0FBQ3BCLElBQU1XLGVBQWU7QUFDckIsSUFBTVUsb0JBQW9CO0FBQzFCLElBQU1iLHFCQUFxQjtBQUMzQixJQUFNUSxxQkFBcUI7QUFDM0IsSUFBTVYsMkJBQTJCIn0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBGT1IgPSBcImZvclwiO1xuZXhwb3J0IGNvbnN0IEJPRFkgPSBcImJvZHlcIjtcbmV4cG9ydCBjb25zdCBOT05FID0gXCJub25lXCI7XG5leHBvcnQgY29uc3QgREFTSCA9IFwiLVwiO1xuZXhwb3J0IGNvbnN0IFNQQUNFID0gXCIgXCI7XG5leHBvcnQgY29uc3QgQ0xBU1MgPSBcImNsYXNzXCI7XG5leHBvcnQgY29uc3QgV0lEVEggPSBcIndpZHRoXCI7XG5leHBvcnQgY29uc3QgQkxPQ0sgPSBcImJsb2NrXCI7XG5leHBvcnQgY29uc3QgSEVJR0hUID0gXCJoZWlnaHRcIjtcbmV4cG9ydCBjb25zdCBPQkpFQ1QgPSBcIm9iamVjdFwiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgRElTUExBWSA9IFwiZGlzcGxheVwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwiZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBGVU5DVElPTiA9IFwiZnVuY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBXSUxEQ0FSRCA9IFwiKlwiO1xuZXhwb3J0IGNvbnN0IEhUTUxfRk9SID0gXCJodG1sRm9yXCI7XG5leHBvcnQgY29uc3QgVU5ERUZJTkVEID0gJ3VuZGVmaW5lZCc7XG5leHBvcnQgY29uc3QgQ0xBU1NfTkFNRSA9IFwiY2xhc3NOYW1lXCI7XG5leHBvcnQgY29uc3QgQUJPVVRfQkxBTksgPSBcImFib3V0OmJsYW5rXCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBTVkdfTkFNRVNQQUNFX1VSSSA9IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIjtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BST1BFUlRJRVMgPSBcImRlZmF1bHRQcm9wZXJ0aWVzXCI7XG5leHBvcnQgY29uc3QgSUdOT1JFRF9QUk9QRVJUSUVTID0gXCJpZ25vcmVkUHJvcGVydGllc1wiO1xuIl0sIm5hbWVzIjpbIkFCT1VUX0JMQU5LIiwiQkxPQ0siLCJCT0RZIiwiQk9PTEVBTiIsIkNMQVNTIiwiQ0xBU1NfTkFNRSIsIkRBU0giLCJERUZBVUxUX1BST1BFUlRJRVMiLCJESVNBQkxFRCIsIkRJU1BMQVkiLCJFTVBUWV9TVFJJTkciLCJGT1IiLCJGVU5DVElPTiIsIkhFSUdIVCIsIkhUTUxfRk9SIiwiSUdOT1JFRF9QUk9QRVJUSUVTIiwiTk9ORSIsIk9CSkVDVCIsIlNQQUNFIiwiU1RSSU5HIiwiU1ZHX05BTUVTUEFDRV9VUkkiLCJVTkRFRklORUQiLCJXSURUSCIsIldJTERDQVJEIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFxQmFBLFdBQVc7ZUFBWEE7O0lBWkFDLEtBQUs7ZUFBTEE7O0lBTkFDLElBQUk7ZUFBSkE7O0lBV0FDLE9BQU87ZUFBUEE7O0lBUEFDLEtBQUs7ZUFBTEE7O0lBYUFDLFVBQVU7ZUFBVkE7O0lBZkFDLElBQUk7ZUFBSkE7O0lBbUJBQyxrQkFBa0I7ZUFBbEJBOztJQVRBQyxRQUFRO2VBQVJBOztJQUZBQyxPQUFPO2VBQVBBOztJQVNBQyxZQUFZO2VBQVpBOztJQXBCQUMsR0FBRztlQUFIQTs7SUFjQUMsUUFBUTtlQUFSQTs7SUFOQUMsTUFBTTtlQUFOQTs7SUFRQUMsUUFBUTtlQUFSQTs7SUFPQUMsa0JBQWtCO2VBQWxCQTs7SUFyQkFDLElBQUk7ZUFBSkE7O0lBT0FDLE1BQU07ZUFBTkE7O0lBTEFDLEtBQUs7ZUFBTEE7O0lBTUFDLE1BQU07ZUFBTkE7O0lBV0FDLGlCQUFpQjtlQUFqQkE7O0lBSkFDLFNBQVM7ZUFBVEE7O0lBWEFDLEtBQUs7ZUFBTEE7O0lBU0FDLFFBQVE7ZUFBUkE7OztBQWZOLElBQU1aLE1BQU07QUFDWixJQUFNVCxPQUFPO0FBQ2IsSUFBTWMsT0FBTztBQUNiLElBQU1WLE9BQU87QUFDYixJQUFNWSxRQUFRO0FBQ2QsSUFBTWQsUUFBUTtBQUNkLElBQU1rQixRQUFRO0FBQ2QsSUFBTXJCLFFBQVE7QUFDZCxJQUFNWSxTQUFTO0FBQ2YsSUFBTUksU0FBUztBQUNmLElBQU1FLFNBQVM7QUFDZixJQUFNVixVQUFVO0FBQ2hCLElBQU1OLFVBQVU7QUFDaEIsSUFBTUssV0FBVztBQUNqQixJQUFNSSxXQUFXO0FBQ2pCLElBQU1XLFdBQVc7QUFDakIsSUFBTVQsV0FBVztBQUNqQixJQUFNTyxZQUFZO0FBQ2xCLElBQU1oQixhQUFhO0FBQ25CLElBQU1MLGNBQWM7QUFDcEIsSUFBTVUsZUFBZTtBQUNyQixJQUFNVSxvQkFBb0I7QUFDMUIsSUFBTWIscUJBQXFCO0FBQzNCLElBQU1RLHFCQUFxQiJ9
package/lib/element.js CHANGED
@@ -288,7 +288,7 @@ var Element = /*#__PURE__*/ function() {
288
288
  value: function mountBefore(siblingElement) {
289
289
  this.insertBefore(siblingElement);
290
290
  var element = this; ///
291
- mountElement(element);
291
+ this.mountElement(element);
292
292
  }
293
293
  },
294
294
  {
@@ -296,20 +296,20 @@ var Element = /*#__PURE__*/ function() {
296
296
  value: function mountAfter(siblingElement) {
297
297
  this.insertBefore(siblingElement);
298
298
  var element = this; ///
299
- mountElement(element);
299
+ this.mountElement(element);
300
300
  }
301
301
  },
302
302
  {
303
303
  key: "mount",
304
304
  value: function mount(element) {
305
305
  this.add(element);
306
- mountElement(element);
306
+ this.mountElement(element);
307
307
  }
308
308
  },
309
309
  {
310
310
  key: "unmount",
311
311
  value: function unmount(element) {
312
- unmountElement(element);
312
+ this.unmountElement(element);
313
313
  this.remove(element);
314
314
  }
315
315
  },
@@ -495,23 +495,6 @@ Object.assign(Element.prototype, _scroll.default);
495
495
  Object.assign(Element.prototype, _element.default);
496
496
  Object.assign(Element.prototype, _customEvent.default);
497
497
  var _default = Element;
498
- function mountElement(element) {
499
- var descendantElements = element.getDescendantElements(), elements = [
500
- element
501
- ].concat(_to_consumable_array(descendantElements));
502
- elements.reverse(); ///
503
- elements.forEach(function(element) {
504
- element.didMount && element.didMount();
505
- });
506
- }
507
- function unmountElement(element) {
508
- var descendantElements = element.getDescendantElements(), elements = [
509
- element
510
- ].concat(_to_consumable_array(descendantElements));
511
- elements.forEach(function(element) {
512
- element.willUnmount && element.willUnmount();
513
- });
514
- }
515
498
  function elementFromTagName(Class, tagName) {
516
499
  for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
517
500
  remainingArguments[_key - 2] = arguments[_key];
@@ -553,4 +536,4 @@ function ignoredPropertiesFromClass(Class) {
553
536
  return ignoredProperties;
554
537
  }
555
538
 
556
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgcmVzaXplTWl4aW5zIGZyb20gXCIuL21peGlucy9yZXNpemVcIjtcbmltcG9ydCBzY3JvbGxNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Njcm9sbFwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBjdXN0b21FdmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvY3VzdG9tRXZlbnRcIjtcblxuaW1wb3J0IHsgY29tYmluZSB9IGZyb20gXCIuL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IGlzU1ZHVGFnTmFtZSB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBmaXJzdCwgYXVnbWVudCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgTk9ORSxcbiAgICAgICAgIEJMT0NLLFxuICAgICAgICAgV0lEVEgsXG4gICAgICAgICBTVFJJTkcsXG4gICAgICAgICBIRUlHSFQsXG4gICAgICAgICBESVNQTEFZLFxuICAgICAgICAgRElTQUJMRUQsXG4gICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICBTVkdfTkFNRVNQQUNFX1VSSSxcbiAgICAgICAgIERFRkFVTFRfUFJPUEVSVElFUyxcbiAgICAgICAgIElHTk9SRURfUFJPUEVSVElFUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQuX19lbGVtZW50X18gPSB0aGlzOyAvLy9cbiAgICB9XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRPZmZzZXQoKSB7XG4gICAgY29uc3QgdG9wID0gdGhpcy5kb21FbGVtZW50Lm9mZnNldFRvcCwgIC8vL1xuICAgICAgICAgIGxlZnQgPSB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0TGVmdCwgIC8vL1xuICAgICAgICAgIG9mZnNldCA9IG5ldyBPZmZzZXQodG9wLCBsZWZ0KTtcblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cblxuICBnZXRCb3VuZHMoKSB7XG4gICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gdGhpcy5kb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIGJvdW5kcyA9IEJvdW5kcy5mcm9tQm91bmRpbmdDbGllbnRSZWN0KGJvdW5kaW5nQ2xpZW50UmVjdCk7XG5cbiAgICByZXR1cm4gYm91bmRzO1xuICB9XG5cbiAgZ2V0V2lkdGgoaW5jbHVkZUJvcmRlciA9IHRydWUpIHtcbiAgICBjb25zdCB3aWR0aCA9IGluY2x1ZGVCb3JkZXIgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0V2lkdGggOlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5jbGllbnRXaWR0aDtcblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxuXG4gIHNldFdpZHRoKHdpZHRoKSB7XG4gICAgd2lkdGggPSBgJHt3aWR0aH1weGA7IC8vL1xuXG4gICAgdGhpcy5zdHlsZShXSURUSCwgd2lkdGgpO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KGluY2x1ZGVCb3JkZXIgPSB0cnVlKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gaW5jbHVkZUJvcmRlciA/XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDpcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cblxuICBzZXRIZWlnaHQoaGVpZ2h0KSB7XG4gICAgaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKEhFSUdIVCwgaGVpZ2h0KTtcbiAgfVxuXG4gIGhhc0F0dHJpYnV0ZShuYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaGFzQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgZ2V0QXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBzZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7IH1cblxuICBjbGVhckF0dHJpYnV0ZShuYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBhZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOyB9XG5cbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWUpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIHNldENsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOyB9XG5cbiAgYWRkQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7IH1cblxuICByZW1vdmVDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTsgfVxuXG4gIHRvZ2dsZUNsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShjbGFzc05hbWUpOyB9XG5cbiAgaGFzQ2xhc3MoY2xhc3NOYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7IH1cblxuICBjbGVhckNsYXNzZXMoKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc05hbWUgPSBFTVBUWV9TVFJJTkc7IH1cblxuICBwcmVwZW5kVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnByZXBlbmQodGhpcyk7IH1cblxuICBhcHBlbmRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQuYXBwZW5kKHRoaXMpOyB9XG5cbiAgYWRkVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LmFkZCh0aGlzKTsgfVxuXG4gIHJlbW92ZUZyb20ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnJlbW92ZSh0aGlzKTsgfVxuXG4gIGluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgcGFyZW50RE9NTm9kZS5pbnNlcnRCZWZvcmUodGhpcy5kb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCk7XG4gIH1cblxuICBpbnNlcnRBZnRlcihzaWJsaW5nRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgcGFyZW50RE9NTm9kZS5pbnNlcnRCZWZvcmUodGhpcy5kb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudC5uZXh0U2libGluZyk7ICAvLy9cbiAgfVxuXG4gIHByZXBlbmQoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBlbGVtZW50LmRvbUVsZW1lbnQsXG4gICAgICAgICAgZmlyc3RDaGlsZERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQuZmlyc3RDaGlsZDtcblxuICAgIHRoaXMuZG9tRWxlbWVudC5pbnNlcnRCZWZvcmUoZG9tRWxlbWVudCwgZmlyc3RDaGlsZERPTUVsZW1lbnQpO1xuICB9XG5cbiAgYXBwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCBudWxsKTsgLy8vXG4gIH1cblxuICBpbnNlcnQoZWxlbWVudCkgeyB0aGlzLmFwcGVuZChlbGVtZW50KTsgfVxuXG4gIGFkZChlbGVtZW50KSB7IHRoaXMuYXBwZW5kKGVsZW1lbnQpOyB9XG5cbiAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZG9tRWxlbWVudCA9IGVsZW1lbnQuZG9tRWxlbWVudDtcblxuICAgICAgdGhpcy5kb21FbGVtZW50LnJlbW92ZUNoaWxkKGRvbUVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvbUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgbW91bnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBtb3VudEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUoc2libGluZ0VsZW1lbnQpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgbW91bnQoZWxlbWVudCkge1xuICAgIHRoaXMuYWRkKGVsZW1lbnQpO1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgdW5tb3VudChlbGVtZW50KSB7XG4gICAgdW5tb3VudEVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICB0aGlzLnJlbW92ZShlbGVtZW50KTtcbiAgfVxuXG4gIHNob3coZGlzcGxheVN0eWxlID0gQkxPQ0spIHsgdGhpcy5kaXNwbGF5KGRpc3BsYXlTdHlsZSk7IH1cblxuICBoaWRlKCkgeyB0aGlzLnN0eWxlKERJU1BMQVksIE5PTkUpOyB9XG5cbiAgZGlzcGxheShkaXNwbGF5KSB7IHRoaXMuc3R5bGUoRElTUExBWSwgZGlzcGxheSk7IH1cblxuICBlbmFibGUoKSB7IHRoaXMuY2xlYXJBdHRyaWJ1dGUoRElTQUJMRUQpOyB9XG5cbiAgZGlzYWJsZSgpIHsgdGhpcy5zZXRBdHRyaWJ1dGUoRElTQUJMRUQsIERJU0FCTEVEKTsgfVxuXG4gIGlzRW5hYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZCgpLFxuICAgICAgICAgIGVuYWJsZWQgPSAhZGlzYWJsZWQ7XG5cbiAgICByZXR1cm4gZW5hYmxlZDtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmhhc0F0dHJpYnV0ZShESVNBQkxFRCk7XG5cbiAgICByZXR1cm4gZGlzYWJsZWQ7XG4gIH1cbiAgXG4gIGlzRGlzcGxheWVkKCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLmNzcyhESVNQTEFZKSxcbiAgICAgICAgICBkaXNwbGF5ZWQgPSAoZGlzcGxheSAhPT0gTk9ORSk7XG4gICAgXG4gICAgcmV0dXJuIGRpc3BsYXllZDtcbiAgfVxuXG4gIGlzU2hvd2luZygpIHtcbiAgICBjb25zdCBkaXNwbGF5ZWQgPSB0aGlzLmlzRGlzcGxheWVkKCksXG4gICAgICAgICAgc2hvd2luZyA9IGRpc3BsYXllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHNob3dpbmc7XG4gIH1cblxuICBpc0hpZGRlbigpIHtcbiAgICBjb25zdCBkaXNwbGF5ZWQgPSB0aGlzLmlzRGlzcGxheWVkKCksXG4gICAgICAgICAgaGlkZGVuID0gIWRpc3BsYXllZDtcblxuICAgIHJldHVybiBoaWRkZW47XG4gIH1cblxuICBzdHlsZShuYW1lLCB2YWx1ZSA9IG51bGwpIHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZVtuYW1lXSA9IHZhbHVlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGVbbmFtZV07XG5cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBodG1sKGh0bWwgPSBudWxsKSB7XG4gICAgaWYgKGh0bWwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGlubmVySFRNTCA9IGh0bWw7IC8vL1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQuaW5uZXJIVE1MID0gaW5uZXJIVE1MXG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbm5lckhUTUwgPSB0aGlzLmRvbUVsZW1lbnQuaW5uZXJIVE1MO1xuXG4gICAgaHRtbCA9IGlubmVySFRNTDsgLy8vXG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNzcyhjc3MgPSBudWxsKSB7XG4gICAgaWYgKGNzcyA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5kb21FbGVtZW50KSxcbiAgICAgICAgICAgIGNzcyA9IHt9O1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29tcHV0ZWRTdHlsZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgZmlyc3RDb21wdXRlZFN0eWxlID0gZmlyc3RbY29tcHV0ZWRTdHlsZV0sXG4gICAgICAgICAgICAgIG5hbWUgPSBmaXJzdENvbXB1dGVkU3R5bGUsICAvLy9cbiAgICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSk7IC8vL1xuXG4gICAgICAgIGNzc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3NzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY3NzID09PSBTVFJJTkcpIHtcbiAgICAgIGxldCBuYW1lID0gY3NzOyAvLy9cblxuICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5kb21FbGVtZW50KSxcbiAgICAgICAgICAgIHZhbHVlID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOyAvLy9cblxuICAgICAgY3NzID0gdmFsdWU7ICAvLy9cblxuICAgICAgcmV0dXJuIGNzcztcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lcyA9IE9iamVjdC5rZXlzKGNzcyk7IC8vL1xuXG4gICAgbmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBjc3NbbmFtZV07XG5cbiAgICAgIHRoaXMuc3R5bGUobmFtZSwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG4gIFxuICBibHVyKCkgeyB0aGlzLmRvbUVsZW1lbnQuYmx1cigpOyB9XG5cbiAgZm9jdXMoKSB7IHRoaXMuZG9tRWxlbWVudC5mb2N1cygpOyB9XG5cbiAgaGFzRm9jdXMoKSB7XG4gICAgY29uc3QgZm9jdXMgPSAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5kb21FbGVtZW50KTsgIC8vL1xuXG4gICAgcmV0dXJuIGZvY3VzO1xuICB9XG5cbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgeyB0YWdOYW1lIH0gPSBDbGFzcyxcbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpLFxuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpO1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGFnTmFtZSh0YWdOYW1lLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IEVsZW1lbnQsICAvLy9cbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0ge30sIC8vL1xuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gW107IC8vL1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBqc3hNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwga2V5TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGNsaWNrTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHN0YXRlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIG1vdXNlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHJlc2l6ZU1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBzY3JvbGxNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZWxlbWVudE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBjdXN0b21FdmVudE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IEVsZW1lbnQ7XG5cbmZ1bmN0aW9uIG1vdW50RWxlbWVudChlbGVtZW50KSB7XG4gIGNvbnN0IGRlc2NlbmRhbnRFbGVtZW50cyA9IGVsZW1lbnQuZ2V0RGVzY2VuZGFudEVsZW1lbnRzKCksXG4gICAgICAgIGVsZW1lbnRzID0gW1xuICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgLi4uZGVzY2VuZGFudEVsZW1lbnRzXG4gICAgICAgIF07XG5cbiAgZWxlbWVudHMucmV2ZXJzZSgpOyAvLy9cblxuICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgZWxlbWVudC5kaWRNb3VudCAmJiBlbGVtZW50LmRpZE1vdW50KCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiB1bm1vdW50RWxlbWVudChlbGVtZW50KSB7XG4gIGNvbnN0IGRlc2NlbmRhbnRFbGVtZW50cyA9IGVsZW1lbnQuZ2V0RGVzY2VuZGFudEVsZW1lbnRzKCksXG4gICAgICAgIGVsZW1lbnRzID0gW1xuICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgLi4uZGVzY2VuZGFudEVsZW1lbnRzXG4gICAgICAgIF07XG5cbiAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIGVsZW1lbnQud2lsbFVubW91bnQgJiYgZWxlbWVudC53aWxsVW5tb3VudCgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBudWxsLFxuICAgICAgICBlbGVtZW50ID0gbmV3IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKENsYXNzLCBudWxsLCBzZWxlY3RvciwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50ID0gaXNTVkdUYWdOYW1lKHRhZ05hbWUpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRV9VUkksIHRhZ05hbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50Ll9fZWxlbWVudF9fID0gZWxlbWVudDsgLy8vXG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBkZWZhdWx0UHJvcGVydGllcyA9IHt9KSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShERUZBVUxUX1BST1BFUlRJRVMpKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBjb21iaW5lKGRlZmF1bHRQcm9wZXJ0aWVzLCBDbGFzc1tERUZBVUxUX1BST1BFUlRJRVNdKTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpO1xuXG4gIGlmIChzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyhzdXBlckNsYXNzLCBkZWZhdWx0UHJvcGVydGllcyk7XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFByb3BlcnRpZXM7XG59XG5cbmZ1bmN0aW9uIGlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBpZ25vcmVkUHJvcGVydGllcyA9IFtdKSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShJR05PUkVEX1BST1BFUlRJRVMpKSB7XG4gICAgaWdub3JlZFByb3BlcnRpZXMgPSBhdWdtZW50KGlnbm9yZWRQcm9wZXJ0aWVzLCBDbGFzc1tJR05PUkVEX1BST1BFUlRJRVNdLCAoaWdub3JlZFByb3BlcnR5KSA9PiB7XG4gICAgICBpZiAoIWlnbm9yZWRQcm9wZXJ0aWVzLmluY2x1ZGVzKGlnbm9yZWRQcm9wZXJ0eSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKENsYXNzKTtcblxuICBpZiAoc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3Moc3VwZXJDbGFzcywgaWdub3JlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcmV0dXJuIGlnbm9yZWRQcm9wZXJ0aWVzO1xufVxuIl0sIm5hbWVzIjpbIkVsZW1lbnQiLCJzZWxlY3RvciIsImRvbUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJfX2VsZW1lbnRfXyIsImdldERPTUVsZW1lbnQiLCJnZXRPZmZzZXQiLCJ0b3AiLCJvZmZzZXRUb3AiLCJsZWZ0Iiwib2Zmc2V0TGVmdCIsIm9mZnNldCIsIk9mZnNldCIsImdldEJvdW5kcyIsImJvdW5kaW5nQ2xpZW50UmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImJvdW5kcyIsIkJvdW5kcyIsImZyb21Cb3VuZGluZ0NsaWVudFJlY3QiLCJnZXRXaWR0aCIsImluY2x1ZGVCb3JkZXIiLCJ3aWR0aCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJzZXRXaWR0aCIsInN0eWxlIiwiV0lEVEgiLCJnZXRIZWlnaHQiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzZXRIZWlnaHQiLCJIRUlHSFQiLCJoYXNBdHRyaWJ1dGUiLCJuYW1lIiwiZ2V0QXR0cmlidXRlIiwic2V0QXR0cmlidXRlIiwidmFsdWUiLCJjbGVhckF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImFkZEF0dHJpYnV0ZSIsInNldENsYXNzIiwiY2xhc3NOYW1lIiwiYWRkQ2xhc3MiLCJjbGFzc0xpc3QiLCJhZGQiLCJyZW1vdmVDbGFzcyIsInJlbW92ZSIsInRvZ2dsZUNsYXNzIiwidG9nZ2xlIiwiaGFzQ2xhc3MiLCJjb250YWlucyIsImNsZWFyQ2xhc3NlcyIsIkVNUFRZX1NUUklORyIsInByZXBlbmRUbyIsInBhcmVudEVsZW1lbnQiLCJwcmVwZW5kIiwiYXBwZW5kVG8iLCJhcHBlbmQiLCJhZGRUbyIsInJlbW92ZUZyb20iLCJpbnNlcnRCZWZvcmUiLCJzaWJsaW5nRWxlbWVudCIsInBhcmVudERPTU5vZGUiLCJwYXJlbnROb2RlIiwic2libGluZ0RPTUVsZW1lbnQiLCJpbnNlcnRBZnRlciIsIm5leHRTaWJsaW5nIiwiZWxlbWVudCIsImZpcnN0Q2hpbGRET01FbGVtZW50IiwiZmlyc3RDaGlsZCIsImluc2VydCIsInJlbW92ZUNoaWxkIiwibW91bnRCZWZvcmUiLCJtb3VudEVsZW1lbnQiLCJtb3VudEFmdGVyIiwibW91bnQiLCJ1bm1vdW50IiwidW5tb3VudEVsZW1lbnQiLCJzaG93IiwiZGlzcGxheVN0eWxlIiwiQkxPQ0siLCJkaXNwbGF5IiwiaGlkZSIsIkRJU1BMQVkiLCJOT05FIiwiZW5hYmxlIiwiRElTQUJMRUQiLCJkaXNhYmxlIiwiaXNFbmFibGVkIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwiZW5hYmxlZCIsImlzRGlzcGxheWVkIiwiY3NzIiwiZGlzcGxheWVkIiwiaXNTaG93aW5nIiwic2hvd2luZyIsImlzSGlkZGVuIiwiaGlkZGVuIiwiaHRtbCIsImlubmVySFRNTCIsImNvbXB1dGVkU3R5bGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaW5kZXgiLCJsZW5ndGgiLCJmaXJzdENvbXB1dGVkU3R5bGUiLCJmaXJzdCIsImdldFByb3BlcnR5VmFsdWUiLCJTVFJJTkciLCJuYW1lcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiYmx1ciIsImZvY3VzIiwiaGFzRm9jdXMiLCJhY3RpdmVFbGVtZW50IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJwcm9wZXJ0aWVzIiwicmVtYWluaW5nQXJndW1lbnRzIiwidGFnTmFtZSIsImVsZW1lbnRGcm9tVGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MiLCJpZ25vcmVkUHJvcGVydGllcyIsImlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzIiwiYXBwbHlQcm9wZXJ0aWVzIiwiaW5pdGlhbGlzZSIsImZyb21UYWdOYW1lIiwiYXNzaWduIiwicHJvdG90eXBlIiwianN4TWl4aW5zIiwia2V5TWl4aW5zIiwiY2xpY2tNaXhpbnMiLCJzdGF0ZU1peGlucyIsImV2ZW50TWl4aW5zIiwibW91c2VNaXhpbnMiLCJyZXNpemVNaXhpbnMiLCJzY3JvbGxNaXhpbnMiLCJlbGVtZW50TWl4aW5zIiwiY3VzdG9tRXZlbnRNaXhpbnMiLCJkZXNjZW5kYW50RWxlbWVudHMiLCJnZXREZXNjZW5kYW50RWxlbWVudHMiLCJlbGVtZW50cyIsInJldmVyc2UiLCJkaWRNb3VudCIsIndpbGxVbm1vdW50IiwiRnVuY3Rpb24iLCJiaW5kIiwiY2FsbCIsImlzU1ZHVGFnTmFtZSIsImNyZWF0ZUVsZW1lbnROUyIsIlNWR19OQU1FU1BBQ0VfVVJJIiwiY3JlYXRlRWxlbWVudCIsImhhc093blByb3BlcnR5IiwiREVGQVVMVF9QUk9QRVJUSUVTIiwiY29tYmluZSIsInN1cGVyQ2xhc3MiLCJnZXRQcm90b3R5cGVPZiIsIklHTk9SRURfUFJPUEVSVElFUyIsImF1Z21lbnQiLCJpZ25vcmVkUHJvcGVydHkiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBdVZBOzs7ZUFBQTs7OzZEQXJWbUI7NkRBQ0E7MERBQ0c7MERBQ0E7NERBQ0U7NERBQ0E7NERBQ0E7NERBQ0E7NkRBQ0M7NkRBQ0E7OERBQ0M7a0VBQ0k7c0JBRU47b0JBQ0s7cUJBQ0U7eUJBV0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuQyxJQUFBLEFBQU1BLHdCQUFELEFBQUw7YUFBTUEsUUFDUUMsUUFBUTtnQ0FEaEJEO1FBRUYsSUFBSUMsVUFBVTtZQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQyxTQUFTQyxhQUFhLENBQUNIO1lBRXpDLElBQUksQ0FBQ0MsVUFBVSxDQUFDRyxXQUFXLEdBQUcsSUFBSSxFQUFFLEdBQUc7UUFDekM7O2tCQU5FTDs7WUFTSk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixVQUFVO1lBQ3hCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLE1BQU0sSUFBSSxDQUFDTixVQUFVLENBQUNPLFNBQVMsRUFDL0JDLE9BQU8sSUFBSSxDQUFDUixVQUFVLENBQUNTLFVBQVUsRUFDakNDLFNBQVMsSUFBSUMsZUFBTSxDQUFDTCxLQUFLRTtnQkFFL0IsT0FBT0U7WUFDVDs7O1lBRUFF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
539
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgcmVzaXplTWl4aW5zIGZyb20gXCIuL21peGlucy9yZXNpemVcIjtcbmltcG9ydCBzY3JvbGxNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Njcm9sbFwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBjdXN0b21FdmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvY3VzdG9tRXZlbnRcIjtcblxuaW1wb3J0IHsgY29tYmluZSB9IGZyb20gXCIuL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IGlzU1ZHVGFnTmFtZSB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBmaXJzdCwgYXVnbWVudCB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgTk9ORSxcbiAgICAgICAgIEJMT0NLLFxuICAgICAgICAgV0lEVEgsXG4gICAgICAgICBTVFJJTkcsXG4gICAgICAgICBIRUlHSFQsXG4gICAgICAgICBESVNQTEFZLFxuICAgICAgICAgRElTQUJMRUQsXG4gICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICBTVkdfTkFNRVNQQUNFX1VSSSxcbiAgICAgICAgIERFRkFVTFRfUFJPUEVSVElFUyxcbiAgICAgICAgIElHTk9SRURfUFJPUEVSVElFUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQuX19lbGVtZW50X18gPSB0aGlzOyAvLy9cbiAgICB9XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRPZmZzZXQoKSB7XG4gICAgY29uc3QgdG9wID0gdGhpcy5kb21FbGVtZW50Lm9mZnNldFRvcCwgIC8vL1xuICAgICAgICAgIGxlZnQgPSB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0TGVmdCwgIC8vL1xuICAgICAgICAgIG9mZnNldCA9IG5ldyBPZmZzZXQodG9wLCBsZWZ0KTtcblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cblxuICBnZXRCb3VuZHMoKSB7XG4gICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gdGhpcy5kb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIGJvdW5kcyA9IEJvdW5kcy5mcm9tQm91bmRpbmdDbGllbnRSZWN0KGJvdW5kaW5nQ2xpZW50UmVjdCk7XG5cbiAgICByZXR1cm4gYm91bmRzO1xuICB9XG5cbiAgZ2V0V2lkdGgoaW5jbHVkZUJvcmRlciA9IHRydWUpIHtcbiAgICBjb25zdCB3aWR0aCA9IGluY2x1ZGVCb3JkZXIgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0V2lkdGggOlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5jbGllbnRXaWR0aDtcblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxuXG4gIHNldFdpZHRoKHdpZHRoKSB7XG4gICAgd2lkdGggPSBgJHt3aWR0aH1weGA7IC8vL1xuXG4gICAgdGhpcy5zdHlsZShXSURUSCwgd2lkdGgpO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KGluY2x1ZGVCb3JkZXIgPSB0cnVlKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gaW5jbHVkZUJvcmRlciA/XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDpcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cblxuICBzZXRIZWlnaHQoaGVpZ2h0KSB7XG4gICAgaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKEhFSUdIVCwgaGVpZ2h0KTtcbiAgfVxuXG4gIGhhc0F0dHJpYnV0ZShuYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaGFzQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgZ2V0QXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBzZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7IH1cblxuICBjbGVhckF0dHJpYnV0ZShuYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBhZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOyB9XG5cbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWUpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIHNldENsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOyB9XG5cbiAgYWRkQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7IH1cblxuICByZW1vdmVDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTsgfVxuXG4gIHRvZ2dsZUNsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShjbGFzc05hbWUpOyB9XG5cbiAgaGFzQ2xhc3MoY2xhc3NOYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7IH1cblxuICBjbGVhckNsYXNzZXMoKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc05hbWUgPSBFTVBUWV9TVFJJTkc7IH1cblxuICBwcmVwZW5kVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnByZXBlbmQodGhpcyk7IH1cblxuICBhcHBlbmRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQuYXBwZW5kKHRoaXMpOyB9XG5cbiAgYWRkVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LmFkZCh0aGlzKTsgfVxuXG4gIHJlbW92ZUZyb20ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnJlbW92ZSh0aGlzKTsgfVxuXG4gIGluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgcGFyZW50RE9NTm9kZS5pbnNlcnRCZWZvcmUodGhpcy5kb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCk7XG4gIH1cblxuICBpbnNlcnRBZnRlcihzaWJsaW5nRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsXG4gICAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgcGFyZW50RE9NTm9kZS5pbnNlcnRCZWZvcmUodGhpcy5kb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudC5uZXh0U2libGluZyk7ICAvLy9cbiAgfVxuXG4gIHByZXBlbmQoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBlbGVtZW50LmRvbUVsZW1lbnQsXG4gICAgICAgICAgZmlyc3RDaGlsZERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQuZmlyc3RDaGlsZDtcblxuICAgIHRoaXMuZG9tRWxlbWVudC5pbnNlcnRCZWZvcmUoZG9tRWxlbWVudCwgZmlyc3RDaGlsZERPTUVsZW1lbnQpO1xuICB9XG5cbiAgYXBwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCBudWxsKTsgLy8vXG4gIH1cblxuICBpbnNlcnQoZWxlbWVudCkgeyB0aGlzLmFwcGVuZChlbGVtZW50KTsgfVxuXG4gIGFkZChlbGVtZW50KSB7IHRoaXMuYXBwZW5kKGVsZW1lbnQpOyB9XG5cbiAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZG9tRWxlbWVudCA9IGVsZW1lbnQuZG9tRWxlbWVudDtcblxuICAgICAgdGhpcy5kb21FbGVtZW50LnJlbW92ZUNoaWxkKGRvbUVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvbUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgbW91bnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICB0aGlzLm1vdW50RWxlbWVudChlbGVtZW50KTtcbiAgfVxuXG4gIG1vdW50QWZ0ZXIoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICB0aGlzLm1vdW50RWxlbWVudChlbGVtZW50KTtcbiAgfVxuXG4gIG1vdW50KGVsZW1lbnQpIHtcbiAgICB0aGlzLmFkZChlbGVtZW50KTtcblxuICAgIHRoaXMubW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgdW5tb3VudChlbGVtZW50KSB7XG4gICAgdGhpcy51bm1vdW50RWxlbWVudChlbGVtZW50KTtcblxuICAgIHRoaXMucmVtb3ZlKGVsZW1lbnQpO1xuICB9XG5cbiAgc2hvdyhkaXNwbGF5U3R5bGUgPSBCTE9DSykgeyB0aGlzLmRpc3BsYXkoZGlzcGxheVN0eWxlKTsgfVxuXG4gIGhpZGUoKSB7IHRoaXMuc3R5bGUoRElTUExBWSwgTk9ORSk7IH1cblxuICBkaXNwbGF5KGRpc3BsYXkpIHsgdGhpcy5zdHlsZShESVNQTEFZLCBkaXNwbGF5KTsgfVxuXG4gIGVuYWJsZSgpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShESVNBQkxFRCk7IH1cblxuICBkaXNhYmxlKCkgeyB0aGlzLnNldEF0dHJpYnV0ZShESVNBQkxFRCwgRElTQUJMRUQpOyB9XG5cbiAgaXNFbmFibGVkKCkge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKCksXG4gICAgICAgICAgZW5hYmxlZCA9ICFkaXNhYmxlZDtcblxuICAgIHJldHVybiBlbmFibGVkO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuaGFzQXR0cmlidXRlKERJU0FCTEVEKTtcblxuICAgIHJldHVybiBkaXNhYmxlZDtcbiAgfVxuICBcbiAgaXNEaXNwbGF5ZWQoKSB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMuY3NzKERJU1BMQVkpLFxuICAgICAgICAgIGRpc3BsYXllZCA9IChkaXNwbGF5ICE9PSBOT05FKTtcbiAgICBcbiAgICByZXR1cm4gZGlzcGxheWVkO1xuICB9XG5cbiAgaXNTaG93aW5nKCkge1xuICAgIGNvbnN0IGRpc3BsYXllZCA9IHRoaXMuaXNEaXNwbGF5ZWQoKSxcbiAgICAgICAgICBzaG93aW5nID0gZGlzcGxheWVkOyAgLy8vXG5cbiAgICByZXR1cm4gc2hvd2luZztcbiAgfVxuXG4gIGlzSGlkZGVuKCkge1xuICAgIGNvbnN0IGRpc3BsYXllZCA9IHRoaXMuaXNEaXNwbGF5ZWQoKSxcbiAgICAgICAgICBoaWRkZW4gPSAhZGlzcGxheWVkO1xuXG4gICAgcmV0dXJuIGhpZGRlbjtcbiAgfVxuXG4gIHN0eWxlKG5hbWUsIHZhbHVlID0gbnVsbCkge1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlW25hbWVdID0gdmFsdWU7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZVtuYW1lXTtcblxuICAgIHJldHVybiBzdHlsZTtcbiAgfVxuXG4gIGh0bWwoaHRtbCA9IG51bGwpIHtcbiAgICBpZiAoaHRtbCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgaW5uZXJIVE1MID0gaHRtbDsgLy8vXG5cbiAgICAgIHRoaXMuZG9tRWxlbWVudC5pbm5lckhUTUwgPSBpbm5lckhUTUxcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlubmVySFRNTCA9IHRoaXMuZG9tRWxlbWVudC5pbm5lckhUTUw7XG5cbiAgICBodG1sID0gaW5uZXJIVE1MOyAvLy9cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgY3NzKGNzcyA9IG51bGwpIHtcbiAgICBpZiAoY3NzID09PSBudWxsKSB7XG4gICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvbUVsZW1lbnQpLFxuICAgICAgICAgICAgY3NzID0ge307XG5cbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21wdXRlZFN0eWxlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBjb25zdCBmaXJzdENvbXB1dGVkU3R5bGUgPSBmaXJzdFtjb21wdXRlZFN0eWxlXSxcbiAgICAgICAgICAgICAgbmFtZSA9IGZpcnN0Q29tcHV0ZWRTdHlsZSwgIC8vL1xuICAgICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsgLy8vXG5cbiAgICAgICAgY3NzW25hbWVdID0gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjc3M7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjc3MgPT09IFNUUklORykge1xuICAgICAgbGV0IG5hbWUgPSBjc3M7IC8vL1xuXG4gICAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvbUVsZW1lbnQpLFxuICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSk7IC8vL1xuXG4gICAgICBjc3MgPSB2YWx1ZTsgIC8vL1xuXG4gICAgICByZXR1cm4gY3NzO1xuICAgIH1cblxuICAgIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXMoY3NzKTsgLy8vXG5cbiAgICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNzc1tuYW1lXTtcblxuICAgICAgdGhpcy5zdHlsZShuYW1lLCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbiAgXG4gIGJsdXIoKSB7IHRoaXMuZG9tRWxlbWVudC5ibHVyKCk7IH1cblxuICBmb2N1cygpIHsgdGhpcy5kb21FbGVtZW50LmZvY3VzKCk7IH1cblxuICBoYXNGb2N1cygpIHtcbiAgICBjb25zdCBmb2N1cyA9IChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmRvbUVsZW1lbnQpOyAgLy8vXG5cbiAgICByZXR1cm4gZm9jdXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB7IHRhZ05hbWUgfSA9IENsYXNzLFxuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSBkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyksXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyk7XG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21UYWdOYW1lKHRhZ05hbWUsIHByb3BlcnRpZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IENsYXNzID0gRWxlbWVudCwgIC8vL1xuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7fSwgLy8vXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBbXTsgLy8vXG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGpzeE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBrZXlNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgY2xpY2tNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgc3RhdGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZXZlbnRNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgbW91c2VNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgcmVzaXplTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHNjcm9sbE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBlbGVtZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGN1c3RvbUV2ZW50TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgRWxlbWVudDtcblxuZnVuY3Rpb24gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBudWxsLFxuICAgICAgICBlbGVtZW50ID0gbmV3IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKENsYXNzLCBudWxsLCBzZWxlY3RvciwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50ID0gaXNTVkdUYWdOYW1lKHRhZ05hbWUpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRV9VUkksIHRhZ05hbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50Ll9fZWxlbWVudF9fID0gZWxlbWVudDsgLy8vXG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBkZWZhdWx0UHJvcGVydGllcyA9IHt9KSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShERUZBVUxUX1BST1BFUlRJRVMpKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBjb21iaW5lKGRlZmF1bHRQcm9wZXJ0aWVzLCBDbGFzc1tERUZBVUxUX1BST1BFUlRJRVNdKTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpO1xuXG4gIGlmIChzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyhzdXBlckNsYXNzLCBkZWZhdWx0UHJvcGVydGllcyk7XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFByb3BlcnRpZXM7XG59XG5cbmZ1bmN0aW9uIGlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBpZ25vcmVkUHJvcGVydGllcyA9IFtdKSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShJR05PUkVEX1BST1BFUlRJRVMpKSB7XG4gICAgaWdub3JlZFByb3BlcnRpZXMgPSBhdWdtZW50KGlnbm9yZWRQcm9wZXJ0aWVzLCBDbGFzc1tJR05PUkVEX1BST1BFUlRJRVNdLCAoaWdub3JlZFByb3BlcnR5KSA9PiB7XG4gICAgICBpZiAoIWlnbm9yZWRQcm9wZXJ0aWVzLmluY2x1ZGVzKGlnbm9yZWRQcm9wZXJ0eSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBzdXBlckNsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKENsYXNzKTtcblxuICBpZiAoc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3Moc3VwZXJDbGFzcywgaWdub3JlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcmV0dXJuIGlnbm9yZWRQcm9wZXJ0aWVzO1xufVxuIl0sIm5hbWVzIjpbIkVsZW1lbnQiLCJzZWxlY3RvciIsImRvbUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJfX2VsZW1lbnRfXyIsImdldERPTUVsZW1lbnQiLCJnZXRPZmZzZXQiLCJ0b3AiLCJvZmZzZXRUb3AiLCJsZWZ0Iiwib2Zmc2V0TGVmdCIsIm9mZnNldCIsIk9mZnNldCIsImdldEJvdW5kcyIsImJvdW5kaW5nQ2xpZW50UmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImJvdW5kcyIsIkJvdW5kcyIsImZyb21Cb3VuZGluZ0NsaWVudFJlY3QiLCJnZXRXaWR0aCIsImluY2x1ZGVCb3JkZXIiLCJ3aWR0aCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJzZXRXaWR0aCIsInN0eWxlIiwiV0lEVEgiLCJnZXRIZWlnaHQiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzZXRIZWlnaHQiLCJIRUlHSFQiLCJoYXNBdHRyaWJ1dGUiLCJuYW1lIiwiZ2V0QXR0cmlidXRlIiwic2V0QXR0cmlidXRlIiwidmFsdWUiLCJjbGVhckF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImFkZEF0dHJpYnV0ZSIsInNldENsYXNzIiwiY2xhc3NOYW1lIiwiYWRkQ2xhc3MiLCJjbGFzc0xpc3QiLCJhZGQiLCJyZW1vdmVDbGFzcyIsInJlbW92ZSIsInRvZ2dsZUNsYXNzIiwidG9nZ2xlIiwiaGFzQ2xhc3MiLCJjb250YWlucyIsImNsZWFyQ2xhc3NlcyIsIkVNUFRZX1NUUklORyIsInByZXBlbmRUbyIsInBhcmVudEVsZW1lbnQiLCJwcmVwZW5kIiwiYXBwZW5kVG8iLCJhcHBlbmQiLCJhZGRUbyIsInJlbW92ZUZyb20iLCJpbnNlcnRCZWZvcmUiLCJzaWJsaW5nRWxlbWVudCIsInBhcmVudERPTU5vZGUiLCJwYXJlbnROb2RlIiwic2libGluZ0RPTUVsZW1lbnQiLCJpbnNlcnRBZnRlciIsIm5leHRTaWJsaW5nIiwiZWxlbWVudCIsImZpcnN0Q2hpbGRET01FbGVtZW50IiwiZmlyc3RDaGlsZCIsImluc2VydCIsInJlbW92ZUNoaWxkIiwibW91bnRCZWZvcmUiLCJtb3VudEVsZW1lbnQiLCJtb3VudEFmdGVyIiwibW91bnQiLCJ1bm1vdW50IiwidW5tb3VudEVsZW1lbnQiLCJzaG93IiwiZGlzcGxheVN0eWxlIiwiQkxPQ0siLCJkaXNwbGF5IiwiaGlkZSIsIkRJU1BMQVkiLCJOT05FIiwiZW5hYmxlIiwiRElTQUJMRUQiLCJkaXNhYmxlIiwiaXNFbmFibGVkIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwiZW5hYmxlZCIsImlzRGlzcGxheWVkIiwiY3NzIiwiZGlzcGxheWVkIiwiaXNTaG93aW5nIiwic2hvd2luZyIsImlzSGlkZGVuIiwiaGlkZGVuIiwiaHRtbCIsImlubmVySFRNTCIsImNvbXB1dGVkU3R5bGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaW5kZXgiLCJsZW5ndGgiLCJmaXJzdENvbXB1dGVkU3R5bGUiLCJmaXJzdCIsImdldFByb3BlcnR5VmFsdWUiLCJTVFJJTkciLCJuYW1lcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiYmx1ciIsImZvY3VzIiwiaGFzRm9jdXMiLCJhY3RpdmVFbGVtZW50IiwiZnJvbUNsYXNzIiwiQ2xhc3MiLCJwcm9wZXJ0aWVzIiwicmVtYWluaW5nQXJndW1lbnRzIiwidGFnTmFtZSIsImVsZW1lbnRGcm9tVGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MiLCJpZ25vcmVkUHJvcGVydGllcyIsImlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzIiwiYXBwbHlQcm9wZXJ0aWVzIiwiaW5pdGlhbGlzZSIsImZyb21UYWdOYW1lIiwiYXNzaWduIiwicHJvdG90eXBlIiwianN4TWl4aW5zIiwia2V5TWl4aW5zIiwiY2xpY2tNaXhpbnMiLCJzdGF0ZU1peGlucyIsImV2ZW50TWl4aW5zIiwibW91c2VNaXhpbnMiLCJyZXNpemVNaXhpbnMiLCJzY3JvbGxNaXhpbnMiLCJlbGVtZW50TWl4aW5zIiwiY3VzdG9tRXZlbnRNaXhpbnMiLCJGdW5jdGlvbiIsImJpbmQiLCJjYWxsIiwiaXNTVkdUYWdOYW1lIiwiY3JlYXRlRWxlbWVudE5TIiwiU1ZHX05BTUVTUEFDRV9VUkkiLCJjcmVhdGVFbGVtZW50IiwiaGFzT3duUHJvcGVydHkiLCJERUZBVUxUX1BST1BFUlRJRVMiLCJjb21iaW5lIiwic3VwZXJDbGFzcyIsImdldFByb3RvdHlwZU9mIiwiSUdOT1JFRF9QUk9QRVJUSUVTIiwiYXVnbWVudCIsImlnbm9yZWRQcm9wZXJ0eSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1VkE7OztlQUFBOzs7NkRBclZtQjs2REFDQTswREFDRzswREFDQTs0REFDRTs0REFDQTs0REFDQTs0REFDQTs2REFDQzs2REFDQTs4REFDQztrRUFDSTtzQkFFTjtvQkFDSztxQkFDRTt5QkFXSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5DLElBQUEsQUFBTUEsd0JBQUQsQUFBTDthQUFNQSxRQUNRQyxRQUFRO2dDQURoQkQ7UUFFRixJQUFJQyxVQUFVO1lBQ1osSUFBSSxDQUFDQyxVQUFVLEdBQUdDLFNBQVNDLGFBQWEsQ0FBQ0g7WUFFekMsSUFBSSxDQUFDQyxVQUFVLENBQUNHLFdBQVcsR0FBRyxJQUFJLEVBQUUsR0FBRztRQUN6Qzs7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
package/lib/index.js CHANGED
@@ -51,6 +51,9 @@ _export(exports, {
51
51
  document: function() {
52
52
  return _document.default;
53
53
  },
54
+ elementMixins: function() {
55
+ return _element1.defautl;
56
+ },
54
57
  eventTypes: function() {
55
58
  return _eventTypes.default;
56
59
  },
@@ -78,10 +81,11 @@ var _window = /*#__PURE__*/ _interop_require_default(require("./window"));
78
81
  var _document = /*#__PURE__*/ _interop_require_default(require("./document"));
79
82
  var _eventTypes = /*#__PURE__*/ _interop_require_default(require("./eventTypes"));
80
83
  var _mouseButtons = /*#__PURE__*/ _interop_require_default(require("./mouseButtons"));
84
+ var _element1 = require("./mixins/element");
81
85
  function _interop_require_default(obj) {
82
86
  return obj && obj.__esModule ? obj : {
83
87
  default: obj
84
88
  };
85
89
  }
86
90
 
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZWFjdCB9IGZyb20gXCIuL3JlYWN0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEJvdW5kcyB9IGZyb20gXCIuL2JvdW5kc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPZmZzZXQgfSBmcm9tIFwiLi9vZmZzZXRcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCb2R5IH0gZnJvbSBcIi4vZWxlbWVudC9ib2R5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExpbmsgfSBmcm9tIFwiLi9lbGVtZW50L2xpbmtcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW5wdXQgfSBmcm9tIFwiLi9pbnB1dEVsZW1lbnQvaW5wdXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uIH0gZnJvbSBcIi4vZWxlbWVudC9idXR0b25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VsZWN0IH0gZnJvbSBcIi4vZWxlbWVudC9zZWxlY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tib3ggfSBmcm9tIFwiLi9lbGVtZW50L2NoZWNrYm94XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRhcmVhIH0gZnJvbSBcIi4vaW5wdXRFbGVtZW50L3RleHRhcmVhXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRFbGVtZW50IH0gZnJvbSBcIi4vdGV4dEVsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW5wdXRFbGVtZW50IH0gZnJvbSBcIi4vaW5wdXRFbGVtZW50XCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgd2luZG93IH0gZnJvbSBcIi4vd2luZG93XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRvY3VtZW50IH0gZnJvbSBcIi4vZG9jdW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRUeXBlcyB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbW91c2VCdXR0b25zIH0gZnJvbSBcIi4vbW91c2VCdXR0b25zXCI7XG4iXSwibmFtZXMiOlsiQm9keSIsIkJvdW5kcyIsIkJ1dHRvbiIsIkNoZWNrYm94IiwiRWxlbWVudCIsIklucHV0IiwiSW5wdXRFbGVtZW50IiwiTGluayIsIk9mZnNldCIsIlJlYWN0IiwiU2VsZWN0IiwiVGV4dEVsZW1lbnQiLCJUZXh0YXJlYSIsImRvY3VtZW50IiwiZXZlbnRUeXBlcyIsIm1vdXNlQnV0dG9ucyIsIndpbmRvdyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBTW9CQSxJQUFJO2VBQUpBLGFBQUk7O0lBSEpDLE1BQU07ZUFBTkEsZUFBTTs7SUFNTkMsTUFBTTtlQUFOQSxlQUFNOztJQUdOQyxRQUFRO2VBQVJBLGlCQUFROztJQURSQyxPQUFPO2VBQVBBLGdCQUFPOztJQUhQQyxLQUFLO2VBQUxBLGNBQUs7O0lBT0xDLFlBQVk7ZUFBWkEscUJBQVk7O0lBUlpDLElBQUk7ZUFBSkEsYUFBSTs7SUFISkMsTUFBTTtlQUFOQSxlQUFNOztJQUZOQyxLQUFLO2VBQUxBLGNBQUs7O0lBUUxDLE1BQU07ZUFBTkEsZUFBTTs7SUFJTkMsV0FBVztlQUFYQSxvQkFBVzs7SUFEWEMsUUFBUTtlQUFSQSxpQkFBUTs7SUFLUkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFDUkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFDVkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFIWkMsTUFBTTtlQUFOQSxlQUFNOzs7NERBZk87NkRBQ0M7NkRBQ0E7MkRBRUY7MkRBQ0E7NERBQ0M7NkRBQ0M7NkRBQ0E7OERBQ0M7K0RBQ0M7K0RBQ0E7a0VBQ0c7bUVBQ0M7NkRBRU47K0RBQ0U7aUVBQ0U7bUVBQ0UifQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZWFjdCB9IGZyb20gXCIuL3JlYWN0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEJvdW5kcyB9IGZyb20gXCIuL2JvdW5kc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPZmZzZXQgfSBmcm9tIFwiLi9vZmZzZXRcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCb2R5IH0gZnJvbSBcIi4vZWxlbWVudC9ib2R5XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIExpbmsgfSBmcm9tIFwiLi9lbGVtZW50L2xpbmtcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW5wdXQgfSBmcm9tIFwiLi9pbnB1dEVsZW1lbnQvaW5wdXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnV0dG9uIH0gZnJvbSBcIi4vZWxlbWVudC9idXR0b25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VsZWN0IH0gZnJvbSBcIi4vZWxlbWVudC9zZWxlY3RcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tib3ggfSBmcm9tIFwiLi9lbGVtZW50L2NoZWNrYm94XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRhcmVhIH0gZnJvbSBcIi4vaW5wdXRFbGVtZW50L3RleHRhcmVhXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRFbGVtZW50IH0gZnJvbSBcIi4vdGV4dEVsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW5wdXRFbGVtZW50IH0gZnJvbSBcIi4vaW5wdXRFbGVtZW50XCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgd2luZG93IH0gZnJvbSBcIi4vd2luZG93XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGRvY3VtZW50IH0gZnJvbSBcIi4vZG9jdW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRUeXBlcyB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbW91c2VCdXR0b25zIH0gZnJvbSBcIi4vbW91c2VCdXR0b25zXCI7XG5cbmV4cG9ydCB7IGRlZmF1dGwgYXMgZWxlbWVudE1peGlucyB9IGZyb20gXCIuL21peGlucy9lbGVtZW50XCI7XG4iXSwibmFtZXMiOlsiQm9keSIsIkJvdW5kcyIsIkJ1dHRvbiIsIkNoZWNrYm94IiwiRWxlbWVudCIsIklucHV0IiwiSW5wdXRFbGVtZW50IiwiTGluayIsIk9mZnNldCIsIlJlYWN0IiwiU2VsZWN0IiwiVGV4dEVsZW1lbnQiLCJUZXh0YXJlYSIsImRvY3VtZW50IiwiZWxlbWVudE1peGlucyIsImRlZmF1dGwiLCJldmVudFR5cGVzIiwibW91c2VCdXR0b25zIiwid2luZG93Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNb0JBLElBQUk7ZUFBSkEsYUFBSTs7SUFISkMsTUFBTTtlQUFOQSxlQUFNOztJQU1OQyxNQUFNO2VBQU5BLGVBQU07O0lBR05DLFFBQVE7ZUFBUkEsaUJBQVE7O0lBRFJDLE9BQU87ZUFBUEEsZ0JBQU87O0lBSFBDLEtBQUs7ZUFBTEEsY0FBSzs7SUFPTEMsWUFBWTtlQUFaQSxxQkFBWTs7SUFSWkMsSUFBSTtlQUFKQSxhQUFJOztJQUhKQyxNQUFNO2VBQU5BLGVBQU07O0lBRk5DLEtBQUs7ZUFBTEEsY0FBSzs7SUFRTEMsTUFBTTtlQUFOQSxlQUFNOztJQUlOQyxXQUFXO2VBQVhBLG9CQUFXOztJQURYQyxRQUFRO2VBQVJBLGlCQUFROztJQUtSQyxRQUFRO2VBQVJBLGlCQUFROztJQUlSQyxhQUFhO2VBQXhCQyxpQkFBTzs7SUFISUMsVUFBVTtlQUFWQSxtQkFBVTs7SUFDVkMsWUFBWTtlQUFaQSxxQkFBWTs7SUFIWkMsTUFBTTtlQUFOQSxlQUFNOzs7NERBZk87NkRBQ0M7NkRBQ0E7MkRBRUY7MkRBQ0E7NERBQ0M7NkRBQ0M7NkRBQ0E7OERBQ0M7K0RBQ0M7K0RBQ0E7a0VBQ0c7bUVBQ0M7NkRBRU47K0RBQ0U7aUVBQ0U7bUVBQ0U7d0JBRUMifQ==
@@ -11,6 +11,48 @@ Object.defineProperty(exports, "default", {
11
11
  var _array = require("../utilities/array");
12
12
  var _constants = require("../constants");
13
13
  var _dom = require("../utilities/dom");
14
+ function _array_like_to_array(arr, len) {
15
+ if (len == null || len > arr.length) len = arr.length;
16
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17
+ return arr2;
18
+ }
19
+ function _array_without_holes(arr) {
20
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
21
+ }
22
+ function _iterable_to_array(iter) {
23
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24
+ }
25
+ function _non_iterable_spread() {
26
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
+ }
28
+ function _to_consumable_array(arr) {
29
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
30
+ }
31
+ function _unsupported_iterable_to_array(o, minLen) {
32
+ if (!o) return;
33
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
34
+ var n = Object.prototype.toString.call(o).slice(8, -1);
35
+ if (n === "Object" && o.constructor) n = o.constructor.name;
36
+ if (n === "Map" || n === "Set") return Array.from(n);
37
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
38
+ }
39
+ function mountElement(element) {
40
+ var descendantElements = element.getDescendantElements(), elements = [
41
+ element
42
+ ].concat(_to_consumable_array(descendantElements));
43
+ elements.reverse(); ///
44
+ elements.forEach(function(element) {
45
+ element.didMount && element.didMount();
46
+ });
47
+ }
48
+ function unmountElement(element) {
49
+ var descendantElements = element.getDescendantElements(), elements = [
50
+ element
51
+ ].concat(_to_consumable_array(descendantElements));
52
+ elements.forEach(function(element) {
53
+ element.willUnmount && element.willUnmount();
54
+ });
55
+ }
14
56
  function getParentElement() {
15
57
  var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : _constants.WILDCARD;
16
58
  var parentElement = null;
@@ -59,6 +101,8 @@ function getPreviousSiblingElement() {
59
101
  return previousSiblingElement;
60
102
  }
61
103
  var elementMixins = {
104
+ mountElement: mountElement,
105
+ unmountElement: unmountElement,
62
106
  getParentElement: getParentElement,
63
107
  getChildElements: getChildElements,
64
108
  getAscendantElements: getAscendantElements,
@@ -68,4 +112,4 @@ var elementMixins = {
68
112
  };
69
113
  var _default = elementMixins;
70
114
 
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBXSUxEQ0FSRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IsIGVsZW1lbnRzRnJvbURPTUVsZW1lbnRzLCBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IsIGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUsIGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9kb21cIjtcblxuZnVuY3Rpb24gZ2V0UGFyZW50RWxlbWVudChzZWxlY3RvciA9IFdJTERDQVJEKSB7XG4gIGxldCBwYXJlbnRFbGVtZW50ID0gbnVsbDtcblxuICBjb25zdCBwYXJlbnRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgaWYgKHBhcmVudERPTUVsZW1lbnQgIT09IG51bGwpIHtcbiAgICBpZiAocGFyZW50RE9NRWxlbWVudC5tYXRjaGVzKHNlbGVjdG9yKSkge1xuICAgICAgY29uc3QgcGFyZW50RE9NRWxlbWVudHMgPSBbcGFyZW50RE9NRWxlbWVudF0sXG4gICAgICAgICAgICBwYXJlbnRFbGVtZW50cyA9IGVsZW1lbnRzRnJvbURPTUVsZW1lbnRzKHBhcmVudERPTUVsZW1lbnRzKSxcbiAgICAgICAgICAgIGZpcnN0UGFyZW50RWxlbWVudCA9IGZpcnN0KHBhcmVudEVsZW1lbnRzKTtcblxuICAgICAgcGFyZW50RWxlbWVudCA9IGZpcnN0UGFyZW50RWxlbWVudCB8fCBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnRFbGVtZW50O1xufVxuXG5mdW5jdGlvbiBnZXRDaGlsZEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQpIHtcbiAgY29uc3QgY2hpbGRET01Ob2RlcyA9IHRoaXMuZG9tRWxlbWVudC5jaGlsZE5vZGVzLFxuICAgICAgICBjaGlsZERPTUVsZW1lbnRzID0gZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yKGNoaWxkRE9NTm9kZXMsIHNlbGVjdG9yKSxcbiAgICAgICAgY2hpbGRFbGVtZW50cyA9IGVsZW1lbnRzRnJvbURPTUVsZW1lbnRzKGNoaWxkRE9NRWxlbWVudHMpO1xuXG4gIHJldHVybiBjaGlsZEVsZW1lbnRzO1xufVxuXG5mdW5jdGlvbiBnZXRBc2NlbmRhbnRFbGVtZW50cyhzZWxlY3RvciA9IFdJTERDQVJELCBtYXhpbXVtSGVpZ2h0ID0gSW5maW5pdHkpIHtcbiAgY29uc3QgaGVpZ2h0ID0gbWF4aW11bUhlaWdodCwgLy8vXG4gICAgICAgIGRvbU5vZGUgPSB0aGlzLmRvbUVsZW1lbnQsICAvLy9cbiAgICAgICAgYXNjZW5kYW50RE9NTm9kZXMgPSBhc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlKGRvbU5vZGUsIGhlaWdodCksXG4gICAgICAgIGFzY2VuZGFudERPTUVsZW1lbnRzID0gZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yKGFzY2VuZGFudERPTU5vZGVzLCBzZWxlY3RvciksXG4gICAgICAgIGFzY2VuZGFudEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMoYXNjZW5kYW50RE9NRWxlbWVudHMpO1xuXG4gIHJldHVybiBhc2NlbmRhbnRFbGVtZW50cztcbn1cblxuZnVuY3Rpb24gZ2V0RGVzY2VuZGFudEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQsIG1heGltdW1EZXB0aCA9IEluZmluaXR5KSB7XG4gIGNvbnN0IGRlcHRoID0gbWF4aW11bURlcHRoLCAvLy9cbiAgICAgICAgZG9tTm9kZSA9IHRoaXMuZG9tRWxlbWVudCwgIC8vL1xuICAgICAgICBkZXNjZW5kYW50RE9NTm9kZXMgPSBkZXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZShkb21Ob2RlLCBkZXB0aCksXG4gICAgICAgIGRlc2NlbmRhbnRET01FbGVtZW50cyA9IGZpbHRlckRPTU5vZGVzQnlTZWxlY3RvcihkZXNjZW5kYW50RE9NTm9kZXMsIHNlbGVjdG9yKSxcbiAgICAgICAgZGVzY2VuZGFudEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMoZGVzY2VuZGFudERPTUVsZW1lbnRzKTtcblxuICByZXR1cm4gZGVzY2VuZGFudEVsZW1lbnRzO1xufVxuXG5mdW5jdGlvbiBnZXROZXh0U2libGluZ0VsZW1lbnQoc2VsZWN0b3IgPSBXSUxEQ0FSRCkge1xuICBsZXQgbmV4dFNpYmxpbmdFbGVtZW50ID0gbnVsbDtcblxuICBjb25zdCBuZXh0U2libGluZ0RPTU5vZGUgPSB0aGlzLmRvbUVsZW1lbnQubmV4dFNpYmxpbmc7XG5cbiAgaWYgKChuZXh0U2libGluZ0RPTU5vZGUgIT09IG51bGwpICYmIGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IobmV4dFNpYmxpbmdET01Ob2RlLCBzZWxlY3RvcikpIHtcbiAgICBuZXh0U2libGluZ0VsZW1lbnQgPSBuZXh0U2libGluZ0RPTU5vZGUuX19lbGVtZW50X18gfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXh0U2libGluZ0VsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldFByZXZpb3VzU2libGluZ0VsZW1lbnQoc2VsZWN0b3IgPSBXSUxEQ0FSRCkge1xuICBsZXQgcHJldmlvdXNTaWJsaW5nRWxlbWVudCA9IG51bGw7XG5cbiAgY29uc3QgcHJldmlvdXNTaWJsaW5nRE9NTm9kZSA9IHRoaXMuZG9tRWxlbWVudC5wcmV2aW91c1NpYmxpbmc7ICAvLy9cblxuICBpZiAoKHByZXZpb3VzU2libGluZ0RPTU5vZGUgIT09IG51bGwpICYmIGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IocHJldmlvdXNTaWJsaW5nRE9NTm9kZSwgc2VsZWN0b3IpKSB7XG4gICAgcHJldmlvdXNTaWJsaW5nRWxlbWVudCA9IHByZXZpb3VzU2libGluZ0RPTU5vZGUuX19lbGVtZW50X18gfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwcmV2aW91c1NpYmxpbmdFbGVtZW50O1xufVxuXG5jb25zdCBlbGVtZW50TWl4aW5zID0ge1xuICBnZXRQYXJlbnRFbGVtZW50LFxuICBnZXRDaGlsZEVsZW1lbnRzLFxuICBnZXRBc2NlbmRhbnRFbGVtZW50cyxcbiAgZ2V0RGVzY2VuZGFudEVsZW1lbnRzLFxuICBnZXROZXh0U2libGluZ0VsZW1lbnQsXG4gIGdldFByZXZpb3VzU2libGluZ0VsZW1lbnRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGVsZW1lbnRNaXhpbnM7XG4iXSwibmFtZXMiOlsiZ2V0UGFyZW50RWxlbWVudCIsInNlbGVjdG9yIiwiV0lMRENBUkQiLCJwYXJlbnRFbGVtZW50IiwicGFyZW50RE9NRWxlbWVudCIsImRvbUVsZW1lbnQiLCJtYXRjaGVzIiwicGFyZW50RE9NRWxlbWVudHMiLCJwYXJlbnRFbGVtZW50cyIsImVsZW1lbnRzRnJvbURPTUVsZW1lbnRzIiwiZmlyc3RQYXJlbnRFbGVtZW50IiwiZmlyc3QiLCJnZXRDaGlsZEVsZW1lbnRzIiwiY2hpbGRET01Ob2RlcyIsImNoaWxkTm9kZXMiLCJjaGlsZERPTUVsZW1lbnRzIiwiZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yIiwiY2hpbGRFbGVtZW50cyIsImdldEFzY2VuZGFudEVsZW1lbnRzIiwibWF4aW11bUhlaWdodCIsIkluZmluaXR5IiwiaGVpZ2h0IiwiZG9tTm9kZSIsImFzY2VuZGFudERPTU5vZGVzIiwiYXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZSIsImFzY2VuZGFudERPTUVsZW1lbnRzIiwiYXNjZW5kYW50RWxlbWVudHMiLCJnZXREZXNjZW5kYW50RWxlbWVudHMiLCJtYXhpbXVtRGVwdGgiLCJkZXB0aCIsImRlc2NlbmRhbnRET01Ob2RlcyIsImRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIiwiZGVzY2VuZGFudERPTUVsZW1lbnRzIiwiZGVzY2VuZGFudEVsZW1lbnRzIiwiZ2V0TmV4dFNpYmxpbmdFbGVtZW50IiwibmV4dFNpYmxpbmdFbGVtZW50IiwibmV4dFNpYmxpbmdET01Ob2RlIiwibmV4dFNpYmxpbmciLCJkb21Ob2RlTWF0Y2hlc1NlbGVjdG9yIiwiX19lbGVtZW50X18iLCJnZXRQcmV2aW91c1NpYmxpbmdFbGVtZW50IiwicHJldmlvdXNTaWJsaW5nRWxlbWVudCIsInByZXZpb3VzU2libGluZ0RPTU5vZGUiLCJwcmV2aW91c1NpYmxpbmciLCJlbGVtZW50TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxRkE7OztlQUFBOzs7cUJBbkZzQjt5QkFDRzttQkFDOEg7QUFFdkosU0FBU0E7UUFBaUJDLFdBQUFBLGlFQUFXQyxtQkFBUTtJQUMzQyxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0MsVUFBVSxDQUFDRixhQUFhO0lBRXRELElBQUlDLHFCQUFxQixNQUFNO1FBQzdCLElBQUlBLGlCQUFpQkUsT0FBTyxDQUFDTCxXQUFXO1lBQ3RDLElBQU1NLG9CQUFvQjtnQkFBQ0g7YUFBaUIsRUFDdENJLGlCQUFpQkMsSUFBQUEsNEJBQXVCLEVBQUNGLG9CQUN6Q0cscUJBQXFCQyxJQUFBQSxZQUFLLEVBQUNIO1lBRWpDTCxnQkFBZ0JPLHNCQUFzQjtRQUN4QztJQUNGO0lBRUEsT0FBT1A7QUFDVDtBQUVBLFNBQVNTO1FBQWlCWCxXQUFBQSxpRUFBV0MsbUJBQVE7SUFDM0MsSUFBTVcsZ0JBQWdCLElBQUksQ0FBQ1IsVUFBVSxDQUFDUyxVQUFVLEVBQzFDQyxtQkFBbUJDLElBQUFBLDZCQUF3QixFQUFDSCxlQUFlWixXQUMzRGdCLGdCQUFnQlIsSUFBQUEsNEJBQXVCLEVBQUNNO0lBRTlDLE9BQU9FO0FBQ1Q7QUFFQSxTQUFTQztRQUFxQmpCLFdBQUFBLGlFQUFXQyxtQkFBUSxFQUFFaUIsZ0JBQUFBLGlFQUFnQkM7SUFDakUsSUFBTUMsU0FBU0YsZUFDVEcsVUFBVSxJQUFJLENBQUNqQixVQUFVLEVBQ3pCa0Isb0JBQW9CQyxJQUFBQSxpQ0FBNEIsRUFBQ0YsU0FBU0QsU0FDMURJLHVCQUF1QlQsSUFBQUEsNkJBQXdCLEVBQUNPLG1CQUFtQnRCLFdBQ25FeUIsb0JBQW9CakIsSUFBQUEsNEJBQXVCLEVBQUNnQjtJQUVsRCxPQUFPQztBQUNUO0FBRUEsU0FBU0M7UUFBc0IxQixXQUFBQSxpRUFBV0MsbUJBQVEsRUFBRTBCLGVBQUFBLGlFQUFlUjtJQUNqRSxJQUFNUyxRQUFRRCxjQUNSTixVQUFVLElBQUksQ0FBQ2pCLFVBQVUsRUFDekJ5QixxQkFBcUJDLElBQUFBLGtDQUE2QixFQUFDVCxTQUFTTyxRQUM1REcsd0JBQXdCaEIsSUFBQUEsNkJBQXdCLEVBQUNjLG9CQUFvQjdCLFdBQ3JFZ0MscUJBQXFCeEIsSUFBQUEsNEJBQXVCLEVBQUN1QjtJQUVuRCxPQUFPQztBQUNUO0FBRUEsU0FBU0M7UUFBc0JqQyxXQUFBQSxpRUFBV0MsbUJBQVE7SUFDaEQsSUFBSWlDLHFCQUFxQjtJQUV6QixJQUFNQyxxQkFBcUIsSUFBSSxDQUFDL0IsVUFBVSxDQUFDZ0MsV0FBVztJQUV0RCxJQUFJLEFBQUNELHVCQUF1QixRQUFTRSxJQUFBQSwyQkFBc0IsRUFBQ0Ysb0JBQW9CbkMsV0FBVztRQUN6RmtDLHFCQUFxQkMsbUJBQW1CRyxXQUFXLElBQUk7SUFDekQ7SUFFQSxPQUFPSjtBQUNUO0FBRUEsU0FBU0s7UUFBMEJ2QyxXQUFBQSxpRUFBV0MsbUJBQVE7SUFDcEQsSUFBSXVDLHlCQUF5QjtJQUU3QixJQUFNQyx5QkFBeUIsSUFBSSxDQUFDckMsVUFBVSxDQUFDc0MsZUFBZSxFQUFHLEdBQUc7SUFFcEUsSUFBSSxBQUFDRCwyQkFBMkIsUUFBU0osSUFBQUEsMkJBQXNCLEVBQUNJLHdCQUF3QnpDLFdBQVc7UUFDakd3Qyx5QkFBeUJDLHVCQUF1QkgsV0FBVyxJQUFJO0lBQ2pFO0lBRUEsT0FBT0U7QUFDVDtBQUVBLElBQU1HLGdCQUFnQjtJQUNwQjVDLGtCQUFBQTtJQUNBWSxrQkFBQUE7SUFDQU0sc0JBQUFBO0lBQ0FTLHVCQUFBQTtJQUNBTyx1QkFBQUE7SUFDQU0sMkJBQUFBO0FBQ0Y7SUFFQSxXQUFlSSJ9
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBXSUxEQ0FSRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IsIGVsZW1lbnRzRnJvbURPTUVsZW1lbnRzLCBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IsIGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUsIGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9kb21cIjtcblxuZnVuY3Rpb24gbW91bnRFbGVtZW50KGVsZW1lbnQpIHtcbiAgY29uc3QgZGVzY2VuZGFudEVsZW1lbnRzID0gZWxlbWVudC5nZXREZXNjZW5kYW50RWxlbWVudHMoKSxcbiAgICAgICAgZWxlbWVudHMgPSBbXG4gICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAuLi5kZXNjZW5kYW50RWxlbWVudHNcbiAgICAgICAgXTtcblxuICBlbGVtZW50cy5yZXZlcnNlKCk7IC8vL1xuXG4gIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICBlbGVtZW50LmRpZE1vdW50ICYmIGVsZW1lbnQuZGlkTW91bnQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHVubW91bnRFbGVtZW50KGVsZW1lbnQpIHtcbiAgY29uc3QgZGVzY2VuZGFudEVsZW1lbnRzID0gZWxlbWVudC5nZXREZXNjZW5kYW50RWxlbWVudHMoKSxcbiAgICAgICAgZWxlbWVudHMgPSBbXG4gICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAuLi5kZXNjZW5kYW50RWxlbWVudHNcbiAgICAgICAgXTtcblxuICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgZWxlbWVudC53aWxsVW5tb3VudCAmJiBlbGVtZW50LndpbGxVbm1vdW50KCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnRFbGVtZW50KHNlbGVjdG9yID0gV0lMRENBUkQpIHtcbiAgbGV0IHBhcmVudEVsZW1lbnQgPSBudWxsO1xuXG4gIGNvbnN0IHBhcmVudERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICBpZiAocGFyZW50RE9NRWxlbWVudCAhPT0gbnVsbCkge1xuICAgIGlmIChwYXJlbnRET01FbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICBjb25zdCBwYXJlbnRET01FbGVtZW50cyA9IFtwYXJlbnRET01FbGVtZW50XSxcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMocGFyZW50RE9NRWxlbWVudHMpLFxuICAgICAgICAgICAgZmlyc3RQYXJlbnRFbGVtZW50ID0gZmlyc3QocGFyZW50RWxlbWVudHMpO1xuXG4gICAgICBwYXJlbnRFbGVtZW50ID0gZmlyc3RQYXJlbnRFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcmVudEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGdldENoaWxkRWxlbWVudHMoc2VsZWN0b3IgPSBXSUxEQ0FSRCkge1xuICBjb25zdCBjaGlsZERPTU5vZGVzID0gdGhpcy5kb21FbGVtZW50LmNoaWxkTm9kZXMsXG4gICAgICAgIGNoaWxkRE9NRWxlbWVudHMgPSBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IoY2hpbGRET01Ob2Rlcywgc2VsZWN0b3IpLFxuICAgICAgICBjaGlsZEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMoY2hpbGRET01FbGVtZW50cyk7XG5cbiAgcmV0dXJuIGNoaWxkRWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIGdldEFzY2VuZGFudEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQsIG1heGltdW1IZWlnaHQgPSBJbmZpbml0eSkge1xuICBjb25zdCBoZWlnaHQgPSBtYXhpbXVtSGVpZ2h0LCAvLy9cbiAgICAgICAgZG9tTm9kZSA9IHRoaXMuZG9tRWxlbWVudCwgIC8vL1xuICAgICAgICBhc2NlbmRhbnRET01Ob2RlcyA9IGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUoZG9tTm9kZSwgaGVpZ2h0KSxcbiAgICAgICAgYXNjZW5kYW50RE9NRWxlbWVudHMgPSBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IoYXNjZW5kYW50RE9NTm9kZXMsIHNlbGVjdG9yKSxcbiAgICAgICAgYXNjZW5kYW50RWxlbWVudHMgPSBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhhc2NlbmRhbnRET01FbGVtZW50cyk7XG5cbiAgcmV0dXJuIGFzY2VuZGFudEVsZW1lbnRzO1xufVxuXG5mdW5jdGlvbiBnZXREZXNjZW5kYW50RWxlbWVudHMoc2VsZWN0b3IgPSBXSUxEQ0FSRCwgbWF4aW11bURlcHRoID0gSW5maW5pdHkpIHtcbiAgY29uc3QgZGVwdGggPSBtYXhpbXVtRGVwdGgsIC8vL1xuICAgICAgICBkb21Ob2RlID0gdGhpcy5kb21FbGVtZW50LCAgLy8vXG4gICAgICAgIGRlc2NlbmRhbnRET01Ob2RlcyA9IGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlKGRvbU5vZGUsIGRlcHRoKSxcbiAgICAgICAgZGVzY2VuZGFudERPTUVsZW1lbnRzID0gZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yKGRlc2NlbmRhbnRET01Ob2Rlcywgc2VsZWN0b3IpLFxuICAgICAgICBkZXNjZW5kYW50RWxlbWVudHMgPSBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhkZXNjZW5kYW50RE9NRWxlbWVudHMpO1xuXG4gIHJldHVybiBkZXNjZW5kYW50RWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRTaWJsaW5nRWxlbWVudChzZWxlY3RvciA9IFdJTERDQVJEKSB7XG4gIGxldCBuZXh0U2libGluZ0VsZW1lbnQgPSBudWxsO1xuXG4gIGNvbnN0IG5leHRTaWJsaW5nRE9NTm9kZSA9IHRoaXMuZG9tRWxlbWVudC5uZXh0U2libGluZztcblxuICBpZiAoKG5leHRTaWJsaW5nRE9NTm9kZSAhPT0gbnVsbCkgJiYgZG9tTm9kZU1hdGNoZXNTZWxlY3RvcihuZXh0U2libGluZ0RPTU5vZGUsIHNlbGVjdG9yKSkge1xuICAgIG5leHRTaWJsaW5nRWxlbWVudCA9IG5leHRTaWJsaW5nRE9NTm9kZS5fX2VsZW1lbnRfXyB8fCBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5leHRTaWJsaW5nRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZ2V0UHJldmlvdXNTaWJsaW5nRWxlbWVudChzZWxlY3RvciA9IFdJTERDQVJEKSB7XG4gIGxldCBwcmV2aW91c1NpYmxpbmdFbGVtZW50ID0gbnVsbDtcblxuICBjb25zdCBwcmV2aW91c1NpYmxpbmdET01Ob2RlID0gdGhpcy5kb21FbGVtZW50LnByZXZpb3VzU2libGluZzsgIC8vL1xuXG4gIGlmICgocHJldmlvdXNTaWJsaW5nRE9NTm9kZSAhPT0gbnVsbCkgJiYgZG9tTm9kZU1hdGNoZXNTZWxlY3RvcihwcmV2aW91c1NpYmxpbmdET01Ob2RlLCBzZWxlY3RvcikpIHtcbiAgICBwcmV2aW91c1NpYmxpbmdFbGVtZW50ID0gcHJldmlvdXNTaWJsaW5nRE9NTm9kZS5fX2VsZW1lbnRfXyB8fCBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHByZXZpb3VzU2libGluZ0VsZW1lbnQ7XG59XG5cbmNvbnN0IGVsZW1lbnRNaXhpbnMgPSB7XG4gIG1vdW50RWxlbWVudCxcbiAgdW5tb3VudEVsZW1lbnQsXG4gIGdldFBhcmVudEVsZW1lbnQsXG4gIGdldENoaWxkRWxlbWVudHMsXG4gIGdldEFzY2VuZGFudEVsZW1lbnRzLFxuICBnZXREZXNjZW5kYW50RWxlbWVudHMsXG4gIGdldE5leHRTaWJsaW5nRWxlbWVudCxcbiAgZ2V0UHJldmlvdXNTaWJsaW5nRWxlbWVudFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZWxlbWVudE1peGlucztcbiJdLCJuYW1lcyI6WyJtb3VudEVsZW1lbnQiLCJlbGVtZW50IiwiZGVzY2VuZGFudEVsZW1lbnRzIiwiZ2V0RGVzY2VuZGFudEVsZW1lbnRzIiwiZWxlbWVudHMiLCJyZXZlcnNlIiwiZm9yRWFjaCIsImRpZE1vdW50IiwidW5tb3VudEVsZW1lbnQiLCJ3aWxsVW5tb3VudCIsImdldFBhcmVudEVsZW1lbnQiLCJzZWxlY3RvciIsIldJTERDQVJEIiwicGFyZW50RWxlbWVudCIsInBhcmVudERPTUVsZW1lbnQiLCJkb21FbGVtZW50IiwibWF0Y2hlcyIsInBhcmVudERPTUVsZW1lbnRzIiwicGFyZW50RWxlbWVudHMiLCJlbGVtZW50c0Zyb21ET01FbGVtZW50cyIsImZpcnN0UGFyZW50RWxlbWVudCIsImZpcnN0IiwiZ2V0Q2hpbGRFbGVtZW50cyIsImNoaWxkRE9NTm9kZXMiLCJjaGlsZE5vZGVzIiwiY2hpbGRET01FbGVtZW50cyIsImZpbHRlckRPTU5vZGVzQnlTZWxlY3RvciIsImNoaWxkRWxlbWVudHMiLCJnZXRBc2NlbmRhbnRFbGVtZW50cyIsIm1heGltdW1IZWlnaHQiLCJJbmZpbml0eSIsImhlaWdodCIsImRvbU5vZGUiLCJhc2NlbmRhbnRET01Ob2RlcyIsImFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUiLCJhc2NlbmRhbnRET01FbGVtZW50cyIsImFzY2VuZGFudEVsZW1lbnRzIiwibWF4aW11bURlcHRoIiwiZGVwdGgiLCJkZXNjZW5kYW50RE9NTm9kZXMiLCJkZXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZSIsImRlc2NlbmRhbnRET01FbGVtZW50cyIsImdldE5leHRTaWJsaW5nRWxlbWVudCIsIm5leHRTaWJsaW5nRWxlbWVudCIsIm5leHRTaWJsaW5nRE9NTm9kZSIsIm5leHRTaWJsaW5nIiwiZG9tTm9kZU1hdGNoZXNTZWxlY3RvciIsIl9fZWxlbWVudF9fIiwiZ2V0UHJldmlvdXNTaWJsaW5nRWxlbWVudCIsInByZXZpb3VzU2libGluZ0VsZW1lbnQiLCJwcmV2aW91c1NpYmxpbmdET01Ob2RlIiwicHJldmlvdXNTaWJsaW5nIiwiZWxlbWVudE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUhBOzs7ZUFBQTs7O3FCQS9Hc0I7eUJBQ0c7bUJBQzhIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2SixTQUFTQSxhQUFhQyxPQUFPO0lBQzNCLElBQU1DLHFCQUFxQkQsUUFBUUUscUJBQXFCLElBQ2xEQyxXQUFXO1FBQ1RIO0tBRUQsQ0FIVSxPQUVULHFCQUFHQztJQUdYRSxTQUFTQyxPQUFPLElBQUksR0FBRztJQUV2QkQsU0FBU0UsT0FBTyxDQUFDLFNBQUNMO1FBQ2hCQSxRQUFRTSxRQUFRLElBQUlOLFFBQVFNLFFBQVE7SUFDdEM7QUFDRjtBQUVBLFNBQVNDLGVBQWVQLE9BQU87SUFDN0IsSUFBTUMscUJBQXFCRCxRQUFRRSxxQkFBcUIsSUFDbERDLFdBQVc7UUFDVEg7S0FFRCxDQUhVLE9BRVQscUJBQUdDO0lBR1hFLFNBQVNFLE9BQU8sQ0FBQyxTQUFDTDtRQUNoQkEsUUFBUVEsV0FBVyxJQUFJUixRQUFRUSxXQUFXO0lBQzVDO0FBQ0Y7QUFFQSxTQUFTQztRQUFpQkMsV0FBQUEsaUVBQVdDLG1CQUFRO0lBQzNDLElBQUlDLGdCQUFnQjtJQUVwQixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxVQUFVLENBQUNGLGFBQWE7SUFFdEQsSUFBSUMscUJBQXFCLE1BQU07UUFDN0IsSUFBSUEsaUJBQWlCRSxPQUFPLENBQUNMLFdBQVc7WUFDdEMsSUFBTU0sb0JBQW9CO2dCQUFDSDthQUFpQixFQUN0Q0ksaUJBQWlCQyxJQUFBQSw0QkFBdUIsRUFBQ0Ysb0JBQ3pDRyxxQkFBcUJDLElBQUFBLFlBQUssRUFBQ0g7WUFFakNMLGdCQUFnQk8sc0JBQXNCO1FBQ3hDO0lBQ0Y7SUFFQSxPQUFPUDtBQUNUO0FBRUEsU0FBU1M7UUFBaUJYLFdBQUFBLGlFQUFXQyxtQkFBUTtJQUMzQyxJQUFNVyxnQkFBZ0IsSUFBSSxDQUFDUixVQUFVLENBQUNTLFVBQVUsRUFDMUNDLG1CQUFtQkMsSUFBQUEsNkJBQXdCLEVBQUNILGVBQWVaLFdBQzNEZ0IsZ0JBQWdCUixJQUFBQSw0QkFBdUIsRUFBQ007SUFFOUMsT0FBT0U7QUFDVDtBQUVBLFNBQVNDO1FBQXFCakIsV0FBQUEsaUVBQVdDLG1CQUFRLEVBQUVpQixnQkFBQUEsaUVBQWdCQztJQUNqRSxJQUFNQyxTQUFTRixlQUNURyxVQUFVLElBQUksQ0FBQ2pCLFVBQVUsRUFDekJrQixvQkFBb0JDLElBQUFBLGlDQUE0QixFQUFDRixTQUFTRCxTQUMxREksdUJBQXVCVCxJQUFBQSw2QkFBd0IsRUFBQ08sbUJBQW1CdEIsV0FDbkV5QixvQkFBb0JqQixJQUFBQSw0QkFBdUIsRUFBQ2dCO0lBRWxELE9BQU9DO0FBQ1Q7QUFFQSxTQUFTakM7UUFBc0JRLFdBQUFBLGlFQUFXQyxtQkFBUSxFQUFFeUIsZUFBQUEsaUVBQWVQO0lBQ2pFLElBQU1RLFFBQVFELGNBQ1JMLFVBQVUsSUFBSSxDQUFDakIsVUFBVSxFQUN6QndCLHFCQUFxQkMsSUFBQUEsa0NBQTZCLEVBQUNSLFNBQVNNLFFBQzVERyx3QkFBd0JmLElBQUFBLDZCQUF3QixFQUFDYSxvQkFBb0I1QixXQUNyRVQscUJBQXFCaUIsSUFBQUEsNEJBQXVCLEVBQUNzQjtJQUVuRCxPQUFPdkM7QUFDVDtBQUVBLFNBQVN3QztRQUFzQi9CLFdBQUFBLGlFQUFXQyxtQkFBUTtJQUNoRCxJQUFJK0IscUJBQXFCO0lBRXpCLElBQU1DLHFCQUFxQixJQUFJLENBQUM3QixVQUFVLENBQUM4QixXQUFXO0lBRXRELElBQUksQUFBQ0QsdUJBQXVCLFFBQVNFLElBQUFBLDJCQUFzQixFQUFDRixvQkFBb0JqQyxXQUFXO1FBQ3pGZ0MscUJBQXFCQyxtQkFBbUJHLFdBQVcsSUFBSTtJQUN6RDtJQUVBLE9BQU9KO0FBQ1Q7QUFFQSxTQUFTSztRQUEwQnJDLFdBQUFBLGlFQUFXQyxtQkFBUTtJQUNwRCxJQUFJcUMseUJBQXlCO0lBRTdCLElBQU1DLHlCQUF5QixJQUFJLENBQUNuQyxVQUFVLENBQUNvQyxlQUFlLEVBQUcsR0FBRztJQUVwRSxJQUFJLEFBQUNELDJCQUEyQixRQUFTSixJQUFBQSwyQkFBc0IsRUFBQ0ksd0JBQXdCdkMsV0FBVztRQUNqR3NDLHlCQUF5QkMsdUJBQXVCSCxXQUFXLElBQUk7SUFDakU7SUFFQSxPQUFPRTtBQUNUO0FBRUEsSUFBTUcsZ0JBQWdCO0lBQ3BCcEQsY0FBQUE7SUFDQVEsZ0JBQUFBO0lBQ0FFLGtCQUFBQTtJQUNBWSxrQkFBQUE7SUFDQU0sc0JBQUFBO0lBQ0F6Qix1QkFBQUE7SUFDQXVDLHVCQUFBQTtJQUNBTSwyQkFBQUE7QUFDRjtJQUVBLFdBQWVJIn0=
package/lib/mixins/jsx.js CHANGED
@@ -10,10 +10,10 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _object = require("../utilities/object");
12
12
  var _array = require("../utilities/array");
13
+ var _string = require("../utilities/string");
13
14
  var _name = require("../utilities/name");
14
15
  var _elements = require("../utilities/elements");
15
16
  var _constants = require("../constants");
16
- var _string = require("../utilities/string");
17
17
  function _type_of(obj) {
18
18
  "@swc/helpers - typeof";
19
19
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -103,7 +103,7 @@ function addHandler(element, name, value) {
103
103
  element.onEvent(eventType, handler);
104
104
  }
105
105
  function addCustomHandler(element, name, value) {
106
- var customEventType = (0, _string.camelCaseToSnakeCase)(name).replace(/on-custom-/, "") + _constants.CUSTOM_EVENT_TYPE_SUFFIX, customHandler = value; ///
106
+ var customEventType = (0, _string.camelCaseToSnakeCase)(name).replace(/on-custom-/, ""), customHandler = value; ///
107
107
  element.onCustomEvent(customEventType, customHandler);
108
108
  }
109
109
  function addAttribute(element, name, value) {
@@ -140,4 +140,4 @@ function isNameCustomHandlerName(name) {
140
140
  return nameCustomHandlerName;
141
141
  }
142
142
 
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvanN4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjb21iaW5lLCBwcnVuZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBmaXJzdCwgZ3VhcmFudGVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgaXNIVE1MQXR0cmlidXRlTmFtZSwgaXNTVkdBdHRyaWJ1dGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyByZW1vdmVGYWxzZXlFbGVtZW50cywgcmVwbGFjZVN0cmluZ3NXaXRoVGV4dEVsZW1lbnRzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50c1wiO1xuaW1wb3J0IHsgRk9SLCBDTEFTUywgT0JKRUNULCBIVE1MX0ZPUiwgQ0xBU1NfTkFNRSwgQk9PTEVBTiwgRlVOQ1RJT04sIFNWR19OQU1FU1BBQ0VfVVJJLCBDVVNUT01fRVZFTlRfVFlQRV9TVUZGSVggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge2NhbWVsQ2FzZVRvU25ha2VDYXNlfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5mdW5jdGlvbiBhcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKSB7XG4gIHRoaXMucHJvcGVydGllcyA9IGNvbWJpbmUocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMpO1xuXG4gIHByb3BlcnRpZXMgPSBwcnVuZSh0aGlzLnByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTsgLy8vXG5cbiAgY29uc3QgeyBuYW1lc3BhY2VVUkkgfSA9IHRoaXMuZG9tRWxlbWVudCxcbiAgICAgICAgc3ZnID0gKG5hbWVzcGFjZVVSSSA9PT0gU1ZHX05BTUVTUEFDRV9VUkkpLCAvLy9cbiAgICAgICAgcHJvcGVydGllc0tleXMgPSBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSxcbiAgICAgICAgbmFtZXMgPSBwcm9wZXJ0aWVzS2V5czsgIC8vLz1cblxuICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBwcm9wZXJ0aWVzW25hbWVdLFxuICAgICAgICAgIG5hbWVIYW5kbGVyTmFtZSA9IGlzTmFtZUhhbmRsZXJOYW1lKG5hbWUpLFxuICAgICAgICAgIG5hbWVDdXN0b21IYW5kbGVyTmFtZSA9IGlzTmFtZUN1c3RvbUhhbmRsZXJOYW1lKG5hbWUpO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKG5hbWVIYW5kbGVyTmFtZSkge1xuICAgICAgYWRkSGFuZGxlcih0aGlzLCBuYW1lLCB2YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChuYW1lQ3VzdG9tSGFuZGxlck5hbWUpIHtcbiAgICAgIGFkZEN1c3RvbUhhbmRsZXIodGhpcywgbmFtZSwgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuYW1lQXR0cmlidXRlTmFtZSA9IGlzTmFtZUF0dHJpYnV0ZU5hbWUobmFtZSwgc3ZnKTtcblxuICAgICAgaWYgKG5hbWVBdHRyaWJ1dGVOYW1lKSB7XG4gICAgICAgIGFkZEF0dHJpYnV0ZSh0aGlzLCBuYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjaGlsZEVsZW1lbnRzID0gY2hpbGRFbGVtZW50c0Zyb21FbGVtZW50KHRoaXMpIHx8IHByb3BlcnRpZXMuY2hpbGRFbGVtZW50cywgIC8vL1xuICAgICAgICBjb250ZXh0ID0ge307XG5cbiAgY2hpbGRFbGVtZW50cy5mb3JFYWNoKChjaGlsZEVsZW1lbnQpID0+IHtcbiAgICB1cGRhdGVDb250ZXh0KGNoaWxkRWxlbWVudCwgY29udGV4dCk7XG5cbiAgICB0aGlzLmFkZChjaGlsZEVsZW1lbnQpO1xuICB9KTtcblxuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBnZXRQcm9wZXJ0aWVzKCkge1xuICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzO1xufVxuXG5mdW5jdGlvbiBnZXRDb250ZXh0KCkge1xuICByZXR1cm4gdGhpcy5jb250ZXh0O1xufVxuXG5mdW5jdGlvbiBhc3NpZ25Db250ZXh0KG5hbWVzLCB0aGVuRGVsZXRlKSB7XG4gIGNvbnN0IGFyZ3VtZW50c0xlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgaWYgKGFyZ3VtZW50c0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0QXJndW1lbnQgPSBmaXJzdChhcmd1bWVudHMpO1xuXG4gICAgaWYgKHR5cGVvZiBmaXJzdEFyZ3VtZW50ID09PSBCT09MRUFOKSB7XG4gICAgICBuYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCk7XG5cbiAgICAgIHRoZW5EZWxldGUgPSBmaXJzdEFyZ3VtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGVuRGVsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJndW1lbnRzTGVuZ3RoID09PSAwKSB7XG4gICAgbmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRleHQpO1xuXG4gICAgdGhlbkRlbGV0ZSA9IHRydWU7XG4gIH1cblxuICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRleHRbbmFtZV0sXG4gICAgICAgICAgcHJvcGVydHlOYW1lID0gbmFtZSwgIC8vL1xuICAgICAgICAgIGRlc2NyaXB0b3IgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgICB9O1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcik7XG5cbiAgICBpZiAodGhlbkRlbGV0ZSkge1xuICAgICAgZGVsZXRlIHRoaXMuY29udGV4dFtuYW1lXTtcbiAgICB9XG4gIH0sIFtdKTtcbn1cblxuY29uc3QganN4TWl4aW5zID0ge1xuICBhcHBseVByb3BlcnRpZXMsXG4gIGdldFByb3BlcnRpZXMsXG4gIGdldENvbnRleHQsXG4gIGFzc2lnbkNvbnRleHRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGpzeE1peGlucztcblxuZnVuY3Rpb24gY2hpbGRFbGVtZW50c0Zyb21FbGVtZW50KGVsZW1lbnQpIHtcbiAgbGV0IGNoaWxkRWxlbWVudHMgPSBudWxsO1xuXG4gIGlmICh0eXBlb2YgZWxlbWVudC5jaGlsZEVsZW1lbnRzID09PSBGVU5DVElPTikge1xuICAgIGNoaWxkRWxlbWVudHMgPSBlbGVtZW50LmNoaWxkRWxlbWVudHMuY2FsbChlbGVtZW50KTtcblxuICAgIGNoaWxkRWxlbWVudHMgPSBndWFyYW50ZWUoY2hpbGRFbGVtZW50cyk7XG5cbiAgICBjaGlsZEVsZW1lbnRzID0gcmVtb3ZlRmFsc2V5RWxlbWVudHMoY2hpbGRFbGVtZW50cyk7XG5cbiAgICBjaGlsZEVsZW1lbnRzID0gcmVwbGFjZVN0cmluZ3NXaXRoVGV4dEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpO1xuICB9XG5cbiAgcmV0dXJuIGNoaWxkRWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbnRleHQoY2hpbGRFbGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnN0IHBhcmVudENvbnRleHQgPSAodHlwZW9mIGNoaWxkRWxlbWVudC5wYXJlbnRDb250ZXh0ID09PSBGVU5DVElPTikgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZEVsZW1lbnQucGFyZW50Q29udGV4dCgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZEVsZW1lbnQuY29udGV4dDsgLy8vXG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCBwYXJlbnRDb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gYWRkSGFuZGxlcihlbGVtZW50LCBuYW1lLCB2YWx1ZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBuYW1lLnN1YnN0cmluZygyKS50b0xvd2VyQ2FzZSgpLCAvLy9cbiAgICAgICAgaGFuZGxlciA9IHZhbHVlOyAgLy8vXG5cbiAgZWxlbWVudC5vbkV2ZW50KGV2ZW50VHlwZSwgaGFuZGxlcik7XG59XG5cbmZ1bmN0aW9uIGFkZEN1c3RvbUhhbmRsZXIoZWxlbWVudCwgbmFtZSwgdmFsdWUpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gY2FtZWxDYXNlVG9TbmFrZUNhc2UobmFtZSkucmVwbGFjZSgvb24tY3VzdG9tLS8sIFwiXCIpICsgQ1VTVE9NX0VWRU5UX1RZUEVfU1VGRklYLCAvLy9cbiAgICAgICAgY3VzdG9tSGFuZGxlciA9IHZhbHVlOyAgLy8vXG5cbiAgZWxlbWVudC5vbkN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlcik7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJpYnV0ZShlbGVtZW50LCBuYW1lLCB2YWx1ZSkge1xuICBpZiAobmFtZSA9PT0gQ0xBU1NfTkFNRSkge1xuICAgIG5hbWUgPSBDTEFTUztcbiAgfVxuXG4gIGlmIChuYW1lID09PSBIVE1MX0ZPUikge1xuICAgIG5hbWUgPSBGT1I7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSBPQkpFQ1QpIHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xuXG4gICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGVsZW1lbnQuZG9tRWxlbWVudFtuYW1lXVtrZXldID0gdmFsdWVba2V5XTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IEJPT0xFQU4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gbmFtZTsgLy8vXG5cbiAgICAgIGVsZW1lbnQuYWRkQXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC5hZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTmFtZUhhbmRsZXJOYW1lKG5hbWUpIHtcbiAgY29uc3QgbmFtZUhhbmRsZXJOYW1lID0gIC9eb24oPyFDdXN0b20pLy50ZXN0KG5hbWUpOyAgLy8vXG5cbiAgcmV0dXJuIG5hbWVIYW5kbGVyTmFtZTtcbn1cblxuZnVuY3Rpb24gaXNOYW1lQXR0cmlidXRlTmFtZShuYW1lLCBzdmcpIHtcbiAgY29uc3QgbmFtZUF0dHJpYnV0ZU5hbWUgPSBzdmcgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NWR0F0dHJpYnV0ZU5hbWUobmFtZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzSFRNTEF0dHJpYnV0ZU5hbWUobmFtZSk7XG5cbiAgcmV0dXJuIG5hbWVBdHRyaWJ1dGVOYW1lO1xufVxuXG5mdW5jdGlvbiBpc05hbWVDdXN0b21IYW5kbGVyTmFtZShuYW1lKSB7XG4gIGNvbnN0IG5hbWVDdXN0b21IYW5kbGVyTmFtZSA9IC9eb25DdXN0b20vLnRlc3QobmFtZSk7XG5cbiAgcmV0dXJuIG5hbWVDdXN0b21IYW5kbGVyTmFtZTtcbn1cbiJdLCJuYW1lcyI6WyJhcHBseVByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJpZ25vcmVkUHJvcGVydGllcyIsImNvbWJpbmUiLCJwcnVuZSIsIm5hbWVzcGFjZVVSSSIsImRvbUVsZW1lbnQiLCJzdmciLCJTVkdfTkFNRVNQQUNFX1VSSSIsInByb3BlcnRpZXNLZXlzIiwiT2JqZWN0Iiwia2V5cyIsIm5hbWVzIiwiZm9yRWFjaCIsIm5hbWUiLCJ2YWx1ZSIsIm5hbWVIYW5kbGVyTmFtZSIsImlzTmFtZUhhbmRsZXJOYW1lIiwibmFtZUN1c3RvbUhhbmRsZXJOYW1lIiwiaXNOYW1lQ3VzdG9tSGFuZGxlck5hbWUiLCJhZGRIYW5kbGVyIiwiYWRkQ3VzdG9tSGFuZGxlciIsIm5hbWVBdHRyaWJ1dGVOYW1lIiwiaXNOYW1lQXR0cmlidXRlTmFtZSIsImFkZEF0dHJpYnV0ZSIsImNoaWxkRWxlbWVudHMiLCJjaGlsZEVsZW1lbnRzRnJvbUVsZW1lbnQiLCJjb250ZXh0IiwiY2hpbGRFbGVtZW50IiwidXBkYXRlQ29udGV4dCIsImFkZCIsImdldFByb3BlcnRpZXMiLCJnZXRDb250ZXh0IiwiYXNzaWduQ29udGV4dCIsInRoZW5EZWxldGUiLCJhcmd1bWVudHNMZW5ndGgiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmaXJzdEFyZ3VtZW50IiwiZmlyc3QiLCJCT09MRUFOIiwicHJvcGVydHlOYW1lIiwiZGVzY3JpcHRvciIsImRlZmluZVByb3BlcnR5IiwianN4TWl4aW5zIiwiZWxlbWVudCIsIkZVTkNUSU9OIiwiY2FsbCIsImd1YXJhbnRlZSIsInJlbW92ZUZhbHNleUVsZW1lbnRzIiwicmVwbGFjZVN0cmluZ3NXaXRoVGV4dEVsZW1lbnRzIiwicGFyZW50Q29udGV4dCIsImFzc2lnbiIsImV2ZW50VHlwZSIsInN1YnN0cmluZyIsInRvTG93ZXJDYXNlIiwiaGFuZGxlciIsIm9uRXZlbnQiLCJjdXN0b21FdmVudFR5cGUiLCJjYW1lbENhc2VUb1NuYWtlQ2FzZSIsInJlcGxhY2UiLCJDVVNUT01fRVZFTlRfVFlQRV9TVUZGSVgiLCJjdXN0b21IYW5kbGVyIiwib25DdXN0b21FdmVudCIsIkNMQVNTX05BTUUiLCJDTEFTUyIsIkhUTUxfRk9SIiwiRk9SIiwiT0JKRUNUIiwia2V5IiwidGVzdCIsImlzU1ZHQXR0cmlidXRlTmFtZSIsImlzSFRNTEF0dHJpYnV0ZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNHQTs7O2VBQUE7OztzQkFwRytCO3FCQUNFO29CQUN1Qjt3QkFDYTt5QkFDb0Q7c0JBQ3RGOzs7OztBQUVuQyxTQUFTQSxnQkFBZ0JDLFVBQVUsRUFBRUMsaUJBQWlCLEVBQUVDLGlCQUFpQjs7SUFDdkUsSUFBSSxDQUFDRixVQUFVLEdBQUdHLElBQUFBLGVBQU8sRUFBQ0gsWUFBWUM7SUFFdENELGFBQWFJLElBQUFBLGFBQUssRUFBQyxJQUFJLENBQUNKLFVBQVUsRUFBRUUsb0JBQW9CLEdBQUc7SUFFM0QsSUFB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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvanN4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjb21iaW5lLCBwcnVuZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBmaXJzdCwgZ3VhcmFudGVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY2FtZWxDYXNlVG9TbmFrZUNhc2UgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgaXNIVE1MQXR0cmlidXRlTmFtZSwgaXNTVkdBdHRyaWJ1dGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyByZW1vdmVGYWxzZXlFbGVtZW50cywgcmVwbGFjZVN0cmluZ3NXaXRoVGV4dEVsZW1lbnRzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50c1wiO1xuaW1wb3J0IHsgRk9SLCBDTEFTUywgT0JKRUNULCBIVE1MX0ZPUiwgQ0xBU1NfTkFNRSwgQk9PTEVBTiwgRlVOQ1RJT04sIFNWR19OQU1FU1BBQ0VfVVJJIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5mdW5jdGlvbiBhcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKSB7XG4gIHRoaXMucHJvcGVydGllcyA9IGNvbWJpbmUocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMpO1xuXG4gIHByb3BlcnRpZXMgPSBwcnVuZSh0aGlzLnByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTsgLy8vXG5cbiAgY29uc3QgeyBuYW1lc3BhY2VVUkkgfSA9IHRoaXMuZG9tRWxlbWVudCxcbiAgICAgICAgc3ZnID0gKG5hbWVzcGFjZVVSSSA9PT0gU1ZHX05BTUVTUEFDRV9VUkkpLCAvLy9cbiAgICAgICAgcHJvcGVydGllc0tleXMgPSBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSxcbiAgICAgICAgbmFtZXMgPSBwcm9wZXJ0aWVzS2V5czsgIC8vLz1cblxuICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBwcm9wZXJ0aWVzW25hbWVdLFxuICAgICAgICAgIG5hbWVIYW5kbGVyTmFtZSA9IGlzTmFtZUhhbmRsZXJOYW1lKG5hbWUpLFxuICAgICAgICAgIG5hbWVDdXN0b21IYW5kbGVyTmFtZSA9IGlzTmFtZUN1c3RvbUhhbmRsZXJOYW1lKG5hbWUpO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKG5hbWVIYW5kbGVyTmFtZSkge1xuICAgICAgYWRkSGFuZGxlcih0aGlzLCBuYW1lLCB2YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChuYW1lQ3VzdG9tSGFuZGxlck5hbWUpIHtcbiAgICAgIGFkZEN1c3RvbUhhbmRsZXIodGhpcywgbmFtZSwgdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuYW1lQXR0cmlidXRlTmFtZSA9IGlzTmFtZUF0dHJpYnV0ZU5hbWUobmFtZSwgc3ZnKTtcblxuICAgICAgaWYgKG5hbWVBdHRyaWJ1dGVOYW1lKSB7XG4gICAgICAgIGFkZEF0dHJpYnV0ZSh0aGlzLCBuYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjaGlsZEVsZW1lbnRzID0gY2hpbGRFbGVtZW50c0Zyb21FbGVtZW50KHRoaXMpIHx8IHByb3BlcnRpZXMuY2hpbGRFbGVtZW50cywgIC8vL1xuICAgICAgICBjb250ZXh0ID0ge307XG5cbiAgY2hpbGRFbGVtZW50cy5mb3JFYWNoKChjaGlsZEVsZW1lbnQpID0+IHtcbiAgICB1cGRhdGVDb250ZXh0KGNoaWxkRWxlbWVudCwgY29udGV4dCk7XG5cbiAgICB0aGlzLmFkZChjaGlsZEVsZW1lbnQpO1xuICB9KTtcblxuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBnZXRQcm9wZXJ0aWVzKCkge1xuICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzO1xufVxuXG5mdW5jdGlvbiBnZXRDb250ZXh0KCkge1xuICByZXR1cm4gdGhpcy5jb250ZXh0O1xufVxuXG5mdW5jdGlvbiBhc3NpZ25Db250ZXh0KG5hbWVzLCB0aGVuRGVsZXRlKSB7XG4gIGNvbnN0IGFyZ3VtZW50c0xlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG5cbiAgaWYgKGFyZ3VtZW50c0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0QXJndW1lbnQgPSBmaXJzdChhcmd1bWVudHMpO1xuXG4gICAgaWYgKHR5cGVvZiBmaXJzdEFyZ3VtZW50ID09PSBCT09MRUFOKSB7XG4gICAgICBuYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCk7XG5cbiAgICAgIHRoZW5EZWxldGUgPSBmaXJzdEFyZ3VtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGVuRGVsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJndW1lbnRzTGVuZ3RoID09PSAwKSB7XG4gICAgbmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRleHQpO1xuXG4gICAgdGhlbkRlbGV0ZSA9IHRydWU7XG4gIH1cblxuICBuYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRleHRbbmFtZV0sXG4gICAgICAgICAgcHJvcGVydHlOYW1lID0gbmFtZSwgIC8vL1xuICAgICAgICAgIGRlc2NyaXB0b3IgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICAgICAgICB9O1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcik7XG5cbiAgICBpZiAodGhlbkRlbGV0ZSkge1xuICAgICAgZGVsZXRlIHRoaXMuY29udGV4dFtuYW1lXTtcbiAgICB9XG4gIH0sIFtdKTtcbn1cblxuY29uc3QganN4TWl4aW5zID0ge1xuICBhcHBseVByb3BlcnRpZXMsXG4gIGdldFByb3BlcnRpZXMsXG4gIGdldENvbnRleHQsXG4gIGFzc2lnbkNvbnRleHRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGpzeE1peGlucztcblxuZnVuY3Rpb24gY2hpbGRFbGVtZW50c0Zyb21FbGVtZW50KGVsZW1lbnQpIHtcbiAgbGV0IGNoaWxkRWxlbWVudHMgPSBudWxsO1xuXG4gIGlmICh0eXBlb2YgZWxlbWVudC5jaGlsZEVsZW1lbnRzID09PSBGVU5DVElPTikge1xuICAgIGNoaWxkRWxlbWVudHMgPSBlbGVtZW50LmNoaWxkRWxlbWVudHMuY2FsbChlbGVtZW50KTtcblxuICAgIGNoaWxkRWxlbWVudHMgPSBndWFyYW50ZWUoY2hpbGRFbGVtZW50cyk7XG5cbiAgICBjaGlsZEVsZW1lbnRzID0gcmVtb3ZlRmFsc2V5RWxlbWVudHMoY2hpbGRFbGVtZW50cyk7XG5cbiAgICBjaGlsZEVsZW1lbnRzID0gcmVwbGFjZVN0cmluZ3NXaXRoVGV4dEVsZW1lbnRzKGNoaWxkRWxlbWVudHMpO1xuICB9XG5cbiAgcmV0dXJuIGNoaWxkRWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbnRleHQoY2hpbGRFbGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnN0IHBhcmVudENvbnRleHQgPSAodHlwZW9mIGNoaWxkRWxlbWVudC5wYXJlbnRDb250ZXh0ID09PSBGVU5DVElPTikgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZEVsZW1lbnQucGFyZW50Q29udGV4dCgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZEVsZW1lbnQuY29udGV4dDsgLy8vXG5cbiAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCBwYXJlbnRDb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gYWRkSGFuZGxlcihlbGVtZW50LCBuYW1lLCB2YWx1ZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBuYW1lLnN1YnN0cmluZygyKS50b0xvd2VyQ2FzZSgpLCAvLy9cbiAgICAgICAgaGFuZGxlciA9IHZhbHVlOyAgLy8vXG5cbiAgZWxlbWVudC5vbkV2ZW50KGV2ZW50VHlwZSwgaGFuZGxlcik7XG59XG5cbmZ1bmN0aW9uIGFkZEN1c3RvbUhhbmRsZXIoZWxlbWVudCwgbmFtZSwgdmFsdWUpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gY2FtZWxDYXNlVG9TbmFrZUNhc2UobmFtZSkucmVwbGFjZSgvb24tY3VzdG9tLS8sIFwiXCIpLFxuICAgICAgICBjdXN0b21IYW5kbGVyID0gdmFsdWU7ICAvLy9cblxuICBlbGVtZW50Lm9uQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyKTtcbn1cblxuZnVuY3Rpb24gYWRkQXR0cmlidXRlKGVsZW1lbnQsIG5hbWUsIHZhbHVlKSB7XG4gIGlmIChuYW1lID09PSBDTEFTU19OQU1FKSB7XG4gICAgbmFtZSA9IENMQVNTO1xuICB9XG5cbiAgaWYgKG5hbWUgPT09IEhUTUxfRk9SKSB7XG4gICAgbmFtZSA9IEZPUjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IE9CSkVDVCkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XG5cbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgZWxlbWVudC5kb21FbGVtZW50W25hbWVdW2tleV0gPSB2YWx1ZVtrZXldO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gQk9PTEVBTikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUgPSBuYW1lOyAvLy9cblxuICAgICAgZWxlbWVudC5hZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50LmFkZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNOYW1lSGFuZGxlck5hbWUobmFtZSkge1xuICBjb25zdCBuYW1lSGFuZGxlck5hbWUgPSAgL15vbig/IUN1c3RvbSkvLnRlc3QobmFtZSk7ICAvLy9cblxuICByZXR1cm4gbmFtZUhhbmRsZXJOYW1lO1xufVxuXG5mdW5jdGlvbiBpc05hbWVBdHRyaWJ1dGVOYW1lKG5hbWUsIHN2Zykge1xuICBjb25zdCBuYW1lQXR0cmlidXRlTmFtZSA9IHN2ZyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU1ZHQXR0cmlidXRlTmFtZShuYW1lKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIVE1MQXR0cmlidXRlTmFtZShuYW1lKTtcblxuICByZXR1cm4gbmFtZUF0dHJpYnV0ZU5hbWU7XG59XG5cbmZ1bmN0aW9uIGlzTmFtZUN1c3RvbUhhbmRsZXJOYW1lKG5hbWUpIHtcbiAgY29uc3QgbmFtZUN1c3RvbUhhbmRsZXJOYW1lID0gL15vbkN1c3RvbS8udGVzdChuYW1lKTtcblxuICByZXR1cm4gbmFtZUN1c3RvbUhhbmRsZXJOYW1lO1xufVxuIl0sIm5hbWVzIjpbImFwcGx5UHJvcGVydGllcyIsInByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllcyIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiY29tYmluZSIsInBydW5lIiwibmFtZXNwYWNlVVJJIiwiZG9tRWxlbWVudCIsInN2ZyIsIlNWR19OQU1FU1BBQ0VfVVJJIiwicHJvcGVydGllc0tleXMiLCJPYmplY3QiLCJrZXlzIiwibmFtZXMiLCJmb3JFYWNoIiwibmFtZSIsInZhbHVlIiwibmFtZUhhbmRsZXJOYW1lIiwiaXNOYW1lSGFuZGxlck5hbWUiLCJuYW1lQ3VzdG9tSGFuZGxlck5hbWUiLCJpc05hbWVDdXN0b21IYW5kbGVyTmFtZSIsImFkZEhhbmRsZXIiLCJhZGRDdXN0b21IYW5kbGVyIiwibmFtZUF0dHJpYnV0ZU5hbWUiLCJpc05hbWVBdHRyaWJ1dGVOYW1lIiwiYWRkQXR0cmlidXRlIiwiY2hpbGRFbGVtZW50cyIsImNoaWxkRWxlbWVudHNGcm9tRWxlbWVudCIsImNvbnRleHQiLCJjaGlsZEVsZW1lbnQiLCJ1cGRhdGVDb250ZXh0IiwiYWRkIiwiZ2V0UHJvcGVydGllcyIsImdldENvbnRleHQiLCJhc3NpZ25Db250ZXh0IiwidGhlbkRlbGV0ZSIsImFyZ3VtZW50c0xlbmd0aCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZpcnN0QXJndW1lbnQiLCJmaXJzdCIsIkJPT0xFQU4iLCJwcm9wZXJ0eU5hbWUiLCJkZXNjcmlwdG9yIiwiZGVmaW5lUHJvcGVydHkiLCJqc3hNaXhpbnMiLCJlbGVtZW50IiwiRlVOQ1RJT04iLCJjYWxsIiwiZ3VhcmFudGVlIiwicmVtb3ZlRmFsc2V5RWxlbWVudHMiLCJyZXBsYWNlU3RyaW5nc1dpdGhUZXh0RWxlbWVudHMiLCJwYXJlbnRDb250ZXh0IiwiYXNzaWduIiwiZXZlbnRUeXBlIiwic3Vic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJoYW5kbGVyIiwib25FdmVudCIsImN1c3RvbUV2ZW50VHlwZSIsImNhbWVsQ2FzZVRvU25ha2VDYXNlIiwicmVwbGFjZSIsImN1c3RvbUhhbmRsZXIiLCJvbkN1c3RvbUV2ZW50IiwiQ0xBU1NfTkFNRSIsIkNMQVNTIiwiSFRNTF9GT1IiLCJGT1IiLCJPQkpFQ1QiLCJrZXkiLCJ0ZXN0IiwiaXNTVkdBdHRyaWJ1dGVOYW1lIiwiaXNIVE1MQXR0cmlidXRlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBc0dBOzs7ZUFBQTs7O3NCQXBHK0I7cUJBQ0U7c0JBQ0k7b0JBQ21CO3dCQUNhO3lCQUMwQjs7Ozs7QUFFL0YsU0FBU0EsZ0JBQWdCQyxVQUFVLEVBQUVDLGlCQUFpQixFQUFFQyxpQkFBaUI7O0lBQ3ZFLElBQUksQ0FBQ0YsVUFBVSxHQUFHRyxJQUFBQSxlQUFPLEVBQUNILFlBQVlDO0lBRXRDRCxhQUFhSSxJQUFBQSxhQUFLLEVBQUMsSUFBSSxDQUFDSixVQUFVLEVBQUVFLG9CQUFvQixHQUFHO0lBRTNELElBQU0sQUFBRUcsZUFBaUIsSUFBSSxDQUFDQyxVQUFVLENBQWhDRCxjQUNGRSxNQUFPRixpQkFBaUJHLDRCQUFpQixFQUN6Q0MsaUJBQWlCQyxPQUFP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
@@ -101,4 +101,4 @@ function filterDOMNodes(domNodes, test) {
101
101
  return filteredDOMNodes;
102
102
  }
103
103
 
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZG9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgV0lMRENBUkQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhkb21FbGVtZW50cykge1xuICBjb25zdCBkb21FbGVtZW50c1dpdGhFbGVtZW50cyA9IGZpbHRlckRPTU5vZGVzKGRvbUVsZW1lbnRzLCAoZG9tRWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoKGRvbUVsZW1lbnQuX19lbGVtZW50X18pKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGVsZW1lbnRzID0gZG9tRWxlbWVudHNXaXRoRWxlbWVudHMubWFwKChkb21FbGVtZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvbUVsZW1lbnQuX19lbGVtZW50X187XG5cbiAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZShkb21Ob2RlLCBoZWlnaHQsIGFzY2VuZGFudERPTU5vZGVzID0gW10pIHtcbiAgaWYgKGhlaWdodCA+IDApIHtcbiAgICBjb25zdCBwYXJlbnRET01Ob2RlID0gZG9tTm9kZS5wYXJlbnRFbGVtZW50OyAgLy8vXG5cbiAgICBpZiAocGFyZW50RE9NTm9kZSAhPT0gbnVsbCkge1xuICAgICAgYXNjZW5kYW50RE9NTm9kZXMucHVzaChwYXJlbnRET01Ob2RlKTtcblxuICAgICAgaGVpZ2h0LS07XG5cbiAgICAgIGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUocGFyZW50RE9NTm9kZSwgaGVpZ2h0LCBhc2NlbmRhbnRET01Ob2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFzY2VuZGFudERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUoZG9tTm9kZSwgZGVwdGgsIGRlc2NlbmRhbnRET01Ob2RlcyA9IFtdKSB7XG4gIGlmIChkZXB0aCA+IDApIHtcbiAgICBjb25zdCBjaGlsZERPTU5vZGVzID0gZG9tTm9kZS5jaGlsZE5vZGVzOyAgLy8vXG5cbiAgICBwdXNoKGRlc2NlbmRhbnRET01Ob2RlcywgY2hpbGRET01Ob2Rlcyk7XG5cbiAgICBkZXB0aC0tO1xuXG4gICAgY2hpbGRET01Ob2Rlcy5mb3JFYWNoKChjaGlsZERPTU5vZGUpID0+IHtcbiAgICAgIGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlKGNoaWxkRE9NTm9kZSwgZGVwdGgsIGRlc2NlbmRhbnRET01Ob2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGVzY2VuZGFudERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yKGRvbU5vZGVzLCBzZWxlY3Rvcikge1xuICBjb25zdCBmaWx0ZXJlZERPTU5vZGVzID0gZmlsdGVyRE9NTm9kZXMoZG9tTm9kZXMsIChkb21Ob2RlKSA9PiB7XG4gICAgaWYgKGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IoZG9tTm9kZSwgc2VsZWN0b3IpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmaWx0ZXJlZERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9tTm9kZU1hdGNoZXNTZWxlY3Rvcihkb21Ob2RlLCBzZWxlY3Rvcikge1xuICBjb25zdCBkb21Ob2RlVHlwZSA9IGRvbU5vZGUubm9kZVR5cGU7XG5cbiAgc3dpdGNoIChkb21Ob2RlVHlwZSkge1xuICAgIGNhc2UgTm9kZS5FTEVNRU5UX05PREU6IHtcbiAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBkb21Ob2RlOyAvLy9cblxuICAgICAgcmV0dXJuIGRvbUVsZW1lbnQubWF0Y2hlcyhzZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgY2FzZSBOb2RlLlRFWFRfTk9ERToge1xuICAgICAgaWYgKHNlbGVjdG9yID09PSBXSUxEQ0FSRCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJET01Ob2Rlcyhkb21Ob2RlcywgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZERPTU5vZGVzID0gW10sXG4gICAgICAgIGRvbU5vZGVzTGVuZ3RoID0gZG9tTm9kZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkb21Ob2Rlc0xlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IGRvbU5vZGUgPSBkb21Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gdGVzdChkb21Ob2RlKTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGZpbHRlcmVkRE9NTm9kZXMucHVzaChkb21Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsdGVyZWRET01Ob2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJhc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIiwiZGVzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUiLCJkb21Ob2RlTWF0Y2hlc1NlbGVjdG9yIiwiZWxlbWVudHNGcm9tRE9NRWxlbWVudHMiLCJmaWx0ZXJET01Ob2RlcyIsImZpbHRlckRPTU5vZGVzQnlTZWxlY3RvciIsImRvbUVsZW1lbnRzIiwiZG9tRWxlbWVudHNXaXRoRWxlbWVudHMiLCJkb21FbGVtZW50IiwiX19lbGVtZW50X18iLCJlbGVtZW50cyIsIm1hcCIsImVsZW1lbnQiLCJkb21Ob2RlIiwiaGVpZ2h0IiwiYXNjZW5kYW50RE9NTm9kZXMiLCJwYXJlbnRET01Ob2RlIiwicGFyZW50RWxlbWVudCIsInB1c2giLCJkZXB0aCIsImRlc2NlbmRhbnRET01Ob2RlcyIsImNoaWxkRE9NTm9kZXMiLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsImNoaWxkRE9NTm9kZSIsImRvbU5vZGVzIiwic2VsZWN0b3IiLCJmaWx0ZXJlZERPTU5vZGVzIiwiZG9tTm9kZVR5cGUiLCJub2RlVHlwZSIsIk5vZGUiLCJFTEVNRU5UX05PREUiLCJtYXRjaGVzIiwiVEVYVF9OT0RFIiwiV0lMRENBUkQiLCJ0ZXN0IiwiZG9tTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJpbmRleCIsInJlc3VsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0JnQkEsNEJBQTRCO2VBQTVCQTs7SUFnQkFDLDZCQUE2QjtlQUE3QkE7O0lBMEJBQyxzQkFBc0I7ZUFBdEJBOztJQXpEQUMsdUJBQXVCO2VBQXZCQTs7SUE2RUFDLGNBQWM7ZUFBZEE7O0lBOUJBQyx3QkFBd0I7ZUFBeEJBOzs7cUJBbERLO3lCQUNJO0FBRWxCLFNBQVNGLHdCQUF3QkcsV0FBVztJQUNqRCxJQUFNQywwQkFBMEJILGVBQWVFLGFBQWEsU0FBQ0U7UUFDdkQsSUFBS0EsV0FBV0MsV0FBVyxFQUFHO1lBQzVCLE9BQU87UUFDVDtJQUNBLElBQ0FDLFdBQVdILHdCQUF3QkksR0FBRyxDQUFDLFNBQUNIO1FBQ3RDLElBQU1JLFVBQVVKLFdBQVdDLFdBQVc7UUFFdEMsT0FBT0c7SUFDVDtJQUVOLE9BQU9GO0FBQ1Q7QUFFTyxTQUFTViw2QkFBNkJhLE9BQU8sRUFBRUMsTUFBTTtRQUFFQyxvQkFBQUEsaUVBQW9CLEVBQUU7SUFDbEYsSUFBSUQsU0FBUyxHQUFHO1FBQ2QsSUFBTUUsZ0JBQWdCSCxRQUFRSSxhQUFhLEVBQUcsR0FBRztRQUVqRCxJQUFJRCxrQkFBa0IsTUFBTTtZQUMxQkQsa0JBQWtCRyxJQUFJLENBQUNGO1lBRXZCRjtZQUVBZCw2QkFBNkJnQixlQUFlRixRQUFRQztRQUN0RDtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNkLDhCQUE4QlksT0FBTyxFQUFFTSxLQUFLO1FBQUVDLHFCQUFBQSxpRUFBcUIsRUFBRTtJQUNuRixJQUFJRCxRQUFRLEdBQUc7UUFDYixJQUFNRSxnQkFBZ0JSLFFBQVFTLFVBQVUsRUFBRyxHQUFHO1FBRTlDSixJQUFBQSxXQUFJLEVBQUNFLG9CQUFvQkM7UUFFekJGO1FBRUFFLGNBQWNFLE9BQU8sQ0FBQyxTQUFDQztZQUNyQnZCLDhCQUE4QnVCLGNBQWNMLE9BQU9DO1FBQ3JEO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRU8sU0FBU2YseUJBQXlCb0IsUUFBUSxFQUFFQyxRQUFRO0lBQ3pELElBQU1DLG1CQUFtQnZCLGVBQWVxQixVQUFVLFNBQUNaO1FBQ2pELElBQUlYLHVCQUF1QlcsU0FBU2EsV0FBVztZQUM3QyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTekIsdUJBQXVCVyxPQUFPLEVBQUVhLFFBQVE7SUFDdEQsSUFBTUUsY0FBY2YsUUFBUWdCLFFBQVE7SUFFcEMsT0FBUUQ7UUFDTixLQUFLRSxLQUFLQyxZQUFZO1lBQUU7Z0JBQ3RCLElBQU12QixhQUFhSyxTQUFTLEdBQUc7Z0JBRS9CLE9BQU9MLFdBQVd3QixPQUFPLENBQUNOO1lBQzVCO1FBRUEsS0FBS0ksS0FBS0csU0FBUztZQUFFO2dCQUNuQixJQUFJUCxhQUFhUSxtQkFBUSxFQUFFO29CQUN6QixPQUFPO2dCQUNUO1lBQ0Y7SUFDRjtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVM5QixlQUFlcUIsUUFBUSxFQUFFVSxJQUFJO0lBQzNDLElBQU1SLG1CQUFtQixFQUFFLEVBQ3JCUyxpQkFBaUJYLFNBQVNZLE1BQU07SUFFdEMsSUFBSyxJQUFJQyxRQUFRLEdBQUdBLFFBQVFGLGdCQUFnQkUsUUFBUztRQUNuRCxJQUFNekIsVUFBVVksUUFBUSxDQUFDYSxNQUFNLEVBQ3pCQyxTQUFTSixLQUFLdEI7UUFFcEIsSUFBSTBCLFFBQVE7WUFDVlosaUJBQWlCVCxJQUFJLENBQUNMO1FBQ3hCO0lBQ0Y7SUFFQSxPQUFPYztBQUNUIn0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZG9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBwdXNoIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgV0lMRENBUkQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhkb21FbGVtZW50cykge1xuICBjb25zdCBkb21FbGVtZW50c1dpdGhFbGVtZW50cyA9IGZpbHRlckRPTU5vZGVzKGRvbUVsZW1lbnRzLCAoZG9tRWxlbWVudCkgPT4ge1xuICAgICAgICAgIGlmICgoZG9tRWxlbWVudC5fX2VsZW1lbnRfXykpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGVsZW1lbnRzID0gZG9tRWxlbWVudHNXaXRoRWxlbWVudHMubWFwKChkb21FbGVtZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvbUVsZW1lbnQuX19lbGVtZW50X187XG5cbiAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIGVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZShkb21Ob2RlLCBoZWlnaHQsIGFzY2VuZGFudERPTU5vZGVzID0gW10pIHtcbiAgaWYgKGhlaWdodCA+IDApIHtcbiAgICBjb25zdCBwYXJlbnRET01Ob2RlID0gZG9tTm9kZS5wYXJlbnRFbGVtZW50OyAgLy8vXG5cbiAgICBpZiAocGFyZW50RE9NTm9kZSAhPT0gbnVsbCkge1xuICAgICAgYXNjZW5kYW50RE9NTm9kZXMucHVzaChwYXJlbnRET01Ob2RlKTtcblxuICAgICAgaGVpZ2h0LS07XG5cbiAgICAgIGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUocGFyZW50RE9NTm9kZSwgaGVpZ2h0LCBhc2NlbmRhbnRET01Ob2Rlcyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFzY2VuZGFudERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUoZG9tTm9kZSwgZGVwdGgsIGRlc2NlbmRhbnRET01Ob2RlcyA9IFtdKSB7XG4gIGlmIChkZXB0aCA+IDApIHtcbiAgICBjb25zdCBjaGlsZERPTU5vZGVzID0gZG9tTm9kZS5jaGlsZE5vZGVzOyAgLy8vXG5cbiAgICBwdXNoKGRlc2NlbmRhbnRET01Ob2RlcywgY2hpbGRET01Ob2Rlcyk7XG5cbiAgICBkZXB0aC0tO1xuXG4gICAgY2hpbGRET01Ob2Rlcy5mb3JFYWNoKChjaGlsZERPTU5vZGUpID0+IHtcbiAgICAgIGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlKGNoaWxkRE9NTm9kZSwgZGVwdGgsIGRlc2NlbmRhbnRET01Ob2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGVzY2VuZGFudERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yKGRvbU5vZGVzLCBzZWxlY3Rvcikge1xuICBjb25zdCBmaWx0ZXJlZERPTU5vZGVzID0gZmlsdGVyRE9NTm9kZXMoZG9tTm9kZXMsIChkb21Ob2RlKSA9PiB7XG4gICAgaWYgKGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IoZG9tTm9kZSwgc2VsZWN0b3IpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBmaWx0ZXJlZERPTU5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9tTm9kZU1hdGNoZXNTZWxlY3Rvcihkb21Ob2RlLCBzZWxlY3Rvcikge1xuICBjb25zdCBkb21Ob2RlVHlwZSA9IGRvbU5vZGUubm9kZVR5cGU7XG5cbiAgc3dpdGNoIChkb21Ob2RlVHlwZSkge1xuICAgIGNhc2UgTm9kZS5FTEVNRU5UX05PREU6IHtcbiAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBkb21Ob2RlOyAvLy9cblxuICAgICAgcmV0dXJuIGRvbUVsZW1lbnQubWF0Y2hlcyhzZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgY2FzZSBOb2RlLlRFWFRfTk9ERToge1xuICAgICAgaWYgKHNlbGVjdG9yID09PSBXSUxEQ0FSRCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJET01Ob2Rlcyhkb21Ob2RlcywgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZERPTU5vZGVzID0gW10sXG4gICAgICAgIGRvbU5vZGVzTGVuZ3RoID0gZG9tTm9kZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkb21Ob2Rlc0xlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IGRvbU5vZGUgPSBkb21Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gdGVzdChkb21Ob2RlKTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGZpbHRlcmVkRE9NTm9kZXMucHVzaChkb21Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmlsdGVyZWRET01Ob2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJhc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIiwiZGVzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUiLCJkb21Ob2RlTWF0Y2hlc1NlbGVjdG9yIiwiZWxlbWVudHNGcm9tRE9NRWxlbWVudHMiLCJmaWx0ZXJET01Ob2RlcyIsImZpbHRlckRPTU5vZGVzQnlTZWxlY3RvciIsImRvbUVsZW1lbnRzIiwiZG9tRWxlbWVudHNXaXRoRWxlbWVudHMiLCJkb21FbGVtZW50IiwiX19lbGVtZW50X18iLCJlbGVtZW50cyIsIm1hcCIsImVsZW1lbnQiLCJkb21Ob2RlIiwiaGVpZ2h0IiwiYXNjZW5kYW50RE9NTm9kZXMiLCJwYXJlbnRET01Ob2RlIiwicGFyZW50RWxlbWVudCIsInB1c2giLCJkZXB0aCIsImRlc2NlbmRhbnRET01Ob2RlcyIsImNoaWxkRE9NTm9kZXMiLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsImNoaWxkRE9NTm9kZSIsImRvbU5vZGVzIiwic2VsZWN0b3IiLCJmaWx0ZXJlZERPTU5vZGVzIiwiZG9tTm9kZVR5cGUiLCJub2RlVHlwZSIsIk5vZGUiLCJFTEVNRU5UX05PREUiLCJtYXRjaGVzIiwiVEVYVF9OT0RFIiwiV0lMRENBUkQiLCJ0ZXN0IiwiZG9tTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJpbmRleCIsInJlc3VsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0JnQkEsNEJBQTRCO2VBQTVCQTs7SUFnQkFDLDZCQUE2QjtlQUE3QkE7O0lBMEJBQyxzQkFBc0I7ZUFBdEJBOztJQXpEQUMsdUJBQXVCO2VBQXZCQTs7SUE2RUFDLGNBQWM7ZUFBZEE7O0lBOUJBQyx3QkFBd0I7ZUFBeEJBOzs7cUJBbERLO3lCQUNJO0FBRWxCLFNBQVNGLHdCQUF3QkcsV0FBVztJQUNqRCxJQUFNQywwQkFBMEJILGVBQWVFLGFBQWEsU0FBQ0U7UUFDckQsSUFBS0EsV0FBV0MsV0FBVyxFQUFHO1lBQzVCLE9BQU87UUFDVDtJQUNGLElBQ0FDLFdBQVdILHdCQUF3QkksR0FBRyxDQUFDLFNBQUNIO1FBQ3RDLElBQU1JLFVBQVVKLFdBQVdDLFdBQVc7UUFFdEMsT0FBT0c7SUFDVDtJQUVOLE9BQU9GO0FBQ1Q7QUFFTyxTQUFTViw2QkFBNkJhLE9BQU8sRUFBRUMsTUFBTTtRQUFFQyxvQkFBQUEsaUVBQW9CLEVBQUU7SUFDbEYsSUFBSUQsU0FBUyxHQUFHO1FBQ2QsSUFBTUUsZ0JBQWdCSCxRQUFRSSxhQUFhLEVBQUcsR0FBRztRQUVqRCxJQUFJRCxrQkFBa0IsTUFBTTtZQUMxQkQsa0JBQWtCRyxJQUFJLENBQUNGO1lBRXZCRjtZQUVBZCw2QkFBNkJnQixlQUFlRixRQUFRQztRQUN0RDtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVPLFNBQVNkLDhCQUE4QlksT0FBTyxFQUFFTSxLQUFLO1FBQUVDLHFCQUFBQSxpRUFBcUIsRUFBRTtJQUNuRixJQUFJRCxRQUFRLEdBQUc7UUFDYixJQUFNRSxnQkFBZ0JSLFFBQVFTLFVBQVUsRUFBRyxHQUFHO1FBRTlDSixJQUFBQSxXQUFJLEVBQUNFLG9CQUFvQkM7UUFFekJGO1FBRUFFLGNBQWNFLE9BQU8sQ0FBQyxTQUFDQztZQUNyQnZCLDhCQUE4QnVCLGNBQWNMLE9BQU9DO1FBQ3JEO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRU8sU0FBU2YseUJBQXlCb0IsUUFBUSxFQUFFQyxRQUFRO0lBQ3pELElBQU1DLG1CQUFtQnZCLGVBQWVxQixVQUFVLFNBQUNaO1FBQ2pELElBQUlYLHVCQUF1QlcsU0FBU2EsV0FBVztZQUM3QyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTekIsdUJBQXVCVyxPQUFPLEVBQUVhLFFBQVE7SUFDdEQsSUFBTUUsY0FBY2YsUUFBUWdCLFFBQVE7SUFFcEMsT0FBUUQ7UUFDTixLQUFLRSxLQUFLQyxZQUFZO1lBQUU7Z0JBQ3RCLElBQU12QixhQUFhSyxTQUFTLEdBQUc7Z0JBRS9CLE9BQU9MLFdBQVd3QixPQUFPLENBQUNOO1lBQzVCO1FBRUEsS0FBS0ksS0FBS0csU0FBUztZQUFFO2dCQUNuQixJQUFJUCxhQUFhUSxtQkFBUSxFQUFFO29CQUN6QixPQUFPO2dCQUNUO1lBQ0Y7SUFDRjtJQUVBLE9BQU87QUFDVDtBQUVPLFNBQVM5QixlQUFlcUIsUUFBUSxFQUFFVSxJQUFJO0lBQzNDLElBQU1SLG1CQUFtQixFQUFFLEVBQ3JCUyxpQkFBaUJYLFNBQVNZLE1BQU07SUFFdEMsSUFBSyxJQUFJQyxRQUFRLEdBQUdBLFFBQVFGLGdCQUFnQkUsUUFBUztRQUNuRCxJQUFNekIsVUFBVVksUUFBUSxDQUFDYSxNQUFNLEVBQ3pCQyxTQUFTSixLQUFLdEI7UUFFcEIsSUFBSTBCLFFBQVE7WUFDVlosaUJBQWlCVCxJQUFJLENBQUNMO1FBQ3hCO0lBQ0Y7SUFFQSxPQUFPYztBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy",
3
3
  "author": "James Smith",
4
- "version": "16.0.8",
4
+ "version": "16.0.10",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy",
7
7
  "description": "Elements that abstract away from the DOM.",
package/src/constants.js CHANGED
@@ -24,4 +24,3 @@ export const EMPTY_STRING = "";
24
24
  export const SVG_NAMESPACE_URI = "http://www.w3.org/2000/svg";
25
25
  export const DEFAULT_PROPERTIES = "defaultProperties";
26
26
  export const IGNORED_PROPERTIES = "ignoredProperties";
27
- export const CUSTOM_EVENT_TYPE_SUFFIX = "-custom";
package/src/element.js CHANGED
@@ -162,7 +162,7 @@ class Element {
162
162
 
163
163
  const element = this; ///
164
164
 
165
- mountElement(element);
165
+ this.mountElement(element);
166
166
  }
167
167
 
168
168
  mountAfter(siblingElement) {
@@ -170,17 +170,17 @@ class Element {
170
170
 
171
171
  const element = this; ///
172
172
 
173
- mountElement(element);
173
+ this.mountElement(element);
174
174
  }
175
175
 
176
176
  mount(element) {
177
177
  this.add(element);
178
178
 
179
- mountElement(element);
179
+ this.mountElement(element);
180
180
  }
181
181
 
182
182
  unmount(element) {
183
- unmountElement(element);
183
+ this.unmountElement(element);
184
184
 
185
185
  this.remove(element);
186
186
  }
@@ -343,32 +343,6 @@ Object.assign(Element.prototype, customEventMixins);
343
343
 
344
344
  export default Element;
345
345
 
346
- function mountElement(element) {
347
- const descendantElements = element.getDescendantElements(),
348
- elements = [
349
- element,
350
- ...descendantElements
351
- ];
352
-
353
- elements.reverse(); ///
354
-
355
- elements.forEach((element) => {
356
- element.didMount && element.didMount();
357
- });
358
- }
359
-
360
- function unmountElement(element) {
361
- const descendantElements = element.getDescendantElements(),
362
- elements = [
363
- element,
364
- ...descendantElements
365
- ];
366
-
367
- elements.forEach((element) => {
368
- element.willUnmount && element.willUnmount();
369
- });
370
- }
371
-
372
346
  function elementFromTagName(Class, tagName, ...remainingArguments) {
373
347
  const selector = null,
374
348
  element = new (Function.prototype.bind.call(Class, null, selector, ...remainingArguments));
package/src/index.js CHANGED
@@ -19,3 +19,5 @@ export { default as window } from "./window";
19
19
  export { default as document } from "./document";
20
20
  export { default as eventTypes } from "./eventTypes";
21
21
  export { default as mouseButtons } from "./mouseButtons";
22
+
23
+ export { defautl as elementMixins } from "./mixins/element";
@@ -4,6 +4,32 @@ import { first } from "../utilities/array";
4
4
  import { WILDCARD } from "../constants";
5
5
  import { domNodeMatchesSelector, elementsFromDOMElements, filterDOMNodesBySelector, ascendantDOMNodesFromDOMNode, descendantDOMNodesFromDOMNode } from "../utilities/dom";
6
6
 
7
+ function mountElement(element) {
8
+ const descendantElements = element.getDescendantElements(),
9
+ elements = [
10
+ element,
11
+ ...descendantElements
12
+ ];
13
+
14
+ elements.reverse(); ///
15
+
16
+ elements.forEach((element) => {
17
+ element.didMount && element.didMount();
18
+ });
19
+ }
20
+
21
+ function unmountElement(element) {
22
+ const descendantElements = element.getDescendantElements(),
23
+ elements = [
24
+ element,
25
+ ...descendantElements
26
+ ];
27
+
28
+ elements.forEach((element) => {
29
+ element.willUnmount && element.willUnmount();
30
+ });
31
+ }
32
+
7
33
  function getParentElement(selector = WILDCARD) {
8
34
  let parentElement = null;
9
35
 
@@ -75,6 +101,8 @@ function getPreviousSiblingElement(selector = WILDCARD) {
75
101
  }
76
102
 
77
103
  const elementMixins = {
104
+ mountElement,
105
+ unmountElement,
78
106
  getParentElement,
79
107
  getChildElements,
80
108
  getAscendantElements,
package/src/mixins/jsx.js CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  import { combine, prune } from "../utilities/object";
4
4
  import { first, guarantee } from "../utilities/array";
5
+ import { camelCaseToSnakeCase } from "../utilities/string";
5
6
  import { isHTMLAttributeName, isSVGAttributeName } from "../utilities/name";
6
7
  import { removeFalseyElements, replaceStringsWithTextElements } from "../utilities/elements";
7
- import { FOR, CLASS, OBJECT, HTML_FOR, CLASS_NAME, BOOLEAN, FUNCTION, SVG_NAMESPACE_URI, CUSTOM_EVENT_TYPE_SUFFIX } from "../constants";
8
- import {camelCaseToSnakeCase} from "../utilities/string";
8
+ import { FOR, CLASS, OBJECT, HTML_FOR, CLASS_NAME, BOOLEAN, FUNCTION, SVG_NAMESPACE_URI } from "../constants";
9
9
 
10
10
  function applyProperties(properties, defaultProperties, ignoredProperties) {
11
11
  this.properties = combine(properties, defaultProperties);
@@ -134,7 +134,7 @@ function addHandler(element, name, value) {
134
134
  }
135
135
 
136
136
  function addCustomHandler(element, name, value) {
137
- const customEventType = camelCaseToSnakeCase(name).replace(/on-custom-/, "") + CUSTOM_EVENT_TYPE_SUFFIX, ///
137
+ const customEventType = camelCaseToSnakeCase(name).replace(/on-custom-/, ""),
138
138
  customHandler = value; ///
139
139
 
140
140
  element.onCustomEvent(customEventType, customHandler);