@pie-element/extended-text-entry 6.7.0-annotations.1 → 6.7.0-annotations.2

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.
@@ -59,4 +59,4 @@ var _default = {
59
59
  }
60
60
  };
61
61
  exports["default"] = _default;
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJtb2RlbCIsImRpbWVuc2lvbnMiLCJoZWlnaHQiLCJ3aWR0aCIsInByb21wdCIsIm1hdGhJbnB1dCIsImVxdWF0aW9uRWRpdG9yIiwiZmVlZGJhY2tFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwiY29uZmlndXJhdGlvbiIsInNldHRpbmdzIiwibGFiZWwiLCJlbmFibGVkIiwiZmVlZGJhY2siLCJtdWx0aXBsZSIsInN0dWRlbnRJbnN0cnVjdGlvbnMiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZDLE1BQUFBLE1BQU0sRUFBRSxHQURFO0FBRVZDLE1BQUFBLEtBQUssRUFBRTtBQUZHLEtBRFA7QUFLTEMsSUFBQUEsTUFBTSxFQUFFLDZCQUxIO0FBTUxDLElBQUFBLFNBQVMsRUFBRSxLQU5OO0FBT0xDLElBQUFBLGNBQWMsRUFBRSxlQVBYO0FBUUxDLElBQUFBLGVBQWUsRUFBRSxJQVJaO0FBU0xDLElBQUFBLGdCQUFnQixFQUFFLElBVGI7QUFVTEMsSUFBQUEsYUFBYSxFQUFFLElBVlY7QUFXTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFYdkI7QUFZTEMsSUFBQUEsMEJBQTBCLEVBQUUsSUFadkI7QUFhTEMsSUFBQUEscUJBQXFCLEVBQUU7QUFibEIsR0FETTtBQWdCYkMsRUFBQUEsYUFBYSxFQUFFO0FBQ2JaLElBQUFBLFVBQVUsRUFBRTtBQUNWYSxNQUFBQSxRQUFRLEVBQUUsSUFEQTtBQUVWQyxNQUFBQSxLQUFLLEVBQUU7QUFGRyxLQURDO0FBS2JULElBQUFBLGNBQWMsRUFBRTtBQUNkUSxNQUFBQSxRQUFRLEVBQUUsS0FESTtBQUVkQyxNQUFBQSxLQUFLLEVBQUUsaUJBRk87QUFHZEMsTUFBQUEsT0FBTyxFQUFFO0FBSEssS0FMSDtBQVViQyxJQUFBQSxRQUFRLEVBQUU7QUFDUkgsTUFBQUEsUUFBUSxFQUFFLElBREY7QUFFUkMsTUFBQUEsS0FBSyxFQUFFO0FBRkMsS0FWRztBQWNiVixJQUFBQSxTQUFTLEVBQUU7QUFDVFMsTUFBQUEsUUFBUSxFQUFFLElBREQ7QUFFVEMsTUFBQUEsS0FBSyxFQUFFLDRDQUZFO0FBR1RDLE1BQUFBLE9BQU8sRUFBRTtBQUhBLEtBZEU7QUFtQmJFLElBQUFBLFFBQVEsRUFBRTtBQUNSSixNQUFBQSxRQUFRLEVBQUUsS0FERjtBQUVSQyxNQUFBQSxLQUFLLEVBQUUsZ0JBRkM7QUFHUkMsTUFBQUEsT0FBTyxFQUFFO0FBSEQsS0FuQkc7QUF3QmJHLElBQUFBLG1CQUFtQixFQUFFO0FBQ25CTCxNQUFBQSxRQUFRLEVBQUUsS0FEUztBQUVuQkMsTUFBQUEsS0FBSyxFQUFFO0FBRlksS0F4QlI7QUE0QmJYLElBQUFBLE1BQU0sRUFBRTtBQUNOVSxNQUFBQSxRQUFRLEVBQUUsSUFESjtBQUVOQyxNQUFBQSxLQUFLLEVBQUU7QUFGRCxLQTVCSztBQWdDYkssSUFBQUEsbUJBQW1CLEVBQUU7QUFDbkJOLE1BQUFBLFFBQVEsRUFBRSxJQURTO0FBRW5CQyxNQUFBQSxLQUFLLEVBQUU7QUFGWTtBQWhDUjtBQWhCRixDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBtb2RlbDoge1xuICAgIGRpbWVuc2lvbnM6IHtcbiAgICAgIGhlaWdodDogMTAwLFxuICAgICAgd2lkdGg6IDUwMFxuICAgIH0sXG4gICAgcHJvbXB0OiAnVGhpcyBpcyB0aGUgcXVlc3Rpb24gcHJvbXB0JyxcbiAgICBtYXRoSW5wdXQ6IGZhbHNlLFxuICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cycsXG4gICAgZmVlZGJhY2tFbmFibGVkOiB0cnVlLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gICAgcHJvbXB0RW5hYmxlZDogdHJ1ZSxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICB0b29sYmFyRWRpdG9yUG9zaXRpb246ICdib3R0b20nLFxuICB9LFxuICBjb25maWd1cmF0aW9uOiB7XG4gICAgZGltZW5zaW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1RleHQtRW50cnkgRGlzcGxheSBTaXplJ1xuICAgIH0sXG4gICAgZXF1YXRpb25FZGl0b3I6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnRXF1YXRpb24gRWRpdG9yJyxcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICBmZWVkYmFjazoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ0ZlZWRiYWNrJ1xuICAgIH0sXG4gICAgbWF0aElucHV0OiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnU3R1ZGVudCByZXNwb25zZSBjYW4gaW5jbHVkZSBtYXRoIG5vdGF0aW9uJyxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgbXVsdGlwbGU6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnTXVsdGlwbGUgUGFydHMnLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zOiB7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ1N0dWRlbnQgSW5zdHJ1Y3Rpb25zJ1xuICAgIH0sXG4gICAgcHJvbXB0OiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnUHJvbXB0J1xuICAgIH0sXG4gICAgdGVhY2hlckluc3RydWN0aW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1RlYWNoZXIgSW5zdHJ1Y3Rpb25zJ1xuICAgIH0sXG4gIH1cbn07XG4iXX0=
62
+ //# sourceMappingURL=defaults.js.map
@@ -126,4 +126,4 @@ exports["default"] = ExtendedTextEntry;
126
126
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
127
  return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
128
128
  });
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJFeHRlbmRlZFRleHRFbnRyeSIsIl9tb2RlbCIsImNyZWF0ZURlZmF1bHRNb2RlbCIsIl9jb25maWd1cmF0aW9uIiwiZGVmYXVsdHMiLCJjb25maWd1cmF0aW9uIiwibSIsInJlbmRlciIsImMiLCJkaXNwYXRjaEV2ZW50IiwiTW9kZWxVcGRhdGVkRXZlbnQiLCJvbk1vZGVsQ2hhbmdlZCIsImhhbmRsZXIiLCJJbnNlcnRJbWFnZUV2ZW50Iiwic3JjIiwiZG9uZSIsIkRlbGV0ZUltYWdlRXZlbnQiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIm1vZGVsIiwiYmluZCIsIm9uQ29uZmlndXJhdGlvbkNoYW5nZWQiLCJpbWFnZVN1cHBvcnQiLCJhZGQiLCJpbnNlcnRJbWFnZSIsIm9uRGVsZXRlSW1hZ2UiLCJSZWFjdERPTSIsIkhUTUxFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUtBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0lBRXFCQSxpQjs7Ozs7QUFNbkIsK0JBQWM7QUFBQTs7QUFBQTtBQUNaO0FBQ0EsVUFBS0MsTUFBTCxHQUFjRCxpQkFBaUIsQ0FBQ0Usa0JBQWxCLEVBQWQ7QUFDQSxVQUFLQyxjQUFMLEdBQXNCQyxxQkFBU0MsYUFBL0I7QUFIWTtBQUliOzs7O1NBRUQsYUFBVUMsQ0FBVixFQUFhO0FBQ1gsV0FBS0wsTUFBTCxHQUFjRCxpQkFBaUIsQ0FBQ0Usa0JBQWxCLENBQXFDSSxDQUFyQyxDQUFkO0FBQ0EsV0FBS0MsTUFBTDtBQUNEOzs7U0FFRCxhQUFrQkMsQ0FBbEIsRUFBcUI7QUFDbkIsV0FBS0wsY0FBTCxtQ0FDS0MscUJBQVNDLGFBRGQsR0FFS0csQ0FGTDtBQUtBLFdBQUtELE1BQUw7QUFDRDs7O1dBRUQsd0JBQWVELENBQWYsRUFBa0I7QUFDaEIsV0FBS0wsTUFBTCxHQUFjSyxDQUFkO0FBQ0EsV0FBS0MsTUFBTDtBQUNBLFdBQUtFLGFBQUwsQ0FBbUIsSUFBSUMscUNBQUosQ0FBc0IsS0FBS1QsTUFBM0IsRUFBbUMsS0FBbkMsQ0FBbkI7QUFDRDs7O1dBRUQsZ0NBQXVCTyxDQUF2QixFQUEwQjtBQUN4QixXQUFLTCxjQUFMLG1DQUNLQyxxQkFBU0MsYUFEZCxHQUVLRyxDQUZMOztBQUtBLFVBQUksS0FBS1AsTUFBVCxFQUFpQjtBQUNmLGFBQUtVLGNBQUwsQ0FBb0IsS0FBS1YsTUFBekI7QUFDRDs7QUFFRCxXQUFLTSxNQUFMO0FBQ0Q7QUFHRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLHFCQUFZSyxPQUFaLEVBQXFCO0FBQ25CLFdBQUtILGFBQUwsQ0FBbUIsSUFBSUksb0NBQUosQ0FBcUJELE9BQXJCLENBQW5CO0FBQ0Q7OztXQUVELHVCQUFjRSxHQUFkLEVBQW1CQyxJQUFuQixFQUF5QjtBQUN2QixXQUFLTixhQUFMLENBQW1CLElBQUlPLG9DQUFKLENBQXFCRixHQUFyQixFQUEwQkMsSUFBMUIsQ0FBbkI7QUFDRDs7O1dBRUQsa0JBQVM7QUFDUCxVQUFJLEtBQUtkLE1BQVQsRUFBaUI7QUFDZixZQUFNZ0IsT0FBTyxnQkFBR0Msa0JBQU1DLGFBQU4sQ0FBb0JDLGdCQUFwQixFQUEwQjtBQUN4Q0MsVUFBQUEsS0FBSyxFQUFFLEtBQUtwQixNQUQ0QjtBQUV4Q0ksVUFBQUEsYUFBYSxFQUFFLEtBQUtGLGNBRm9CO0FBR3hDUSxVQUFBQSxjQUFjLEVBQUUsS0FBS0EsY0FBTCxDQUFvQlcsSUFBcEIsQ0FBeUIsSUFBekIsQ0FId0I7QUFJeENDLFVBQUFBLHNCQUFzQixFQUFFLEtBQUtBLHNCQUFMLENBQTRCRCxJQUE1QixDQUFpQyxJQUFqQyxDQUpnQjtBQUt4Q0UsVUFBQUEsWUFBWSxFQUFFO0FBQ1pDLFlBQUFBLEdBQUcsRUFBRSxLQUFLQyxXQUFMLENBQWlCSixJQUFqQixDQUFzQixJQUF0QixDQURPO0FBRVosc0JBQVEsS0FBS0ssYUFBTCxDQUFtQkwsSUFBbkIsQ0FBd0IsSUFBeEI7QUFGSTtBQUwwQixTQUExQixDQUFoQjs7QUFVQU0sNkJBQVNyQixNQUFULENBQWdCVSxPQUFoQixFQUF5QixJQUF6QjtBQUNEO0FBQ0Y7OztrREF4RTRDWSxXOzs7aUNBQTFCN0IsaUIsd0JBQ1M7QUFBQSxNQUFDcUIsS0FBRCx1RUFBUyxFQUFUO0FBQUEseUNBQ3ZCakIscUJBQVNpQixLQURjLEdBRXZCQSxLQUZ1QjtBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbFVwZGF0ZWRFdmVudCxcbiAgRGVsZXRlSW1hZ2VFdmVudCxcbiAgSW5zZXJ0SW1hZ2VFdmVudFxufSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtY29uZmlndXJlLWV2ZW50cyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4dGVuZGVkVGV4dEVudHJ5IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBzdGF0aWMgY3JlYXRlRGVmYXVsdE1vZGVsID0gKG1vZGVsID0ge30pID0+ICh7XG4gICAgLi4uZGVmYXVsdHMubW9kZWwsXG4gICAgLi4ubW9kZWxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9tb2RlbCA9IEV4dGVuZGVkVGV4dEVudHJ5LmNyZWF0ZURlZmF1bHRNb2RlbCgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuICB9XG5cbiAgc2V0IG1vZGVsKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IEV4dGVuZGVkVGV4dEVudHJ5LmNyZWF0ZURlZmF1bHRNb2RlbChtKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgc2V0IGNvbmZpZ3VyYXRpb24oYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAuLi5kZWZhdWx0cy5jb25maWd1cmF0aW9uLFxuICAgICAgLi4uY1xuICAgIH07XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZWQobSkge1xuICAgIHRoaXMuX21vZGVsID0gbTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwsIGZhbHNlKSk7XG4gIH1cblxuICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkKGMpIHtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uZGVmYXVsdHMuY29uZmlndXJhdGlvbixcbiAgICAgIC4uLmNcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuX21vZGVsKSB7XG4gICAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkKHRoaXMuX21vZGVsKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlclxuICAgKi9cbiAgaW5zZXJ0SW1hZ2UoaGFuZGxlcikge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5zZXJ0SW1hZ2VFdmVudChoYW5kbGVyKSk7XG4gIH1cblxuICBvbkRlbGV0ZUltYWdlKHNyYywgZG9uZSkge1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRGVsZXRlSW1hZ2VFdmVudChzcmMsIGRvbmUpKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5fbW9kZWwpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB0aGlzLl9jb25maWd1cmF0aW9uLFxuICAgICAgICBvbk1vZGVsQ2hhbmdlZDogdGhpcy5vbk1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgaW1hZ2VTdXBwb3J0OiB7XG4gICAgICAgICAgYWRkOiB0aGlzLmluc2VydEltYWdlLmJpbmQodGhpcyksXG4gICAgICAgICAgZGVsZXRlOiB0aGlzLm9uRGVsZXRlSW1hZ2UuYmluZCh0aGlzKVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtZW50LCB0aGlzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
129
+ //# sourceMappingURL=index.js.map
@@ -252,4 +252,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
252
252
  })(Main);
253
253
 
254
254
  exports["default"] = _default;
255
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJQYW5lbCIsInNldHRpbmdzIiwidG9nZ2xlIiwibnVtYmVyRmllbGRzIiwiZHJvcGRvd24iLCJkZWZhdWx0RmVlZGJhY2siLCJ0eXBlIiwiTWFpbiIsInByb3BzIiwibWFya3VwIiwib25Nb2RlbENoYW5nZWQiLCJtb2RlbCIsInByb21wdCIsImZlZWRiYWNrIiwidXBkYXRlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInN0YXRlIiwic2V0RGltZW5zaW9ucyIsImNsYXNzZXMiLCJjb25maWd1cmF0aW9uIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsImltYWdlU3VwcG9ydCIsIm11bHRpcGxlIiwic3R1ZGVudEluc3RydWN0aW9ucyIsIm1hdGhJbnB1dCIsImRpbWVuc2lvbnMiLCJlcXVhdGlvbkVkaXRvciIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwicHJvbXB0RW5hYmxlZCIsImZlZWRiYWNrRW5hYmxlZCIsInRvb2xiYXJPcHRzIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwicG9zaXRpb24iLCJjb25maWciLCJsYWJlbCIsImVuYWJsZWQiLCJ3aWR0aCIsInN1ZmZpeCIsIm1pbiIsIm1heCIsImhlaWdodCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwicHJvbXB0Q29udGFpbmVyIiwiY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucyIsIkFMTF9QTFVHSU5TIiwib25Qcm9tcHRDaGFuZ2UiLCJoZWFkZXIiLCJjaGFuZ2VGZWVkYmFjayIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJ0aGVtZSIsInBhZGRpbmdCb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmdUb3AiLCJtYXJnaW5Cb3R0b20iLCJwcm9tcHRJbnB1dCIsImZpZWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7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RGQ7QUFFakJoQyxFQUFBQSxzQkFBc0IsRUFBRThCLHNCQUFVQyxJQUZqQjtBQUdqQnhDLEVBQUFBLEtBQUssRUFBRXVDLHNCQUFVRyxNQUFWLENBQWlCRCxVQUhQO0FBSWpCakMsRUFBQUEsYUFBYSxFQUFFK0Isc0JBQVVHLE1BQVYsQ0FBaUJELFVBSmY7QUFLakIvQixFQUFBQSxZQUFZLEVBQUU2QixzQkFBVUcsTUFBVixDQUFpQkQsVUFMZDtBQU1qQmxDLEVBQUFBLE9BQU8sRUFBRWdDLHNCQUFVRyxNQUFWLENBQWlCRDtBQU5ULEM7O2VBbUtOLHdCQUFXLFVBQUFFLEtBQUs7QUFBQSxTQUFLO0FBQ2xDUixJQUFBQSxNQUFNLEVBQUU7QUFDTlMsTUFBQUEsYUFBYSxFQUFFRCxLQUFLLENBQUNFLE9BQU4sQ0FBY0M7QUFEdkIsS0FEMEI7QUFJbENmLElBQUFBLGVBQWUsRUFBRTtBQUNmZ0IsTUFBQUEsVUFBVSxFQUFFSixLQUFLLENBQUNFLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQURsQjtBQUVmRSxNQUFBQSxZQUFZLEVBQUVMLEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBRnBCO0FBR2ZyQixNQUFBQSxLQUFLLEVBQUU7QUFIUSxLQUppQjtBQVNsQ3dCLElBQUFBLFdBQVcsRUFBRTtBQUNYeEIsTUFBQUEsS0FBSyxFQUFFLE1BREk7QUFFWHVCLE1BQUFBLFlBQVksRUFBRUwsS0FBSyxDQUFDRSxPQUFOLENBQWNDO0FBRmpCLEtBVHFCO0FBYWxDSSxJQUFBQSxLQUFLLEVBQUU7QUFDTHpCLE1BQUFBLEtBQUssRUFBRTtBQURGO0FBYjJCLEdBQUw7QUFBQSxDQUFoQixFQWdCWDdCLElBaEJXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgRmVlZGJhY2tTZWxlY3RvcixcbiAgSW5wdXRDb250YWluZXIsXG4gIHNldHRpbmdzLFxuICBsYXlvdXRcbn0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCwgeyBBTExfUExVR0lOUyB9IGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jb25zdCB7IFBhbmVsLCB0b2dnbGUsIG51bWJlckZpZWxkcywgZHJvcGRvd24gfSA9IHNldHRpbmdzO1xuXG5jb25zdCBkZWZhdWx0RmVlZGJhY2sgPSB7XG4gIHR5cGU6ICdkZWZhdWx0JyxcbiAgZGVmYXVsdDogJ1lvdXIgYW5zd2VyIGhhcyBiZWVuIHN1Ym1pdHRlZCdcbn07XG5cbmV4cG9ydCBjbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbk1vZGVsQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBpbWFnZVN1cHBvcnQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2V0RGltZW5zaW9uczogdHJ1ZVxuICAgIH07XG4gIH1cblxuICBvblByb21wdENoYW5nZSA9IG1hcmt1cCA9PiB7XG4gICAgY29uc3QgeyBvbk1vZGVsQ2hhbmdlZCwgbW9kZWwgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBvbk1vZGVsQ2hhbmdlZCh7XG4gICAgICAuLi5tb2RlbCxcbiAgICAgIHByb21wdDogbWFya3VwXG4gICAgfSk7XG4gIH07XG5cbiAgY2hhbmdlRmVlZGJhY2sgPSBmZWVkYmFjayA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0geyAuLi5tb2RlbCwgZmVlZGJhY2sgfTtcbiAgICBvbk1vZGVsQ2hhbmdlZCh1cGRhdGUpO1xuICB9O1xuXG4gIGNoYW5nZVRlYWNoZXJJbnN0cnVjdGlvbnMgPSB0ZWFjaGVySW5zdHJ1Y3Rpb25zID0+IHtcbiAgICBjb25zdCB7IG1vZGVsLCBvbk1vZGVsQ2hhbmdlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB1cGRhdGUgPSB7IC4uLm1vZGVsLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIH07XG4gICAgb25Nb2RlbENoYW5nZWQodXBkYXRlKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgY2xhc3Nlcywgb25Nb2RlbENoYW5nZWQsIGNvbmZpZ3VyYXRpb24sIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQsIGltYWdlU3VwcG9ydCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBtdWx0aXBsZSA9IHt9LFxuICAgICAgZmVlZGJhY2sgPSB7fSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICAgIHByb21wdCA9IHt9LFxuICAgICAgc3R1ZGVudEluc3RydWN0aW9ucyA9IHt9LFxuICAgICAgbWF0aElucHV0ID0ge30sXG4gICAgICBkaW1lbnNpb25zID0ge30sXG4gICAgICBlcXVhdGlvbkVkaXRvciA9IHt9XG4gICAgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gICAgY29uc3QgeyB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCwgcHJvbXB0RW5hYmxlZCwgZmVlZGJhY2tFbmFibGVkIH0gPSBtb2RlbCB8fCB7fTtcbiAgICBjb25zdCB0b29sYmFyT3B0cyA9IHt9O1xuXG4gICAgc3dpdGNoIChtb2RlbC50b29sYmFyRWRpdG9yUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHRvb2xiYXJPcHRzLnBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdG9vbGJhck9wdHMucG9zaXRpb24gPSAnYm90dG9tJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8bGF5b3V0LkNvbmZpZ0xheW91dFxuICAgICAgICBzZXR0aW5ncz17XG4gICAgICAgICAgPFBhbmVsXG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2VNb2RlbD17bW9kZWwgPT4gb25Nb2RlbENoYW5nZWQobW9kZWwpfVxuICAgICAgICAgICAgb25DaGFuZ2VDb25maWd1cmF0aW9uPXtjb25maWcgPT4gb25Db25maWd1cmF0aW9uQ2hhbmdlZChjb25maWcpfVxuICAgICAgICAgICAgZ3JvdXBzPXt7XG4gICAgICAgICAgICAgICdTZXR0aW5ncyc6IHtcbiAgICAgICAgICAgICAgICBtYXRoSW5wdXQ6IG1hdGhJbnB1dC5zZXR0aW5ncyAmJiB0b2dnbGUobWF0aElucHV0LmxhYmVsKSxcbiAgICAgICAgICAgICAgICBlcXVhdGlvbkVkaXRvcjogZXF1YXRpb25FZGl0b3IuZW5hYmxlZCAmJiBtb2RlbC5tYXRoSW5wdXQgJiYgZHJvcGRvd24oZXF1YXRpb25FZGl0b3IubGFiZWwsIFtcbiAgICAgICAgICAgICAgICAgICdHcmFkZSAxIC0gMicsXG4gICAgICAgICAgICAgICAgICAnR3JhZGUgMyAtIDUnLFxuICAgICAgICAgICAgICAgICAgJ0dyYWRlIDYgLSA3JyxcbiAgICAgICAgICAgICAgICAgICdHcmFkZSA4IC0gSFMnLFxuICAgICAgICAgICAgICAgICAgJ2dlb21ldHJ5JyxcbiAgICAgICAgICAgICAgICAgICdhZHZhbmNlZC1hbGdlYnJhJyxcbiAgICAgICAgICAgICAgICAgICdzdGF0aXN0aWNzJyxcbiAgICAgICAgICAgICAgICAgICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIGRpbWVuc2lvbnM6IG51bWJlckZpZWxkcyhkaW1lbnNpb25zLmxhYmVsLCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1dpZHRoIChweCknLFxuICAgICAgICAgICAgICAgICAgICBzdWZmaXg6ICdweCcsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogMTAwLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IDUwMFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlaWdodCAocHgpJyxcbiAgICAgICAgICAgICAgICAgICAgc3VmZml4OiAncHgnLFxuICAgICAgICAgICAgICAgICAgICBtaW46IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgbWF4OiA1MDBcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAnbXVsdGlwbGUuZW5hYmxlZCc6IG11bHRpcGxlLnNldHRpbmdzICYmXG4gICAgICAgICAgICAgICAgICB0b2dnbGUobXVsdGlwbGUubGFiZWwsIHRydWUpLFxuICAgICAgICAgICAgICAgIHByb21wdEVuYWJsZWQ6IHByb21wdC5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHByb21wdC5sYWJlbCksXG4gICAgICAgICAgICAgICAgZmVlZGJhY2tFbmFibGVkOiBmZWVkYmFjay5zZXR0aW5ncyAmJiB0b2dnbGUoZmVlZGJhY2subGFiZWwpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAnUHJvcGVydGllcyc6IHtcbiAgICAgICAgICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlKHRlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWwpLFxuICAgICAgICAgICAgICAgIHN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkOiBzdHVkZW50SW5zdHJ1Y3Rpb25zLnNldHRpbmdzICYmXG4gICAgICAgICAgICAgICAgICB0b2dnbGUoc3R1ZGVudEluc3RydWN0aW9ucy5sYWJlbClcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICA8ZGl2PlxuXG4gICAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17dGVhY2hlckluc3RydWN0aW9ucy5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdENvbnRhaW5lcn0+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwudGVhY2hlckluc3RydWN0aW9ucyB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zfVxuICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8YnIgLz5cblxuICAgICAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17cHJvbXB0LmxhYmVsfSBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0Q29udGFpbmVyfT5cbiAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e0FMTF9QTFVHSU5TfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgbWFya3VwPXttb2RlbC5wcm9tcHQgfHwgJyd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25Qcm9tcHRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgbm9uRW1wdHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZlZWRiYWNrRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMuaGVhZGVyfSB2YXJpYW50PVwic3ViaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgRmVlZGJhY2tcbiAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG5cbiAgICAgICAgICAgICAgICA8RmVlZGJhY2tTZWxlY3RvclxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJXaGVuIHN1Ym1pdHRlZCwgc2hvd1wiXG4gICAgICAgICAgICAgICAgICBmZWVkYmFjaz17bW9kZWwuZmVlZGJhY2sgfHwgZGVmYXVsdEZlZWRiYWNrfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlRmVlZGJhY2t9XG4gICAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9sYXlvdXQuQ29uZmlnTGF5b3V0PlxuICAgICk7XG4gIH1cbn1cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXModGhlbWUgPT4gKHtcbiAgaGVhZGVyOiB7XG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0XG4gIH0sXG4gIHByb21wdENvbnRhaW5lcjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIHdpZHRoOiAnMTAwJSdcbiAgfSxcbiAgcHJvbXB0SW5wdXQ6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0XG4gIH0sXG4gIGZpZWxkOiB7XG4gICAgd2lkdGg6ICcyMDBweCdcbiAgfVxufSkpKE1haW4pO1xuIl19
255
+ //# sourceMappingURL=main.js.map
@@ -10,8 +10,8 @@
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.2",
12
12
  "@pie-framework/pie-configure-events": "^1.2.0",
13
- "@pie-lib/config-ui": "^10.10.12",
14
- "@pie-lib/editable-html": "^7.17.12",
13
+ "@pie-lib/config-ui": "^10.10.13",
14
+ "@pie-lib/editable-html": "^7.17.13",
15
15
  "lodash": "^4.17.15",
16
16
  "prop-types": "^15.6.2",
17
17
  "react": "^16.8.1",
@@ -76,4 +76,4 @@ var _default = {
76
76
  }]
77
77
  };
78
78
  exports["default"] = _default;
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJkaW1lbnNpb25zIiwiaGVpZ2h0Iiwid2lkdGgiLCJwcmVkZWZpbmVkQW5ub3RhdGlvbnMiLCJsYWJlbCIsInRleHQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxVQUFVLEVBQUU7QUFDVkMsSUFBQUEsTUFBTSxFQUFFLEdBREU7QUFFVkMsSUFBQUEsS0FBSyxFQUFFO0FBRkcsR0FEQztBQUtiQyxFQUFBQSxxQkFBcUIsRUFBRSxDQUNyQjtBQUNFQyxJQUFBQSxLQUFLLEVBQUUsTUFEVDtBQUVFQyxJQUFBQSxJQUFJLEVBQUUsTUFGUjtBQUdFQyxJQUFBQSxJQUFJLEVBQUU7QUFIUixHQURxQixFQUtsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsR0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsR0FGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQUxrQixFQVNsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsS0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsS0FGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQVRrQixFQWFsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsVUFETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsVUFGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQWJrQixFQWlCbEI7QUFDREYsSUFBQUEsS0FBSyxFQUFFLFFBRE47QUFFREMsSUFBQUEsSUFBSSxFQUFFLFFBRkw7QUFHREMsSUFBQUEsSUFBSSxFQUFFO0FBSEwsR0FqQmtCLEVBcUJsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsTUFETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsVUFGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQXJCa0IsRUF5QmxCO0FBQ0RGLElBQUFBLEtBQUssRUFBRSxNQUROO0FBRURDLElBQUFBLElBQUksRUFBRSxZQUZMO0FBR0RDLElBQUFBLElBQUksRUFBRTtBQUhMLEdBekJrQixFQTZCbEI7QUFDREYsSUFBQUEsS0FBSyxFQUFFLE1BRE47QUFFREMsSUFBQUEsSUFBSSxFQUFFLGdCQUZMO0FBR0RDLElBQUFBLElBQUksRUFBRTtBQUhMLEdBN0JrQixFQWlDbEI7QUFDREYsSUFBQUEsS0FBSyxFQUFFLE1BRE47QUFFREMsSUFBQUEsSUFBSSxFQUFFLGFBRkw7QUFHREMsSUFBQUEsSUFBSSxFQUFFO0FBSEwsR0FqQ2tCLEVBcUNsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsS0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsaUJBRkw7QUFHREMsSUFBQUEsSUFBSSxFQUFFO0FBSEwsR0FyQ2tCLEVBeUNsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsU0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsU0FGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQXpDa0IsRUE2Q2xCO0FBQ0RGLElBQUFBLEtBQUssRUFBRSxLQUROO0FBRURDLElBQUFBLElBQUksRUFBRSxLQUZMO0FBR0RDLElBQUFBLElBQUksRUFBRTtBQUhMLEdBN0NrQixFQWlEbEI7QUFDREYsSUFBQUEsS0FBSyxFQUFFLElBRE47QUFFREMsSUFBQUEsSUFBSSxFQUFFLFVBRkw7QUFHREMsSUFBQUEsSUFBSSxFQUFFO0FBSEwsR0FqRGtCLEVBcURsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsS0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsZ0JBRkw7QUFHREMsSUFBQUEsSUFBSSxFQUFFO0FBSEwsR0FyRGtCLEVBeURsQjtBQUNERixJQUFBQSxLQUFLLEVBQUUsS0FETjtBQUVEQyxJQUFBQSxJQUFJLEVBQUUsVUFGTDtBQUdEQyxJQUFBQSxJQUFJLEVBQUU7QUFITCxHQXpEa0IsRUE2RGxCO0FBQ0RGLElBQUFBLEtBQUssRUFBRSxLQUROO0FBRURDLElBQUFBLElBQUksRUFBRSxTQUZMO0FBR0RDLElBQUFBLElBQUksRUFBRTtBQUhMLEdBN0RrQjtBQUxWLEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIGRpbWVuc2lvbnM6IHtcbiAgICBoZWlnaHQ6IDEwMCxcbiAgICB3aWR0aDogNTAwLFxuICB9LFxuICBwcmVkZWZpbmVkQW5ub3RhdGlvbnM6IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ2dvb2QnLFxuICAgICAgdGV4dDogJ2dvb2QnLFxuICAgICAgdHlwZTogJ3Bvc2l0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAn4piFJyxcbiAgICAgIHRleHQ6ICfimIUnLFxuICAgICAgdHlwZTogJ3Bvc2l0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnOi0pJyxcbiAgICAgIHRleHQ6ICc6LSknLFxuICAgICAgdHlwZTogJ3Bvc2l0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnY3JlYXRpdmUnLFxuICAgICAgdGV4dDogJ2NyZWF0aXZlJyxcbiAgICAgIHR5cGU6ICdwb3NpdGl2ZSdcbiAgICB9LCB7XG4gICAgICBsYWJlbDogJ3J1bi1vbicsXG4gICAgICB0ZXh0OiAncnVuLW9uJyxcbiAgICAgIHR5cGU6ICduZWdhdGl2ZSdcbiAgICB9LCB7XG4gICAgICBsYWJlbDogJ2ZyYWcnLFxuICAgICAgdGV4dDogJ2ZyYWdtZW50JyxcbiAgICAgIHR5cGU6ICduZWdhdGl2ZSdcbiAgICB9LCB7XG4gICAgICBsYWJlbDogJ3RyYW4nLFxuICAgICAgdGV4dDogJ3RyYW5zaXRpb24nLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnc3VwcCcsXG4gICAgICB0ZXh0OiAnc3VwcG9ydCBuZWVkZWQnLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAncHVuYycsXG4gICAgICB0ZXh0OiAncHVuY3R1YXRpb24nLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnYWdyJyxcbiAgICAgIHRleHQ6ICdhZ3JlZW1lbnQgd3JvbmcnLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAndW5jbGVhcicsXG4gICAgICB0ZXh0OiAndW5jbGVhcicsXG4gICAgICB0eXBlOiAnbmVnYXRpdmUnXG4gICAgfSwge1xuICAgICAgbGFiZWw6ICdjdXQnLFxuICAgICAgdGV4dDogJ2N1dCcsXG4gICAgICB0eXBlOiAnbmVnYXRpdmUnXG4gICAgfSwge1xuICAgICAgbGFiZWw6ICdzcCcsXG4gICAgICB0ZXh0OiAnc3BlbGxpbmcnLFxuICAgICAgdHlwZTogJ25lZ2F0aXZlJ1xuICAgIH0sIHtcbiAgICAgIGxhYmVsOiAnY2FwJyxcbiAgICAgIHRleHQ6ICdjYXBpdGFsaXphdGlvbicsXG4gICAgICB0eXBlOiAnbmVnYXRpdmUnXG4gICAgfSwge1xuICAgICAgbGFiZWw6ICdpbmYnLFxuICAgICAgdGV4dDogJ2luZm9ybWFsJyxcbiAgICAgIHR5cGU6ICduZWdhdGl2ZSdcbiAgICB9LCB7XG4gICAgICBsYWJlbDogJ2F3aycsXG4gICAgICB0ZXh0OiAnYXdrd2FyZCcsXG4gICAgICB0eXBlOiAnbmVnYXRpdmUnXG4gICAgfVxuICBdXG59O1xuIl19
79
+ //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["dimensions","height","width"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,GADE;AAEVC,IAAAA,KAAK,EAAE;AAFG;AADC,C","sourcesContent":["export default {\n dimensions: {\n height: 100,\n width: 500,\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["dimensions","height","width","predefinedAnnotations","label","text","type"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,GADE;AAEVC,IAAAA,KAAK,EAAE;AAFG,GADC;AAKbC,EAAAA,qBAAqB,EAAE,CACrB;AACEC,IAAAA,KAAK,EAAE,MADT;AAEEC,IAAAA,IAAI,EAAE,MAFR;AAGEC,IAAAA,IAAI,EAAE;AAHR,GADqB,EAKlB;AACDF,IAAAA,KAAK,EAAE,GADN;AAEDC,IAAAA,IAAI,EAAE,GAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GALkB,EASlB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,KAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GATkB,EAalB;AACDF,IAAAA,KAAK,EAAE,UADN;AAEDC,IAAAA,IAAI,EAAE,UAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAbkB,EAiBlB;AACDF,IAAAA,KAAK,EAAE,QADN;AAEDC,IAAAA,IAAI,EAAE,QAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAjBkB,EAqBlB;AACDF,IAAAA,KAAK,EAAE,MADN;AAEDC,IAAAA,IAAI,EAAE,UAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GArBkB,EAyBlB;AACDF,IAAAA,KAAK,EAAE,MADN;AAEDC,IAAAA,IAAI,EAAE,YAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAzBkB,EA6BlB;AACDF,IAAAA,KAAK,EAAE,MADN;AAEDC,IAAAA,IAAI,EAAE,gBAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GA7BkB,EAiClB;AACDF,IAAAA,KAAK,EAAE,MADN;AAEDC,IAAAA,IAAI,EAAE,aAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAjCkB,EAqClB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,iBAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GArCkB,EAyClB;AACDF,IAAAA,KAAK,EAAE,SADN;AAEDC,IAAAA,IAAI,EAAE,SAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAzCkB,EA6ClB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,KAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GA7CkB,EAiDlB;AACDF,IAAAA,KAAK,EAAE,IADN;AAEDC,IAAAA,IAAI,EAAE,UAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAjDkB,EAqDlB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,gBAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GArDkB,EAyDlB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,UAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GAzDkB,EA6DlB;AACDF,IAAAA,KAAK,EAAE,KADN;AAEDC,IAAAA,IAAI,EAAE,SAFL;AAGDC,IAAAA,IAAI,EAAE;AAHL,GA7DkB;AALV,C","sourcesContent":["export default {\n dimensions: {\n height: 100,\n width: 500,\n },\n predefinedAnnotations: [\n {\n label: 'good',\n text: 'good',\n type: 'positive'\n }, {\n label: '★',\n text: '★',\n type: 'positive'\n }, {\n label: ':-)',\n text: ':-)',\n type: 'positive'\n }, {\n label: 'creative',\n text: 'creative',\n type: 'positive'\n }, {\n label: 'run-on',\n text: 'run-on',\n type: 'negative'\n }, {\n label: 'frag',\n text: 'fragment',\n type: 'negative'\n }, {\n label: 'tran',\n text: 'transition',\n type: 'negative'\n }, {\n label: 'supp',\n text: 'support needed',\n type: 'negative'\n }, {\n label: 'punc',\n text: 'punctuation',\n type: 'negative'\n }, {\n label: 'agr',\n text: 'agreement wrong',\n type: 'negative'\n }, {\n label: 'unclear',\n text: 'unclear',\n type: 'negative'\n }, {\n label: 'cut',\n text: 'cut',\n type: 'negative'\n }, {\n label: 'sp',\n text: 'spelling',\n type: 'negative'\n }, {\n label: 'cap',\n text: 'capitalization',\n type: 'negative'\n }, {\n label: 'inf',\n text: 'informal',\n type: 'negative'\n }, {\n label: 'awk',\n text: 'awkward',\n type: 'negative'\n }\n ]\n};\n"],"file":"defaults.js"}
@@ -171,4 +171,4 @@ function _outcome() {
171
171
  }));
172
172
  return _outcome.apply(this, arguments);
173
173
  }
174
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJjcmVhdGVEZWZhdWx0TW9kZWwiLCJtb2RlbCIsImRlZmF1bHRzIiwibm9ybWFsaXplIiwicXVlc3Rpb24iLCJmZWVkYmFja0VuYWJsZWQiLCJyYXRpb25hbGVFbmFibGVkIiwicHJvbXB0RW5hYmxlZCIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwic3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQiLCJzZXNzaW9uIiwiZW52IiwiY29uc29sZSIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsImZiIiwibW9kZSIsImZlZWRiYWNrIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ1bmRlZmluZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwicm9sZSIsImVxdWF0aW9uRWRpdG9yIiwiYW5ub3RhdG9yTW9kZSIsImRpc2FibGVkQW5ub3RhdG9yIiwidGhlbiIsInByb21wdCIsImRpbWVuc2lvbnMiLCJjdXN0b21LZXlzIiwiaWQiLCJkaXNhYmxlZCIsIm1hdGhJbnB1dCIsInByZWRlZmluZWRBbm5vdGF0aW9ucyIsIm91dGNvbWUiLCJzY29yZSIsImNvbXBsZXRlZCIsIm5vdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUdBOztBQUVBOzs7Ozs7QUFIQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sNkNBQU4sQ0FBWjs7U0FLc0JDLGtCOzs7OztzR0FBZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFrQ0MsWUFBQUEsS0FBbEMsMkRBQTBDLEVBQTFDO0FBQ0xGLFlBQUFBLEdBQUcsQ0FBQyxzQkFBRCxFQUF5QkUsS0FBekIsQ0FBSDtBQURLLDZFQUlBQyxvQkFKQSxHQUtBRCxLQUxBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEc7Ozs7QUFTQSxJQUFNRSxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFBQyxRQUFRO0FBQUEseUNBQzVCRixvQkFENEI7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SixLQUFhLFFBTEc7QUFNMUJDLGdCQUFBQSxRQUFRLEVBQVJBLFFBTjBCO0FBTzFCSSxnQkFBQUEsbUJBQW1CLEVBQW5CQSxtQkFQMEI7QUFRMUJXLGdCQUFBQSxTQUFTLEVBQUVsQixrQkFBa0IsQ0FBQ2tCLFNBUko7QUFTMUJULGdCQUFBQSxjQUFjLEVBQWRBLGNBVDBCO0FBVTFCQyxnQkFBQUEsYUFBYSxFQUFiQSxhQVYwQjtBQVcxQkMsZ0JBQUFBLGlCQUFpQixFQUFqQkEsaUJBWDBCO0FBWTFCUSxnQkFBQUEscUJBQXFCLEVBQUVuQixrQkFBa0IsQ0FBQ21CO0FBWmhCLGVBQUw7QUFBQSxhQUFoQixDQTFDRjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O1NBMERlQyxPOzs7OzsyRkFBZjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsOENBQ0U7QUFDTEMsY0FBQUEsS0FBSyxFQUFFLENBREY7QUFFTEMsY0FBQUEsU0FBUyxFQUFFLEtBRk47QUFHTEMsY0FBQUEsSUFBSSxFQUFFO0FBSEQsYUFERjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtZWxlbWVudDpleHRlbmRlZC10ZXh0LWVudHJ5OmNvbnRyb2xsZXInKTtcbmltcG9ydCB7IGdldEZlZWRiYWNrIH0gZnJvbSAnQHBpZS1saWIvZmVlZGJhY2snO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0TW9kZWwobW9kZWwgPSB7fSkge1xuICBsb2coJ1tjcmVhdGVEZWZhdWx0TW9kZWxdJywgbW9kZWwpO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdHMsXG4gICAgLi4ubW9kZWwsXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSBxdWVzdGlvbiA9PiAoe1xuICAuLi5kZWZhdWx0cyxcbiAgZmVlZGJhY2tFbmFibGVkOiB0cnVlLFxuICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gIC4uLnF1ZXN0aW9uLFxufSk7XG5cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1vZGVsKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpIHtcbiAgbG9nKCdbcXVlc3Rpb25dJywgcXVlc3Rpb24pO1xuICBjb25zb2xlLmxvZygnc2Vzc2lvbicsIHNlc3Npb24pO1xuICBjb25zb2xlLmxvZygncXVlc3Rpb24nLCBxdWVzdGlvbik7XG4gIGNvbnNvbGUubG9nKCdlbnYnLCBlbnYpO1xuICBjb25zdCBub3JtYWxpemVkUXVlc3Rpb24gPSBub3JtYWxpemUocXVlc3Rpb24pO1xuICBjb25zb2xlLmxvZygnbm9ybWFsaXplZFF1ZXN0aW9uJywgbm9ybWFsaXplZFF1ZXN0aW9uKTtcblxuICBjb25zdCBmYiA9XG4gICAgZW52Lm1vZGUgPT09ICdldmFsdWF0ZScgJiYgbm9ybWFsaXplZFF1ZXN0aW9uLmZlZWRiYWNrRW5hYmxlZFxuICAgICAgPyBnZXRGZWVkYmFjayhub3JtYWxpemVkUXVlc3Rpb24uZmVlZGJhY2ssICdZb3VyIGFuc3dlciBoYXMgYmVlbiBzdWJtaXR0ZWQnKVxuICAgICAgOiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcblxuICBsZXQgdGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gIGlmIChlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InICYmIChlbnYubW9kZSA9PT0gJ3ZpZXcnIHx8IGVudi5tb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQgPyBub3JtYWxpemVkUXVlc3Rpb24udGVhY2hlckluc3RydWN0aW9ucyA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgdGVhY2hlckluc3RydWN0aW9ucyA9IG51bGw7XG4gIH1cblxuICBsZXQgZXF1YXRpb25FZGl0b3IgPSBub3JtYWxpemVkUXVlc3Rpb24uZXF1YXRpb25FZGl0b3IgfHwgJ21pc2NlbGxhbmVvdXMnO1xuXG4gIHN3aXRjaCAobm9ybWFsaXplZFF1ZXN0aW9uLmVxdWF0aW9uRWRpdG9yKSB7XG4gICAgY2FzZSAnR3JhZGUgMSAtIDInOlxuICAgICAgZXF1YXRpb25FZGl0b3IgPSAxO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnR3JhZGUgMyAtIDUnOlxuICAgICAgZXF1YXRpb25FZGl0b3IgPSAzO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnR3JhZGUgNiAtIDcnOlxuICAgICAgZXF1YXRpb25FZGl0b3IgPSA2O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnR3JhZGUgOCAtIEhTJzpcbiAgICAgIGVxdWF0aW9uRWRpdG9yID0gODtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGNvbnN0IGFubm90YXRvck1vZGUgPSBlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InIHx8IGVudi5tb2RlID09PSAnZXZhbHVhdGUnO1xuICBjb25zdCBkaXNhYmxlZEFubm90YXRvciA9IGVudi5yb2xlICE9PSAnaW5zdHJ1Y3Rvcic7XG5cbiAgcmV0dXJuIGZiLnRoZW4oZmVlZGJhY2sgPT4gKHtcbiAgICBwcm9tcHQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHRFbmFibGVkID8gbm9ybWFsaXplZFF1ZXN0aW9uLnByb21wdCA6IG51bGwsXG4gICAgZGltZW5zaW9uczogbm9ybWFsaXplZFF1ZXN0aW9uLmRpbWVuc2lvbnMsXG4gICAgY3VzdG9tS2V5czogbm9ybWFsaXplZFF1ZXN0aW9uLmN1c3RvbUtleXMgfHwgW10sXG4gICAgaWQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5pZCxcbiAgICBkaXNhYmxlZDogZW52Lm1vZGUgIT09ICdnYXRoZXInLFxuICAgIGZlZWRiYWNrLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgbWF0aElucHV0OiBub3JtYWxpemVkUXVlc3Rpb24ubWF0aElucHV0LFxuICAgIGVxdWF0aW9uRWRpdG9yLFxuICAgIGFubm90YXRvck1vZGUsXG4gICAgZGlzYWJsZWRBbm5vdGF0b3IsXG4gICAgcHJlZGVmaW5lZEFubm90YXRpb25zOiBub3JtYWxpemVkUXVlc3Rpb24ucHJlZGVmaW5lZEFubm90YXRpb25zXG4gIH0pKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG91dGNvbWUoLypxdWVzdGlvbiwgc2Vzc2lvbiwgZW52Ki8pIHtcbiAgcmV0dXJuIHtcbiAgICBzY29yZTogMCxcbiAgICBjb21wbGV0ZWQ6ICduL2EnLFxuICAgIG5vdGU6ICdSZXF1aXJlcyBtYW51YWwgc2NvcmluZydcbiAgfTtcbn1cbiJdfQ==
174
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","createDefaultModel","model","defaults","normalize","question","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","session","env","normalizedQuestion","fb","mode","feedback","Promise","resolve","undefined","teacherInstructions","role","equationEditor","then","prompt","dimensions","customKeys","disabled","mathInput","outcome","score","completed","note"],"mappings":"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","sourcesContent":["import debug from 'debug';\n\nconst log = debug('@pie-element:extended-text-entry:controller');\nimport { getFeedback } from '@pie-lib/feedback';\n\nimport defaults from './defaults';\n\nexport async function createDefaultModel(model = {}) {\n log('[createDefaultModel]', model);\n\n return {\n ...defaults,\n ...model,\n };\n}\n\nexport const normalize = question => ({\n ...defaults,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\n\nexport async function model(question, session, env) {\n log('[question]', question);\n const normalizedQuestion = normalize(question);\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted')\n : Promise.resolve(undefined);\n\n let teacherInstructions = null;\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n teacherInstructions = null;\n }\n\n let equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';\n\n switch (normalizedQuestion.equationEditor) {\n case 'Grade 1 - 2':\n equationEditor = 1;\n break;\n case 'Grade 3 - 5':\n equationEditor = 3;\n break;\n case 'Grade 6 - 7':\n equationEditor = 6;\n break;\n case 'Grade 8 - HS':\n equationEditor = 8;\n break;\n default:\n break;\n }\n\n return fb.then(feedback => ({\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n dimensions: normalizedQuestion.dimensions,\n customKeys: normalizedQuestion.customKeys || [],\n disabled: env.mode !== 'gather',\n feedback,\n teacherInstructions,\n mathInput: normalizedQuestion.mathInput,\n equationEditor\n }));\n}\n\nexport async function outcome(/*question, session, env*/) {\n return {\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n };\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","createDefaultModel","model","defaults","normalize","question","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","session","env","console","normalizedQuestion","fb","mode","feedback","Promise","resolve","undefined","teacherInstructions","role","equationEditor","annotatorMode","disabledAnnotator","then","prompt","dimensions","customKeys","id","disabled","mathInput","predefinedAnnotations","outcome","score","completed","note"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAGA;;AAEA;;;;;;AAHA,IAAMA,GAAG,GAAG,uBAAM,6CAAN,CAAZ;;SAKsBC,kB;;;;;sGAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkCC,YAAAA,KAAlC,2DAA0C,EAA1C;AACLF,YAAAA,GAAG,CAAC,sBAAD,EAAyBE,KAAzB,CAAH;AADK,6EAIAC,oBAJA,GAKAD,KALA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AASA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ;AAAA,yCAC5BF,oBAD4B;AAE/BG,IAAAA,eAAe,EAAE,IAFc;AAG/BC,IAAAA,gBAAgB,EAAE,IAHa;AAI/BC,IAAAA,aAAa,EAAE,IAJgB;AAK/BC,IAAAA,0BAA0B,EAAE,IALG;AAM/BC,IAAAA,0BAA0B,EAAE;AANG,KAO5BL,QAP4B;AAAA,CAA1B;;;;SAWeH,K;;;;;yFAAf,kBAAqBG,QAArB,EAA+BM,OAA/B,EAAwCC,GAAxC;AAAA;AAAA;AAAA;AAAA;AAAA;AACLZ,YAAAA,GAAG,CAAC,YAAD,EAAeK,QAAf,CAAH;AACAQ,YAAAA,OAAO,CAACb,GAAR,CAAY,SAAZ,EAAuBW,OAAvB;AACAE,YAAAA,OAAO,CAACb,GAAR,CAAY,UAAZ,EAAwBK,QAAxB;AACAQ,YAAAA,OAAO,CAACb,GAAR,CAAY,KAAZ,EAAmBY,GAAnB;AACME,YAAAA,kBALD,GAKsBV,SAAS,CAACC,QAAD,CAL/B;AAMLQ,YAAAA,OAAO,CAACb,GAAR,CAAY,oBAAZ,EAAkCc,kBAAlC;AAEMC,YAAAA,EARD,GASHH,GAAG,CAACI,IAAJ,KAAa,UAAb,IAA2BF,kBAAkB,CAACR,eAA9C,GACI,2BAAYQ,kBAAkB,CAACG,QAA/B,EAAyC,gCAAzC,CADJ,GAEIC,OAAO,CAACC,OAAR,CAAgBC,SAAhB,CAXD;AAaDC,YAAAA,mBAbC,GAaqB,IAbrB;;AAcL,gBAAIT,GAAG,CAACU,IAAJ,KAAa,YAAb,KAA8BV,GAAG,CAACI,IAAJ,KAAa,MAAb,IAAuBJ,GAAG,CAACI,IAAJ,KAAa,UAAlE,CAAJ,EAAmF;AACjFK,cAAAA,mBAAmB,GAAGP,kBAAkB,CAACL,0BAAnB,GAAgDK,kBAAkB,CAACO,mBAAnE,GAAyF,IAA/G;AACD,aAFD,MAEO;AACLA,cAAAA,mBAAmB,GAAG,IAAtB;AACD;;AAEGE,YAAAA,cApBC,GAoBgBT,kBAAkB,CAACS,cAAnB,IAAqC,eApBrD;AAAA,2BAsBGT,kBAAkB,CAACS,cAtBtB;AAAA,8CAuBE,aAvBF,yBA0BE,aA1BF,yBA6BE,aA7BF,yBAgCE,cAhCF;AAAA;;AAAA;AAwBDA,YAAAA,cAAc,GAAG,CAAjB;AAxBC;;AAAA;AA2BDA,YAAAA,cAAc,GAAG,CAAjB;AA3BC;;AAAA;AA8BDA,YAAAA,cAAc,GAAG,CAAjB;AA9BC;;AAAA;AAiCDA,YAAAA,cAAc,GAAG,CAAjB;AAjCC;;AAAA;AAAA;;AAAA;AAuCCC,YAAAA,aAvCD,GAuCiBZ,GAAG,CAACU,IAAJ,KAAa,YAAb,IAA6BV,GAAG,CAACI,IAAJ,KAAa,UAvC3D;AAwCCS,YAAAA,iBAxCD,GAwCqBb,GAAG,CAACU,IAAJ,KAAa,YAxClC;AAAA,8CA0CEP,EAAE,CAACW,IAAH,CAAQ,UAAAT,QAAQ;AAAA,qBAAK;AAC1BU,gBAAAA,MAAM,EAAEb,kBAAkB,CAACN,aAAnB,GAAmCM,kBAAkB,CAACa,MAAtD,GAA+D,IAD7C;AAE1BC,gBAAAA,UAAU,EAAEd,kBAAkB,CAACc,UAFL;AAG1BC,gBAAAA,UAAU,EAAEf,kBAAkB,CAACe,UAAnB,IAAiC,EAHnB;AAI1BC,gBAAAA,EAAE,EAAEhB,kBAAkB,CAACgB,EAJG;AAK1BC,gBAAAA,QAAQ,EAAEnB,GAAG,CAACI,IAAJ,KAAa,QALG;AAM1BC,gBAAAA,QAAQ,EAARA,QAN0B;AAO1BI,gBAAAA,mBAAmB,EAAnBA,mBAP0B;AAQ1BW,gBAAAA,SAAS,EAAElB,kBAAkB,CAACkB,SARJ;AAS1BT,gBAAAA,cAAc,EAAdA,cAT0B;AAU1BC,gBAAAA,aAAa,EAAbA,aAV0B;AAW1BC,gBAAAA,iBAAiB,EAAjBA,iBAX0B;AAY1BQ,gBAAAA,qBAAqB,EAAEnB,kBAAkB,CAACmB;AAZhB,eAAL;AAAA,aAAhB,CA1CF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SA0DeC,O;;;;;2FAAf;AAAA;AAAA;AAAA;AAAA;AAAA,8CACE;AACLC,cAAAA,KAAK,EAAE,CADF;AAELC,cAAAA,SAAS,EAAE,KAFN;AAGLC,cAAAA,IAAI,EAAE;AAHD,aADF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import debug from 'debug';\n\nconst log = debug('@pie-element:extended-text-entry:controller');\nimport { getFeedback } from '@pie-lib/feedback';\n\nimport defaults from './defaults';\n\nexport async function createDefaultModel(model = {}) {\n log('[createDefaultModel]', model);\n\n return {\n ...defaults,\n ...model,\n };\n}\n\nexport const normalize = question => ({\n ...defaults,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\n\nexport async function model(question, session, env) {\n log('[question]', question);\n console.log('session', session);\n console.log('question', question);\n console.log('env', env);\n const normalizedQuestion = normalize(question);\n console.log('normalizedQuestion', normalizedQuestion);\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted')\n : Promise.resolve(undefined);\n\n let teacherInstructions = null;\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n teacherInstructions = null;\n }\n\n let equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';\n\n switch (normalizedQuestion.equationEditor) {\n case 'Grade 1 - 2':\n equationEditor = 1;\n break;\n case 'Grade 3 - 5':\n equationEditor = 3;\n break;\n case 'Grade 6 - 7':\n equationEditor = 6;\n break;\n case 'Grade 8 - HS':\n equationEditor = 8;\n break;\n default:\n break;\n }\n\n const annotatorMode = env.role === 'instructor' || env.mode === 'evaluate';\n const disabledAnnotator = env.role !== 'instructor';\n\n return fb.then(feedback => ({\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n dimensions: normalizedQuestion.dimensions,\n customKeys: normalizedQuestion.customKeys || [],\n id: normalizedQuestion.id,\n disabled: env.mode !== 'gather',\n feedback,\n teacherInstructions,\n mathInput: normalizedQuestion.mathInput,\n equationEditor,\n annotatorMode,\n disabledAnnotator,\n predefinedAnnotations: normalizedQuestion.predefinedAnnotations\n }));\n}\n\nexport async function outcome(/*question, session, env*/) {\n return {\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n };\n}\n"],"file":"index.js"}
@@ -51,7 +51,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
51
51
 
52
52
  var style = {
53
53
  textContainer: {
54
- padding: '10px 16px',
54
+ padding: '10px 170px 10px 16px',
55
55
  backgroundColor: 'rgba(0, 0, 0, 0.06)',
56
56
  border: '1px solid #ccc',
57
57
  borderRadius: '4px',
@@ -86,6 +86,8 @@ var style = {
86
86
  annotation: {
87
87
  position: 'relative',
88
88
  cursor: 'pointer',
89
+ display: 'inline-block',
90
+ lineHeight: '19px',
89
91
  '&.positive': {
90
92
  backgroundColor: 'rgb(51, 255, 51, 0.5)'
91
93
  },
@@ -636,7 +638,7 @@ var AnnotationEditor = /*#__PURE__*/function (_React$Component) {
636
638
  className: classes.prompt,
637
639
  markup: comment || '',
638
640
  onChange: onCommentChange,
639
- width: width && width.toString(),
641
+ width: width && (width + 154).toString(),
640
642
  disabled: disabled,
641
643
  pluginProps: {
642
644
  math: {
@@ -699,4 +701,4 @@ var AnnotationEditor = /*#__PURE__*/function (_React$Component) {
699
701
  var _default = (0, _styles.withStyles)(style)(AnnotationEditor);
700
702
 
701
703
  exports["default"] = _default;
702
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbm5vdGF0aW9uL2Fubm90YXRpb24tZWRpdG9yLmpzeCJdLCJuYW1lcyI6WyJzdHlsZSIsInRleHRDb250YWluZXIiLCJwYWRkaW5nIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3dZIiwibGluZUhlaWdodCIsIndoaXRlU3BhY2UiLCJvdmVyZmxvd1dyYXAiLCJtYXJnaW4iLCJ1c2VyU2VsZWN0IiwibGFiZWxzQ29udGFpbmVyIiwid2lkdGgiLCJ3cmFwcGVyIiwicG9zaXRpb24iLCJvdmVyZmxvd1giLCJkaXNwbGF5IiwiY29tbWVudENvbnRhaW5lciIsInBhZGRpbmdUb3AiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5Ub3AiLCJhbm5vdGF0aW9uIiwiY3Vyc29yIiwiYW5ub3RhdGlvbkxhYmVsIiwidG9wIiwibGVmdCIsImZvbnRTaXplIiwiZm9udFN0eWxlIiwiZm9udFdlaWdodCIsImNvbG9yIiwibGFiZWxIb3ZlciIsInpJbmRleCIsImhpZ2hsaWdodCIsImhvdmVyIiwic2lkZUFubm90YXRpb25Ib3ZlciIsImJvcmRlclJpZ2h0Q29sb3IiLCJzaWRlQW5ub3RhdGlvbiIsIm1hcmdpbkxlZnQiLCJ3b3JkQnJlYWsiLCJyaWdodCIsImNvbnRlbnQiLCJoZWlnaHQiLCJwb2ludGVyRXZlbnRzIiwiYm9yZGVyV2lkdGgiLCJBbm5vdGF0aW9uRWRpdG9yIiwicHJvcHMiLCJ0ZXh0UmVmIiwibGFiZWxzUmVmIiwib2Zmc2V0TGVmdCIsIm9mZnNldFdpZHRoIiwiQXJyYXkiLCJmcm9tIiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwibGFiZWwiLCJzcGFucyIsImRhdGFzZXQiLCJhbm5JZCIsInNwYW5PZmZzZXQiLCJvZmZzZXRUb3AiLCJvZmZzZXRQYXJlbnQiLCJzY3JvbGxUb3AiLCJldmVudCIsImFubm90YXRpb25zIiwiY2xhc3NlcyIsInNlbGVjdGlvbkRldGFpbHMiLCJzdGF0ZSIsInRhcmdldCIsImlkIiwiYW5ub3RhdGlvbklkIiwic2VsZWN0ZWRFbGVtcyIsImxhYmVsRWxlbSIsImFubm90YXRpb25JbmRleCIsImZpbmRJbmRleCIsImlzU2lkZUxhYmVsIiwiaGFzQXR0cmlidXRlIiwiY2xhc3NMaXN0IiwiYWRkIiwic2V0U3RhdGUiLCJhbmNob3JFbCIsIm9wZW5lZE1lbnUiLCJvcGVuZWRFZGl0b3IiLCJlbGVtIiwicmVtb3ZlIiwibGVuZ3RoIiwic2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwiZGV0YWlsIiwicmFuZ2VDb3VudCIsInNlbGVjdGVkUmFuZ2UiLCJnZXRSYW5nZUF0Iiwic2VsZWN0ZWRUZXh0IiwidG9TdHJpbmciLCJpc1NlbGVjdGlvbkluc2lkZSIsImNvbnRhaW5zIiwiY29tbW9uQW5jZXN0b3JDb250YWluZXIiLCJpc0NvbGxhcHNlZCIsIm9uQ2hhbmdlIiwicGFyZW50UmVmIiwicmVtb3ZlQ2hpbGQiLCJzcGxpY2UiLCJoYW5kbGVDbG9zZSIsImVsZW1zIiwiZGlzYWJsZWQiLCJ0eXBlIiwiY2xhc3NOYW1lIiwib25jbGljayIsImhhbmRsZUNsaWNrIiwib25tb3VzZW92ZXIiLCJoYW5kbGVIb3ZlciIsIm9ubW91c2VvdXQiLCJoYW5kbGVDYW5jZWxIb3ZlciIsImZpcnN0U3BhbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsImZyZWVmb3JtIiwiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJmaXJzdENoaWxkIiwic3RhcnQiLCJlbmQiLCJEYXRlIiwiZ2V0VGltZSIsImpvaW4iLCJjcmVhdGVET01Bbm5vdGF0aW9uIiwibmV3QW5ub3RhdGlvbiIsInRleHQiLCJ1cGRhdGVkQW5ub3RhdGlvbiIsIm9sZFR5cGUiLCJvbGRMYWJlbCIsInVwZGF0ZUxhYmVsIiwiY3JlYXRlTmV3QW5ub3RhdGlvbiIsInB1c2giLCJuZXdMYWJlbCIsInNwYW4iLCJkb21TdGFydCIsImRvbUVuZCIsInJhbmdlIiwiY3JlYXRlUmFuZ2UiLCJzZXRTdGFydCIsIm5vZGUiLCJvZmZzZXQiLCJzZXRFbmQiLCJhZGp1c3RBbm5vdGF0aW9uc1Bvc2l0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb21tZW50IiwiY3VzdG9tS2V5cyIsImRpc2FibGVkTWF0aCIsImtleXBhZE1vZGUiLCJtYXhIZWlnaHQiLCJvbkNvbW1lbnRDaGFuZ2UiLCJwcmVkZWZpbmVkQW5ub3RhdGlvbnMiLCJhbmNob3JPZmZzZXQiLCJ0b3BPZmZzZXQiLCJtaW5IZWlnaHQiLCJyIiwiY2xlYXJTZWxlY3Rpb24iLCJoYW5kbGVTZWxlY3Rpb24iLCJfX2h0bWwiLCJwcm9tcHQiLCJtYXRoIiwiY29udHJvbGxlZEtleXBhZE1vZGUiLCJ2aWRlbyIsImF1ZGlvIiwiZGVsZXRlQW5ub3RhdGlvbiIsImVkaXRBbm5vdGF0aW9uIiwiYWRkQW5ub3RhdGlvbiIsImhhbmRsZU1lbnVDbGljayIsInVwZGF0ZUFubm90YXRpb24iLCJjaGFuZ2VBbm5vdGF0aW9uVHlwZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYXJyYXkiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm51bWJlciIsImJvb2wiLCJvYmplY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEtBQUssR0FBRztBQUNaQyxFQUFBQSxhQUFhLEVBQUU7QUFDYkMsSUFBQUEsT0FBTyxFQUFFLFdBREk7QUFFYkMsSUFBQUEsZUFBZSxFQUFFLHFCQUZKO0FBR2JDLElBQUFBLE1BQU0sRUFBRSxnQkFISztBQUliQyxJQUFBQSxZQUFZLEVBQUUsS0FKRDtBQUtiQyxJQUFBQSxTQUFTLEVBQUUsUUFMRTtBQU1iQyxJQUFBQSxVQUFVLEVBQUUsTUFOQztBQU9iQyxJQUFBQSxVQUFVLEVBQUUsVUFQQztBQVFiQyxJ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dGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge1xuICBjbGVhclNlbGVjdGlvbixcbiAgaXNTaWRlTGFiZWwsXG4gIGdldEFubm90YXRpb25FbGVtZW50cyxcbiAgZ2V0RE9NTm9kZXMsXG4gIGdldExhYmVsRWxlbWVudCxcbiAgZ2V0UmFuZ2VEZXRhaWxzLFxuICByZW1vdmVFbGVtc1dyYXBwaW5nLFxuICB3cmFwUmFuZ2Vcbn0gZnJvbSAnLi9hbm5vdGF0aW9uLXV0aWxzJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5pbXBvcnQgeyBJbnB1dENvbnRhaW5lciB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgRnJlZWZvcm1FZGl0b3IgZnJvbSAnLi9mcmVlZm9ybS1lZGl0b3InO1xuaW1wb3J0IEFubm90YXRpb25NZW51IGZyb20gJy4vYW5ub3RhdGlvbi1tZW51JztcblxuY29uc3Qgc3R5bGUgPSB7XG4gIHRleHRDb250YWluZXI6IHtcbiAgICBwYWRkaW5nOiAnMTBweCAxNnB4JyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIDAuMDYpJyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgI2NjYycsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBvdmVyZmxvd1k6ICdzY3JvbGwnLFxuICAgIGxpbmVIZWlnaHQ6ICczNnB4JyxcbiAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICAgIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICAgICcmIHAnOiB7XG4gICAgICBtYXJnaW46IDBcbiAgICB9LFxuICAgICcmIHNwYW5bZGF0YS1sYXRleF0nOiB7XG4gICAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gICAgICAnLXdlYmtpdC11c2VyLXNlbGVjdCc6ICdub25lJyxcbiAgICAgICctbW96LXVzZXItc2VsZWN0JzogJ25vbmUnLFxuICAgICAgJy1tcy11c2VyLXNlbGVjdCc6ICdub25lJ1xuICAgIH1cbiAgfSxcbiAgbGFiZWxzQ29udGFpbmVyOiB7XG4gICAgd2lkdGg6ICcyMzBweCdcbiAgfSxcbiAgd3JhcHBlcjoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXG4gICAgZGlzcGxheTogJ2ZsZXgnXG4gIH0sXG4gIGNvbW1lbnRDb250YWluZXI6IHtcbiAgICBwYWRkaW5nVG9wOiAxNixcbiAgICBtYXJnaW5Cb3R0b206IDE2LFxuICAgIG1hcmdpblRvcDogMTYsXG4gICAgd2lkdGg6ICcxMDAlJ1xuICB9LFxuICBhbm5vdGF0aW9uOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG5cbiAgICAnJi5wb3NpdGl2ZSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYig1MSwgMjU1LCA1MSwgMC41KScsXG4gICAgfSxcblxuICAgICcmLm5lZ2F0aXZlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTUsIDEwMiwgMjA0LCAwLjQpJyxcbiAgICB9XG4gIH0sXG4gIGFubm90YXRpb25MYWJlbDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYigyNDIsIDI0MiwgMjQyKScsXG4gICAgcGFkZGluZzogJzJweCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIHRvcDogJy0xMHB4JyxcbiAgICBsZWZ0OiAnLTJweCcsXG4gICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICBmb250U3R5bGU6ICdub3JtYWwnLFxuICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuICAgIGxpbmVIZWlnaHQ6ICc2cHgnLFxuICAgICctd2Via2l0LXVzZXItc2VsZWN0JzogJ25vbmUnLFxuICAgICctbW96LXVzZXItc2VsZWN0JzogJ25vbmUnLFxuICAgICctbXMtdXNlci1zZWxlY3QnOiAnbm9uZScsXG5cbiAgICAnJi5wb3NpdGl2ZSc6IHtcbiAgICAgIGNvbG9yOiAncmdiKDAsIDEyOCwgMCknLFxuICAgIH0sXG5cbiAgICAnJi5uZWdhdGl2ZSc6IHtcbiAgICAgIGNvbG9yOiAncmdiKDIwNCwgMCwgMTM2KScsXG4gICAgfVxuICB9LFxuICBsYWJlbEhvdmVyOiB7XG4gICAgekluZGV4OiAyMCxcblxuICAgICcmLnBvc2l0aXZlJzoge1xuICAgICAgY29sb3I6ICdyZ2IoMCwgNzcsIDApJyxcbiAgICB9LFxuXG4gICAgJyYubmVnYXRpdmUnOiB7XG4gICAgICBjb2xvcjogJ3JnYigxNTMsIDAsIDEwMiknLFxuICAgIH1cbiAgfSxcbiAgaGlnaGxpZ2h0OiB7XG4gICAgekluZGV4OiAxMFxuICB9LFxuICBob3Zlcjoge1xuICAgIHpJbmRleDogMjAsXG5cbiAgICAnJi5wb3NpdGl2ZSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYig1MSwgMjU1LCA1MSwgMC43KScsXG4gICAgfSxcblxuICAgICcmLm5lZ2F0aXZlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTUsIDEwMiwgMjA0LCAwLjU1KScsXG4gICAgfVxuICB9LFxuICBzaWRlQW5ub3RhdGlvbkhvdmVyOiB7XG4gICAgekluZGV4OiAyMCxcblxuICAgICcmLm5lZ2F0aXZlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiKDI1NSwgMTc5LCAyMzApICFpbXBvcnRhbnQnLFxuICAgICAgJyY6YmVmb3JlJzoge1xuICAgICAgICBib3JkZXJSaWdodENvbG9yOiAncmdiKDI1NSwgMTc5LCAyMzApICFpbXBvcnRhbnQnXG4gICAgICB9XG4gICAgfSxcblxuICAgICcmLnBvc2l0aXZlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiKDEyOCwgMjU1LCAxMjgpICFpbXBvcnRhbnQnLFxuICAgICAgJyY6YmVmb3JlJzoge1xuICAgICAgICBib3JkZXJSaWdodENvbG9yOiAncmdiKDE1MywgMjU1LCAxNTMpICFpbXBvcnRhbnQnXG4gICAgICB9XG4gICAgfVxuICB9LFxuICBzaWRlQW5ub3RhdGlvbjoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHBhZGRpbmc6ICc0cHgnLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgbWFyZ2luTGVmdDogJzhweCcsXG4gICAgd2lkdGg6ICcxODBweCcsXG4gICAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbiAgICBib3JkZXI6ICcycHggc29saWQgI2ZmZmZmZicsXG4gICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICBmb250U3R5bGU6ICdub3JtYWwnLFxuICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuXG4gICAgJyY6YmVmb3JlJzoge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICByaWdodDogJzEwMCUnLFxuICAgICAgdG9wOiAnNXB4JyxcbiAgICAgIGJvcmRlcjogJ3NvbGlkIHRyYW5zcGFyZW50JyxcbiAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgIGhlaWdodDogMCxcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgYm9yZGVyV2lkdGg6ICc3cHgnLFxuICAgIH0sXG5cbiAgICAnJi5uZWdhdGl2ZSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYigyNTUsIDIwNCwgMjM4KScsXG4gICAgICAnJjpiZWZvcmUnOiB7XG4gICAgICAgIGJvcmRlclJpZ2h0Q29sb3I6ICdyZ2IoMjU1LCAyMDQsIDIzOCknXG4gICAgICB9XG4gICAgfSxcblxuICAgICcmLnBvc2l0aXZlJzoge1xuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiKDE1MywgMjU1LCAxNTMpJyxcbiAgICAgICcmOmJlZm9yZSc6IHtcbiAgICAgICAgYm9yZGVyUmlnaHRDb2xvcjogJ3JnYigxNTMsIDI1NSwgMTUzKSdcbiAgICAgIH1cbiAgICB9XG4gIH0sXG59O1xuXG5jbGFzcyBBbm5vdGF0aW9uRWRpdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbW1lbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYW5ub3RhdGlvbnM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBwcmVkZWZpbmVkQW5ub3RhdGlvbnM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNvbW1lbnRDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIG1heEhlaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzYWJsZWRNYXRoOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjdXN0b21LZXlzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAga2V5cGFkTW9kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGFuY2hvckVsOiBudWxsLFxuICAgICAgb3BlbmVkTWVudTogZmFsc2UsXG4gICAgICBvcGVuZWRFZGl0b3I6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWRFbGVtczogW10sXG4gICAgICBsYWJlbEVsZW06IG51bGwsXG4gICAgICBzZWxlY3Rpb25EZXRhaWxzOiBudWxsLFxuICAgICAgYW5ub3RhdGlvbjogbnVsbCxcbiAgICAgIGFubm90YXRpb25JbmRleDogbnVsbFxuICAgIH07XG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBhbm5vdGF0aW9ucywgdGV4dCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0ZXh0KSB7XG4gICAgICBhbm5vdGF0aW9ucy5mb3JFYWNoKGFubm90YXRpb24gPT4ge1xuICAgICAgICBjb25zdCBbIGRvbVN0YXJ0LCBkb21FbmQgXSA9IGdldERPTU5vZGVzKGFubm90YXRpb24uc3RhcnQsIGFubm90YXRpb24uZW5kLCB0aGlzLnRleHRSZWYpO1xuXG4gICAgICAgIGlmIChkb21TdGFydCAmJiBkb21FbmQpIHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG5cbiAgICAgICAgICByYW5nZS5zZXRTdGFydChkb21TdGFydC5ub2RlLCBkb21TdGFydC5vZmZzZXQpO1xuICAgICAgICAgIHJhbmdlLnNldEVuZChkb21FbmQubm9kZSwgZG9tRW5kLm9mZnNldCk7XG5cbiAgICAgICAgICBjb25zdCBzcGFucyA9IHdyYXBSYW5nZShyYW5nZSk7XG5cbiAgICAgICAgICB0aGlzLmNyZWF0ZURPTUFubm90YXRpb24oc3BhbnMsIGFubm90YXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXh0UmVmKSB7XG4gICAgICB0aGlzLmFkanVzdEFubm90YXRpb25zUG9zaXRpb24oKTtcbiAgICAgIHRoaXMudGV4dFJlZi5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmFkanVzdEFubm90YXRpb25zUG9zaXRpb24pO1xuICAgIH1cbiAgfTtcblxuICBhZGp1c3RBbm5vdGF0aW9uc1Bvc2l0aW9uID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnRleHRSZWYgJiYgdGhpcy5sYWJlbHNSZWYpIHtcbiAgICAgIGNvbnN0IGxlZnQgPSB0aGlzLnRleHRSZWYub2Zmc2V0TGVmdCArIHRoaXMudGV4dFJlZi5vZmZzZXRXaWR0aCArIDg7XG5cbiAgICAgIEFycmF5LmZyb20odGhpcy5sYWJlbHNSZWYuY2hpbGRyZW4pLmZvckVhY2gobGFiZWwgPT4ge1xuICAgICAgICBjb25zdCBzcGFucyA9IGdldEFubm90YXRpb25FbGVtZW50cyhsYWJlbC5kYXRhc2V0LmFubklkKTtcbiAgICAgICAgY29uc3Qgc3Bhbk9mZnNldCA9IHNwYW5zWzBdLm9mZnNldFRvcCA/IHNwYW5zWzBdLm9mZnNldFRvcCA6IHNwYW5zWzBdLm9mZnNldFBhcmVudC5vZmZzZXRUb3A7XG4gICAgICAgIGNvbnN0IHRvcCA9IHNwYW5PZmZzZXQgLSB0aGlzLnRleHRSZWYuc2Nyb2xsVG9wIC0gNjtcblxuICAgICAgICBsYWJlbC5zdHlsZS50b3AgPSBgJHt0b3B9cHhgO1xuICAgICAgICBsYWJlbC5zdHlsZS5sZWZ0ID0gYCR7bGVmdH1weGA7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlQ2xpY2sgPSBldmVudCA9PiB7XG4gICAgY29uc3QgeyBhbm5vdGF0aW9ucywgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNlbGVjdGlvbkRldGFpbHMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAoc2VsZWN0aW9uRGV0YWlscykge1xuICAgICAgLy8gbmV3IHNlbGVjdGlvbiB3YXMgbWFkZSBpbnNpZGUgYW5vdGhlciBhbm5vdGF0aW9uIGFuZCBzaG91bGQgbm90IHVwZGF0ZSB0aGF0IGFubm90YXRpb25cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGlkLCBhbm5JZCB9ID0gZXZlbnQudGFyZ2V0LmRhdGFzZXQ7XG4gICAgY29uc3QgYW5ub3RhdGlvbklkID0gaWQgfHwgYW5uSWQ7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtcyA9IGdldEFubm90YXRpb25FbGVtZW50cyhhbm5vdGF0aW9uSWQpO1xuICAgIGNvbnN0IGxhYmVsRWxlbSA9IGdldExhYmVsRWxlbWVudChhbm5vdGF0aW9uSWQpXG4gICAgY29uc3QgYW5ub3RhdGlvbkluZGV4ID0gYW5ub3RhdGlvbnMuZmluZEluZGV4KGFubm90YXRpb24gPT4gYW5ub3RhdGlvbi5pZCA9PT0gYW5ub3RhdGlvbklkKTtcbiAgICBjb25zdCBpc1NpZGVMYWJlbCA9IGxhYmVsRWxlbS5oYXNBdHRyaWJ1dGUoJ2RhdGEtZnJlZWZvcm0nKTtcblxuICAgIGlmIChpc1NpZGVMYWJlbCkge1xuICAgICAgbGFiZWxFbGVtLmNsYXNzTGlzdC5hZGQoY2xhc3Nlcy5oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYW5jaG9yRWw6IHNlbGVjdGVkRWxlbXNbMF0sXG4gICAgICBvcGVuZWRNZW51OiAhIWlkIHx8ICEhYW5uSWQgJiYgIWlzU2lkZUxhYmVsLCAvLyB0cnVlIGlmIHRoZSBhbm5vdGF0aW9uIG9yIHRoZSBsYWJlbCB3YXMgY2xpY2tlZFxuICAgICAgb3BlbmVkRWRpdG9yOiAhIWFubklkICYmIGlzU2lkZUxhYmVsLCAvLyB0cnVlIGlmIHRoZSBzaWRlIGxhYmVsIHdhcyBjbGlja2VkXG4gICAgICBzZWxlY3RlZEVsZW1zLFxuICAgICAgbGFiZWxFbGVtLFxuICAgICAgYW5ub3RhdGlvbkluZGV4LFxuICAgICAgYW5ub3RhdGlvbjogYW5ub3RhdGlvbnNbYW5ub3RhdGlvbkluZGV4XSxcbiAgICAgIHNlbGVjdGlvbkRldGFpbHM6IG51bGxcbiAgICB9KTtcbiAgfTtcblxuICBoYW5kbGVIb3ZlciA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCB7IGNsYXNzZXMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpZCwgYW5uSWQgfSA9IGV2ZW50LnRhcmdldC5kYXRhc2V0O1xuICAgIGNvbnN0IGFubm90YXRpb25JZCA9IGlkIHx8IGFubklkO1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbXMgPSBnZXRBbm5vdGF0aW9uRWxlbWVudHMoYW5ub3RhdGlvbklkKTtcbiAgICBjb25zdCBsYWJlbEVsZW0gPSBnZXRMYWJlbEVsZW1lbnQoYW5ub3RhdGlvbklkKTtcbiAgICBjb25zdCBpc1NpZGVMYWJlbCA9IGxhYmVsRWxlbS5oYXNBdHRyaWJ1dGUoJ2RhdGEtZnJlZWZvcm0nKTtcblxuICAgIHNlbGVjdGVkRWxlbXMuZm9yRWFjaChlbGVtID0+IGVsZW0uY2xhc3NMaXN0LmFkZChjbGFzc2VzLmhvdmVyKSk7XG4gICAgbGFiZWxFbGVtLmNsYXNzTGlzdC5hZGQoaXNTaWRlTGFiZWwgPyBjbGFzc2VzLnNpZGVBbm5vdGF0aW9uSG92ZXIgOiBjbGFzc2VzLmxhYmVsSG92ZXIpO1xuICB9O1xuXG4gIGhhbmRsZUNhbmNlbEhvdmVyID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlkLCBhbm5JZCB9ID0gZXZlbnQudGFyZ2V0LmRhdGFzZXQ7XG4gICAgY29uc3QgYW5ub3RhdGlvbklkID0gaWQgfHwgYW5uSWQ7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtcyA9IGdldEFubm90YXRpb25FbGVtZW50cyhhbm5vdGF0aW9uSWQpO1xuICAgIGNvbnN0IGxhYmVsRWxlbSA9IGdldExhYmVsRWxlbWVudChhbm5vdGF0aW9uSWQpO1xuICAgIGNvbnN0IGlzU2lkZUxhYmVsID0gbGFiZWxFbGVtLmhhc0F0dHJpYnV0ZSgnZGF0YS1mcmVlZm9ybScpO1xuXG4gICAgc2VsZWN0ZWRFbGVtcy5mb3JFYWNoKGVsZW0gPT4gZWxlbS5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzZXMuaG92ZXIpKTtcbiAgICBsYWJlbEVsZW0uY2xhc3NMaXN0LnJlbW92ZShpc1NpZGVMYWJlbCA/IGNsYXNzZXMuc2lkZUFubm90YXRpb25Ib3ZlciA6IGNsYXNzZXMubGFiZWxIb3Zlcik7XG4gIH07XG5cbiAgaGFuZGxlQ2xvc2UgPSBldmVudCA9PiB7XG4gICAgY29uc3QgeyBjbGFzc2VzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2VsZWN0ZWRFbGVtcywgbGFiZWxFbGVtIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgaWYgKHNlbGVjdGVkRWxlbXMubGVuZ3RoICYmICFzZWxlY3RlZEVsZW1zWzBdLmhhc0F0dHJpYnV0ZSgnZGF0YS1pZCcpKSB7XG4gICAgICByZW1vdmVFbGVtc1dyYXBwaW5nKHNlbGVjdGVkRWxlbXMsIHRoaXMudGV4dFJlZik7XG4gICAgfVxuXG4gICAgaWYgKGxhYmVsRWxlbSkge1xuICAgICAgbGFiZWxFbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3Nlcy5oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYW5jaG9yRWw6IG51bGwsXG4gICAgICBvcGVuZWRNZW51OiBmYWxzZSxcbiAgICAgIG9wZW5lZEVkaXRvcjogZmFsc2UsXG4gICAgICBzZWxlY3RlZEVsZW1zOiBbXSxcbiAgICAgIGxhYmVsRWxlbTogbnVsbCxcbiAgICAgIHNlbGVjdGlvbkRldGFpbHM6IG51bGwsXG4gICAgICBhbm5vdGF0aW9uSW5kZXg6IG51bGwsXG4gICAgICBhbm5vdGF0aW9uOiBudWxsXG4gICAgfSk7XG5cbiAgICBjbGVhclNlbGVjdGlvbigpO1xuICB9O1xuXG4gIGhhbmRsZVNlbGVjdGlvbiA9IGV2ZW50ID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICAvLyBwcmV2ZW50IHVud2FudGVkIHNlbGVjdGlvbnNcbiAgICBpZiAoZXZlbnQuZGV0YWlsID4gMikge1xuICAgICAgY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRUZXh0ID0gc2VsZWN0ZWRSYW5nZS50b1N0cmluZygpO1xuICAgICAgY29uc3QgaXNTZWxlY3Rpb25JbnNpZGUgPSB0aGlzLnRleHRSZWYuY29udGFpbnMoc2VsZWN0ZWRSYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG5cbiAgICAgIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkICYmIHNlbGVjdGVkVGV4dCAhPT0gJycgJiYgaXNTZWxlY3Rpb25JbnNpZGUpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uRGV0YWlscyA9IGdldFJhbmdlRGV0YWlscyhzZWxlY3RlZFJhbmdlLCB0aGlzLnRleHRSZWYpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1zID0gd3JhcFJhbmdlKHNlbGVjdGVkUmFuZ2UpO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGFuY2hvckVsOiBzZWxlY3RlZEVsZW1zWzBdLFxuICAgICAgICAgIG9wZW5lZE1lbnU6IHRydWUsXG4gICAgICAgICAgc2VsZWN0ZWRFbGVtcyxcbiAgICAgICAgICBzZWxlY3Rpb25EZXRhaWxzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBkZWxldGVBbm5vdGF0aW9uID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYW5ub3RhdGlvbnMsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2VsZWN0ZWRFbGVtcywgbGFiZWxFbGVtLCBhbm5vdGF0aW9uSW5kZXgsIGFubm90YXRpb24gfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgcGFyZW50UmVmID0gaXNTaWRlTGFiZWwoYW5ub3RhdGlvbi5sYWJlbCkgPyB0aGlzLmxhYmVsc1JlZiA6IHNlbGVjdGVkRWxlbXNbMF07XG5cbiAgICBwYXJlbnRSZWYucmVtb3ZlQ2hpbGQobGFiZWxFbGVtKTtcbiAgICByZW1vdmVFbGVtc1dyYXBwaW5nKHNlbGVjdGVkRWxlbXMsIHRoaXMudGV4dFJlZik7XG4gICAgYW5ub3RhdGlvbnMuc3BsaWNlKGFubm90YXRpb25JbmRleCwgMSk7XG5cbiAgICBvbkNoYW5nZShhbm5vdGF0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICB9O1xuXG4gIGNyZWF0ZURPTUFubm90YXRpb24gPSAoZWxlbXMsIGFubm90YXRpb24pID0+IHtcbiAgICBjb25zdCB7IGNsYXNzZXMsIGRpc2FibGVkIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaWQsIGxhYmVsLCB0eXBlIH0gPSBhbm5vdGF0aW9uO1xuXG4gICAgKGVsZW1zIHx8IFtdKS5mb3JFYWNoKGVsZW0gPT4ge1xuICAgICAgZWxlbS5kYXRhc2V0LmlkID0gaWQ7XG4gICAgICBlbGVtLmNsYXNzTmFtZSA9IGNsYXNzTmFtZXMoY2xhc3Nlcy5hbm5vdGF0aW9uLCB0eXBlKTtcbiAgICAgIGVsZW0ub25jbGljayA9ICFkaXNhYmxlZCAmJiB0aGlzLmhhbmRsZUNsaWNrO1xuICAgICAgZWxlbS5vbm1vdXNlb3ZlciA9IHRoaXMuaGFuZGxlSG92ZXI7XG4gICAgICBlbGVtLm9ubW91c2VvdXQgPSB0aGlzLmhhbmRsZUNhbmNlbEhvdmVyO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZmlyc3RTcGFuID0gZWxlbXMgJiYgZWxlbXNbMF0gfHwge307XG4gICAgY29uc3QgbGFiZWxFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnU1BBTicpO1xuXG4gICAgbGFiZWxFbGVtLmRhdGFzZXQuYW5uSWQgPSBpZDtcbiAgICBsYWJlbEVsZW0uaW5uZXJIVE1MID0gbGFiZWw7XG4gICAgbGFiZWxFbGVtLm9uY2xpY2sgPSAhZGlzYWJsZWQgJiYgdGhpcy5oYW5kbGVDbGljaztcbiAgICBsYWJlbEVsZW0ub25tb3VzZW92ZXIgPSB0aGlzLmhhbmRsZUhvdmVyO1xuICAgIGxhYmVsRWxlbS5vbm1vdXNlb3V0ID0gdGhpcy5oYW5kbGVDYW5jZWxIb3ZlcjtcblxuICAgIGlmIChpc1NpZGVMYWJlbChsYWJlbCkpIHtcbiAgICAgIGNvbnN0IHNwYW5PZmZzZXQgPSBmaXJzdFNwYW4ub2Zmc2V0VG9wID8gZmlyc3RTcGFuLm9mZnNldFRvcCA6IGZpcnN0U3Bhbi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3QgdG9wID0gc3Bhbk9mZnNldCAtIHRoaXMudGV4dFJlZi5zY3JvbGxUb3A7XG4gICAgICBjb25zdCBsZWZ0ID0gdGhpcy50ZXh0UmVmLm9mZnNldExlZnQgKyB0aGlzLnRleHRSZWYub2Zmc2V0V2lkdGggKyA4O1xuXG4gICAgICBsYWJlbEVsZW0uZGF0YXNldC5mcmVlZm9ybSA9IHRydWU7XG4gICAgICBsYWJlbEVsZW0uY2xhc3NOYW1lID0gY2xhc3NOYW1lcyhjbGFzc2VzLnNpZGVBbm5vdGF0aW9uLCB0eXBlKTtcbiAgICAgIGxhYmVsRWxlbS5zdHlsZS50b3AgPSBgJHt0b3B9cHhgO1xuICAgICAgbGFiZWxFbGVtLnN0eWxlLmxlZnQgPSBgJHtsZWZ0fXB4YDtcblxuICAgICAgdGhpcy5sYWJlbHNSZWYuYXBwZW5kQ2hpbGQobGFiZWxFbGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFiZWxFbGVtLmNsYXNzTmFtZSA9IGNsYXNzTmFtZXMoY2xhc3Nlcy5hbm5vdGF0aW9uTGFiZWwsIHR5cGUpO1xuICAgICAgZmlyc3RTcGFuLmluc2VydEJlZm9yZShsYWJlbEVsZW0sIGZpcnN0U3Bhbi5maXJzdENoaWxkKTtcbiAgICB9XG4gIH07XG5cbiAgY3JlYXRlTmV3QW5ub3RhdGlvbiA9IChsYWJlbCwgdHlwZSkgPT4ge1xuICAgIGNvbnN0IHsgc2VsZWN0ZWRFbGVtcywgc2VsZWN0aW9uRGV0YWlscyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBhbm5vdGF0aW9uID0ge1xuICAgICAgaWQ6IFtzZWxlY3Rpb25EZXRhaWxzLnN0YXJ0LCBzZWxlY3Rpb25EZXRhaWxzLmVuZCwgbmV3IERhdGUoKS5nZXRUaW1lKCldLmpvaW4oJy0nKSxcbiAgICAgIGxhYmVsLFxuICAgICAgdHlwZSxcbiAgICAgIC4uLnNlbGVjdGlvbkRldGFpbHNcbiAgICB9O1xuXG4gICAgdGhpcy5jcmVhdGVET01Bbm5vdGF0aW9uKHNlbGVjdGVkRWxlbXMsIGFubm90YXRpb24pO1xuXG4gICAgcmV0dXJuIGFubm90YXRpb247XG4gIH07XG5cbiAgaGFuZGxlTWVudUNsaWNrID0gbmV3QW5ub3RhdGlvbiA9PiB7XG4gICAgY29uc3QgeyBhbm5vdGF0aW9ucywgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBhbm5vdGF0aW9uLCBhbm5vdGF0aW9uSW5kZXggfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyB0eXBlLCB0ZXh0OiBsYWJlbCB9ID0gbmV3QW5ub3RhdGlvbjtcblxuICAgIGlmIChhbm5vdGF0aW9uKSB7XG4gICAgICBjb25zdCB1cGRhdGVkQW5ub3RhdGlvbiA9IHsgLi4uYW5ub3RhdGlvbiwgbGFiZWwsIHR5cGUgfTtcbiAgICAgIGNvbnN0IHsgdHlwZTogb2xkVHlwZSwgbGFiZWw6IG9sZExhYmVsIH0gPSBhbm5vdGF0aW9uO1xuXG4gICAgICB0aGlzLnVwZGF0ZUxhYmVsKG9sZExhYmVsLCB1cGRhdGVkQW5ub3RhdGlvbiwgdHlwZSAhPT0gb2xkVHlwZSAmJiBvbGRUeXBlKTtcbiAgICAgIGFubm90YXRpb25zLnNwbGljZShhbm5vdGF0aW9uSW5kZXgsIDEsIHVwZGF0ZWRBbm5vdGF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV3QW5ub3RhdGlvbiA9IHRoaXMuY3JlYXRlTmV3QW5ub3RhdGlvbihsYWJlbCwgdHlwZSk7XG5cbiAgICAgIGFubm90YXRpb25zLnB1c2gobmV3QW5ub3RhdGlvbik7XG4gICAgfVxuXG4gICAgb25DaGFuZ2UoYW5ub3RhdGlvbnMpO1xuICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgfTtcblxuICBlZGl0QW5ub3RhdGlvbiA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG9wZW5lZE1lbnU6IGZhbHNlLFxuICAgICAgb3BlbmVkRWRpdG9yOiB0cnVlXG4gICAgfSk7XG4gIH07XG5cbiAgYWRkQW5ub3RhdGlvbiA9IHR5cGUgPT4ge1xuICAgIGNvbnN0IHsgYW5ub3RhdGlvbnMsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGFubm90YXRpb24gPSB0aGlzLmNyZWF0ZU5ld0Fubm90YXRpb24oJycsIHR5cGUpO1xuICAgIGNvbnN0IGxhYmVsRWxlbSA9IGdldExhYmVsRWxlbWVudChhbm5vdGF0aW9uLmlkKTtcblxuICAgIGFubm90YXRpb25zLnB1c2goYW5ub3RhdGlvbik7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG9wZW5lZE1lbnU6IGZhbHNlLFxuICAgICAgb3BlbmVkRWRpdG9yOiB0cnVlLFxuICAgICAgYW5ub3RhdGlvbkluZGV4OiBhbm5vdGF0aW9ucy5sZW5ndGggLSAxLFxuICAgICAgYW5ub3RhdGlvbixcbiAgICAgIGxhYmVsRWxlbVxuICAgIH0pO1xuXG4gICAgb25DaGFuZ2UoYW5ub3RhdGlvbnMpO1xuICB9O1xuXG4gIHVwZGF0ZUxhYmVsID0gKG9sZExhYmVsLCBhbm5vdGF0aW9uLCBvbGRUeXBlKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3RlZEVsZW1zLCBsYWJlbEVsZW0gfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBsYWJlbCwgdHlwZSB9ID0gYW5ub3RhdGlvbjtcblxuICAgIGlmIChpc1NpZGVMYWJlbChsYWJlbCkgJiYgaXNTaWRlTGFiZWwob2xkTGFiZWwpIHx8ICFpc1NpZGVMYWJlbChsYWJlbCkgJiYgIWlzU2lkZUxhYmVsKG9sZExhYmVsKSkge1xuICAgICAgbGFiZWxFbGVtLmlubmVySFRNTCA9IGxhYmVsO1xuXG4gICAgICBpZiAob2xkVHlwZSkge1xuICAgICAgICBsYWJlbEVsZW0uY2xhc3NMaXN0LnJlbW92ZShvbGRUeXBlKTtcbiAgICAgICAgbGFiZWxFbGVtLmNsYXNzTGlzdC5hZGQodHlwZSk7XG5cbiAgICAgICAgc2VsZWN0ZWRFbGVtcy5mb3JFYWNoKGVsZW0gPT4ge1xuICAgICAgICAgIGVsZW0uY2xhc3NMaXN0LnJlbW92ZShvbGRUeXBlKTtcbiAgICAgICAgICBlbGVtLmNsYXNzTGlzdC5hZGQodHlwZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNTaWRlTGFiZWwobGFiZWwpICYmICFpc1NpZGVMYWJlbChvbGRMYWJlbCkpIHtcbiAgICAgIHNlbGVjdGVkRWxlbXNbMF0ucmVtb3ZlQ2hpbGQobGFiZWxFbGVtKTtcbiAgICAgIHRoaXMuY3JlYXRlRE9NQW5ub3RhdGlvbihzZWxlY3RlZEVsZW1zLCBhbm5vdGF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKCFpc1NpZGVMYWJlbChsYWJlbCkgJiYgaXNTaWRlTGFiZWwob2xkTGFiZWwpKSB7XG4gICAgICB0aGlzLmxhYmVsc1JlZi5yZW1vdmVDaGlsZChsYWJlbEVsZW0pO1xuICAgICAgdGhpcy5jcmVhdGVET01Bbm5vdGF0aW9uKHNlbGVjdGVkRWxlbXMsIGFubm90YXRpb24pO1xuICAgIH1cbiAgfTtcblxuICBjaGFuZ2VBbm5vdGF0aW9uVHlwZSA9IChuZXdMYWJlbCkgPT4ge1xuICAgIGNvbnN0IHsgYW5ub3RhdGlvbnMsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgYW5ub3RhdGlvbkluZGV4LCBzZWxlY3RlZEVsZW1zIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgdHlwZTogb2xkVHlwZSwgbGFiZWw6IG9sZExhYmVsIH0gPSBhbm5vdGF0aW9uc1thbm5vdGF0aW9uSW5kZXhdO1xuICAgIGNvbnN0IHR5cGUgPSBvbGRUeXBlID09PSAncG9zaXRpdmUnID8gJ25lZ2F0aXZlJyA6ICdwb3NpdGl2ZSc7XG4gICAgY29uc3QgdXBkYXRlZEFubm90YXRpb24gPSB7IC4uLmFubm90YXRpb25zW2Fubm90YXRpb25JbmRleF0sIHR5cGUsIGxhYmVsOiBuZXdMYWJlbCB9O1xuXG4gICAgc2VsZWN0ZWRFbGVtcy5mb3JFYWNoKHNwYW4gPT4ge1xuICAgICAgc3Bhbi5jbGFzc0xpc3QucmVtb3ZlKG9sZFR5cGUpO1xuICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKHR5cGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVMYWJlbChvbGRMYWJlbCwgdXBkYXRlZEFubm90YXRpb24sIG9sZFR5cGUpO1xuICAgIGFubm90YXRpb25zLnNwbGljZShhbm5vdGF0aW9uSW5kZXgsIDEsIHVwZGF0ZWRBbm5vdGF0aW9uKTtcblxuICAgIG9uQ2hhbmdlKGFubm90YXRpb25zKTtcbiAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gIH07XG5cbiAgdXBkYXRlQW5ub3RhdGlvbiA9IChvbGRMYWJlbCwgbmV3TGFiZWwpID0+IHtcbiAgICBjb25zdCB7IGFubm90YXRpb25zLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGFubm90YXRpb25JbmRleCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB1cGRhdGVkQW5ub3RhdGlvbiA9IHsgLi4uYW5ub3RhdGlvbnNbYW5ub3RhdGlvbkluZGV4XSwgbGFiZWw6IG5ld0xhYmVsIH07XG5cbiAgICB0aGlzLnVwZGF0ZUxhYmVsKG9sZExhYmVsLCB1cGRhdGVkQW5ub3RhdGlvbik7XG4gICAgYW5ub3RhdGlvbnMuc3BsaWNlKGFubm90YXRpb25JbmRleCwgMSwgdXBkYXRlZEFubm90YXRpb24pO1xuXG4gICAgb25DaGFuZ2UoYW5ub3RhdGlvbnMpO1xuICB9O1xuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMudGV4dFJlZi5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmFkanVzdEFubm90YXRpb25zUG9zaXRpb24pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc2VzLFxuICAgICAgY29tbWVudCxcbiAgICAgIGN1c3RvbUtleXMsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGRpc2FibGVkTWF0aCxcbiAgICAgIGtleXBhZE1vZGUsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIG1heEhlaWdodCxcbiAgICAgIG9uQ29tbWVudENoYW5nZSxcbiAgICAgIHByZWRlZmluZWRBbm5vdGF0aW9ucyxcbiAgICAgIHRleHRcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGFuY2hvckVsLCBhbm5vdGF0aW9uLCBvcGVuZWRNZW51LCBvcGVuZWRFZGl0b3IsIHNlbGVjdGlvbkRldGFpbHMgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgYW5jaG9yT2Zmc2V0ID0gYW5jaG9yRWwgJiYgKGFuY2hvckVsLm9mZnNldFRvcCA/IGFuY2hvckVsLm9mZnNldFRvcCA6IGFuY2hvckVsLm9mZnNldFBhcmVudC5vZmZzZXRUb3ApO1xuICAgIGNvbnN0IHRvcE9mZnNldCA9IHRoaXMudGV4dFJlZiAmJiBhbmNob3JPZmZzZXQgPyAoYW5jaG9yT2Zmc2V0IC0gdGhpcy50ZXh0UmVmLnNjcm9sbFRvcCAtIDgpIDogMDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy53cmFwcGVyfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dENvbnRhaW5lcn1cbiAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiB3aWR0aCAtIDM0LCBtaW5IZWlnaHQ6IGhlaWdodCwgbWF4SGVpZ2h0OiBtYXhIZWlnaHQgfX1cbiAgICAgICAgICAgIHJlZj17ciA9PiAodGhpcy50ZXh0UmVmID0gcil9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17IWRpc2FibGVkID8gY2xlYXJTZWxlY3Rpb24gOiAoKSA9PiB7fX1cbiAgICAgICAgICAgIG9uTW91c2VVcD17IWRpc2FibGVkID8gdGhpcy5oYW5kbGVTZWxlY3Rpb24gOiAoKSA9PiB7fX1cbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGV4dCB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmxhYmVsc0NvbnRhaW5lcn1cbiAgICAgICAgICAgIHJlZj17ciA9PiAodGhpcy5sYWJlbHNSZWYgPSByKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9eydDb21tZW50J30gY2xhc3NOYW1lPXtjbGFzc2VzLmNvbW1lbnRDb250YWluZXJ9PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICBtYXJrdXA9e2NvbW1lbnR8fCAnJ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNvbW1lbnRDaGFuZ2V9XG4gICAgICAgICAgICB3aWR0aD17d2lkdGggJiYgd2lkdGgudG9TdHJpbmcoKX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHBsdWdpblByb3BzPXt7XG4gICAgICAgICAgICAgIG1hdGg6IHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWRNYXRoLFxuICAgICAgICAgICAgICAgIGN1c3RvbUtleXM6IGN1c3RvbUtleXMsXG4gICAgICAgICAgICAgICAga2V5cGFkTW9kZToga2V5cGFkTW9kZSxcbiAgICAgICAgICAgICAgICBjb250cm9sbGVkS2V5cGFkTW9kZTogZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdmlkZW86IHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBhdWRpbzoge1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cblxuICAgICAgICA8QW5ub3RhdGlvbk1lbnVcbiAgICAgICAgICBhbmNob3JFbD17YW5jaG9yRWx9XG4gICAgICAgICAgb3Blbj17b3BlbmVkTWVudSAmJiAhZGlzYWJsZWR9XG4gICAgICAgICAgYW5ub3RhdGlvbnM9e3ByZWRlZmluZWRBbm5vdGF0aW9uc31cbiAgICAgICAgICBpc05ld0Fubm90YXRpb249eyEhc2VsZWN0aW9uRGV0YWlsc31cbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhhbmRsZUNsb3NlfVxuICAgICAgICAgIG9uRGVsZXRlPXt0aGlzLmRlbGV0ZUFubm90YXRpb259XG4gICAgICAgICAgb25FZGl0PXt0aGlzLmVkaXRBbm5vdGF0aW9ufVxuICAgICAgICAgIG9uV3JpdGU9e3RoaXMuYWRkQW5ub3RhdGlvbn1cbiAgICAgICAgICBvbkFubm90YXRlPXt0aGlzLmhhbmRsZU1lbnVDbGlja31cbiAgICAgICAgLz5cblxuICAgICAgICA8RnJlZWZvcm1FZGl0b3JcbiAgICAgICAgICBhbmNob3JFbD17dGhpcy50ZXh0UmVmfVxuICAgICAgICAgIG9wZW49e29wZW5lZEVkaXRvciAmJiAhZGlzYWJsZWR9XG4gICAgICAgICAgb2Zmc2V0PXt0b3BPZmZzZXR9XG4gICAgICAgICAgdmFsdWU9e2Fubm90YXRpb24gJiYgYW5ub3RhdGlvbi5sYWJlbCB8fCAnJ31cbiAgICAgICAgICB0eXBlPXthbm5vdGF0aW9uICYmIGFubm90YXRpb24udHlwZX1cbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhhbmRsZUNsb3NlfVxuICAgICAgICAgIG9uRGVsZXRlPXt0aGlzLmRlbGV0ZUFubm90YXRpb259XG4gICAgICAgICAgb25TYXZlPXt0aGlzLnVwZGF0ZUFubm90YXRpb259XG4gICAgICAgICAgb25UeXBlQ2hhbmdlPXt0aGlzLmNoYW5nZUFubm90YXRpb25UeXBlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZSkoQW5ub3RhdGlvbkVkaXRvcik7XG4iXX0=
704
+ //# sourceMappingURL=annotation-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/annotation/annotation-editor.jsx"],"names":["style","textContainer","padding","backgroundColor","border","borderRadius","overflowY","lineHeight","whiteSpace","overflowWrap","margin","userSelect","labelsContainer","width","wrapper","position","overflowX","display","commentContainer","paddingTop","marginBottom","marginTop","annotation","cursor","annotationLabel","top","left","fontSize","fontStyle","fontWeight","color","labelHover","zIndex","highlight","hover","sideAnnotationHover","borderRightColor","sideAnnotation","marginLeft","wordBreak","right","content","height","pointerEvents","borderWidth","AnnotationEditor","props","textRef","labelsRef","offsetLeft","offsetWidth","Array","from","children","forEach","label","spans","dataset","annId","spanOffset","offsetTop","offsetParent","scrollTop","event","annotations","classes","selectionDetails","state","target","id","annotationId","selectedElems","labelElem","annotationIndex","findIndex","isSideLabel","hasAttribute","classList","add","setState","anchorEl","openedMenu","openedEditor","elem","remove","length","selection","window","getSelection","detail","rangeCount","selectedRange","getRangeAt","selectedText","toString","isSelectionInside","contains","commonAncestorContainer","isCollapsed","onChange","parentRef","removeChild","splice","handleClose","elems","disabled","type","className","onclick","handleClick","onmouseover","handleHover","onmouseout","handleCancelHover","firstSpan","document","createElement","innerHTML","freeform","appendChild","insertBefore","firstChild","start","end","Date","getTime","join","createDOMAnnotation","newAnnotation","text","updatedAnnotation","oldType","oldLabel","updateLabel","createNewAnnotation","push","newLabel","span","domStart","domEnd","range","createRange","setStart","node","offset","setEnd","adjustAnnotationsPosition","addEventListener","removeEventListener","comment","customKeys","disabledMath","keypadMode","maxHeight","onCommentChange","predefinedAnnotations","anchorOffset","topOffset","minHeight","r","clearSelection","handleSelection","__html","prompt","math","controlledKeypadMode","video","audio","deleteAnnotation","editAnnotation","addAnnotation","handleMenuClick","updateAnnotation","changeAnnotationType","React","Component","PropTypes","string","array","func","isRequired","number","bool","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAUA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,KAAK,GAAG;AACZC,EAAAA,aAAa,EAAE;AACbC,IAAAA,OAAO,EAAE,sBADI;AAEbC,IAAAA,eAAe,EAAE,qBAFJ;AAGbC,IAAAA,MAAM,EAAE,gBAHK;AAIbC,IAAAA,YAAY,EAAE,KAJD;AAKbC,IAAAA,SAAS,EAAE,QALE;AAMbC,IAAAA,UAAU,EAAE,MANC;AAObC,IAAAA,UAAU,EAAE,UAPC;AAQbC,IAAAA,YAAY,EAAE,YARD;AASb,WAAO;AACLC,MAAAA,MAAM,EAAE;AADH,KATM;AAYb,0BAAsB;AACpBC,MAAAA,UAAU,EAAE,MADQ;AAEpB,6BAAuB,MAFH;AAGpB,0BAAoB,MAHA;AAIpB,yBAAmB;AAJC;AAZT,GADH;AAoBZC,EAAAA,eAAe,EAAE;AACfC,IAAAA,KAAK,EAAE;AADQ,GApBL;AAuBZC,EAAAA,OAAO,EAAE;AACPC,IAAAA,QAAQ,EAAE,UADH;AAEPC,IAAAA,SAAS,EAAE,QAFJ;AAGPC,IAAAA,OAAO,EAAE;AAHF,GAvBG;AA4BZC,EAAAA,gBAAgB,EAAE;AAChBC,IAAAA,UAAU,EAAE,EADI;AAEhBC,IAAAA,YAAY,EAAE,EAFE;AAGhBC,IAAAA,SAAS,EAAE,EAHK;AAIhBR,IAAAA,KAAK,EAAE;AAJS,GA5BN;AAkCZS,EAAAA,UAAU,EAAE;AACVP,IAAAA,QAAQ,EAAE,UADA;AAEVQ,IAAAA,MAAM,EAAE,SAFE;AAGVN,IAAAA,OAAO,EAAE,cAHC;AAIVV,IAAAA,UAAU,EAAE,MAJF;AAMV,kBAAc;AACZJ,MAAAA,eAAe,EAAE;AADL,KANJ;AAUV,kBAAc;AACZA,MAAAA,eAAe,EAAE;AADL;AAVJ,GAlCA;AAgDZqB,EAAAA,eAAe,EAAE;AACfrB,IAAAA,eAAe,EAAE,oBADF;AAEfD,IAAAA,OAAO,EAAE,KAFM;AAGfa,IAAAA,QAAQ,EAAE,UAHK;AAIfJ,IAAAA,UAAU,EAAE,MAJG;AAKfH,IAAAA,UAAU,EAAE,QALG;AAMfiB,IAAAA,GAAG,EAAE,OANU;AAOfC,IAAAA,IAAI,EAAE,MAPS;AAQfC,IAAAA,QAAQ,EAAE,MARK;AASfC,IAAAA,SAAS,EAAE,QATI;AAUfC,IAAAA,UAAU,EAAE,QAVG;AAWftB,IAAAA,UAAU,EAAE,KAXG;AAYf,2BAAuB,MAZR;AAaf,wBAAoB,MAbL;AAcf,uBAAmB,MAdJ;AAgBf,kBAAc;AACZuB,MAAAA,KAAK,EAAE;AADK,KAhBC;AAoBf,kBAAc;AACZA,MAAAA,KAAK,EAAE;AADK;AApBC,GAhDL;AAwEZC,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,EADE;AAGV,kBAAc;AACZF,MAAAA,KAAK,EAAE;AADK,KAHJ;AAOV,kBAAc;AACZA,MAAAA,KAAK,EAAE;AADK;AAPJ,GAxEA;AAmFZG,EAAAA,SAAS,EAAE;AACTD,IAAAA,MAAM,EAAE;AADC,GAnFC;AAsFZE,EAAAA,KAAK,EAAE;AACLF,IAAAA,MAAM,EAAE,EADH;AAGL,kBAAc;AACZ7B,MAAAA,eAAe,EAAE;AADL,KAHT;AAOL,kBAAc;AACZA,MAAAA,eAAe,EAAE;AADL;AAPT,GAtFK;AAiGZgC,EAAAA,mBAAmB,EAAE;AACnBH,IAAAA,MAAM,EAAE,EADW;AAGnB,kBAAc;AACZ7B,MAAAA,eAAe,EAAE,+BADL;AAEZ,kBAAY;AACViC,QAAAA,gBAAgB,EAAE;AADR;AAFA,KAHK;AAUnB,kBAAc;AACZjC,MAAAA,eAAe,EAAE,+BADL;AAEZ,kBAAY;AACViC,QAAAA,gBAAgB,EAAE;AADR;AAFA;AAVK,GAjGT;AAkHZC,EAAAA,cAAc,EAAE;AACdtB,IAAAA,QAAQ,EAAE,UADI;AAEdb,IAAAA,OAAO,EAAE,KAFK;AAGdG,IAAAA,YAAY,EAAE,KAHA;AAIdiC,IAAAA,UAAU,EAAE,KAJE;AAKdzB,IAAAA,KAAK,EAAE,OALO;AAMdL,IAAAA,UAAU,EAAE,UANE;AAOd+B,IAAAA,SAAS,EAAE,YAPG;AAQdnC,IAAAA,MAAM,EAAE,mBARM;AASduB,IAAAA,QAAQ,EAAE,MATI;AAUdC,IAAAA,SAAS,EAAE,QAVG;AAWdC,IAAAA,UAAU,EAAE,QAXE;AAad,gBAAY;AACVd,MAAAA,QAAQ,EAAE,UADA;AAEVyB,MAAAA,KAAK,EAAE,MAFG;AAGVf,MAAAA,GAAG,EAAE,KAHK;AAIVrB,MAAAA,MAAM,EAAE,mBAJE;AAKVqC,MAAAA,OAAO,EAAE,IALC;AAMVC,MAAAA,MAAM,EAAE,CANE;AAOV7B,MAAAA,KAAK,EAAE,CAPG;AAQV8B,MAAAA,aAAa,EAAE,MARL;AASVC,MAAAA,WAAW,EAAE;AATH,KAbE;AAyBd,kBAAc;AACZzC,MAAAA,eAAe,EAAE,oBADL;AAEZ,kBAAY;AACViC,QAAAA,gBAAgB,EAAE;AADR;AAFA,KAzBA;AAgCd,kBAAc;AACZjC,MAAAA,eAAe,EAAE,oBADL;AAEZ,kBAAY;AACViC,QAAAA,gBAAgB,EAAE;AADR;AAFA;AAhCA;AAlHJ,CAAd;;IA2JMS,gB;;;;;AAkBJ,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,kHAwCS,YAAM;AAChC,UAAI,MAAKC,OAAL,IAAgB,MAAKC,SAAzB,EAAoC;AAClC,YAAMtB,IAAI,GAAG,MAAKqB,OAAL,CAAaE,UAAb,GAA0B,MAAKF,OAAL,CAAaG,WAAvC,GAAqD,CAAlE;AAEAC,QAAAA,KAAK,CAACC,IAAN,CAAW,MAAKJ,SAAL,CAAeK,QAA1B,EAAoCC,OAApC,CAA4C,UAAAC,KAAK,EAAI;AACnD,cAAMC,KAAK,GAAG,4CAAsBD,KAAK,CAACE,OAAN,CAAcC,KAApC,CAAd;AACA,cAAMC,UAAU,GAAGH,KAAK,CAAC,CAAD,CAAL,CAASI,SAAT,GAAqBJ,KAAK,CAAC,CAAD,CAAL,CAASI,SAA9B,GAA0CJ,KAAK,CAAC,CAAD,CAAL,CAASK,YAAT,CAAsBD,SAAnF;AACA,cAAMnC,GAAG,GAAGkC,UAAU,GAAG,MAAKZ,OAAL,CAAae,SAA1B,GAAsC,CAAlD;AAEAP,UAAAA,KAAK,CAACvD,KAAN,CAAYyB,GAAZ,aAAqBA,GAArB;AACA8B,UAAAA,KAAK,CAACvD,KAAN,CAAY0B,IAAZ,aAAsBA,IAAtB;AACD,SAPD;AAQD;AACF,KArDkB;AAAA,oGAuDL,UAAAqC,KAAK,EAAI;AACrB,wBAAiC,MAAKjB,KAAtC;AAAA,UAAQkB,WAAR,eAAQA,WAAR;AAAA,UAAqBC,OAArB,eAAqBA,OAArB;AACA,UAAQC,gBAAR,GAA6B,MAAKC,KAAlC,CAAQD,gBAAR;;AAEA,UAAIA,gBAAJ,EAAsB;AACpB;AACA;AACD;;AAED,kCAAsBH,KAAK,CAACK,MAAN,CAAaX,OAAnC;AAAA,UAAQY,EAAR,yBAAQA,EAAR;AAAA,UAAYX,KAAZ,yBAAYA,KAAZ;AACA,UAAMY,YAAY,GAAGD,EAAE,IAAIX,KAA3B;AACA,UAAMa,aAAa,GAAG,4CAAsBD,YAAtB,CAAtB;AACA,UAAME,SAAS,GAAG,sCAAgBF,YAAhB,CAAlB;AACA,UAAMG,eAAe,GAAGT,WAAW,CAACU,SAAZ,CAAsB,UAAApD,UAAU;AAAA,eAAIA,UAAU,CAAC+C,EAAX,KAAkBC,YAAtB;AAAA,OAAhC,CAAxB;AACA,UAAMK,WAAW,GAAGH,SAAS,CAACI,YAAV,CAAuB,eAAvB,CAApB;;AAEA,UAAID,WAAJ,EAAiB;AACfH,QAAAA,SAAS,CAACK,SAAV,CAAoBC,GAApB,CAAwBb,OAAO,CAAChC,SAAhC;AACD;;AAED,YAAK8C,QAAL,CAAc;AACZC,QAAAA,QAAQ,EAAET,aAAa,CAAC,CAAD,CADX;AAEZU,QAAAA,UAAU,EAAE,CAAC,CAACZ,EAAF,IAAQ,CAAC,CAACX,KAAF,IAAW,CAACiB,WAFpB;AAEiC;AAC7CO,QAAAA,YAAY,EAAE,CAAC,CAACxB,KAAF,IAAWiB,WAHb;AAG0B;AACtCJ,QAAAA,aAAa,EAAbA,aAJY;AAKZC,QAAAA,SAAS,EAATA,SALY;AAMZC,QAAAA,eAAe,EAAfA,eANY;AAOZnD,QAAAA,UAAU,EAAE0C,WAAW,CAACS,eAAD,CAPX;AAQZP,QAAAA,gBAAgB,EAAE;AARN,OAAd;AAUD,KArFkB;AAAA,oGAuFL,UAAAH,KAAK,EAAI;AACrB,UAAQE,OAAR,GAAoB,MAAKnB,KAAzB,CAAQmB,OAAR;AACA,mCAAsBF,KAAK,CAACK,MAAN,CAAaX,OAAnC;AAAA,UAAQY,EAAR,0BAAQA,EAAR;AAAA,UAAYX,KAAZ,0BAAYA,KAAZ;AACA,UAAMY,YAAY,GAAGD,EAAE,IAAIX,KAA3B;AACA,UAAMa,aAAa,GAAG,4CAAsBD,YAAtB,CAAtB;AACA,UAAME,SAAS,GAAG,sCAAgBF,YAAhB,CAAlB;AACA,UAAMK,WAAW,GAAGH,SAAS,CAACI,YAAV,CAAuB,eAAvB,CAApB;AAEAL,MAAAA,aAAa,CAACjB,OAAd,CAAsB,UAAA6B,IAAI;AAAA,eAAIA,IAAI,CAACN,SAAL,CAAeC,GAAf,CAAmBb,OAAO,CAAC/B,KAA3B,CAAJ;AAAA,OAA1B;AACAsC,MAAAA,SAAS,CAACK,SAAV,CAAoBC,GAApB,CAAwBH,WAAW,GAAGV,OAAO,CAAC9B,mBAAX,GAAiC8B,OAAO,CAAClC,UAA5E;AACD,KAjGkB;AAAA,0GAmGC,UAAAgC,KAAK,EAAI;AAC3B,UAAQE,OAAR,GAAoB,MAAKnB,KAAzB,CAAQmB,OAAR;AACA,mCAAsBF,KAAK,CAACK,MAAN,CAAaX,OAAnC;AAAA,UAAQY,EAAR,0BAAQA,EAAR;AAAA,UAAYX,KAAZ,0BAAYA,KAAZ;AACA,UAAMY,YAAY,GAAGD,EAAE,IAAIX,KAA3B;AACA,UAAMa,aAAa,GAAG,4CAAsBD,YAAtB,CAAtB;AACA,UAAME,SAAS,GAAG,sCAAgBF,YAAhB,CAAlB;AACA,UAAMK,WAAW,GAAGH,SAAS,CAACI,YAAV,CAAuB,eAAvB,CAApB;AAEAL,MAAAA,aAAa,CAACjB,OAAd,CAAsB,UAAA6B,IAAI;AAAA,eAAIA,IAAI,CAACN,SAAL,CAAeO,MAAf,CAAsBnB,OAAO,CAAC/B,KAA9B,CAAJ;AAAA,OAA1B;AACAsC,MAAAA,SAAS,CAACK,SAAV,CAAoBO,MAApB,CAA2BT,WAAW,GAAGV,OAAO,CAAC9B,mBAAX,GAAiC8B,OAAO,CAAClC,UAA/E;AACD,KA7GkB;AAAA,oGA+GL,UAAAgC,KAAK,EAAI;AACrB,UAAQE,OAAR,GAAoB,MAAKnB,KAAzB,CAAQmB,OAAR;AACA,wBAAqC,MAAKE,KAA1C;AAAA,UAAQI,aAAR,eAAQA,aAAR;AAAA,UAAuBC,SAAvB,eAAuBA,SAAvB;;AAEA,UAAID,aAAa,CAACc,MAAd,IAAwB,CAACd,aAAa,CAAC,CAAD,CAAb,CAAiBK,YAAjB,CAA8B,SAA9B,CAA7B,EAAuE;AACrE,kDAAoBL,aAApB,EAAmC,MAAKxB,OAAxC;AACD;;AAED,UAAIyB,SAAJ,EAAe;AACbA,QAAAA,SAAS,CAACK,SAAV,CAAoBO,MAApB,CAA2BnB,OAAO,CAAChC,SAAnC;AACD;;AAED,YAAK8C,QAAL,CAAc;AACZC,QAAAA,QAAQ,EAAE,IADE;AAEZC,QAAAA,UAAU,EAAE,KAFA;AAGZC,QAAAA,YAAY,EAAE,KAHF;AAIZX,QAAAA,aAAa,EAAE,EAJH;AAKZC,QAAAA,SAAS,EAAE,IALC;AAMZN,QAAAA,gBAAgB,EAAE,IANN;AAOZO,QAAAA,eAAe,EAAE,IAPL;AAQZnD,QAAAA,UAAU,EAAE;AARA,OAAd;;AAWA;AACD,KAvIkB;AAAA,wGAyID,UAAAyC,KAAK,EAAI;AACzB,UAAMuB,SAAS,GAAGC,MAAM,CAACC,YAAP,EAAlB,CADyB,CAGzB;;AACA,UAAIzB,KAAK,CAAC0B,MAAN,GAAe,CAAnB,EAAsB;AACpB;AACA;AACD;;AAED,UAAIH,SAAS,IAAIA,SAAS,CAACI,UAAV,GAAuB,CAAxC,EAA2C;AACzC,YAAMC,aAAa,GAAGL,SAAS,CAACM,UAAV,CAAqB,CAArB,CAAtB;AACA,YAAMC,YAAY,GAAGF,aAAa,CAACG,QAAd,EAArB;;AACA,YAAMC,iBAAiB,GAAG,MAAKhD,OAAL,CAAaiD,QAAb,CAAsBL,aAAa,CAACM,uBAApC,CAA1B;;AAEA,YAAI,CAACX,SAAS,CAACY,WAAX,IAA0BL,YAAY,KAAK,EAA3C,IAAiDE,iBAArD,EAAwE;AACtE,cAAM7B,gBAAgB,GAAG,sCAAgByB,aAAhB,EAA+B,MAAK5C,OAApC,CAAzB;AACA,cAAMwB,aAAa,GAAG,gCAAUoB,aAAV,CAAtB;;AAEA,gBAAKZ,QAAL,CAAc;AACZC,YAAAA,QAAQ,EAAET,aAAa,CAAC,CAAD,CADX;AAEZU,YAAAA,UAAU,EAAE,IAFA;AAGZV,YAAAA,aAAa,EAAbA,aAHY;AAIZL,YAAAA,gBAAgB,EAAhBA;AAJY,WAAd;AAMD;AACF;AACF,KAnKkB;AAAA,yGAqKA,YAAM;AACvB,yBAAkC,MAAKpB,KAAvC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBmC,QAArB,gBAAqBA,QAArB;AACA,yBAAkE,MAAKhC,KAAvE;AAAA,UAAQI,aAAR,gBAAQA,aAAR;AAAA,UAAuBC,SAAvB,gBAAuBA,SAAvB;AAAA,UAAkCC,eAAlC,gBAAkCA,eAAlC;AAAA,UAAmDnD,UAAnD,gBAAmDA,UAAnD;AACA,UAAM8E,SAAS,GAAG,kCAAY9E,UAAU,CAACiC,KAAvB,IAAgC,MAAKP,SAArC,GAAiDuB,aAAa,CAAC,CAAD,CAAhF;AAEA6B,MAAAA,SAAS,CAACC,WAAV,CAAsB7B,SAAtB;AACA,gDAAoBD,aAApB,EAAmC,MAAKxB,OAAxC;AACAiB,MAAAA,WAAW,CAACsC,MAAZ,CAAmB7B,eAAnB,EAAoC,CAApC;AAEA0B,MAAAA,QAAQ,CAACnC,WAAD,CAAR;;AACA,YAAKuC,WAAL;AACD,KAhLkB;AAAA,4GAkLG,UAACC,KAAD,EAAQlF,UAAR,EAAuB;AAC3C,yBAA8B,MAAKwB,KAAnC;AAAA,UAAQmB,OAAR,gBAAQA,OAAR;AAAA,UAAiBwC,QAAjB,gBAAiBA,QAAjB;AACA,UAAQpC,EAAR,GAA4B/C,UAA5B,CAAQ+C,EAAR;AAAA,UAAYd,KAAZ,GAA4BjC,UAA5B,CAAYiC,KAAZ;AAAA,UAAmBmD,IAAnB,GAA4BpF,UAA5B,CAAmBoF,IAAnB;AAEA,OAACF,KAAK,IAAI,EAAV,EAAclD,OAAd,CAAsB,UAAA6B,IAAI,EAAI;AAC5BA,QAAAA,IAAI,CAAC1B,OAAL,CAAaY,EAAb,GAAkBA,EAAlB;AACAc,QAAAA,IAAI,CAACwB,SAAL,GAAiB,4BAAW1C,OAAO,CAAC3C,UAAnB,EAA+BoF,IAA/B,CAAjB;AACAvB,QAAAA,IAAI,CAACyB,OAAL,GAAe,CAACH,QAAD,IAAa,MAAKI,WAAjC;AACA1B,QAAAA,IAAI,CAAC2B,WAAL,GAAmB,MAAKC,WAAxB;AACA5B,QAAAA,IAAI,CAAC6B,UAAL,GAAkB,MAAKC,iBAAvB;AACD,OAND;AAQA,UAAMC,SAAS,GAAGV,KAAK,IAAIA,KAAK,CAAC,CAAD,CAAd,IAAqB,EAAvC;AACA,UAAMhC,SAAS,GAAG2C,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAlB;AAEA5C,MAAAA,SAAS,CAACf,OAAV,CAAkBC,KAAlB,GAA0BW,EAA1B;AACAG,MAAAA,SAAS,CAAC6C,SAAV,GAAsB9D,KAAtB;AACAiB,MAAAA,SAAS,CAACoC,OAAV,GAAoB,CAACH,QAAD,IAAa,MAAKI,WAAtC;AACArC,MAAAA,SAAS,CAACsC,WAAV,GAAwB,MAAKC,WAA7B;AACAvC,MAAAA,SAAS,CAACwC,UAAV,GAAuB,MAAKC,iBAA5B;;AAEA,UAAI,kCAAY1D,KAAZ,CAAJ,EAAwB;AACtB,YAAMI,UAAU,GAAGuD,SAAS,CAACtD,SAAV,GAAsBsD,SAAS,CAACtD,SAAhC,GAA4CsD,SAAS,CAACrD,YAAV,CAAuBD,SAAtF;AACA,YAAMnC,GAAG,GAAGkC,UAAU,GAAG,MAAKZ,OAAL,CAAae,SAAtC;AACA,YAAMpC,IAAI,GAAG,MAAKqB,OAAL,CAAaE,UAAb,GAA0B,MAAKF,OAAL,CAAaG,WAAvC,GAAqD,CAAlE;AAEAsB,QAAAA,SAAS,CAACf,OAAV,CAAkB6D,QAAlB,GAA6B,IAA7B;AACA9C,QAAAA,SAAS,CAACmC,SAAV,GAAsB,4BAAW1C,OAAO,CAAC5B,cAAnB,EAAmCqE,IAAnC,CAAtB;AACAlC,QAAAA,SAAS,CAACxE,KAAV,CAAgByB,GAAhB,aAAyBA,GAAzB;AACA+C,QAAAA,SAAS,CAACxE,KAAV,CAAgB0B,IAAhB,aAA0BA,IAA1B;;AAEA,cAAKsB,SAAL,CAAeuE,WAAf,CAA2B/C,SAA3B;AACD,OAXD,MAWO;AACLA,QAAAA,SAAS,CAACmC,SAAV,GAAsB,4BAAW1C,OAAO,CAACzC,eAAnB,EAAoCkF,IAApC,CAAtB;AACAQ,QAAAA,SAAS,CAACM,YAAV,CAAuBhD,SAAvB,EAAkC0C,SAAS,CAACO,UAA5C;AACD;AACF,KAtNkB;AAAA,4GAwNG,UAAClE,KAAD,EAAQmD,IAAR,EAAiB;AACrC,yBAA4C,MAAKvC,KAAjD;AAAA,UAAQI,aAAR,gBAAQA,aAAR;AAAA,UAAuBL,gBAAvB,gBAAuBA,gBAAvB;;AACA,UAAM5C,UAAU;AACd+C,QAAAA,EAAE,EAAE,CAACH,gBAAgB,CAACwD,KAAlB,EAAyBxD,gBAAgB,CAACyD,GAA1C,EAA+C,IAAIC,IAAJ,GAAWC,OAAX,EAA/C,EAAqEC,IAArE,CAA0E,GAA1E,CADU;AAEdvE,QAAAA,KAAK,EAALA,KAFc;AAGdmD,QAAAA,IAAI,EAAJA;AAHc,SAIXxC,gBAJW,CAAhB;;AAOA,YAAK6D,mBAAL,CAAyBxD,aAAzB,EAAwCjD,UAAxC;;AAEA,aAAOA,UAAP;AACD,KApOkB;AAAA,wGAsOD,UAAA0G,aAAa,EAAI;AACjC,yBAAkC,MAAKlF,KAAvC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBmC,QAArB,gBAAqBA,QAArB;AACA,yBAAwC,MAAKhC,KAA7C;AAAA,UAAQ7C,UAAR,gBAAQA,UAAR;AAAA,UAAoBmD,eAApB,gBAAoBA,eAApB;AACA,UAAQiC,IAAR,GAA8BsB,aAA9B,CAAQtB,IAAR;AAAA,UAAoBnD,KAApB,GAA8ByE,aAA9B,CAAcC,IAAd;;AAEA,UAAI3G,UAAJ,EAAgB;AACd,YAAM4G,iBAAiB,mCAAQ5G,UAAR;AAAoBiC,UAAAA,KAAK,EAALA,KAApB;AAA2BmD,UAAAA,IAAI,EAAJA;AAA3B,UAAvB;;AACA,YAAcyB,OAAd,GAA2C7G,UAA3C,CAAQoF,IAAR;AAAA,YAA8B0B,QAA9B,GAA2C9G,UAA3C,CAAuBiC,KAAvB;;AAEA,cAAK8E,WAAL,CAAiBD,QAAjB,EAA2BF,iBAA3B,EAA8CxB,IAAI,KAAKyB,OAAT,IAAoBA,OAAlE;;AACAnE,QAAAA,WAAW,CAACsC,MAAZ,CAAmB7B,eAAnB,EAAoC,CAApC,EAAuCyD,iBAAvC;AACD,OAND,MAMO;AACL,YAAMF,cAAa,GAAG,MAAKM,mBAAL,CAAyB/E,KAAzB,EAAgCmD,IAAhC,CAAtB;;AAEA1C,QAAAA,WAAW,CAACuE,IAAZ,CAAiBP,cAAjB;AACD;;AAED7B,MAAAA,QAAQ,CAACnC,WAAD,CAAR;;AACA,YAAKuC,WAAL;AACD,KAzPkB;AAAA,uGA2PF,YAAM;AACrB,YAAKxB,QAAL,CAAc;AACZE,QAAAA,UAAU,EAAE,KADA;AAEZC,QAAAA,YAAY,EAAE;AAFF,OAAd;AAID,KAhQkB;AAAA,sGAkQH,UAAAwB,IAAI,EAAI;AACtB,yBAAkC,MAAK5D,KAAvC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBmC,QAArB,gBAAqBA,QAArB;;AACA,UAAM7E,UAAU,GAAG,MAAKgH,mBAAL,CAAyB,EAAzB,EAA6B5B,IAA7B,CAAnB;;AACA,UAAMlC,SAAS,GAAG,sCAAgBlD,UAAU,CAAC+C,EAA3B,CAAlB;AAEAL,MAAAA,WAAW,CAACuE,IAAZ,CAAiBjH,UAAjB;;AAEA,YAAKyD,QAAL,CAAc;AACZE,QAAAA,UAAU,EAAE,KADA;AAEZC,QAAAA,YAAY,EAAE,IAFF;AAGZT,QAAAA,eAAe,EAAET,WAAW,CAACqB,MAAZ,GAAqB,CAH1B;AAIZ/D,QAAAA,UAAU,EAAVA,UAJY;AAKZkD,QAAAA,SAAS,EAATA;AALY,OAAd;;AAQA2B,MAAAA,QAAQ,CAACnC,WAAD,CAAR;AACD,KAlRkB;AAAA,oGAoRL,UAACoE,QAAD,EAAW9G,UAAX,EAAuB6G,OAAvB,EAAmC;AAC/C,yBAAqC,MAAKhE,KAA1C;AAAA,UAAQI,aAAR,gBAAQA,aAAR;AAAA,UAAuBC,SAAvB,gBAAuBA,SAAvB;AACA,UAAQjB,KAAR,GAAwBjC,UAAxB,CAAQiC,KAAR;AAAA,UAAemD,IAAf,GAAwBpF,UAAxB,CAAeoF,IAAf;;AAEA,UAAI,kCAAYnD,KAAZ,KAAsB,kCAAY6E,QAAZ,CAAtB,IAA+C,CAAC,kCAAY7E,KAAZ,CAAD,IAAuB,CAAC,kCAAY6E,QAAZ,CAA3E,EAAkG;AAChG5D,QAAAA,SAAS,CAAC6C,SAAV,GAAsB9D,KAAtB;;AAEA,YAAI4E,OAAJ,EAAa;AACX3D,UAAAA,SAAS,CAACK,SAAV,CAAoBO,MAApB,CAA2B+C,OAA3B;AACA3D,UAAAA,SAAS,CAACK,SAAV,CAAoBC,GAApB,CAAwB4B,IAAxB;AAEAnC,UAAAA,aAAa,CAACjB,OAAd,CAAsB,UAAA6B,IAAI,EAAI;AAC5BA,YAAAA,IAAI,CAACN,SAAL,CAAeO,MAAf,CAAsB+C,OAAtB;AACAhD,YAAAA,IAAI,CAACN,SAAL,CAAeC,GAAf,CAAmB4B,IAAnB;AACD,WAHD;AAID;AACF,OAZD,MAYO,IAAI,kCAAYnD,KAAZ,KAAsB,CAAC,kCAAY6E,QAAZ,CAA3B,EAAkD;AACvD7D,QAAAA,aAAa,CAAC,CAAD,CAAb,CAAiB8B,WAAjB,CAA6B7B,SAA7B;;AACA,cAAKuD,mBAAL,CAAyBxD,aAAzB,EAAwCjD,UAAxC;AACD,OAHM,MAGA,IAAI,CAAC,kCAAYiC,KAAZ,CAAD,IAAuB,kCAAY6E,QAAZ,CAA3B,EAAkD;AACvD,cAAKpF,SAAL,CAAeqD,WAAf,CAA2B7B,SAA3B;;AACA,cAAKuD,mBAAL,CAAyBxD,aAAzB,EAAwCjD,UAAxC;AACD;AACF,KA3SkB;AAAA,6GA6SI,UAACkH,QAAD,EAAc;AACnC,yBAAkC,MAAK1F,KAAvC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBmC,QAArB,gBAAqBA,QAArB;AACA,yBAA2C,MAAKhC,KAAhD;AAAA,UAAQM,eAAR,gBAAQA,eAAR;AAAA,UAAyBF,aAAzB,gBAAyBA,aAAzB;AACA,kCAA2CP,WAAW,CAACS,eAAD,CAAtD;AAAA,UAAc0D,OAAd,yBAAQzB,IAAR;AAAA,UAA8B0B,QAA9B,yBAAuB7E,KAAvB;AACA,UAAMmD,IAAI,GAAGyB,OAAO,KAAK,UAAZ,GAAyB,UAAzB,GAAsC,UAAnD;;AACA,UAAMD,iBAAiB,mCAAQlE,WAAW,CAACS,eAAD,CAAnB;AAAsCiC,QAAAA,IAAI,EAAJA,IAAtC;AAA4CnD,QAAAA,KAAK,EAAEiF;AAAnD,QAAvB;;AAEAjE,MAAAA,aAAa,CAACjB,OAAd,CAAsB,UAAAmF,IAAI,EAAI;AAC5BA,QAAAA,IAAI,CAAC5D,SAAL,CAAeO,MAAf,CAAsB+C,OAAtB;AACAM,QAAAA,IAAI,CAAC5D,SAAL,CAAeC,GAAf,CAAmB4B,IAAnB;AACD,OAHD;;AAKA,YAAK2B,WAAL,CAAiBD,QAAjB,EAA2BF,iBAA3B,EAA8CC,OAA9C;;AACAnE,MAAAA,WAAW,CAACsC,MAAZ,CAAmB7B,eAAnB,EAAoC,CAApC,EAAuCyD,iBAAvC;AAEA/B,MAAAA,QAAQ,CAACnC,WAAD,CAAR;;AACA,YAAKuC,WAAL;AACD,KA9TkB;AAAA,yGAgUA,UAAC6B,QAAD,EAAWI,QAAX,EAAwB;AACzC,yBAAkC,MAAK1F,KAAvC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBmC,QAArB,gBAAqBA,QAArB;AACA,UAAQ1B,eAAR,GAA4B,MAAKN,KAAjC,CAAQM,eAAR;;AACA,UAAMyD,iBAAiB,mCAAQlE,WAAW,CAACS,eAAD,CAAnB;AAAsClB,QAAAA,KAAK,EAAEiF;AAA7C,QAAvB;;AAEA,YAAKH,WAAL,CAAiBD,QAAjB,EAA2BF,iBAA3B;;AACAlE,MAAAA,WAAW,CAACsC,MAAZ,CAAmB7B,eAAnB,EAAoC,CAApC,EAAuCyD,iBAAvC;AAEA/B,MAAAA,QAAQ,CAACnC,WAAD,CAAR;AACD,KAzUkB;AAEjB,UAAKG,KAAL,GAAa;AACXa,MAAAA,QAAQ,EAAE,IADC;AAEXC,MAAAA,UAAU,EAAE,KAFD;AAGXC,MAAAA,YAAY,EAAE,KAHH;AAIXX,MAAAA,aAAa,EAAE,EAJJ;AAKXC,MAAAA,SAAS,EAAE,IALA;AAMXN,MAAAA,gBAAgB,EAAE,IANP;AAOX5C,MAAAA,UAAU,EAAE,IAPD;AAQXmD,MAAAA,eAAe,EAAE;AARN,KAAb;AAFiB;AAYlB;;;;WAED,6BAAoB;AAAA;;AAClB,yBAA8B,KAAK3B,KAAnC;AAAA,UAAQkB,WAAR,gBAAQA,WAAR;AAAA,UAAqBiE,IAArB,gBAAqBA,IAArB;;AAEA,UAAIA,IAAJ,EAAU;AACRjE,QAAAA,WAAW,CAACV,OAAZ,CAAoB,UAAAhC,UAAU,EAAI;AAChC,6BAA6B,kCAAYA,UAAU,CAACoG,KAAvB,EAA8BpG,UAAU,CAACqG,GAAzC,EAA8C,MAAI,CAAC5E,OAAnD,CAA7B;AAAA;AAAA,cAAQ2F,QAAR;AAAA,cAAkBC,MAAlB;;AAEA,cAAID,QAAQ,IAAIC,MAAhB,EAAwB;AACtB,gBAAMC,KAAK,GAAGzB,QAAQ,CAAC0B,WAAT,EAAd;AAEAD,YAAAA,KAAK,CAACE,QAAN,CAAeJ,QAAQ,CAACK,IAAxB,EAA8BL,QAAQ,CAACM,MAAvC;AACAJ,YAAAA,KAAK,CAACK,MAAN,CAAaN,MAAM,CAACI,IAApB,EAA0BJ,MAAM,CAACK,MAAjC;AAEA,gBAAMxF,KAAK,GAAG,gCAAUoF,KAAV,CAAd;;AAEA,YAAA,MAAI,CAACb,mBAAL,CAAyBvE,KAAzB,EAAgClC,UAAhC;AACD;AACF,SAbD;AAcD;;AAED,UAAI,KAAKyB,OAAT,EAAkB;AAChB,aAAKmG,yBAAL;AACA,aAAKnG,OAAL,CAAaoG,gBAAb,CAA8B,QAA9B,EAAwC,KAAKD,yBAA7C;AACD;AACF;;;WAqSD,gCAAuB;AACrB,WAAKnG,OAAL,CAAaqG,mBAAb,CAAiC,QAAjC,EAA2C,KAAKF,yBAAhD;AACD;;;WAED,kBAAS;AAAA;;AACP,yBAaI,KAAKpG,KAbT;AAAA,UACEmB,OADF,gBACEA,OADF;AAAA,UAEEoF,OAFF,gBAEEA,OAFF;AAAA,UAGEC,UAHF,gBAGEA,UAHF;AAAA,UAIE7C,QAJF,gBAIEA,QAJF;AAAA,UAKE8C,YALF,gBAKEA,YALF;AAAA,UAMEC,UANF,gBAMEA,UANF;AAAA,UAOE9G,MAPF,gBAOEA,MAPF;AAAA,UAQE7B,KARF,gBAQEA,KARF;AAAA,UASE4I,SATF,gBASEA,SATF;AAAA,UAUEC,eAVF,gBAUEA,eAVF;AAAA,UAWEC,qBAXF,gBAWEA,qBAXF;AAAA,UAYE1B,IAZF,gBAYEA,IAZF;AAcA,yBAA6E,KAAK9D,KAAlF;AAAA,UAAQa,QAAR,gBAAQA,QAAR;AAAA,UAAkB1D,UAAlB,gBAAkBA,UAAlB;AAAA,UAA8B2D,UAA9B,gBAA8BA,UAA9B;AAAA,UAA0CC,YAA1C,gBAA0CA,YAA1C;AAAA,UAAwDhB,gBAAxD,gBAAwDA,gBAAxD;AACA,UAAM0F,YAAY,GAAG5E,QAAQ,KAAKA,QAAQ,CAACpB,SAAT,GAAqBoB,QAAQ,CAACpB,SAA9B,GAA0CoB,QAAQ,CAACnB,YAAT,CAAsBD,SAArE,CAA7B;AACA,UAAMiG,SAAS,GAAG,KAAK9G,OAAL,IAAgB6G,YAAhB,GAAgCA,YAAY,GAAG,KAAK7G,OAAL,CAAae,SAA5B,GAAwC,CAAxE,GAA6E,CAA/F;AAEA,0BACE,0DACE;AAAK,QAAA,SAAS,EAAEG,OAAO,CAACnD;AAAxB,sBACE;AACE,QAAA,SAAS,EAAEmD,OAAO,CAAChE,aADrB;AAEE,QAAA,KAAK,EAAE;AAAEY,UAAAA,KAAK,EAAEA,KAAK,GAAG,EAAjB;AAAqBiJ,UAAAA,SAAS,EAAEpH,MAAhC;AAAwC+G,UAAAA,SAAS,EAAEA;AAAnD,SAFT;AAGE,QAAA,GAAG,EAAE,aAAAM,CAAC;AAAA,iBAAK,MAAI,CAAChH,OAAL,GAAegH,CAApB;AAAA,SAHR;AAIE,QAAA,WAAW,EAAE,CAACtD,QAAD,GAAYuD,+BAAZ,GAA6B,YAAM,CAAE,CAJpD;AAKE,QAAA,SAAS,EAAE,CAACvD,QAAD,GAAY,KAAKwD,eAAjB,GAAmC,YAAM,CAAE,CALxD;AAME,QAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAEjC;AAAV;AAN3B,QADF,eASE;AACE,QAAA,SAAS,EAAEhE,OAAO,CAACrD,eADrB;AAEE,QAAA,GAAG,EAAE,aAAAmJ,CAAC;AAAA,iBAAK,MAAI,CAAC/G,SAAL,GAAiB+G,CAAtB;AAAA;AAFR,QATF,CADF,eAgBE,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAE,SAAvB;AAAkC,QAAA,SAAS,EAAE9F,OAAO,CAAC/C;AAArD,sBACE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAE+C,OAAO,CAACkG,MADrB;AAEE,QAAA,MAAM,EAAEd,OAAO,IAAG,EAFpB;AAGE,QAAA,QAAQ,EAAEK,eAHZ;AAIE,QAAA,KAAK,EAAE7I,KAAK,IAAI,CAACA,KAAK,GAAG,GAAT,EAAciF,QAAd,EAJlB;AAKE,QAAA,QAAQ,EAAEW,QALZ;AAME,QAAA,WAAW,EAAE;AACX2D,UAAAA,IAAI,EAAE;AACJ3D,YAAAA,QAAQ,EAAE8C,YADN;AAEJD,YAAAA,UAAU,EAAEA,UAFR;AAGJE,YAAAA,UAAU,EAAEA,UAHR;AAIJa,YAAAA,oBAAoB,EAAE;AAJlB,WADK;AAOXC,UAAAA,KAAK,EAAE;AACL7D,YAAAA,QAAQ,EAAE;AADL,WAPI;AAUX8D,UAAAA,KAAK,EAAE;AACL9D,YAAAA,QAAQ,EAAE;AADL;AAVI;AANf,QADF,CAhBF,eAwCE,gCAAC,0BAAD;AACE,QAAA,QAAQ,EAAEzB,QADZ;AAEE,QAAA,IAAI,EAAEC,UAAU,IAAI,CAACwB,QAFvB;AAGE,QAAA,WAAW,EAAEkD,qBAHf;AAIE,QAAA,eAAe,EAAE,CAAC,CAACzF,gBAJrB;AAKE,QAAA,OAAO,EAAE,KAAKqC,WALhB;AAME,QAAA,QAAQ,EAAE,KAAKiE,gBANjB;AAOE,QAAA,MAAM,EAAE,KAAKC,cAPf;AAQE,QAAA,OAAO,EAAE,KAAKC,aARhB;AASE,QAAA,UAAU,EAAE,KAAKC;AATnB,QAxCF,eAoDE,gCAAC,0BAAD;AACE,QAAA,QAAQ,EAAE,KAAK5H,OADjB;AAEE,QAAA,IAAI,EAAEmC,YAAY,IAAI,CAACuB,QAFzB;AAGE,QAAA,MAAM,EAAEoD,SAHV;AAIE,QAAA,KAAK,EAAEvI,UAAU,IAAIA,UAAU,CAACiC,KAAzB,IAAkC,EAJ3C;AAKE,QAAA,IAAI,EAAEjC,UAAU,IAAIA,UAAU,CAACoF,IALjC;AAME,QAAA,OAAO,EAAE,KAAKH,WANhB;AAOE,QAAA,QAAQ,EAAE,KAAKiE,gBAPjB;AAQE,QAAA,MAAM,EAAE,KAAKI,gBARf;AASE,QAAA,YAAY,EAAE,KAAKC;AATrB,QApDF,CADF;AAkED;;;EAtb4BC,kBAAMC,S;;iCAA/BlI,gB,eACe;AACjBoF,EAAAA,IAAI,EAAE+C,sBAAUC,MADC;AAEjB5B,EAAAA,OAAO,EAAE2B,sBAAUC,MAFF;AAGjBjH,EAAAA,WAAW,EAAEgH,sBAAUE,KAHN;AAIjBvB,EAAAA,qBAAqB,EAAEqB,sBAAUE,KAJhB;AAKjB/E,EAAAA,QAAQ,EAAE6E,sBAAUG,IAAV,CAAeC,UALR;AAMjB1B,EAAAA,eAAe,EAAEsB,sBAAUG,IAAV,CAAeC,UANf;AAOjBvK,EAAAA,KAAK,EAAEmK,sBAAUK,MAPA;AAQjB3I,EAAAA,MAAM,EAAEsI,sBAAUK,MARD;AASjB5B,EAAAA,SAAS,EAAEuB,sBAAUC,MATJ;AAUjBxE,EAAAA,QAAQ,EAAEuE,sBAAUM,IAVH;AAWjB/B,EAAAA,YAAY,EAAEyB,sBAAUM,IAXP;AAYjBhC,EAAAA,UAAU,EAAE0B,sBAAUE,KAZL;AAajB1B,EAAAA,UAAU,EAAEwB,sBAAUC,MAbL;AAcjBhH,EAAAA,OAAO,EAAE+G,sBAAUO,MAAV,CAAiBH;AAdT,C;AAsbpB;;eAEc,wBAAWpL,KAAX,EAAkB6C,gBAAlB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n clearSelection,\n isSideLabel,\n getAnnotationElements,\n getDOMNodes,\n getLabelElement,\n getRangeDetails,\n removeElemsWrapping,\n wrapRange\n} from './annotation-utils';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport FreeformEditor from './freeform-editor';\nimport AnnotationMenu from './annotation-menu';\n\nconst style = {\n textContainer: {\n padding: '10px 170px 10px 16px',\n backgroundColor: 'rgba(0, 0, 0, 0.06)',\n border: '1px solid #ccc',\n borderRadius: '4px',\n overflowY: 'scroll',\n lineHeight: '36px',\n whiteSpace: 'pre-wrap',\n overflowWrap: 'break-word',\n '& p': {\n margin: 0\n },\n '& span[data-latex]': {\n userSelect: 'none',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none'\n }\n },\n labelsContainer: {\n width: '230px'\n },\n wrapper: {\n position: 'relative',\n overflowX: 'hidden',\n display: 'flex'\n },\n commentContainer: {\n paddingTop: 16,\n marginBottom: 16,\n marginTop: 16,\n width: '100%'\n },\n annotation: {\n position: 'relative',\n cursor: 'pointer',\n display: 'inline-block',\n lineHeight: '19px',\n\n '&.positive': {\n backgroundColor: 'rgb(51, 255, 51, 0.5)',\n },\n\n '&.negative': {\n backgroundColor: 'rgba(255, 102, 204, 0.4)',\n }\n },\n annotationLabel: {\n backgroundColor: 'rgb(242, 242, 242)',\n padding: '2px',\n position: 'absolute',\n userSelect: 'none',\n whiteSpace: 'nowrap',\n top: '-10px',\n left: '-2px',\n fontSize: '12px',\n fontStyle: 'normal',\n fontWeight: 'normal',\n lineHeight: '6px',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n\n '&.positive': {\n color: 'rgb(0, 128, 0)',\n },\n\n '&.negative': {\n color: 'rgb(204, 0, 136)',\n }\n },\n labelHover: {\n zIndex: 20,\n\n '&.positive': {\n color: 'rgb(0, 77, 0)',\n },\n\n '&.negative': {\n color: 'rgb(153, 0, 102)',\n }\n },\n highlight: {\n zIndex: 10\n },\n hover: {\n zIndex: 20,\n\n '&.positive': {\n backgroundColor: 'rgb(51, 255, 51, 0.7)',\n },\n\n '&.negative': {\n backgroundColor: 'rgba(255, 102, 204, 0.55)',\n }\n },\n sideAnnotationHover: {\n zIndex: 20,\n\n '&.negative': {\n backgroundColor: 'rgb(255, 179, 230) !important',\n '&:before': {\n borderRightColor: 'rgb(255, 179, 230) !important'\n }\n },\n\n '&.positive': {\n backgroundColor: 'rgb(128, 255, 128) !important',\n '&:before': {\n borderRightColor: 'rgb(153, 255, 153) !important'\n }\n }\n },\n sideAnnotation: {\n position: 'absolute',\n padding: '4px',\n borderRadius: '4px',\n marginLeft: '8px',\n width: '180px',\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n border: '2px solid #ffffff',\n fontSize: '14px',\n fontStyle: 'normal',\n fontWeight: 'normal',\n\n '&:before': {\n position: 'absolute',\n right: '100%',\n top: '5px',\n border: 'solid transparent',\n content: '\"\"',\n height: 0,\n width: 0,\n pointerEvents: 'none',\n borderWidth: '7px',\n },\n\n '&.negative': {\n backgroundColor: 'rgb(255, 204, 238)',\n '&:before': {\n borderRightColor: 'rgb(255, 204, 238)'\n }\n },\n\n '&.positive': {\n backgroundColor: 'rgb(153, 255, 153)',\n '&:before': {\n borderRightColor: 'rgb(153, 255, 153)'\n }\n }\n },\n};\n\nclass AnnotationEditor extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n comment: PropTypes.string,\n annotations: PropTypes.array,\n predefinedAnnotations: PropTypes.array,\n onChange: PropTypes.func.isRequired,\n onCommentChange: PropTypes.func.isRequired,\n width: PropTypes.number,\n height: PropTypes.number,\n maxHeight: PropTypes.string,\n disabled: PropTypes.bool,\n disabledMath: PropTypes.bool,\n customKeys: PropTypes.array,\n keypadMode: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotation: null,\n annotationIndex: null\n };\n };\n\n componentDidMount() {\n const { annotations, text } = this.props;\n\n if (text) {\n annotations.forEach(annotation => {\n const [ domStart, domEnd ] = getDOMNodes(annotation.start, annotation.end, this.textRef);\n\n if (domStart && domEnd) {\n const range = document.createRange();\n\n range.setStart(domStart.node, domStart.offset);\n range.setEnd(domEnd.node, domEnd.offset);\n\n const spans = wrapRange(range);\n\n this.createDOMAnnotation(spans, annotation);\n }\n });\n }\n\n if (this.textRef) {\n this.adjustAnnotationsPosition();\n this.textRef.addEventListener('scroll', this.adjustAnnotationsPosition);\n }\n };\n\n adjustAnnotationsPosition = () => {\n if (this.textRef && this.labelsRef) {\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n Array.from(this.labelsRef.children).forEach(label => {\n const spans = getAnnotationElements(label.dataset.annId);\n const spanOffset = spans[0].offsetTop ? spans[0].offsetTop : spans[0].offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop - 6;\n\n label.style.top = `${top}px`;\n label.style.left = `${left}px`;\n });\n }\n };\n\n handleClick = event => {\n const { annotations, classes } = this.props;\n const { selectionDetails } = this.state;\n\n if (selectionDetails) {\n // new selection was made inside another annotation and should not update that annotation\n return;\n }\n\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId)\n const annotationIndex = annotations.findIndex(annotation => annotation.id === annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n if (isSideLabel) {\n labelElem.classList.add(classes.highlight);\n }\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: !!id || !!annId && !isSideLabel, // true if the annotation or the label was clicked\n openedEditor: !!annId && isSideLabel, // true if the side label was clicked\n selectedElems,\n labelElem,\n annotationIndex,\n annotation: annotations[annotationIndex],\n selectionDetails: null\n });\n };\n\n handleHover = event => {\n const { classes } = this.props;\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach(elem => elem.classList.add(classes.hover));\n labelElem.classList.add(isSideLabel ? classes.sideAnnotationHover : classes.labelHover);\n };\n\n handleCancelHover = event => {\n const { classes } = this.props;\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach(elem => elem.classList.remove(classes.hover));\n labelElem.classList.remove(isSideLabel ? classes.sideAnnotationHover : classes.labelHover);\n };\n\n handleClose = event => {\n const { classes } = this.props;\n const { selectedElems, labelElem } = this.state;\n\n if (selectedElems.length && !selectedElems[0].hasAttribute('data-id')) {\n removeElemsWrapping(selectedElems, this.textRef);\n }\n\n if (labelElem) {\n labelElem.classList.remove(classes.highlight);\n }\n\n this.setState({\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotationIndex: null,\n annotation: null\n });\n\n clearSelection();\n };\n\n handleSelection = event => {\n const selection = window.getSelection();\n\n // prevent unwanted selections\n if (event.detail > 2) {\n clearSelection();\n return;\n }\n\n if (selection && selection.rangeCount > 0) {\n const selectedRange = selection.getRangeAt(0);\n const selectedText = selectedRange.toString();\n const isSelectionInside = this.textRef.contains(selectedRange.commonAncestorContainer);\n\n if (!selection.isCollapsed && selectedText !== '' && isSelectionInside) {\n const selectionDetails = getRangeDetails(selectedRange, this.textRef);\n const selectedElems = wrapRange(selectedRange);\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: true,\n selectedElems,\n selectionDetails\n });\n }\n }\n };\n\n deleteAnnotation = () => {\n const { annotations, onChange } = this.props;\n const { selectedElems, labelElem, annotationIndex, annotation } = this.state;\n const parentRef = isSideLabel(annotation.label) ? this.labelsRef : selectedElems[0];\n\n parentRef.removeChild(labelElem);\n removeElemsWrapping(selectedElems, this.textRef);\n annotations.splice(annotationIndex, 1);\n\n onChange(annotations);\n this.handleClose();\n };\n\n createDOMAnnotation = (elems, annotation) => {\n const { classes, disabled } = this.props;\n const { id, label, type } = annotation;\n\n (elems || []).forEach(elem => {\n elem.dataset.id = id;\n elem.className = classNames(classes.annotation, type);\n elem.onclick = !disabled && this.handleClick;\n elem.onmouseover = this.handleHover;\n elem.onmouseout = this.handleCancelHover;\n });\n\n const firstSpan = elems && elems[0] || {};\n const labelElem = document.createElement('SPAN');\n\n labelElem.dataset.annId = id;\n labelElem.innerHTML = label;\n labelElem.onclick = !disabled && this.handleClick;\n labelElem.onmouseover = this.handleHover;\n labelElem.onmouseout = this.handleCancelHover;\n\n if (isSideLabel(label)) {\n const spanOffset = firstSpan.offsetTop ? firstSpan.offsetTop : firstSpan.offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop;\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n labelElem.dataset.freeform = true;\n labelElem.className = classNames(classes.sideAnnotation, type);\n labelElem.style.top = `${top}px`;\n labelElem.style.left = `${left}px`;\n\n this.labelsRef.appendChild(labelElem);\n } else {\n labelElem.className = classNames(classes.annotationLabel, type);\n firstSpan.insertBefore(labelElem, firstSpan.firstChild);\n }\n };\n\n createNewAnnotation = (label, type) => {\n const { selectedElems, selectionDetails } = this.state;\n const annotation = {\n id: [selectionDetails.start, selectionDetails.end, new Date().getTime()].join('-'),\n label,\n type,\n ...selectionDetails\n };\n\n this.createDOMAnnotation(selectedElems, annotation);\n\n return annotation;\n };\n\n handleMenuClick = newAnnotation => {\n const { annotations, onChange } = this.props;\n const { annotation, annotationIndex } = this.state;\n const { type, text: label } = newAnnotation;\n\n if (annotation) {\n const updatedAnnotation = { ...annotation, label, type };\n const { type: oldType, label: oldLabel } = annotation;\n\n this.updateLabel(oldLabel, updatedAnnotation, type !== oldType && oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n } else {\n const newAnnotation = this.createNewAnnotation(label, type);\n\n annotations.push(newAnnotation);\n }\n\n onChange(annotations);\n this.handleClose();\n };\n\n editAnnotation = () => {\n this.setState({\n openedMenu: false,\n openedEditor: true\n });\n };\n\n addAnnotation = type => {\n const { annotations, onChange } = this.props;\n const annotation = this.createNewAnnotation('', type);\n const labelElem = getLabelElement(annotation.id);\n\n annotations.push(annotation);\n\n this.setState({\n openedMenu: false,\n openedEditor: true,\n annotationIndex: annotations.length - 1,\n annotation,\n labelElem\n });\n\n onChange(annotations);\n };\n\n updateLabel = (oldLabel, annotation, oldType) => {\n const { selectedElems, labelElem } = this.state;\n const { label, type } = annotation;\n\n if (isSideLabel(label) && isSideLabel(oldLabel) || !isSideLabel(label) && !isSideLabel(oldLabel)) {\n labelElem.innerHTML = label;\n\n if (oldType) {\n labelElem.classList.remove(oldType);\n labelElem.classList.add(type);\n\n selectedElems.forEach(elem => {\n elem.classList.remove(oldType);\n elem.classList.add(type);\n });\n }\n } else if (isSideLabel(label) && !isSideLabel(oldLabel)) {\n selectedElems[0].removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n } else if (!isSideLabel(label) && isSideLabel(oldLabel)) {\n this.labelsRef.removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n }\n };\n\n changeAnnotationType = (newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex, selectedElems } = this.state;\n const { type: oldType, label: oldLabel } = annotations[annotationIndex];\n const type = oldType === 'positive' ? 'negative' : 'positive';\n const updatedAnnotation = { ...annotations[annotationIndex], type, label: newLabel };\n\n selectedElems.forEach(span => {\n span.classList.remove(oldType);\n span.classList.add(type);\n });\n\n this.updateLabel(oldLabel, updatedAnnotation, oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n this.handleClose();\n };\n\n updateAnnotation = (oldLabel, newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex } = this.state;\n const updatedAnnotation = { ...annotations[annotationIndex], label: newLabel };\n\n this.updateLabel(oldLabel, updatedAnnotation);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n };\n\n componentWillUnmount() {\n this.textRef.removeEventListener('scroll', this.adjustAnnotationsPosition);\n };\n\n render() {\n const {\n classes,\n comment,\n customKeys,\n disabled,\n disabledMath,\n keypadMode,\n height,\n width,\n maxHeight,\n onCommentChange,\n predefinedAnnotations,\n text\n } = this.props;\n const { anchorEl, annotation, openedMenu, openedEditor, selectionDetails } = this.state;\n const anchorOffset = anchorEl && (anchorEl.offsetTop ? anchorEl.offsetTop : anchorEl.offsetParent.offsetTop);\n const topOffset = this.textRef && anchorOffset ? (anchorOffset - this.textRef.scrollTop - 8) : 0;\n\n return (\n <div>\n <div className={classes.wrapper}>\n <div\n className={classes.textContainer}\n style={{ width: width - 34, minHeight: height, maxHeight: maxHeight }}\n ref={r => (this.textRef = r)}\n onMouseDown={!disabled ? clearSelection : () => {}}\n onMouseUp={!disabled ? this.handleSelection : () => {}}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n <div\n className={classes.labelsContainer}\n ref={r => (this.labelsRef = r)}\n />\n </div>\n\n <InputContainer label={'Comment'} className={classes.commentContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={comment|| ''}\n onChange={onCommentChange}\n width={width && (width + 154).toString()}\n disabled={disabled}\n pluginProps={{\n math: {\n disabled: disabledMath,\n customKeys: customKeys,\n keypadMode: keypadMode,\n controlledKeypadMode: false\n },\n video: {\n disabled: true\n },\n audio: {\n disabled: true\n }\n }}\n />\n </InputContainer>\n\n <AnnotationMenu\n anchorEl={anchorEl}\n open={openedMenu && !disabled}\n annotations={predefinedAnnotations}\n isNewAnnotation={!!selectionDetails}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onEdit={this.editAnnotation}\n onWrite={this.addAnnotation}\n onAnnotate={this.handleMenuClick}\n />\n\n <FreeformEditor\n anchorEl={this.textRef}\n open={openedEditor && !disabled}\n offset={topOffset}\n value={annotation && annotation.label || ''}\n type={annotation && annotation.type}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onSave={this.updateAnnotation}\n onTypeChange={this.changeAnnotationType}\n />\n </div>\n );\n }\n};\n\nexport default withStyles(style)(AnnotationEditor);\n"],"file":"annotation-editor.js"}
@@ -202,4 +202,4 @@ var AnnotationMenu = /*#__PURE__*/function (_React$Component) {
202
202
  var _default = (0, _styles.withStyles)(styles)(AnnotationMenu);
203
203
 
204
204
  exports["default"] = _default;
205
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbm5vdGF0aW9uL2Fubm90YXRpb24tbWVudS5qc3giXSwibmFtZXMiOlsic3R5bGVzIiwibWFpbldyYXBwZXIiLCJ3aWR0aCIsIm92ZXJmbG93IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYW5ub3RhdGlvbnNXcmFwcGVyIiwiZGlzcGxheSIsImZsZXhXcmFwIiwiY29udHJvbHNXcmFwcGVyIiwiYm9yZGVyVG9wIiwiYnV0dG9uIiwidGV4dEFsaWduIiwicGFkZGluZyIsImN1cnNvciIsImJvcmRlckJvdHRvbSIsImJvcmRlclJpZ2h0IiwiZmxleEdyb3ciLCJwb3NpdGl2ZSIsImZpbHRlciIsIm5lZ2F0aXZlIiwiaG9sZGVyIiwiYXJyb3ciLCJvdmVyZmxvd1giLCJvdmVyZmxvd1kiLCJtYXJnaW5Ub3AiLCJwb3NpdGlvbiIsImxlZnQiLCJjb250ZW50IiwiaGVpZ2h0IiwicG9pbnRlckV2ZW50cyIsImJvcmRlcldpZHRoIiwiYm9yZGVyVG9wQ29sb3IiLCJBbm5vdGF0aW9uTWVudSIsInByb3BzIiwiYW5jaG9yRWwiLCJhbm5vdGF0aW9ucyIsImNsYXNzZXMiLCJpc05ld0Fubm90YXRpb24iLCJvbkFubm90YXRlIiwib25DbG9zZSIsIm9uRWRpdCIsIm9uRGVsZXRlIiwib25Xcml0ZSIsIm9wZW4iLCJwYXBlciIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsIm1hcCIsImFubm90YXRpb24iLCJpbmRleCIsInR5cGUiLCJsYWJlbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYm9vbCIsImFycmF5IiwiZnVuYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLE1BQU0sR0FBRztBQUNiQyxFQUFBQSxXQUFXLEVBQUU7QUFDWEMsSUFBQUEsS0FBSyxFQUFFLE9BREk7QUFFWEMs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QW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIG1haW5XcmFwcGVyOiB7XG4gICAgd2lkdGg6ICczMDBweCcsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZicsXG4gICAgYm9yZGVyOiAnMnB4IHNvbGlkICNkM2QzZDMnXG4gIH0sXG4gIGFubm90YXRpb25zV3JhcHBlcjoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICB9LFxuICBjb250cm9sc1dyYXBwZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICBib3JkZXJUb3A6ICcycHggc29saWQgI2QzZDNkMydcbiAgfSxcbiAgYnV0dG9uOiB7XG4gICAgd2lkdGg6ICcyMiUnLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgcGFkZGluZzogJzRweCcsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkICNkM2QzZDMnLFxuICAgICcmOm5vdCg6bnRoLWNoaWxkKDRuKSknOiB7XG4gICAgICBib3JkZXJSaWdodDogJzFweCBzb2xpZCAjZDNkM2QzJyxcbiAgICB9LFxuICAgICcmOm50aC1jaGlsZCg0biknOiB7XG4gICAgICBmbGV4R3JvdzogMVxuICAgIH0sXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZDNkM2QzJ1xuICAgIH0sXG4gIH0sXG4gIHBvc2l0aXZlOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiKDE1MywgMjU1LCAxNTMpICFpbXBvcnRhbnQnLFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgZmlsdGVyOiAnYnJpZ2h0bmVzcyg4NSUpJ1xuICAgIH1cbiAgfSxcbiAgbmVnYXRpdmU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMjU1LCAyMDQsIDIzOCkgIWltcG9ydGFudCcsXG4gICAgJyY6aG92ZXInOiB7XG4gICAgICBmaWx0ZXI6ICdicmlnaHRuZXNzKDg1JSknXG4gICAgfVxuICB9LFxuICBob2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICBib3JkZXJUb3A6ICcycHggc29saWQgI2QzZDNkMydcbiAgfSxcbiAgYXJyb3c6IHtcbiAgICBvdmVyZmxvd1g6ICd1bnNldCcsXG4gICAgb3ZlcmZsb3dZOiAndW5zZXQnLFxuICAgIG1hcmdpblRvcDogJy0xNnB4JyxcbiAgICAnJjo6YWZ0ZXInOiB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIGxlZnQ6ICdjYWxjKDUwJSAtIDdweCknLFxuICAgICAgLy8gYm90dG9tOiAwLFxuICAgICAgYm9yZGVyOiAnc29saWQgdHJhbnNwYXJlbnQnLFxuICAgICAgY29udGVudDogJ1wiXCInLFxuICAgICAgaGVpZ2h0OiAwLFxuICAgICAgd2lkdGg6IDAsXG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICBib3JkZXJXaWR0aDogJzdweCcsXG4gICAgICBib3JkZXJUb3BDb2xvcjogJ2JsYWNrJ1xuICAgIH1cbiAgfVxufTtcblxuY2xhc3MgQW5ub3RhdGlvbk1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGFuY2hvckVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGFubm90YXRpb25zOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgaXNOZXdBbm5vdGF0aW9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvbkNsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25FZGl0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbldyaXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkFubm90YXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYW5jaG9yRWwsXG4gICAgICBhbm5vdGF0aW9ucyxcbiAgICAgIGNsYXNzZXMsXG4gICAgICBpc05ld0Fubm90YXRpb24sXG4gICAgICBvbkFubm90YXRlLFxuICAgICAgb25DbG9zZSxcbiAgICAgIG9uRWRpdCxcbiAgICAgIG9uRGVsZXRlLFxuICAgICAgb25Xcml0ZSxcbiAgICAgIG9wZW5cbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8UG9wb3ZlclxuICAgICAgICBhbmNob3JFbD17YW5jaG9yRWx9XG4gICAgICAgIG9wZW49e29wZW59XG4gICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgIGNsYXNzZXM9e3twYXBlcjogY2xhc3Nlcy5hcnJvd319XG4gICAgICAgIGVsZXZhdGlvbj17NX1cbiAgICAgICAgYW5jaG9yT3JpZ2luPXt7XG4gICAgICAgICAgdmVydGljYWw6ICd0b3AnLFxuICAgICAgICAgIGhvcml6b250YWw6ICdjZW50ZXInLFxuICAgICAgICB9fVxuICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3tcbiAgICAgICAgICB2ZXJ0aWNhbDogJ2JvdHRvbScsXG4gICAgICAgICAgaG9yaXpvbnRhbDogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLm1haW5XcmFwcGVyfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5hbm5vdGF0aW9uc1dyYXBwZXJ9PlxuICAgICAgICAgICAge2Fubm90YXRpb25zLm1hcCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGtleT17YGFubm90YXRpb24tJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXMuYnV0dG9uLFxuICAgICAgICAgICAgICAgICAgYW5ub3RhdGlvbi50eXBlID09PSAncG9zaXRpdmUnID8gY2xhc3Nlcy5wb3NpdGl2ZSA6IGNsYXNzZXMubmVnYXRpdmVcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQW5ub3RhdGUoYW5ub3RhdGlvbil9XG4gICAgICAgICAgICAgID57YW5ub3RhdGlvbi5sYWJlbH08L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbnRyb2xzV3JhcHBlcn0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259IG9uQ2xpY2s9e29uQ2xvc2V9PlxuICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e3BvaW50ZXJFdmVudHM6ICdub25lJ319IGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259Lz5cbiAgICAgICAgICAgIHtpc05ld0Fubm90YXRpb24gPyAoXG4gICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5idXR0b24sIGNsYXNzZXMucG9zaXRpdmUpfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Xcml0ZSgncG9zaXRpdmUnKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBXcml0ZVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmJ1dHRvbiwgY2xhc3Nlcy5uZWdhdGl2ZSl9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbldyaXRlKCduZWdhdGl2ZScpfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIFdyaXRlXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufSBvbkNsaWNrPXtvbkRlbGV0ZX0+XG4gICAgICAgICAgICAgICAgICBEZWxldGVcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259IG9uQ2xpY2s9e29uRWRpdH0+XG4gICAgICAgICAgICAgICAgICBFZGl0XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvUG9wb3Zlcj5cbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoQW5ub3RhdGlvbk1lbnUpO1xuIl19
205
+ //# sourceMappingURL=annotation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/annotation/annotation-menu.jsx"],"names":["styles","mainWrapper","width","overflow","borderRadius","backgroundColor","border","annotationsWrapper","display","flexWrap","controlsWrapper","borderTop","button","textAlign","padding","cursor","borderBottom","borderRight","flexGrow","positive","filter","negative","holder","arrow","overflowX","overflowY","marginTop","position","left","content","height","pointerEvents","borderWidth","borderTopColor","AnnotationMenu","props","anchorEl","annotations","classes","isNewAnnotation","onAnnotate","onClose","onEdit","onDelete","onWrite","open","paper","vertical","horizontal","map","annotation","index","type","label","React","Component","PropTypes","object","bool","array","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Popover } from '@material-ui/core';\n\nconst styles = {\n mainWrapper: {\n width: '300px',\n overflow: 'hidden',\n borderRadius: '4px',\n backgroundColor: '#ffffff',\n border: '2px solid #d3d3d3'\n },\n annotationsWrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n controlsWrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n borderTop: '2px solid #d3d3d3'\n },\n button: {\n width: '22%',\n textAlign: 'center',\n padding: '4px',\n cursor: 'pointer',\n borderBottom: '1px solid #d3d3d3',\n '&:not(:nth-child(4n))': {\n borderRight: '1px solid #d3d3d3',\n },\n '&:nth-child(4n)': {\n flexGrow: 1\n },\n '&:hover': {\n backgroundColor: '#d3d3d3'\n },\n },\n positive: {\n backgroundColor: 'rgb(153, 255, 153) !important',\n '&:hover': {\n filter: 'brightness(85%)'\n }\n },\n negative: {\n backgroundColor: 'rgb(255, 204, 238) !important',\n '&:hover': {\n filter: 'brightness(85%)'\n }\n },\n holder: {\n display: 'flex',\n flexWrap: 'wrap',\n borderTop: '2px solid #d3d3d3'\n },\n arrow: {\n overflowX: 'unset',\n overflowY: 'unset',\n marginTop: '-16px',\n '&::after': {\n position: 'absolute',\n left: 'calc(50% - 7px)',\n // bottom: 0,\n border: 'solid transparent',\n content: '\"\"',\n height: 0,\n width: 0,\n pointerEvents: 'none',\n borderWidth: '7px',\n borderTopColor: 'black'\n }\n }\n};\n\nclass AnnotationMenu extends React.Component {\n static propTypes = {\n anchorEl: PropTypes.object,\n open: PropTypes.bool,\n annotations: PropTypes.array,\n isNewAnnotation: PropTypes.bool,\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n onEdit: PropTypes.func,\n onWrite: PropTypes.func,\n onAnnotate: PropTypes.func,\n };\n\n render() {\n const {\n anchorEl,\n annotations,\n classes,\n isNewAnnotation,\n onAnnotate,\n onClose,\n onEdit,\n onDelete,\n onWrite,\n open\n } = this.props;\n\n return (\n <Popover\n anchorEl={anchorEl}\n open={open}\n onClose={onClose}\n classes={{paper: classes.arrow}}\n elevation={5}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'center',\n }}\n transformOrigin={{\n vertical: 'bottom',\n horizontal: 'center',\n }}\n >\n <div className={classes.mainWrapper}>\n <div className={classes.annotationsWrapper}>\n {annotations.map((annotation, index) => (\n <div\n key={`annotation-${index}`}\n className={classNames(\n classes.button,\n annotation.type === 'positive' ? classes.positive : classes.negative\n )}\n onClick={() => onAnnotate(annotation)}\n >{annotation.label}</div>\n ))}\n </div>\n <div className={classes.controlsWrapper}>\n <div className={classes.button} onClick={onClose}>\n Cancel\n </div>\n <div style={{pointerEvents: 'none'}} className={classes.button}/>\n {isNewAnnotation ? (\n <React.Fragment>\n <div\n className={classNames(classes.button, classes.positive)}\n onClick={() => onWrite('positive')}\n >\n Write\n </div>\n <div\n className={classNames(classes.button, classes.negative)}\n onClick={() => onWrite('negative')}\n >\n Write\n </div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className={classes.button} onClick={onDelete}>\n Delete\n </div>\n <div className={classes.button} onClick={onEdit}>\n Edit\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </Popover>\n );\n }\n};\n\nexport default withStyles(styles)(AnnotationMenu);\n"],"file":"annotation-menu.js"}
@@ -246,4 +246,4 @@ var getLabelElement = function getLabelElement(id) {
246
246
  };
247
247
 
248
248
  exports.getLabelElement = getLabelElement;
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbm5vdGF0aW9uL2Fubm90YXRpb24tdXRpbHMuanMiXSwibmFtZXMiOlsiZ2V0QWxsVGV4dE5vZGVzQmVmb3JlUG9zaXRpb24iLCJub2RlIiwic3RvcE9mZnNldCIsIm5vZGVBcnJheSIsIm5vZGVzIiwib2Zmc2V0IiwicmVkdWNlIiwiYWNjIiwidGV4dENvbnRlbnQiLCJsZW5ndGgiLCJrZWVwV2Fsa2luZyIsIm5vZGVUeXBlIiwicGFyZW50Tm9kZSIsImhhc0F0dHJpYnV0ZSIsInB1c2giLCJmaXJzdENoaWxkIiwibmV4dFNpYmxpbmciLCJnZXRET01Ob2RlcyIsInN0YXJ0T2Zmc2V0IiwiZW5kT2Zmc2V0Iiwicm9vdE5vZGUiLCJ0ZXh0Tm9kZXNUb0VuZCIsImRvbU5vZGVzIiwic3RhcnQiLCJmb3JFYWNoIiwiZW5kIiwiZ2V0VGV4dE5vZGVzQmV0d2VlbiIsInJhbmdlIiwiY29tbW9uQW5jZXN0b3JDb250YWluZXIiLCJzdGFydE5vZGUiLCJzdGFydENvbnRhaW5lciIsImVuZE5vZGUiLCJlbmRDb250YWluZXIiLCJ0ZXh0Tm9kZXMiLCJwYXN0U3RhcnROb2RlIiwicmVhY2hlZEVuZE5vZGUiLCJ0ZXh0IiwiZ2V0VGV4dE5vZGVzIiwidmFsdWUiLCJub2RlVmFsdWUiLCJjaGlsZE5vZGVzIiwic3Vic3RyaW5nIiwiY2hpbGROb2RlIiwic3Vycm91bmRDb250ZW50Iiwid3JhcHBlciIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInN1cnJvdW5kQ29udGVudHMiLCJ3cmFwUmFuZ2UiLCJub2Rlc0JldHdlZW4iLCJzdGFydFJhbmdlIiwiY3JlYXRlUmFuZ2UiLCJzZWxlY3ROb2RlQ29udGVudHMiLCJzZXRTdGFydCIsInN0YXJ0V3JhcHBlciIsImVuZFJhbmdlIiwic2VsZWN0Tm9kZSIsInNldEVuZCIsImVuZFdyYXBwZXIiLCJjZW50ZXJXcmFwcGVycyIsIm1hcCIsImluc2VydEJlZm9yZSIsImFwcGVuZENoaWxkIiwiZ2V0UmFuZ2VEZXRhaWxzIiwicmFuZ2VCZWZvcmUiLCJ0ZXh0U2VsZWN0ZWQiLCJxdW90ZSIsInJlbW92ZUVsZW1zV3JhcHBpbmciLCJlbGVtcyIsImNvbnRhaW5lciIsImVsZW0iLCJwYXJlbnQiLCJjaGlsZE5vZGVzTGVuZ3RoIiwiaSIsImNyZWF0ZVRleHROb2RlIiwicmVtb3ZlQ2hpbGQiLCJub3JtYWxpemUiLCJjbGVhclNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwid2luZG93IiwiZW1wdHkiLCJzZWxlY3Rpb24iLCJpc1NpZGVMYWJlbCIsInNlYXJjaCIsImdldEFubm90YXRpb25FbGVtZW50cyIsImlkIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImdldExhYmVsRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLElBQU1BLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBZ0MsQ0FBQ0MsSUFBRCxFQUFPQyxVQUFQLEVBQW1CQyxTQUFuQixFQUFpQztBQUNyRSxNQUFNQyxLQUFLLEdBQUlELFNBQUQsR0FBY0EsU0FBZCxHQUEwQixFQUF4QztBQUNBLE1BQU1FLE1BQU0sR0FBR0QsS0FBSyxDQUFDRSxNQUFOLENBQWEsVUFBQ0MsR0FBRCxFQUFNTixJQUFOO0FBQUEsV0FBZU0sR0FBRyxHQUFHTixJQUFJLENBQUNPLFdBQUwsQ0FBaUJDLE1BQXRDO0FBQUEsR0FBYixFQUEyRCxDQUEzRCxDQUFmO0FBQ0EsTUFBSUMsV0FBVyxHQUFHLElBQWxCOztBQUVBLE1BQUlMLE1BQU0sR0FBR0gsVUFBYixFQUF5QjtBQUN2QixXQUFPLEtBQVA7QUFDRDs7QUFFRCxNQUFJRCxJQUFKLEVBQVU7QUFDUjtBQUNBLFFBQUlBLElBQUksQ0FBQ1UsUUFBTCxLQUFrQixDQUFsQixJQUF1QlYsSUFBSSxDQUFDVyxVQUE1QixJQUEwQyxDQUFDWCxJQUFJLENBQUNXLFVBQUwsQ0FBZ0JDLFlBQWhCLENB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TUFJTyxJQUFJOEIsTUFBTSxDQUFDSCxZQUFQLEdBQXNCSSxLQUExQixFQUFpQztBQUN0QztBQUNBRCxNQUFBQSxNQUFNLENBQUNILFlBQVAsR0FBc0JJLEtBQXRCO0FBQ0Q7QUFDRixHQVZNLE1BVUEsSUFBSXJDLFFBQVEsQ0FBQ3NDLFNBQWIsRUFBd0I7QUFDN0I7QUFDQXRDLElBQUFBLFFBQVEsQ0FBQ3NDLFNBQVQsQ0FBbUJELEtBQW5CO0FBQ0Q7QUFDRixDQW5CTSxDLENBcUJQOzs7OztBQUNPLElBQU1FLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUFoRCxJQUFJO0FBQUEsU0FBSUEsSUFBSSxDQUFDM0IsTUFBTCxJQUFlLEVBQWYsSUFBcUIyQixJQUFJLENBQUNpRCxNQUFMLENBQVksWUFBWixNQUE4QixDQUFDLENBQXhEO0FBQUEsQ0FBeEI7Ozs7QUFFQSxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQUFDLEVBQUU7QUFBQSxTQUFJQyxLQUFLLENBQUNDLElBQU4sQ0FBVzVDLFFBQVEsQ0FBQzZDLGdCQUFULHFCQUF1Q0gsRUFBdkMsUUFBWCxDQUFKO0FBQUEsQ0FBaEM7Ozs7QUFFQSxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUFKLEVBQUU7QUFBQSxTQUFJMUMsUUFBUSxDQUFDK0MsYUFBVCx5QkFBd0NMLEVBQXhDLFFBQUo7QUFBQSxDQUExQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJldHVybnMgRE9NIE5vZGVzIGJlZm9yZSB0aGUgc3RvcE9mZnNldFxuY29uc3QgZ2V0QWxsVGV4dE5vZGVzQmVmb3JlUG9zaXRpb24gPSAobm9kZSwgc3RvcE9mZnNldCwgbm9kZUFycmF5KSA9PiB7XG4gIGNvbnN0IG5vZGVzID0gKG5vZGVBcnJheSkgPyBub2RlQXJyYXkgOiBbXTtcbiAgY29uc3Qgb2Zmc2V0ID0gbm9kZXMucmVkdWNlKChhY2MsIG5vZGUpID0+IGFjYyArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoLCAwKTtcbiAgbGV0IGtlZXBXYWxraW5nID0gdHJ1ZTtcblxuICBpZiAob2Zmc2V0ID4gc3RvcE9mZnNldCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChub2RlKSB7XG4gICAgLy8gMyA9IEhUTUwgRE9NIG5vZGUgdmFsdWUgZm9yIHRleHQgbm9kZXNcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMyAmJiBub2RlLnBhcmVudE5vZGUgJiYgIW5vZGUucGFyZW50Tm9kZS5oYXNBdHRyaWJ1dGUoJ2RhdGEtYW5uLWlkJykpIHtcbiAgICAgIG5vZGVzLnB1c2gobm9kZSk7XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUuZmlyc3RDaGlsZDtcbiAgfVxuXG4gIHdoaWxlKG5vZGUgJiYga2VlcFdhbGtpbmcpIHtcbiAgICBrZWVwV2Fsa2luZyA9IGdldEFsbFRleHROb2Rlc0JlZm9yZVBvc2l0aW9uKG5vZGUsIHN0b3BPZmZzZXQsIG5vZGVzKTtcbiAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgfVxuXG4gIHJldHVybiBub2Rlcztcbn07XG5cbi8vIHJldHVybnMgRE9NIE5vZGVzIHRoYXQgb3ZlcmxhcCB0aGUgc3RhcnQgb3IgZW5kIHBvc2l0aW9uXG5leHBvcnQgY29uc3QgZ2V0RE9NTm9kZXMgPSAoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCwgcm9vdE5vZGUpID0+IHtcbiAgY29uc3QgdGV4dE5vZGVzVG9FbmQgPSBnZXRBbGxUZXh0Tm9kZXNCZWZvcmVQb3NpdGlvbihyb290Tm9kZSwgZW5kT2Zmc2V0KTtcbiAgY29uc3QgZG9tTm9kZXMgPSBbXTtcbiAgbGV0IHN0YXJ0ID0gMDtcblxuICB0ZXh0Tm9kZXNUb0VuZC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgY29uc3QgZW5kID0gc3RhcnQgKyBub2RlLnRleHRDb250ZW50Lmxlbmd0aDtcblxuICAgIFtzdGFydE9mZnNldCwgZW5kT2Zmc2V0XS5mb3JFYWNoKChvZmZzZXQpID0+IHtcbiAgICAgIGlmIChzdGFydCA8PSBvZmZzZXQgJiYgb2Zmc2V0IDwgZW5kKSB7XG4gICAgICAgIGRvbU5vZGVzLnB1c2goe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBzdGFydFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHN0YXJ0ID0gZW5kO1xuICB9KTtcblxuICByZXR1cm4gZG9tTm9kZXM7XG59O1xuXG4vLyByZXR1cm5zIFsgdGV4dE5vZGVzLCB0ZXh0IF1cbi8vIHRleHROb2RlcyA9IERPTSBUZXh0IE5vZGVzIGJldHdlZW4gc3RhcnQgcmFuZ2UgYW5kIGVuZCByYW5nZSBub2RlXG4vLyB0ZXh0ID0gcGxhaW4gdGV4dCBpbiByYW5nZVxuY29uc3QgZ2V0VGV4dE5vZGVzQmV0d2VlbiA9IChyYW5nZSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29tbW9uQW5jZXN0b3JDb250YWluZXI6IHJvb3ROb2RlLFxuICAgIHN0YXJ0Q29udGFpbmVyOiBzdGFydE5vZGUsXG4gICAgZW5kQ29udGFpbmVyOiBlbmROb2RlLFxuICAgIHN0YXJ0T2Zmc2V0LFxuICAgIGVuZE9mZnNldFxuICB9ID0gcmFuZ2U7XG4gIGNvbnN0IHRleHROb2RlcyA9IFtdO1xuICBsZXQgcGFzdFN0YXJ0Tm9kZSA9IGZhbHNlO1xuICBsZXQgcmVhY2hlZEVuZE5vZGUgPSBmYWxzZTtcbiAgbGV0IHRleHQgPSAnJztcblxuICBjb25zdCBnZXRUZXh0Tm9kZXMgPSAobm9kZSkgPT4ge1xuICAgIGNvbnN0IHsgbm9kZVZhbHVlOiB2YWx1ZSwgY2hpbGROb2RlcyB9ID0gbm9kZTtcblxuICAgIGlmKG5vZGUgPT09IHN0YXJ0Tm9kZSAmJiBub2RlID09PSBlbmROb2RlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGV4dCArPSB2YWx1ZS5zdWJzdHJpbmcoc3RhcnRPZmZzZXQsIGVuZE9mZnNldCk7XG4gICAgICB9XG5cbiAgICAgIHBhc3RTdGFydE5vZGUgPSByZWFjaGVkRW5kTm9kZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmKG5vZGUgPT09IHN0YXJ0Tm9kZSkge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRleHQgKz0gdmFsdWUuc3Vic3RyaW5nKHN0YXJ0T2Zmc2V0KTtcbiAgICAgIH1cblxuICAgICAgcGFzdFN0YXJ0Tm9kZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmKG5vZGUgPT09IGVuZE5vZGUpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0ZXh0ICs9IHZhbHVlLnN1YnN0cmluZygwLCBlbmRPZmZzZXQpO1xuICAgICAgfVxuXG4gICAgICByZWFjaGVkRW5kTm9kZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmKG5vZGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gMyAmJiBub2RlLnBhcmVudE5vZGUgJiYgIW5vZGUucGFyZW50Tm9kZS5oYXNBdHRyaWJ1dGUoJ2RhdGEtYW5uLWlkJykpIHtcbiAgICAgIC8vIDMgPSBIVE1MIERPTSBub2RlIHZhbHVlIGZvciB0ZXh0IG5vZGVzXG4gICAgICBpZiAodmFsdWUgJiYgcGFzdFN0YXJ0Tm9kZSAmJiAhcmVhY2hlZEVuZE5vZGUpIHtcbiAgICAgICAgdGV4dCArPSB2YWx1ZTtcbiAgICAgICAgdGV4dE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGlmICghcmVhY2hlZEVuZE5vZGUpIHtcbiAgICAgICAgZ2V0VGV4dE5vZGVzKGNoaWxkTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZ2V0VGV4dE5vZGVzKHJvb3ROb2RlKTtcblxuICByZXR1cm4gW3RleHROb2RlcywgdGV4dF07XG59O1xuXG5jb25zdCBzdXJyb3VuZENvbnRlbnQgPSByYW5nZSA9PiB7XG4gIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdTUEFOJyk7XG5cbiAgcmFuZ2Uuc3Vycm91bmRDb250ZW50cyh3cmFwcGVyKTtcblxuICByZXR1cm4gd3JhcHBlcjtcbn07XG5cbi8vIHdyYXAgZWFjaCBET00gVGV4dCBOb2RlIGluIHJhbmdlIGludG8gYSBzcGFuXG5leHBvcnQgY29uc3Qgd3JhcFJhbmdlID0gKHJhbmdlKSA9PiB7XG4gIGlmIChyYW5nZS5zdGFydENvbnRhaW5lciA9PT0gcmFuZ2UuZW5kQ29udGFpbmVyKSB7XG4gICAgcmV0dXJuIFsgc3Vycm91bmRDb250ZW50KHJhbmdlKSBdO1xuICB9XG5cbiAgY29uc3QgWyBub2Rlc0JldHdlZW4gXSA9IGdldFRleHROb2Rlc0JldHdlZW4ocmFuZ2UpO1xuXG4gIC8vIHdyYXAgdGhlIHN0YXJ0IG5vZGVcbiAgY29uc3Qgc3RhcnRSYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG5cbiAgc3RhcnRSYW5nZS5zZWxlY3ROb2RlQ29udGVudHMocmFuZ2Uuc3RhcnRDb250YWluZXIpO1xuICBzdGFydFJhbmdlLnNldFN0YXJ0KHJhbmdlLnN0YXJ0Q29udGFpbmVyLCByYW5nZS5zdGFydE9mZnNldCk7XG5cbiAgY29uc3Qgc3RhcnRXcmFwcGVyID0gc3Vycm91bmRDb250ZW50KHN0YXJ0UmFuZ2UpO1xuXG4gIC8vIHdyYXAgdGhlIGVuZCBub2RlXG4gIGNvbnN0IGVuZFJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcblxuICBlbmRSYW5nZS5zZWxlY3ROb2RlKHJhbmdlLmVuZENvbnRhaW5lcik7XG4gIGVuZFJhbmdlLnNldEVuZChyYW5nZS5lbmRDb250YWluZXIsIHJhbmdlLmVuZE9mZnNldCk7XG5cbiAgY29uc3QgZW5kV3JhcHBlciA9IHN1cnJvdW5kQ29udGVudChlbmRSYW5nZSk7XG5cbiAgLy8gd3JhcCB0aGUgbm9kZXMgYmV0d2VlbiBzdGFydCBhbmQgZW5kIG5vZGVzLCBpZiBhbnlcbiAgY29uc3QgY2VudGVyV3JhcHBlcnMgPSBub2Rlc0JldHdlZW4ubWFwKChub2RlKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ1NQQU4nKTtcblxuICAgIG5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod3JhcHBlciwgbm9kZSk7XG4gICAgd3JhcHBlci5hcHBlbmRDaGlsZChub2RlKTtcblxuICAgIHJldHVybiB3cmFwcGVyO1xuICB9KTtcblxuICByZXR1cm4gWyBzdGFydFdyYXBwZXIsIC4uLmNlbnRlcldyYXBwZXJzLCBlbmRXcmFwcGVyIF07XG59O1xuXG4vLyByZXR1cm5zIHRleHQgaW4gcmFuZ2Ugd2l0aCBzdGFydCBhbmQgZW5kIHBvc2l0aW9uIGluIHJvb3ROb2RlXG5leHBvcnQgY29uc3QgZ2V0UmFuZ2VEZXRhaWxzID0gKHJhbmdlLCByb290Tm9kZSkgPT4ge1xuICBjb25zdCByYW5nZUJlZm9yZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG5cbiAgcmFuZ2VCZWZvcmUuc2V0U3RhcnQocm9vdE5vZGUsIDApO1xuICByYW5nZUJlZm9yZS5zZXRFbmQocmFuZ2Uuc3RhcnRDb250YWluZXIsIHJhbmdlLnN0YXJ0T2Zmc2V0KTtcblxuICBjb25zdCBbICwgdGV4dCBdID0gZ2V0VGV4dE5vZGVzQmV0d2VlbihyYW5nZUJlZm9yZSk7XG4gIGNvbnN0IFsgLCB0ZXh0U2VsZWN0ZWQgXSA9IGdldFRleHROb2Rlc0JldHdlZW4ocmFuZ2UpO1xuICBjb25zdCBzdGFydCA9IHRleHQubGVuZ3RoO1xuICBjb25zdCBlbmQgPSBzdGFydCArIHRleHRTZWxlY3RlZC5sZW5ndGg7XG5cbiAgcmV0dXJuIHtcbiAgICBxdW90ZTogdGV4dFNlbGVjdGVkLFxuICAgIHN0YXJ0LFxuICAgIGVuZFxuICB9O1xufTtcblxuLy8gcmVtb3ZlcyB0aGUgYW5ub3RhdGlvbiBzcGFucyB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50IGluc2lkZVxuZXhwb3J0IGNvbnN0IHJlbW92ZUVsZW1zV3JhcHBpbmcgPSAoZWxlbXMsIGNvbnRhaW5lcikgPT4ge1xuICAoZWxlbXMgfHwgW10pLmZvckVhY2goZWxlbSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlO1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBlbGVtLmNoaWxkTm9kZXM7XG4gICAgY29uc3QgY2hpbGROb2Rlc0xlbmd0aCA9IGNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNMZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkTm9kZXNMZW5ndGg7IGkrKykge1xuICAgICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGNoaWxkTm9kZXNbMF0sIGVsZW0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGVsZW0udGV4dENvbnRlbnQpLCBlbGVtKTtcbiAgICB9XG5cbiAgICBwYXJlbnQucmVtb3ZlQ2hpbGQoZWxlbSk7XG4gIH0pO1xuXG4gIGNvbnRhaW5lci5ub3JtYWxpemUoKTtcbn07XG5cbi8vIGFsc28gdXNlZCBpbiBzZWxlY3QtdGV4dFxuZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZm9yIGFsbCBuZXcgYnJvd3NlcnMgKElFOSssIENocm9tZSwgRmlyZWZveClcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShkb2N1bWVudC5jcmVhdGVSYW5nZSgpKTtcbiAgfSBlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZXF1YWxzIHdpdGggdGhlIGRvY3VtZW50LmdldFNlbGVjdGlvbiAoTVNETiBpbmZvKVxuICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgICAvLyBmb3IgYWxsIG5ldyBicm93c2VycyAoSUU5KywgQ2hyb21lLCBGaXJlZm94KVxuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkpO1xuICAgIH0gZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLmVtcHR5KSB7XG4gICAgICAvLyBDaHJvbWUgc3VwcG9ydHMgdGhpcyBhcyB3ZWxsXG4gICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7XG4gICAgLy8gSUU4LVxuICAgIGRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG4vLyBjaGVjayBpZiBhbm5vdGF0aW9uIGxhYmVsIGNvbnRhaW5zIGxpbmUgYnJlYWtzIG9yIGl0cyBsZW5ndGggPj0gMjAgY2hhcmFjdGVyc1xuZXhwb3J0IGNvbnN0IGlzU2lkZUxhYmVsID0gdGV4dCA9PiB0ZXh0Lmxlbmd0aCA+PSAyMCB8fCB0ZXh0LnNlYXJjaCgvXFxufFxccnxcXHJcXG4vKSAhPT0gLTE7XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uRWxlbWVudHMgPSBpZCA9PiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFtkYXRhLWlkPScke2lkfSddYCkpO1xuXG5leHBvcnQgY29uc3QgZ2V0TGFiZWxFbGVtZW50ID0gaWQgPT4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtYW5uLWlkPScke2lkfSddYCk7XG4iXX0=
249
+ //# sourceMappingURL=annotation-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/annotation/annotation-utils.js"],"names":["getAllTextNodesBeforePosition","node","stopOffset","nodeArray","nodes","offset","reduce","acc","textContent","length","keepWalking","nodeType","parentNode","hasAttribute","push","firstChild","nextSibling","getDOMNodes","startOffset","endOffset","rootNode","textNodesToEnd","domNodes","start","forEach","end","getTextNodesBetween","range","commonAncestorContainer","startNode","startContainer","endNode","endContainer","textNodes","pastStartNode","reachedEndNode","text","getTextNodes","value","nodeValue","childNodes","substring","childNode","surroundContent","wrapper","document","createElement","surroundContents","wrapRange","nodesBetween","startRange","createRange","selectNodeContents","setStart","startWrapper","endRange","selectNode","setEnd","endWrapper","centerWrappers","map","insertBefore","appendChild","getRangeDetails","rangeBefore","textSelected","quote","removeElemsWrapping","elems","container","elem","parent","childNodesLength","i","createTextNode","removeChild","normalize","clearSelection","getSelection","removeAllRanges","addRange","window","empty","selection","isSideLabel","search","getAnnotationElements","id","Array","from","querySelectorAll","getLabelElement","querySelector"],"mappings":"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","sourcesContent":["// returns DOM Nodes before the stopOffset\nconst getAllTextNodesBeforePosition = (node, stopOffset, nodeArray) => {\n const nodes = (nodeArray) ? nodeArray : [];\n const offset = nodes.reduce((acc, node) => acc + node.textContent.length, 0);\n let keepWalking = true;\n\n if (offset > stopOffset) {\n return false;\n }\n\n if (node) {\n // 3 = HTML DOM node value for text nodes\n if (node.nodeType === 3 && node.parentNode && !node.parentNode.hasAttribute('data-ann-id')) {\n nodes.push(node);\n }\n\n node = node.firstChild;\n }\n\n while(node && keepWalking) {\n keepWalking = getAllTextNodesBeforePosition(node, stopOffset, nodes);\n node = node.nextSibling;\n }\n\n return nodes;\n};\n\n// returns DOM Nodes that overlap the start or end position\nexport const getDOMNodes = (startOffset, endOffset, rootNode) => {\n const textNodesToEnd = getAllTextNodesBeforePosition(rootNode, endOffset);\n const domNodes = [];\n let start = 0;\n\n textNodesToEnd.forEach((node) => {\n const end = start + node.textContent.length;\n\n [startOffset, endOffset].forEach((offset) => {\n if (start <= offset && offset < end) {\n domNodes.push({\n node,\n offset: offset - start\n });\n }\n });\n\n start = end;\n });\n\n return domNodes;\n};\n\n// returns [ textNodes, text ]\n// textNodes = DOM Text Nodes between start range and end range node\n// text = plain text in range\nconst getTextNodesBetween = (range) => {\n const {\n commonAncestorContainer: rootNode,\n startContainer: startNode,\n endContainer: endNode,\n startOffset,\n endOffset\n } = range;\n const textNodes = [];\n let pastStartNode = false;\n let reachedEndNode = false;\n let text = '';\n\n const getTextNodes = (node) => {\n const { nodeValue: value, childNodes } = node;\n\n if(node === startNode && node === endNode) {\n if (value) {\n text += value.substring(startOffset, endOffset);\n }\n\n pastStartNode = reachedEndNode = true;\n } else if(node === startNode) {\n if (value) {\n text += value.substring(startOffset);\n }\n\n pastStartNode = true;\n } else if(node === endNode) {\n if (value) {\n text += value.substring(0, endOffset);\n }\n\n reachedEndNode = true;\n } else if(node && node.nodeType === 3 && node.parentNode && !node.parentNode.hasAttribute('data-ann-id')) {\n // 3 = HTML DOM node value for text nodes\n if (value && pastStartNode && !reachedEndNode) {\n text += value;\n textNodes.push(node);\n }\n }\n\n childNodes.forEach((childNode) => {\n if (!reachedEndNode) {\n getTextNodes(childNode);\n } else {\n return;\n }\n });\n };\n\n getTextNodes(rootNode);\n\n return [textNodes, text];\n};\n\nconst surroundContent = range => {\n const wrapper = document.createElement('SPAN');\n\n range.surroundContents(wrapper);\n\n return wrapper;\n};\n\n// wrap each DOM Text Node in range into a span\nexport const wrapRange = (range) => {\n if (range.startContainer === range.endContainer) {\n return [ surroundContent(range) ];\n }\n\n const [ nodesBetween ] = getTextNodesBetween(range);\n\n // wrap the start node\n const startRange = document.createRange();\n\n startRange.selectNodeContents(range.startContainer);\n startRange.setStart(range.startContainer, range.startOffset);\n\n const startWrapper = surroundContent(startRange);\n\n // wrap the end node\n const endRange = document.createRange();\n\n endRange.selectNode(range.endContainer);\n endRange.setEnd(range.endContainer, range.endOffset);\n\n const endWrapper = surroundContent(endRange);\n\n // wrap the nodes between start and end nodes, if any\n const centerWrappers = nodesBetween.map((node) => {\n const wrapper = document.createElement('SPAN');\n\n node.parentNode.insertBefore(wrapper, node);\n wrapper.appendChild(node);\n\n return wrapper;\n });\n\n return [ startWrapper, ...centerWrappers, endWrapper ];\n};\n\n// returns text in range with start and end position in rootNode\nexport const getRangeDetails = (range, rootNode) => {\n const rangeBefore = document.createRange();\n\n rangeBefore.setStart(rootNode, 0);\n rangeBefore.setEnd(range.startContainer, range.startOffset);\n\n const [ , text ] = getTextNodesBetween(rangeBefore);\n const [ , textSelected ] = getTextNodesBetween(range);\n const start = text.length;\n const end = start + textSelected.length;\n\n return {\n quote: textSelected,\n start,\n end\n };\n};\n\n// removes the annotation spans without changing the content inside\nexport const removeElemsWrapping = (elems, container) => {\n (elems || []).forEach(elem => {\n const parent = elem.parentNode;\n const childNodes = elem.childNodes;\n const childNodesLength = childNodes.length;\n\n if (childNodesLength > 0) {\n for (let i = 0; i < childNodesLength; i++) {\n parent.insertBefore(childNodes[0], elem);\n }\n } else {\n parent.insertBefore(document.createTextNode(elem.textContent), elem);\n }\n\n parent.removeChild(elem);\n });\n\n container.normalize();\n};\n\n// also used in select-text\nexport const clearSelection = () => {\n if (document.getSelection) {\n // for all new browsers (IE9+, Chrome, Firefox)\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(document.createRange());\n } else if (window.getSelection) {\n // equals with the document.getSelection (MSDN info)\n if (window.getSelection().removeAllRanges) {\n // for all new browsers (IE9+, Chrome, Firefox)\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(document.createRange());\n } else if (window.getSelection().empty) {\n // Chrome supports this as well\n window.getSelection().empty();\n }\n } else if (document.selection) {\n // IE8-\n document.selection.empty();\n }\n};\n\n// check if annotation label contains line breaks or its length >= 20 characters\nexport const isSideLabel = text => text.length >= 20 || text.search(/\\n|\\r|\\r\\n/) !== -1;\n\nexport const getAnnotationElements = id => Array.from(document.querySelectorAll(`[data-id='${id}']`));\n\nexport const getLabelElement = id => document.querySelector(`[data-ann-id='${id}']`);\n"],"file":"annotation-utils.js"}