@pie-element/explicit-constructed-response 9.3.2-tip-tap.8 → 9.3.2-tip-tap.9

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.
@@ -244,4 +244,4 @@ exports.AlternateResponses = AlternateResponses;
244
244
  });
245
245
  var _default = AlternateResponses;
246
246
  exports["default"] = _default;
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hbHRlcm5hdGVSZXNwb25zZXMuanN4Il0sIm5hbWVzIjpbIkFsdGVybmF0ZVJlc3BvbnNlcyIsIm1heExlbmd0aFBlckNob2ljZSIsInByb3BzIiwibW9kZWwiLCJzdGF0ZSIsImNob2ljZXMiLCJ2YWx1ZXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwibWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCIsInNlbGVjdGVkVmFsdWVzIiwib2JqIiwiYyIsImtleSIsInNldFN0YXRlIiwidmFsdWVLZXkiLCJhcnIiLCJwdXNoIiwibGFiZWwiLCJ2YWx1ZSIsImNob2ljZSIsIm9uQ2hhbmdlIiwic2VjdGlvbkNob2ljZXMiLCJpc05ldyIsImZpbmQiLCJuZXdDaG9pY2VzIiwicmVkdWNlIiwibmV3VmFsIiwic2VjdGlvbiIsIm9uTGVuZ3RoQ2hhbmdlIiwibmV4dFByb3BzIiwidXBkYXRlQ2hvaWNlc0lmTmVlZGVkIiwic3BlbGxDaGVjayIsImNob2ljZXNFcnJvcnMiLCJwbHVnaW5Qcm9wcyIsInNlbGVjdGVkIiwib25TZWN0aW9uU2VsZWN0Iiwib25DaG9pY2VDaGFuZ2VkIiwib25DaG9pY2VSZW1vdmVkIiwib25MZW5ndGhDaGFuZ2VkIiwiZ2V0UmVtYWluaW5nQ2hvaWNlcyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJib29sIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7SUFFYUEsa0I7Ozs7Ozs7Ozs7Ozs7Ozs4RkFXSDtBQUFFQyxNQUFBQSxrQkFBa0IsRUFBRSwyQkFBVSxNQUFLQyxLQUFMLENBQVdDLEtBQVgsQ0FBaUJGLGtCQUEzQjtBQUF0QixLOzhHQVVnQixVQUFDQyxLQUFELEVBQVc7QUFDakMsVUFDRSxDQUFDLE1BQUtFLEtBQUwsQ0FBV0MsT0FB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QVVDLE1BRFI7QUFFakIxQyxFQUFBQSxLQUFLLEVBQUV5QyxzQkFBVUMsTUFBVixDQUFpQkMsVUFGUDtBQUdqQnhCLEVBQUFBLFFBQVEsRUFBRXNCLHNCQUFVRyxJQUFWLENBQWVELFVBSFI7QUFJakJoQixFQUFBQSxjQUFjLEVBQUVjLHNCQUFVRyxJQUFWLENBQWVELFVBSmQ7QUFLakJwQyxFQUFBQSx5QkFBeUIsRUFBRWtDLHNCQUFVSSxJQUFWLENBQWVGLFVBTHpCO0FBTWpCYixFQUFBQSxVQUFVLEVBQUVXLHNCQUFVSSxJQU5MO0FBT2pCYixFQUFBQSxXQUFXLEVBQUVTLHNCQUFVQztBQVBOLEM7ZUErTU43QyxrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IG1hcCBmcm9tICdsb2Rhc2gvbWFwJztcbmltcG9ydCByZWR1Y2UgZnJvbSAnbG9kYXNoL3JlZHVjZSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuXG5pbXBvcnQgQWx0ZXJuYXRlU2VjdGlvbiBmcm9tICcuL2FsdGVybmF0ZVNlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQWx0ZXJuYXRlUmVzcG9uc2VzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaG9pY2VzRXJyb3JzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25MZW5ndGhDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBwbHVnaW5Qcm9wczogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIHN0YXRlID0geyBtYXhMZW5ndGhQZXJDaG9pY2U6IGNsb25lRGVlcCh0aGlzLnByb3BzLm1vZGVsLm1heExlbmd0aFBlckNob2ljZSkgfTtcblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICB0aGlzLnVwZGF0ZUNob2ljZXNJZk5lZWRlZChuZXh0UHJvcHMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy51cGRhdGVDaG9pY2VzSWZOZWVkZWQodGhpcy5wcm9wcyk7XG4gIH1cblxuICB1cGRhdGVDaG9pY2VzSWZOZWVkZWQgPSAocHJvcHMpID0+IHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5zdGF0ZS5jaG9pY2VzIHx8XG4gICAgICAhaXNFcXVhbCh0aGlzLnN0YXRlLmNob2ljZXMsIHByb3BzLm1vZGVsLmNob2ljZXMpIHx8XG4gICAgICAhaXNFcXVhbChwcm9wcy5tb2RlbC5jaG9pY2VzLCB0aGlzLnByb3BzLm1vZGVsLmNob2ljZXMpIHx8XG4gICAgICAodGhpcy5zdGF0ZS52YWx1ZXMgJiYgT2JqZWN0LmtleXModGhpcy5zdGF0ZS52YWx1ZXMpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXModGhpcy5wcm9wcy5tb2RlbC5jaG9pY2VzKS5sZW5ndGgpIHx8XG4gICAgICBwcm9wcy5tYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkICE9PSB0aGlzLnByb3BzLm1heExlbmd0aFBlckNob2ljZUVuYWJsZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgY2hvaWNlcywgbWF4TGVuZ3RoUGVyQ2hvaWNlIH0gPSBwcm9wcy5tb2RlbDtcblxuICAgICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSByZWR1Y2UoXG4gICAgICAgIGNob2ljZXMsXG4gICAgICAgIChvYmosIGMsIGtleSkgPT4ge1xuICAgICAgICAgIC8vIGlmIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQgaXMgdHJ1ZSwgd2UgZGlzcGxheSBhbGwgdGhlIGNob2ljZXNcbiAgICAgICAgICBpZiAoYyAmJiAocHJvcHMubWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCB8fCBjLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICBvYmpba2V5XSA9IGNbMF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfSxcbiAgICAgICAge30sXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgY2hvaWNlczogcHJvcHMubW9kZWwuY2hvaWNlcyxcbiAgICAgICAgdmFsdWVzOiBzZWxlY3RlZFZhbHVlcyxcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlOiBjbG9uZURlZXAobWF4TGVuZ3RoUGVyQ2hvaWNlKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBnZXRSZW1haW5pbmdDaG9pY2VzID0gKHZhbHVlS2V5KSA9PiB7XG4gICAgY29uc3QgeyBjaG9pY2VzIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIHJlZHVjZShcbiAgICAgIGNob2ljZXMsXG4gICAgICAoYXJyLCBjLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGMgJiYgYy5sZW5ndGggPT09IDEgJiYgIXZhbHVlS2V5KSB7XG4gICAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgICAgbGFiZWw6IGNbMF0ubGFiZWwsXG4gICAgICAgICAgICB2YWx1ZToga2V5LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICAgIH0sXG4gICAgICBbXSxcbiAgICApO1xuICB9O1xuXG4gIG9uQ2hvaWNlQ2hhbmdlZCA9IChjaG9pY2UsIGtleSkgPT4ge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBjaG9pY2VzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHNlY3Rpb25DaG9pY2VzID0gY2hvaWNlc1trZXldIHx8IFtdO1xuXG4gICAgY29uc3QgaXNOZXcgPSAhc2VjdGlvbkNob2ljZXMuZmluZCgoYykgPT4gYy52YWx1ZSA9PT0gY2hvaWNlLnZhbHVlKTtcblxuICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBzZWN0aW9uQ2hvaWNlcy5yZWR1Y2UoKGFyciwgYykgPT4ge1xuICAgICAgY29uc3QgbmV3VmFsID0gYy52YWx1ZSA9PT0gY2hvaWNlLnZhbHVlID8gY2hvaWNlIDogYztcblxuICAgICAgYXJyLnB1c2gobmV3VmFsKTtcblxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbXSk7XG5cbiAgICBpZiAoaXNOZXcpIHtcbiAgICAgIG5ld0Nob2ljZXMucHVzaChjaG9pY2UpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKHtcbiAgICAgIC4uLmNob2ljZXMsXG4gICAgICBba2V5XTogbmV3Q2hvaWNlcyxcbiAgICB9KTtcbiAgfTtcblxuICBvbkNob2ljZVJlbW92ZWQgPSAodmFsdWUsIHNlY3Rpb24pID0+IHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgY2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBzZWN0aW9uQ2hvaWNlcyA9IGNob2ljZXNbc2VjdGlvbl0gfHwgW107XG5cbiAgICBjb25zdCBuZXdDaG9pY2VzID0gc2VjdGlvbkNob2ljZXMucmVkdWNlKChhcnIsIGMpID0+IHtcbiAgICAgIGlmIChjLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgfVxuXG4gICAgICBhcnIucHVzaChjKTtcblxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbXSk7XG5cbiAgICBvbkNoYW5nZSh7XG4gICAgICAuLi5jaG9pY2VzLFxuICAgICAgW3NlY3Rpb25dOiBuZXdDaG9pY2VzLFxuICAgIH0pO1xuICB9O1xuXG4gIG9uU2VjdGlvblNlbGVjdCA9IChjaG9pY2UsIGtleSkgPT4ge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBjaG9pY2VzLCB2YWx1ZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAoY2hvaWNlc1trZXldICYmIGNob2ljZXNba2V5XS5sZW5ndGggPiAxKSB7XG4gICAgICBpZiAoIWNob2ljZSkge1xuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY2hvaWNlcyxcbiAgICAgICAgICBba2V5XTogW2Nob2ljZXNba2V5XVswXV0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgY2hvaWNlczoge1xuICAgICAgICAgIC4uLmNob2ljZXMsXG4gICAgICAgICAgW2tleV06IFtcbiAgICAgICAgICAgIC4uLmNob2ljZXNba2V5XSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgICAgICB2YWx1ZTogJzEnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgW2tleV06IGNob2ljZXNba2V5XVswXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkxlbmd0aENoYW5nZWQgPSAodmFsdWUsIGtleSkgPT4ge1xuICAgIGNvbnN0IHsgbW9kZWwsIG9uTGVuZ3RoQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbWF4TGVuZ3RoUGVyQ2hvaWNlIH0gPSBtb2RlbDtcblxuICAgIG1heExlbmd0aFBlckNob2ljZVtrZXldID0gdmFsdWU7XG4gICAgb25MZW5ndGhDaGFuZ2UobWF4TGVuZ3RoUGVyQ2hvaWNlKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjaG9pY2VzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHtcbiAgICAgIG1vZGVsOiB7IG1heExlbmd0aFBlckNob2ljZSwgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCB9LFxuICAgICAgc3BlbGxDaGVjayxcbiAgICAgIGNob2ljZXNFcnJvcnMsXG4gICAgICBwbHVnaW5Qcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIHttYXAoY2hvaWNlcywgKGMsIGtleSkgPT4ge1xuICAgICAgICAgIC8vIGlmIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQgaXMgdHJ1ZSwgd2UgZGlzcGxheSBhbGwgdGhlIGNob2ljZXNcbiAgICAgICAgICBpZiAoYyAmJiAobWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCB8fCBjLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc3RhdGUudmFsdWVzW2tleV07XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBbHRlcm5hdGVTZWN0aW9uXG4gICAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkICYmIHNlbGVjdGVkLnZhbHVlfVxuICAgICAgICAgICAgICAgIGVycm9ycz17Y2hvaWNlc0Vycm9ycyAmJiBjaG9pY2VzRXJyb3JzW2tleV19XG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9eyhjaG9pY2UpID0+IHRoaXMub25TZWN0aW9uU2VsZWN0KGNob2ljZSwga2V5KX1cbiAgICAgICAgICAgICAgICBjaG9pY2VDaGFuZ2VkPXsoY2hvaWNlKSA9PiB0aGlzLm9uQ2hvaWNlQ2hhbmdlZChjaG9pY2UsIGtleSl9XG4gICAgICAgICAgICAgICAgY2hvaWNlUmVtb3ZlZD17KHZhbHVlKSA9PiB0aGlzLm9uQ2hvaWNlUmVtb3ZlZCh2YWx1ZSwga2V5KX1cbiAgICAgICAgICAgICAgICBsZW5ndGhDaGFuZ2VkPXsodmFsdWUpID0+IHRoaXMub25MZW5ndGhDaGFuZ2VkKHZhbHVlLCBrZXkpfVxuICAgICAgICAgICAgICAgIHNlbGVjdENob2ljZXM9e1tzZWxlY3RlZF19XG4gICAgICAgICAgICAgICAgY2hvaWNlcz17Y31cbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg9e21heExlbmd0aFBlckNob2ljZVtrZXldfVxuICAgICAgICAgICAgICAgIHNob3dNYXhMZW5ndGg9e21heExlbmd0aFBlckNob2ljZUVuYWJsZWR9XG4gICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja31cbiAgICAgICAgICAgICAgICBwbHVnaW5Qcm9wcz17cGx1Z2luUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG5cbiAgICAgICAge2Nob2ljZXMgJiYgT2JqZWN0LmtleXModGhpcy5zdGF0ZS52YWx1ZXMpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoY2hvaWNlcykubGVuZ3RoICYmIChcbiAgICAgICAgICA8QWx0ZXJuYXRlU2VjdGlvblxuICAgICAgICAgICAgdmFsdWU9XCJcIlxuICAgICAgICAgICAgb25TZWxlY3Q9eyhjaG9pY2UpID0+IHRoaXMub25TZWN0aW9uU2VsZWN0KGNob2ljZSwgY2hvaWNlLnZhbHVlKX1cbiAgICAgICAgICAgIGNob2ljZUNoYW5nZWQ9eyhjaG9pY2UpID0+IHRoaXMub25DaG9pY2VDaGFuZ2VkKGNob2ljZSl9XG4gICAgICAgICAgICBjaG9pY2VSZW1vdmVkPXsodmFsdWUpID0+IHRoaXMub25DaG9pY2VSZW1vdmVkKHZhbHVlKX1cbiAgICAgICAgICAgIHNlbGVjdENob2ljZXM9e3RoaXMuZ2V0UmVtYWluaW5nQ2hvaWNlcygpfVxuICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja31cbiAgICAgICAgICAgIHBsdWdpblByb3BzPXtwbHVnaW5Qcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBbHRlcm5hdGVSZXNwb25zZXM7XG4iXX0=
247
+ //# sourceMappingURL=alternateResponses.js.map
@@ -141,6 +141,11 @@ var Choice = /*#__PURE__*/function (_React$Component) {
141
141
 
142
142
  _this.updateText(strippedValue);
143
143
  });
144
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyDown", function (event) {
145
+ if (event.key === 'Enter') {
146
+ return true;
147
+ }
148
+ });
144
149
  return _this;
145
150
  }
146
151
 
@@ -179,6 +184,7 @@ var Choice = /*#__PURE__*/function (_React$Component) {
179
184
  className: (0, _classnames["default"])(classes.choice, error && classes.inputError),
180
185
  disableUnderline: true,
181
186
  onChange: this.onChange,
187
+ onKeyDown: this.onKeyDown,
182
188
  markup: value || '',
183
189
  activePlugins: ['languageCharacters'],
184
190
  pluginProps: pluginProps,
@@ -419,4 +425,4 @@ exports.AlternateSection = AlternateSection;
419
425
  var Styled = (0, _styles.withStyles)(styles)(AlternateSection);
420
426
  var _default = Styled;
421
427
  exports["default"] = _default;
422
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hbHRlcm5hdGVTZWN0aW9uLmpzeCJdLCJuYW1lcyI6WyJzdHlsZXMiLCJ0aGVtZSIsImRlc2lnbiIsIm1hcmdpbkJvdHRvbSIsInNwYWNpbmciLCJ1bml0IiwiYWx0Q2hvaWNlcyIsImFsaWduSXRlbXMiLCJmbGV4RGlyZWN0aW9uIiwiZGlzcGxheSIsInBhZGRpbmdUb3AiLCJ3aWR0aCIsImNob2ljZSIsImZsZXgiLCJtYXJnaW5SaWdodCIsImRlbGV0ZUJ0biIsImZpbGwiLCJwYWxldHRlIiwiZ3JleSIsInNlbGVjdENvbnRhaW5lciIsImp1c3RpZnlDb250ZW50IiwicmlnaHRDb250YWluZXIiLCJsZW5ndGhGaWVsZCIsImVycm9yVGV4dCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImNvbG9yIiwiZXJyb3IiLCJtYWluIiwiaW5wdXRFcnJvciIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIkNob2ljZSIsInZhbHVlIiwicHJvcHMiLCJtYXJrdXAiLCJvbkNoYW5nZSIsImUiLCJzdHJpcHBlZFZhbHVlIiwic2V0U3RhdGUiLCJ1cGRhdGVUZXh0IiwibmV4dFByb3BzIiwic3RhdGUiLCJjbGFzc2VzIiwib25EZWxldGUiLCJzcGVsbENoZWNrIiwic2hvd01heExlbmd0aCIsInBsdWdpblByb3BzIiwiaW5wdXRQcm9wcyIsIm1heExlbmd0aCIsImxhbmd1YWdlIiwibWluV2lkdGgiLCJpc0hpZGRlbiIsImNoYXJhY3RlcnMiLCJkaXNhYmxlZCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic3RyaW5nIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJib29sIiwiQWx0ZXJuYXRlU2VjdGlvbiIsImNob2ljZXMiLCJvblNlbGVjdCIsInNlbGVjdENob2ljZXMiLCJ0YXJnZXQiLCJmaW5kIiwiYyIsImxlbmd0aCIsImxhYmVsIiwibWFwIiwicGFyc2VJbnQiLCJmaWx0ZXIiLCJpZCIsImlzTmFOIiwiaW5kZXgiLCJjaG9pY2VDaGFuZ2VkIiwibGVuZ3RoQ2hhbmdlZCIsImxhYmVsTGVuZ3Roc0FyciIsIm5ld0xlbmd0aCIsIk1hdGgiLCJtYXgiLCJjaG9pY2VSZW1vdmVkIiwiZXZlbnQiLCJudW1iZXJWYWx1ZSIsIm1pbkxlbmd0aCIsImdldENob2ljZXNNYXhMZW5ndGgiLCJ1cGRhdGVDaG9pY2VzSWZOZWVkZWQiLCJlcnJvcnMiLCJzZWxlY3QiLCJoYW5kbGVTZWxlY3QiLCJtaW4iLCJjaGFuZ2VMZW5ndGgiLCJhZGRCdXR0b24iLCJvbkFkZENob2ljZSIsInZhbCIsIm9uQ2hvaWNlQ2hhbmdlZCIsIm9uUmVtb3ZlQ2hvaWNlIiwiYXJyYXkiLCJudW1iZXIiLCJTdHlsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsS0FBRDtBQUFBLFNBQVk7QUFDekJDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxZQUFZLEVBQUVGLEtBQUssQ0FBQ0csT0FBTixDQUFjQyxJQUFkLEdBQXFCO0FBRDdCLEtBRGlCO0FBSXpCQyxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsVUFBVSxFQUFFLFlBREY7QUFFVkMsTUFBQUEsYUFBYSxFQUFFLFFBRkw7QUFHVkMsTUFBQUEsT0FBTyxFQUFFLE1BSEM7QUFJVkMsTUFBQUEsVUFBVSxFQUFFVCxLQUFLLENBQUNHLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixHQUp2QjtBQUtWLGVBQVM7QUFDUEYsUUFBQUEsWUFBWSxFQUFFRixLQUFLLENBQUNHLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixHQUQ1QjtBQUVQTSxRQUFBQSxLQUFLLEVBQUU7QUFGQTtBQUxDLEtBSmE7QUFjekJDLElBQUFBLE1BQU0sRUFBRTtB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LE1BQVYsQ0FBaUJHLFVBSFQ7QUFJakI2QixFQUFBQSxNQUFNLEVBQUVqQyxzQkFBVUMsTUFKRDtBQUtqQk8sRUFBQUEsUUFBUSxFQUFFUixzQkFBVUcsSUFBVixDQUFlQyxVQUxSO0FBTWpCaUIsRUFBQUEsYUFBYSxFQUFFckIsc0JBQVVHLElBQVYsQ0FBZUMsVUFOYjtBQU9qQmtCLEVBQUFBLGFBQWEsRUFBRXRCLHNCQUFVRyxJQVBSO0FBUWpCd0IsRUFBQUEsYUFBYSxFQUFFM0Isc0JBQVVHLElBQVYsQ0FBZUMsVUFSYjtBQVNqQjVCLEVBQUFBLEtBQUssRUFBRXdCLHNCQUFVRSxNQVRBO0FBVWpCVixFQUFBQSxTQUFTLEVBQUVRLHNCQUFVNEMsTUFWSjtBQVdqQnZELEVBQUFBLGFBQWEsRUFBRVcsc0JBQVVLLElBWFI7QUFZakJqQixFQUFBQSxVQUFVLEVBQUVZLHNCQUFVSyxJQVpMO0FBYWpCZixFQUFBQSxXQUFXLEVBQUVVLHNCQUFVQztBQWJOLEM7QUFxTHJCLElBQU00QyxNQUFNLEdBQUcsd0JBQVd0RyxNQUFYLEVBQW1CK0QsZ0JBQW5CLENBQWY7ZUFFZXVDLE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IE91dGxpbmVkSW5wdXQgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvT3V0bGluZWRJbnB1dCc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgRGVsZXRlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9EZWxldGUnO1xuaW1wb3J0IEljb25CdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvSWNvbkJ1dHRvbic7XG5pbXBvcnQgTWVudUl0ZW0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTWVudUl0ZW0nO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9TZWxlY3QnO1xuaW1wb3J0IFRleHRGaWVsZCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UZXh0RmllbGQnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgbWF4IGZyb20gJ2xvZGFzaC9tYXgnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5pbXBvcnQgeyBzdHJpcEh0bWxUYWdzLCBnZXRBZGp1c3RlZExlbmd0aCwgZGVjb2RlSFRNTCB9IGZyb20gJy4vbWFya3VwVXRpbHMnO1xuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIGRlc2lnbjoge1xuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0IC8gMixcbiAgfSxcbiAgYWx0Q2hvaWNlczoge1xuICAgIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMi41LFxuICAgICcmID4gKic6IHtcbiAgICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMi41LFxuICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICB9LFxuICB9LFxuICBjaG9pY2U6IHtcbiAgICBmbGV4OiAnMScsXG4gICAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIuNSxcbiAgfSxcbiAgZGVsZXRlQnRuOiB7XG4gICAgZmlsbDogdGhlbWUucGFsZXR0ZS5ncmV5WzYwMF0sXG4gIH0sXG4gIHNlbGVjdENvbnRhaW5lcjoge1xuICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgcmlnaHRDb250YWluZXI6IHtcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gIH0sXG4gIGxlbmd0aEZpZWxkOiB7XG4gICAgd2lkdGg6ICcyMzBweCcsXG4gICAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIuNSxcbiAgfSxcbiAgZXJyb3JUZXh0OiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4sXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0IC8gMixcbiAgfSxcbiAgaW5wdXRFcnJvcjoge1xuICAgIGJvcmRlcjogYDJweCBzb2xpZCAke3RoZW1lLnBhbGV0dGUuZXJyb3IubWFpbn1gLFxuICAgIGJvcmRlclJhZGl1czogJzZweCcsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNsYXNzIENob2ljZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBlcnJvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtYXJrdXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3BlbGxDaGVjazogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2hvd01heExlbmd0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGx1Z2luUHJvcHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgdmFsdWU6IHRoaXMucHJvcHMubWFya3VwLFxuICB9O1xuXG4gIHVwZGF0ZVRleHQgPSBkZWJvdW5jZSh0aGlzLnByb3BzLm9uQ2hhbmdlLCAzMDApO1xuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmIChuZXh0UHJvcHMubWFya3VwKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG5leHRQcm9wcy5tYXJrdXAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGNvbnN0IHN0cmlwcGVkVmFsdWUgPSBzdHJpcEh0bWxUYWdzKGUpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogc3RyaXBwZWRWYWx1ZSB9KTtcbiAgICB0aGlzLnVwZGF0ZVRleHQoc3RyaXBwZWRWYWx1ZSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBvbkRlbGV0ZSwgc3BlbGxDaGVjaywgZXJyb3IsIHNob3dNYXhMZW5ndGgsIHBsdWdpblByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGlucHV0UHJvcHMgPSBzaG93TWF4TGVuZ3RoID8ge30gOiB7IG1heExlbmd0aDogMjUgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoY2xhc3Nlcy5jaG9pY2UsIGVycm9yICYmIGNsYXNzZXMuaW5wdXRFcnJvcil9XG4gICAgICAgICAgICBkaXNhYmxlVW5kZXJsaW5lXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICAgIG1hcmt1cD17dmFsdWUgfHwgJyd9XG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXtbJ2xhbmd1YWdlQ2hhcmFjdGVycyddfVxuICAgICAgICAgICAgcGx1Z2luUHJvcHM9e3BsdWdpblByb3BzfVxuICAgICAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM9e1t7IGxhbmd1YWdlOiAnc3BhbmlzaCcgfV19XG4gICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICAgICAgYXV0b1dpZHRoVG9vbGJhclxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgICAgaXNIaWRkZW46ICEhcGx1Z2luUHJvcHM/LmNoYXJhY3RlcnM/LmRpc2FibGVkLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEljb25CdXR0b24gYXJpYS1sYWJlbD1cImRlbGV0ZVwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5kZWxldGVCdG59IG9uQ2xpY2s9e29uRGVsZXRlfT5cbiAgICAgICAgICAgIDxEZWxldGUgLz5cbiAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZXJyb3JUZXh0fT57ZXJyb3J9PC9kaXY+fVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBbHRlcm5hdGVTZWN0aW9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgc2VsZWN0Q2hvaWNlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGVycm9yczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvblNlbGVjdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjaG9pY2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxlbmd0aENoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNob2ljZVJlbW92ZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWF4TGVuZ3RoOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIHNob3dNYXhMZW5ndGg6IFByb3BUeXBlcy5ib29sLFxuICAgIHNwZWxsQ2hlY2s6IFByb3BUeXBlcy5ib29sLFxuICAgIHBsdWdpblByb3BzOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHN0YXRlID0ge307XG5cbiAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgdGhpcy51cGRhdGVDaG9pY2VzSWZOZWVkZWQobmV4dFByb3BzKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMudXBkYXRlQ2hvaWNlc0lmTmVlZGVkKHRoaXMucHJvcHMpO1xuICB9XG5cbiAgdXBkYXRlQ2hvaWNlc0lmTmVlZGVkID0gKHByb3BzKSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuc3RhdGUuY2hvaWNlcyB8fFxuICAgICAgIWlzRXF1YWwocHJvcHMuY2hvaWNlcywgdGhpcy5zdGF0ZS5jaG9pY2VzKSB8fFxuICAgICAgIWlzRXF1YWwocHJvcHMuY2hvaWNlcywgdGhpcy5wcm9wcy5jaG9pY2VzKVxuICAgICkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGNob2ljZXM6IHByb3BzLmNob2ljZXMsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgaGFuZGxlU2VsZWN0ID0gKGUpID0+IHtcbiAgICBjb25zdCB7IG9uU2VsZWN0LCBzZWxlY3RDaG9pY2VzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGUudGFyZ2V0O1xuXG4gICAgb25TZWxlY3Qoc2VsZWN0Q2hvaWNlcy5maW5kKChjKSA9PiBjLnZhbHVlID09PSB2YWx1ZSkpO1xuICB9O1xuXG4gIG9uQWRkQ2hvaWNlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgY2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmIChjaG9pY2VzLmxlbmd0aCAmJiBjaG9pY2VzW2Nob2ljZXMubGVuZ3RoIC0gMV0ubGFiZWwgIT09ICcnKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG1heChjaG9pY2VzLm1hcCgoYykgPT4gcGFyc2VJbnQoYy52YWx1ZSkpLmZpbHRlcigoaWQpID0+ICFpc05hTihpZCkpKSB8fCAwO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgY2hvaWNlczogW1xuICAgICAgICAgIC4uLmNob2ljZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IGAke3ZhbHVlICsgMX1gLFxuICAgICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgb25DaG9pY2VDaGFuZ2VkID0gKGNob2ljZSwgdmFsdWUsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBjaG9pY2VDaGFuZ2VkLCBsZW5ndGhDaGFuZ2VkLCBtYXhMZW5ndGgsIGNob2ljZXMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBsYWJlbExlbmd0aHNBcnIgPSBjaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiBkZWNvZGVIVE1MKGNob2ljZS5sYWJlbCB8fCAnJykubGVuZ3RoKTtcbiAgICBsYWJlbExlbmd0aHNBcnJbaW5kZXhdID0gIGRlY29kZUhUTUwodmFsdWUpLmxlbmd0aDtcblxuICAgIGNvbnN0IG5ld0xlbmd0aCA9IE1hdGgubWF4KC4uLmxhYmVsTGVuZ3Roc0Fycik7XG5cbiAgICBjaG9pY2VDaGFuZ2VkKHtcbiAgICAgIC4uLmNob2ljZSxcbiAgICAgIGxhYmVsOiB2YWx1ZSxcbiAgICB9KTtcblxuICAgIGlmIChuZXdMZW5ndGggPiBtYXhMZW5ndGggfHwgbmV3TGVuZ3RoICsgMTAgPD0gbWF4TGVuZ3RoKSB7XG4gICAgICBsZW5ndGhDaGFuZ2VkKGdldEFkanVzdGVkTGVuZ3RoKG5ld0xlbmd0aCkpO1xuICAgIH1cbiAgfTtcblxuICBvblJlbW92ZUNob2ljZSA9IChjaG9pY2UpID0+IHtcbiAgICBjb25zdCB7IGNob2ljZVJlbW92ZWQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjaG9pY2VSZW1vdmVkKGNob2ljZS52YWx1ZSk7XG4gIH07XG5cbiAgZ2V0Q2hvaWNlc01heExlbmd0aCA9ICgpID0+IHtcbiAgICBjb25zdCB7IGNob2ljZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAoIWNob2ljZXMpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGNvbnN0IGxhYmVsTGVuZ3Roc0FyciA9IGNob2ljZXMubWFwKChjaG9pY2UpID0+IGRlY29kZUhUTUwoY2hvaWNlLmxhYmVsIHx8ICcnKS5sZW5ndGgpO1xuXG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmxhYmVsTGVuZ3Roc0Fycik7XG4gIH07XG5cbiAgY2hhbmdlTGVuZ3RoID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBsZW5ndGhDaGFuZ2VkIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG51bWJlclZhbHVlID0gcGFyc2VJbnQoZXZlbnQudGFyZ2V0LnZhbHVlLCAxMCk7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gdGhpcy5nZXRDaG9pY2VzTWF4TGVuZ3RoKCk7XG5cbiAgICBpZiAobnVtYmVyVmFsdWUgJiYgbnVtYmVyVmFsdWUgPj0gbWluTGVuZ3RoICYmIG51bWJlclZhbHVlIDw9IG1pbkxlbmd0aCArIDEwKSB7XG4gICAgICBsZW5ndGhDaGFuZ2VkKG51bWJlclZhbHVlKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3Nlcywgc2VsZWN0Q2hvaWNlcywgbWF4TGVuZ3RoLCBzaG93TWF4TGVuZ3RoLCB2YWx1ZSwgc3BlbGxDaGVjaywgZXJyb3JzLCBwbHVnaW5Qcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGNob2ljZXMgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gdGhpcy5nZXRDaG9pY2VzTWF4TGVuZ3RoKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZGVzaWdufT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuc2VsZWN0Q29udGFpbmVyfT5cbiAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuc2VsZWN0fVxuICAgICAgICAgICAgZGlzcGxheUVtcHR5XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVTZWxlY3R9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgfHwgJyd9XG4gICAgICAgICAgICByZWFkT25seT17c2hvd01heExlbmd0aH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWVudUl0ZW0gdmFsdWU9XCJcIj5cbiAgICAgICAgICAgICAgPGVtPnt2YWx1ZSA/ICdSZW1vdmUgc2VsZWN0aW9uJyA6ICdTZWxlY3QgYSByZXNwb25zZSd9PC9lbT5cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICB7c2VsZWN0Q2hvaWNlcy5tYXAoKGMsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxNZW51SXRlbSBrZXk9e2luZGV4fSB2YWx1ZT17Yz8udmFsdWV9PlxuICAgICAgICAgICAgICAgIHtkZWNvZGVIVE1MKGM/LmxhYmVsKX1cbiAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvU2VsZWN0PlxuXG4gICAgICAgICAge2Nob2ljZXMgJiYgY2hvaWNlcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnJpZ2h0Q29udGFpbmVyfT5cbiAgICAgICAgICAgICAge21heExlbmd0aCAmJiBzaG93TWF4TGVuZ3RoICYmIChcbiAgICAgICAgICAgICAgICA8VGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGVuZ3RoRmllbGR9XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIk1heGltdW0gbGVuZ3RoIChjaGFyYWN0ZXJzKVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGlucHV0UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAgICAgbWluOiBtaW5MZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIG1heDogbWluTGVuZ3RoICsgMTAsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e21heExlbmd0aH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmNoYW5nZUxlbmd0aH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT17Y2xhc3Nlcy5hZGRCdXR0b259IHZhcmlhbnQ9XCJjb250YWluZWRcIiBjb2xvcj1cInByaW1hcnlcIiBvbkNsaWNrPXt0aGlzLm9uQWRkQ2hvaWNlfT5cbiAgICAgICAgICAgICAgICBBZGRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2Vycm9ycyAmJiBlcnJvcnNbMF0gJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZXJyb3JUZXh0fT57ZXJyb3JzWzBdfTwvZGl2Pn1cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5hbHRDaG9pY2VzfT5cbiAgICAgICAgICB7Y2hvaWNlcyAmJlxuICAgICAgICAgICAgY2hvaWNlcy5tYXAoXG4gICAgICAgICAgICAgIChjLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBpbmRleCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgPENob2ljZVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgICAgICAgICAgICBtYXJrdXA9e2MubGFiZWx9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsKSA9PiB0aGlzLm9uQ2hvaWNlQ2hhbmdlZChjLCB2YWwsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgb25EZWxldGU9eygpID0+IHRoaXMub25SZW1vdmVDaG9pY2UoYyl9XG4gICAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICAgICAgICAgICAgICAgIGVycm9yPXtlcnJvcnMgJiYgZXJyb3JzW2luZGV4XX1cbiAgICAgICAgICAgICAgICAgICAgc2hvd01heExlbmd0aD17c2hvd01heExlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgcGx1Z2luUHJvcHM9e3BsdWdpblByb3BzfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZCA9IHdpdGhTdHlsZXMoc3R5bGVzKShBbHRlcm5hdGVTZWN0aW9uKTtcblxuZXhwb3J0IGRlZmF1bHQgU3R5bGVkO1xuIl19
428
+ //# sourceMappingURL=alternateSection.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/alternateSection.jsx"],"names":["styles","theme","design","marginBottom","spacing","unit","altChoices","alignItems","flexDirection","display","paddingTop","width","choice","flex","marginRight","deleteBtn","fill","palette","grey","selectContainer","justifyContent","rightContainer","lengthField","errorText","fontSize","typography","color","error","main","inputError","border","borderRadius","Choice","value","props","markup","onChange","e","strippedValue","setState","updateText","nextProps","state","classes","onDelete","spellCheck","showMaxLength","pluginProps","inputProps","maxLength","language","minWidth","isHidden","characters","disabled","React","Component","PropTypes","object","string","func","isRequired","bool","AlternateSection","choices","onSelect","selectChoices","target","find","c","length","label","map","parseInt","filter","id","isNaN","index","choiceChanged","lengthChanged","labelLengthsArr","newLength","Math","max","choiceRemoved","event","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","errors","select","handleSelect","min","changeLength","addButton","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport max from 'lodash/max';\nimport classnames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { stripHtmlTags, getAdjustedLength, decodeHTML } from './markupUtils';\n\nconst styles = (theme) => ({\n design: {\n marginBottom: theme.spacing.unit / 2,\n },\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n paddingTop: theme.spacing.unit * 2.5,\n '& > *': {\n marginBottom: theme.spacing.unit * 2.5,\n width: '100%',\n },\n },\n choice: {\n flex: '1',\n marginRight: theme.spacing.unit * 2.5,\n },\n deleteBtn: {\n fill: theme.palette.grey[600],\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit / 2,\n },\n inputError: {\n border: `2px solid ${theme.palette.error.main}`,\n borderRadius: '6px',\n },\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n error: PropTypes.string,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string,\n spellCheck: PropTypes.bool,\n showMaxLength: PropTypes.bool,\n pluginProps: PropTypes.object,\n };\n\n state = {\n value: this.props.markup,\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const strippedValue = stripHtmlTags(e);\n this.setState({ value: strippedValue });\n this.updateText(strippedValue);\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete, spellCheck, error, showMaxLength, pluginProps } = this.props;\n const inputProps = showMaxLength ? {} : { maxLength: 25 };\n\n return (\n <React.Fragment>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <EditableHtml\n className={classnames(classes.choice, error && classes.inputError)}\n disableUnderline\n onChange={this.onChange}\n markup={value || ''}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n {...inputProps}\n />\n <IconButton aria-label=\"delete\" className={classes.deleteBtn} onClick={onDelete}>\n <Delete />\n </IconButton>\n </div>\n {error && <div className={classes.errorText}>{error}</div>}\n </React.Fragment>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n errors: PropTypes.object,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool,\n spellCheck: PropTypes.bool,\n pluginProps: PropTypes.object,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(props.choices, this.state.choices) ||\n !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices,\n });\n }\n };\n\n handleSelect = (e) => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find((c) => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map((c) => parseInt(c.value)).filter((id) => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: '',\n },\n ],\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map((choice) => decodeHTML(choice.label || '').length);\n labelLengthsArr[index] = decodeHTML(value).length;\n\n const newLength = Math.max(...labelLengthsArr);\n\n choiceChanged({\n ...choice,\n label: value,\n });\n\n if (newLength > maxLength || newLength + 10 <= maxLength) {\n lengthChanged(getAdjustedLength(newLength));\n }\n };\n\n onRemoveChoice = (choice) => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map((choice) => decodeHTML(choice.label || '').length);\n\n return Math.max(...labelLengthsArr);\n };\n\n changeLength = (event) => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const { classes, selectChoices, maxLength, showMaxLength, value, spellCheck, errors, pluginProps } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div className={classes.selectContainer}>\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>{value ? 'Remove selection' : 'Select a response'}</em>\n </MenuItem>\n {selectChoices.map((c, index) => (\n <MenuItem key={index} value={c?.value}>\n {decodeHTML(c?.label)}\n </MenuItem>\n ))}\n </Select>\n\n {choices && choices.length > 0 && (\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10,\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button className={classes.addButton} variant=\"contained\" color=\"primary\" onClick={this.onAddChoice}>\n Add\n </Button>\n </div>\n )}\n </div>\n {errors && errors[0] && <div className={classes.errorText}>{errors[0]}</div>}\n\n <div className={classes.altChoices}>\n {choices &&\n choices.map(\n (c, index) =>\n index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={(val) => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n spellCheck={spellCheck}\n error={errors && errors[index]}\n showMaxLength={showMaxLength}\n pluginProps={pluginProps}\n />\n ),\n )}\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"file":"alternateSection.js"}
1
+ {"version":3,"sources":["../src/alternateSection.jsx"],"names":["styles","theme","design","marginBottom","spacing","unit","altChoices","alignItems","flexDirection","display","paddingTop","width","choice","flex","marginRight","deleteBtn","fill","palette","grey","selectContainer","justifyContent","rightContainer","lengthField","errorText","fontSize","typography","color","error","main","inputError","border","borderRadius","Choice","value","props","markup","onChange","e","strippedValue","setState","updateText","event","key","nextProps","state","classes","onDelete","spellCheck","showMaxLength","pluginProps","inputProps","maxLength","onKeyDown","language","minWidth","isHidden","characters","disabled","React","Component","PropTypes","object","string","func","isRequired","bool","AlternateSection","choices","onSelect","selectChoices","target","find","c","length","label","map","parseInt","filter","id","isNaN","index","choiceChanged","lengthChanged","labelLengthsArr","newLength","Math","max","choiceRemoved","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","errors","select","handleSelect","min","changeLength","addButton","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport max from 'lodash/max';\nimport classnames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { stripHtmlTags, getAdjustedLength, decodeHTML } from './markupUtils';\n\nconst styles = (theme) => ({\n design: {\n marginBottom: theme.spacing.unit / 2,\n },\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n paddingTop: theme.spacing.unit * 2.5,\n '& > *': {\n marginBottom: theme.spacing.unit * 2.5,\n width: '100%',\n },\n },\n choice: {\n flex: '1',\n marginRight: theme.spacing.unit * 2.5,\n },\n deleteBtn: {\n fill: theme.palette.grey[600],\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit / 2,\n },\n inputError: {\n border: `2px solid ${theme.palette.error.main}`,\n borderRadius: '6px',\n },\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n error: PropTypes.string,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string,\n spellCheck: PropTypes.bool,\n showMaxLength: PropTypes.bool,\n pluginProps: PropTypes.object,\n };\n\n state = {\n value: this.props.markup,\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const strippedValue = stripHtmlTags(e);\n this.setState({ value: strippedValue });\n this.updateText(strippedValue);\n };\n\n onKeyDown = (event) => {\n if (event.key === 'Enter') {\n return true;\n }\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete, spellCheck, error, showMaxLength, pluginProps } = this.props;\n const inputProps = showMaxLength ? {} : { maxLength: 25 };\n\n return (\n <React.Fragment>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <EditableHtml\n className={classnames(classes.choice, error && classes.inputError)}\n disableUnderline\n onChange={this.onChange}\n onKeyDown={this.onKeyDown}\n markup={value || ''}\n activePlugins={['languageCharacters']}\n pluginProps={pluginProps}\n languageCharactersProps={[{ language: 'spanish' }]}\n spellCheck={spellCheck}\n autoWidthToolbar\n toolbarOpts={{\n minWidth: 'auto',\n isHidden: !!pluginProps?.characters?.disabled,\n }}\n {...inputProps}\n />\n <IconButton aria-label=\"delete\" className={classes.deleteBtn} onClick={onDelete}>\n <Delete />\n </IconButton>\n </div>\n {error && <div className={classes.errorText}>{error}</div>}\n </React.Fragment>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n errors: PropTypes.object,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool,\n spellCheck: PropTypes.bool,\n pluginProps: PropTypes.object,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(props.choices, this.state.choices) ||\n !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices,\n });\n }\n };\n\n handleSelect = (e) => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find((c) => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map((c) => parseInt(c.value)).filter((id) => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: '',\n },\n ],\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map((choice) => decodeHTML(choice.label || '').length);\n labelLengthsArr[index] = decodeHTML(value).length;\n\n const newLength = Math.max(...labelLengthsArr);\n\n choiceChanged({\n ...choice,\n label: value,\n });\n\n if (newLength > maxLength || newLength + 10 <= maxLength) {\n lengthChanged(getAdjustedLength(newLength));\n }\n };\n\n onRemoveChoice = (choice) => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map((choice) => decodeHTML(choice.label || '').length);\n\n return Math.max(...labelLengthsArr);\n };\n\n changeLength = (event) => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const { classes, selectChoices, maxLength, showMaxLength, value, spellCheck, errors, pluginProps } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div className={classes.selectContainer}>\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>{value ? 'Remove selection' : 'Select a response'}</em>\n </MenuItem>\n {selectChoices.map((c, index) => (\n <MenuItem key={index} value={c?.value}>\n {decodeHTML(c?.label)}\n </MenuItem>\n ))}\n </Select>\n\n {choices && choices.length > 0 && (\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10,\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button className={classes.addButton} variant=\"contained\" color=\"primary\" onClick={this.onAddChoice}>\n Add\n </Button>\n </div>\n )}\n </div>\n {errors && errors[0] && <div className={classes.errorText}>{errors[0]}</div>}\n\n <div className={classes.altChoices}>\n {choices &&\n choices.map(\n (c, index) =>\n index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={(val) => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n spellCheck={spellCheck}\n error={errors && errors[index]}\n showMaxLength={showMaxLength}\n pluginProps={pluginProps}\n />\n ),\n )}\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"file":"alternateSection.js"}
@@ -179,4 +179,4 @@ var _default = {
179
179
  }
180
180
  };
181
181
  exports["default"] = _default;
182
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJtb2RlbCIsImNob2ljZXMiLCJkaXNwbGF5VHlwZSIsIm1hcmt1cCIsIm1heExlbmd0aFBlckNob2ljZUVuYWJsZWQiLCJwbGF5ZXJTcGVsbENoZWNrRW5hYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJyYXRpb25hbGUiLCJyYXRpb25hbGVFbmFibGVkIiwic3BlbGxDaGVja0VuYWJsZWQiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInRvb2xiYXJFZGl0b3JQb3NpdGlvbiIsInJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbiIsImNvbmZpZ3VyYXRpb24iLCJiYXNlSW5wdXRDb25maWd1cmF0aW9uIiwiaHRtbCIsImRpc2FibGVkIiwiYXVkaW8iLCJ2aWRlbyIsImltYWdlIiwidGV4dEFsaWduIiwic2hvd1BhcmFncmFwaHMiLCJzZXBhcmF0ZVBhcmFncmFwaHMiLCJzZXR0aW5ncyIsImxhYmVsIiwiaW5wdXRDb25maWd1cmF0aW9uIiwicmVxdWlyZWQiLCJwYXJ0aWFsU2NvcmluZyIsInNldHRpbmdzUGFuZWxEaXNhYmxlZCIsInNwZWxsQ2hlY2siLCJlbmFibGVkIiwiZWRpdFNvdXJjZSIsInBsYXllclNwZWxsQ2hlY2siLCJ0ZW1wbGF0ZSIsImgzIiwiYmxvY2txdW90ZSIsIm1heExlbmd0aFBlckNob2ljZSIsIm1heFJlc3BvbnNlQXJlYXMiLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJ3aXRoUnVicmljIiwibWF0aE1sT3B0aW9ucyIsIm1tbE91dHB1dCIsIm1tbEVkaXRpbmciLCJsYW5ndWFnZSIsImxhbmd1YWdlQ2hvaWNlcyIsIm9wdGlvbnMiLCJjaGFyYWN0ZXJzIiwic3BhbmlzaEJ1dHRvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQWU7QUFDYkEsRUFB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QWdCLEVBQUUsRUF6RUw7QUEwRWJDLElBQUFBLGFBQWEsRUFBRTtBQUNiN0IsTUFBQUEsbUJBQW1CLEVBQUUsR0FEUjtBQUViTixNQUFBQSxNQUFNLEVBQUUsR0FGSztBQUdiRSxNQUFBQSxTQUFTLEVBQUU7QUFIRSxLQTFFRjtBQStFYmtDLElBQUFBLGNBQWMsRUFBRTtBQUNkOUIsTUFBQUEsbUJBQW1CLEVBQUUsR0FEUDtBQUVkTixNQUFBQSxNQUFNLEVBQUUsR0FGTTtBQUdkRSxNQUFBQSxTQUFTLEVBQUU7QUFIRyxLQS9FSDtBQW9GYm1DLElBQUFBLFVBQVUsRUFBRTtBQUNWakIsTUFBQUEsUUFBUSxFQUFFLEtBREE7QUFFVkMsTUFBQUEsS0FBSyxFQUFFO0FBRkcsS0FwRkM7QUF3RmJpQixJQUFBQSxhQUFhLEVBQUU7QUFDYkMsTUFBQUEsU0FBUyxFQUFFLEtBREU7QUFFYkMsTUFBQUEsVUFBVSxFQUFFO0FBRkMsS0F4RkY7QUE0RmJDLElBQUFBLFFBQVEsRUFBRTtBQUNSckIsTUFBQUEsUUFBUSxFQUFFLEtBREY7QUFFUkMsTUFBQUEsS0FBSyxFQUFFLGtCQUZDO0FBR1JNLE1BQUFBLE9BQU8sRUFBRTtBQUhELEtBNUZHO0FBaUdiZSxJQUFBQSxlQUFlLEVBQUU7QUFDZnJCLE1BQUFBLEtBQUssRUFBRSxrQkFEUTtBQUVmc0IsTUFBQUEsT0FBTyxFQUFFO0FBRk0sS0FqR0o7QUFxR2JsQyxJQUFBQSw4QkFBOEIsRUFBRTtBQUM5QmEsTUFBQUEsa0JBQWtCLEVBQUU7QUFDbEJzQixRQUFBQSxVQUFVLEVBQUU7QUFDVi9CLFVBQUFBLFFBQVEsRUFBRTtBQURBO0FBRE07QUFEVSxLQXJHbkI7QUE0R2JnQyxJQUFBQSxhQUFhLEVBQUU7QUFDYnpCLE1BQUFBLFFBQVEsRUFBRSxJQURHO0FBRWJDLE1BQUFBLEtBQUssRUFBRTtBQUZNO0FBNUdGO0FBbEJGLEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIG1vZGVsOiB7XG4gICAgY2hvaWNlczoge30sXG4gICAgZGlzcGxheVR5cGU6ICdibG9jaycsXG4gICAgbWFya3VwOiAnJyxcbiAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkOiB0cnVlLFxuICAgIHBsYXllclNwZWxsQ2hlY2tFbmFibGVkOiB0cnVlLFxuICAgIHByb21wdDogJycsXG4gICAgcHJvbXB0RW5hYmxlZDogdHJ1ZSxcbiAgICByYXRpb25hbGU6ICcnLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gICAgc3BlbGxDaGVja0VuYWJsZWQ6IHRydWUsXG4gICAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgdGVhY2hlckluc3RydWN0aW9uczogJycsXG4gICAgdGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gICAgdG9vbGJhckVkaXRvclBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb246IHt9LFxuICB9LFxuICBjb25maWd1cmF0aW9uOiB7XG4gICAgYmFzZUlucHV0Q29uZmlndXJhdGlvbjoge1xuICAgICAgaHRtbDogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgYXVkaW86IHsgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB2aWRlbzogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgIGltYWdlOiB7IGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgdGV4dEFsaWduOiB7IGRpc2FibGVkOiB0cnVlIH0sXG4gICAgICBzaG93UGFyYWdyYXBoczogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgIHNlcGFyYXRlUGFyYWdyYXBoczogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIH0sXG4gICAgcHJvbXB0OiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnUHJvbXB0JyxcbiAgICAgIGlucHV0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICBhdWRpbzogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgdmlkZW86IHsgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIGltYWdlOiB7IGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHBhcnRpYWxTY29yaW5nOiB7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ0FsbG93IFBhcnRpYWwgU2NvcmluZycsXG4gICAgfSxcbiAgICByYXRpb25hbGU6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdSYXRpb25hbGUnLFxuICAgICAgaW5wdXRDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGF1ZGlvOiB7IGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgICB2aWRlbzogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgaW1hZ2U6IHsgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgc2V0dGluZ3NQYW5lbERpc2FibGVkOiBmYWxzZSxcbiAgICBzcGVsbENoZWNrOiB7XG4gICAgICBsYWJlbDogJ1NwZWxsY2hlY2snLFxuICAgICAgc2V0dGluZ3M6IGZhbHNlLFxuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICB9LFxuICAgIGVkaXRTb3VyY2U6IHtcbiAgICAgIGxhYmVsOiAnRWRpdCBTb3VyY2UnLFxuICAgICAgc2V0dGluZ3M6IGZhbHNlLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgfSxcbiAgICBwbGF5ZXJTcGVsbENoZWNrOiB7XG4gICAgICBsYWJlbDogJ1N0dWRlbnQgU3BlbGxjaGVjaycsXG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgaW5wdXRDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGF1ZGlvOiB7IGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgICB2aWRlbzogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgaW1hZ2U6IHsgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgdGVtcGxhdGU6IHtcbiAgICAgIGlucHV0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICBhdWRpbzogeyBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgdmlkZW86IHsgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIGltYWdlOiB7IGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgICBoMzogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgICBibG9ja3F1b3RlOiB7IGRpc2FibGVkOiB0cnVlIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgbWF4TGVuZ3RoUGVyQ2hvaWNlOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnTWF4aW11bSBMZW5ndGggUGVyIENob2ljZScsXG4gICAgfSxcbiAgICBtYXhSZXNwb25zZUFyZWFzOiAxMCxcbiAgICBtYXhJbWFnZVdpZHRoOiB7XG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiAzMDAsXG4gICAgICBwcm9tcHQ6IDMwMCxcbiAgICAgIHJhdGlvbmFsZTogMzAwLFxuICAgIH0sXG4gICAgbWF4SW1hZ2VIZWlnaHQ6IHtcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IDMwMCxcbiAgICAgIHByb21wdDogMzAwLFxuICAgICAgcmF0aW9uYWxlOiAzMDAsXG4gICAgfSxcbiAgICB3aXRoUnVicmljOiB7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ0FkZCBSdWJyaWMnLFxuICAgIH0sXG4gICAgbWF0aE1sT3B0aW9uczoge1xuICAgICAgbW1sT3V0cHV0OiBmYWxzZSxcbiAgICAgIG1tbEVkaXRpbmc6IGZhbHNlLFxuICAgIH0sXG4gICAgbGFuZ3VhZ2U6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnU3BlY2lmeSBMYW5ndWFnZScsXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIGxhbmd1YWdlQ2hvaWNlczoge1xuICAgICAgbGFiZWw6ICdMYW5ndWFnZSBDaG9pY2VzJyxcbiAgICAgIG9wdGlvbnM6IFtdLFxuICAgIH0sXG4gICAgcmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uOiB7XG4gICAgICBpbnB1dENvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgY2hhcmFjdGVyczoge1xuICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgc3BhbmlzaEJ1dHRvbjoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgU3BhbmlzaCBDaGFyYWN0ZXJzJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
182
+ //# sourceMappingURL=defaults.js.map
@@ -222,4 +222,4 @@ var StyledECRToolbar = (0, _styles.withStyles)(function (theme) {
222
222
  })(ECRToolbar);
223
223
  var _default = StyledECRToolbar;
224
224
  exports["default"] = _default;
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lY3ItdG9vbGJhci5qc3giXSwibmFtZXMiOlsiZmluZFNsYXRlTm9kZSIsImtleSIsIndpbmRvdyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsIkVDUlRvb2xiYXIiLCJtYXJrdXAiLCJ0b29sYmFyU3R5bGUiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJvblRvb2xiYXJEb25lIiwib25DaGFuZ2VSZXNwb25zZSIsInNhbml0aXplZE1hcmt1cCIsInNldFN0YXRlIiwiY29tbWFuZHMiLCJ1cGRhdGVBdHRyaWJ1dGVzIiwidmFsdWUiLCJyZXNwQXJlYU1hcmt1cCIsImV2ZW50IiwiY2xpY2tlZEluc2lkZSIsImNvcnJlY3RDaG9pY2UiLCJjaG9pY2UiLCJkb21Ob2RlIiwidmlldyIsIm5vZGVET00iLCJzdGF0ZSIsInNlbGVjdGlvbiIsImZyb20iLCJub2RlVHlwZSIsImRvbU5vZGVSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xvc2VzdCIsImVkaXRvclJlY3QiLCJ0b3AiLCJsZWZ0IiwibGFiZWwiLCJwb3NpdGlvbiIsIndpZHRoIiwiY2xhc3NlcyIsIm1heExlbmd0aFBlckNob2ljZUVuYWJsZWQiLCJwbHVnaW5Qcm9wcyIsInNwZWxsQ2hlY2siLCJpbnB1dFByb3BzIiwibWF4TGVuZ3RoIiwicHJldmVudERvbmUiLCJvblJlc3BBcmVhQ2hhbmdlIiwidmFsIiwib25Eb25lIiwiZSIsInJlbGF0ZWRUYXJnZXQiLCJvbkJsdXIiLCJvbktleURvd24iLCJsYW5ndWFnZSIsIm1pbldpZHRoIiwiaXNIaWRkZW4iLCJjaGFyYWN0ZXJzIiwiZGlzYWJsZWQiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic2hhcGUiLCJjaGFuZ2UiLCJnZXROZXh0VGV4dCIsImJvb2wiLCJTdHlsZWRFQ1JUb29sYmFyIiwidGhlbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWxldHRl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QU1qQnBELEVBQUFBLGFBQWEsRUFBRWlELHNCQUFVRSxJQUFWLENBQWVDLFVBTmI7QUFPakI5QyxFQUFBQSxLQUFLLEVBQUUyQyxzQkFBVUksS0FBVixDQUFnQjtBQUNyQkMsSUFBQUEsTUFBTSxFQUFFTCxzQkFBVUUsSUFBVixDQUFlQyxVQURGO0FBRXJCNUQsSUFBQUEsUUFBUSxFQUFFeUQsc0JBQVVJLEtBQVYsQ0FBZ0I7QUFDeEJFLE1BQUFBLFdBQVcsRUFBRU4sc0JBQVVFLElBQVYsQ0FBZUM7QUFESixLQUFoQjtBQUZXLEdBQWhCLENBUFU7QUFhakJyRCxFQUFBQSxNQUFNLEVBQUVrRCxzQkFBVUMsTUFiRDtBQWNqQnJCLEVBQUFBLHlCQUF5QixFQUFFb0Isc0JBQVVPLElBZHBCO0FBZWpCMUIsRUFBQUEsV0FBVyxFQUFFbUIsc0JBQVVDLE1BZk47QUFnQmpCbkIsRUFBQUEsVUFBVSxFQUFFa0Isc0JBQVVPO0FBaEJMLEM7QUE4SHJCLElBQU1DLGdCQUFnQixHQUFHLHdCQUFXLFVBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQzlDL0QsSUFBQUEsTUFBTSxFQUFFO0FBQ05nRSxNQUFBQSxlQUFlLEVBQUVELEtBQUssQ0FBQ0UsT0FBTixDQUFjQyxNQUFkLENBQXFCQyxLQURoQztBQUVOQyxNQUFBQSxPQUFPLEVBQUUsTUFGSDtBQUdOQyxNQUFBQSxVQUFVLEVBQUU7QUFITjtBQURzQyxHQUFaO0FBQUEsQ0FBWCxFQU1yQnRFLFVBTnFCLENBQXpCO2VBUWUrRCxnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5pbXBvcnQgeyBzdHJpcEh0bWxUYWdzLCBkZWNvZGVIVE1MIH0gZnJvbSAnLi9tYXJrdXBVdGlscyc7XG5cbmNvbnN0IGZpbmRTbGF0ZU5vZGUgPSAoa2V5KSA9PiB7XG4gIHJldHVybiB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEta2V5PVwiJyArIGtleSArICdcIl0nKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBFQ1JUb29sYmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb3JyZWN0Q2hvaWNlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbm9kZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQ2hhbmdlUmVzcG9uc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Ub29sYmFyRG9uZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGRvY3VtZW50OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBnZXROZXh0VGV4dDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBwbHVnaW5Qcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBtYXJrdXA6ICcnLFxuICAgIHRvb2xiYXJTdHlsZToge30sXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgeyBjb3JyZWN0Q2hvaWNlLCBub2RlLCBlZGl0b3IgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgY2hvaWNlID0gY29ycmVjdENob2ljZSB8fCB7fTtcblxuICAgIGNvbnN0IGRvbU5vZGUgPSBlZGl0b3Iudmlldy5ub2RlRE9NKGVkaXRvci5zdGF0ZS5zZWxlY3Rpb24uZnJvbSk7XG5cbiAgICBpZiAoZG9tTm9kZT8ubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICBjb25zdCBkb21Ob2RlUmVjdCA9IGRvbU5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBlZGl0b3IgPSBkb21Ob2RlLmNsb3Nlc3QoJy50aXB0YXAnKTtcbiAgICAgIGNvbnN0IGVkaXRvclJlY3QgPSBlZGl0b3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB0b3AgPSBkb21Ob2RlUmVjdC50b3AgLSBlZGl0b3JSZWN0LnRvcDtcbiAgICAgIGNvbnN0IGxlZnQgPSBkb21Ob2RlUmVjdC5sZWZ0IC0gZWRpdG9yUmVjdC5sZWZ0O1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgbWFya3VwOiBjaG9pY2UubGFiZWwsXG4gICAgICAgIHRvb2xiYXJTdHlsZToge1xuICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIC8vIHRvcDogYCR7dG9wICsgZG9tTm9kZVJlY3QuaGVpZ2h0ICsgMTd9cHhgLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAvLyBsZWZ0OiBgJHtsZWZ0ICsgMjB9cHhgLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgd2lkdGg6IGAke2RvbU5vZGVSZWN0LndpZHRoIC0gNH1weGAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkRvbmUgPSAobWFya3VwKSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCBlZGl0b3IsIG9uVG9vbGJhckRvbmUsIG9uQ2hhbmdlUmVzcG9uc2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2FuaXRpemVkTWFya3VwID0gc3RyaXBIdG1sVGFncyhtYXJrdXApO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrdXA6IHNhbml0aXplZE1hcmt1cCB9KTtcblxuICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsIHsgdmFsdWU6IHNhbml0aXplZE1hcmt1cCB9KTtcblxuICAgIG9uVG9vbGJhckRvbmUodHJ1ZSk7XG4gICAgb25DaGFuZ2VSZXNwb25zZShzYW5pdGl6ZWRNYXJrdXApO1xuICB9O1xuXG4gIG9uUmVzcEFyZWFDaGFuZ2UgPSAocmVzcEFyZWFNYXJrdXApID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgcmVzcEFyZWFNYXJrdXAgfSk7XG4gIH07XG5cbiAgb25LZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9O1xuXG4gIG9uQmx1ciA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jbGlja2VkSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrZWRJbnNpZGUgPSBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCwgcGx1Z2luUHJvcHMsIHNwZWxsQ2hlY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBtYXJrdXAsIHRvb2xiYXJTdHlsZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpbnB1dFByb3BzID0gbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCA/IHt9IDogeyBtYXhMZW5ndGg6IDI1IH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17dG9vbGJhclN0eWxlfT5cbiAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubWFya3VwfVxuICAgICAgICAgIGRpc2FibGVVbmRlcmxpbmVcbiAgICAgICAgICBvbkNoYW5nZT17KHJlc3BBcmVhTWFya3VwKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2ZW50RG9uZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uUmVzcEFyZWFDaGFuZ2UocmVzcEFyZWFNYXJrdXApO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25Eb25lPXsodmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2ZW50RG9uZSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uRG9uZSh2YWwpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25CbHVyPXsoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2ZW50RG9uZSA9IGUucmVsYXRlZFRhcmdldCAmJiBlLnJlbGF0ZWRUYXJnZXQuY2xvc2VzdCgnLmluc2VydC1jaGFyYWN0ZXItZGlhbG9nJyk7XG4gICAgICAgICAgICB0aGlzLm9uQmx1cihlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uS2V5RG93bj17dGhpcy5vbktleURvd259XG4gICAgICAgICAgbWFya3VwPXttYXJrdXAgfHwgJyd9XG4gICAgICAgICAgYWN0aXZlUGx1Z2lucz17WydsYW5ndWFnZUNoYXJhY3RlcnMnXX1cbiAgICAgICAgICBwbHVnaW5Qcm9wcz17cGx1Z2luUHJvcHN9XG4gICAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM9e1t7IGxhbmd1YWdlOiAnc3BhbmlzaCcgfV19XG4gICAgICAgICAgbWluSGVpZ2h0PXsnMTVweCd9XG4gICAgICAgICAgbWF4SGVpZ2h0PXsnMTVweCd9XG4gICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja31cbiAgICAgICAgICBhdXRvV2lkdGhUb29sYmFyXG4gICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgIG1pbldpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICBpc0hpZGRlbjogISFwbHVnaW5Qcm9wcz8uY2hhcmFjdGVycz8uZGlzYWJsZWQsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkRUNSVG9vbGJhciA9IHdpdGhTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICBtYXJrdXA6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlLFxuICAgIG91dGxpbmU6ICdub25lJyxcbiAgICBsaW5lSGVpZ2h0OiAnMTVweCcsXG4gIH0sXG59KSkoRUNSVG9vbGJhcik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZEVDUlRvb2xiYXI7XG4iXX0=
225
+ //# sourceMappingURL=ecr-toolbar.js.map
@@ -236,4 +236,4 @@ exports["default"] = ExplicitConstructedResponse;
236
236
  markup: processedMarkup
237
237
  });
238
238
  });
239
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UiLCJfbW9kZWwiLCJwcmVwYXJlTW9kZWwiLCJfY29uZmlndXJhdGlvbiIsInNlbnNpYmxlRGVmYXVsdHMiLCJjb25maWd1cmF0aW9uIiwib25Nb2RlbENoYW5nZWQiLCJiaW5kIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsInMiLCJyZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24iLCJpbnB1dENvbmZpZ3VyYXRpb24iLCJfcmVuZGVyIiwiYyIsImxhbmd1YWdlIiwiZW5hYmxlZCIsImxhbmd1YWdlQ2hvaWNlcyIsIm9wdGlvbnMiLCJsZW5ndGgiLCJ2YWx1ZSIsInNldHRpbmdzIiwiZmluZCIsIm9wdGlvbiIsInB1c2giLCJsYWJlbCIsIl9kaXNhYmxlU2lkZVBhbmVsIiwicmVzZXQiLCJyZXNldFZhbHVlIiwiZGlzcGF0Y2hFdmVudCIsIk1vZGVsVXBkYXRlZEV2ZW50IiwibSIsImRpc3BhdGNoTW9kZWxVcGRhdGVkIiwibmV3SW5wdXRDb25maWciLCJoYW5kbGVyIiwiSW5zZXJ0SW1hZ2VFdmVudCIsInNyYyIsImRvbmUiLCJEZWxldGVJbWFnZUV2ZW50IiwiSW5zZXJ0U291bmRFdmVudCIsIkRlbGV0ZVNvdW5kRXZlbnQiLCJlbGVtZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIm1vZGVsIiwiZGlzYWJsZVNpZGVQYW5lbCIsImltYWdlU3VwcG9ydCIsImFkZCIsImluc2VydEltYWdlIiwib25EZWxldGVJbWFnZSIsInVwbG9hZFNvdW5kU3VwcG9ydCIsImluc2VydFNvdW5kIiwib25EZWxldGVTb3VuZCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiSFRNTEVsZW1lbnQiLCJqb2luZWRPYmoiLCJzbGF0ZU1hcmt1cCIsIm1hcmt1cCIsImNob2ljZXMiLCJwcm9jZXNzZWRNYXJrdXAiLCJPYmplY3QiLCJrZXlzIiwiZm9y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U0FBUyxDQUFDRSxNQUE1QixFQUFvQ0YsU0FBUyxDQUFDRyxPQUE5QyxDQUE3QztBQUNBLE1BQU1DLGVBQWUsR0FBRyxnQ0FBY0gsV0FBZCxDQUF4QixDQU5vQyxDQVFwQztBQUNBOztBQUNBLE1BQUlELFNBQVMsQ0FBQ0csT0FBZCxFQUF1QjtBQUNyQkUsSUFBQUEsTUFBTSxDQUFDQyxJQUFQLENBQVlOLFNBQVMsQ0FBQ0csT0FBdEIsRUFBK0JJLE9BQS9CLENBQXVDLFVBQUNDLEdBQUQsRUFBUztBQUM5QyxVQUFJLHlCQUFRUixTQUFTLENBQUNHLE9BQVYsQ0FBa0JLLEdBQWxCLENBQVIsQ0FBSixFQUFxQztBQUNuQ1IsUUFBQUEsU0FBUyxDQUFDRyxPQUFWLENBQWtCSyxHQUFsQixJQUF5QixDQUFDUixTQUFTLENBQUNHLE9BQVYsQ0FBa0JLLEdBQWxCLEtBQTBCLEVBQTNCLEVBQStCQyxHQUEvQixDQUFtQyxVQUFDQyxJQUFELEVBQU9DLEtBQVAsRUFBaUI7QUFDM0UsY0FBSSxDQUFDRCxJQUFJLENBQUMvQyxLQUFWLEVBQWlCO0FBQ2ZwQixZQUFBQSxHQUFHLENBQUMsOERBQUQsRUFBaUVtRSxJQUFqRSxDQUFIO0FBQ0E7QUFBUy9DLGNBQUFBLEtBQUssWUFBS2dELEtBQUw7QUFBZCxlQUErQkQsSUFBL0I7QUFDRDs7QUFFRCxpQkFBT0EsSUFBUDtBQUNELFNBUHdCLENBQXpCO0FBUUQ7QUFDRixLQVhEO0FBWUQ7O0FBRUQseUNBQ0tWLFNBREw7QUFFRUMsSUFBQUEsV0FBVyxFQUFYQSxXQUZGO0FBR0VDLElBQUFBLE1BQU0sRUFBRUU7QUFIVjtBQUtELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGRlZmF1bHRzIGZyb20gJ2xvZGFzaC9kZWZhdWx0cyc7XG5pbXBvcnQgaXNBcnJheSBmcm9tICdsb2Rhc2gvaXNBcnJheSc7XG5pbXBvcnQge1xuICBNb2RlbFVwZGF0ZWRFdmVudCxcbiAgRGVsZXRlSW1hZ2VFdmVudCxcbiAgSW5zZXJ0SW1hZ2VFdmVudCxcbiAgSW5zZXJ0U291bmRFdmVudCxcbiAgRGVsZXRlU291bmRFdmVudCxcbn0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLWNvbmZpZ3VyZS1ldmVudHMnO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuXG5pbXBvcnQgc2Vuc2libGVEZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcbmltcG9ydCB7IHByb2Nlc3NNYXJrdXAsIGNyZWF0ZVNsYXRlTWFya3VwIH0gZnJvbSAnLi9tYXJrdXBVdGlscyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZTpjb25maWd1cmUnKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBzdGF0aWMgcHJlcGFyZU1vZGVsID0gKG1vZGVsID0ge30pID0+IHtcbiAgICBjb25zdCBqb2luZWRPYmogPSB7XG4gICAgICAuLi5zZW5zaWJsZURlZmF1bHRzLm1vZGVsLFxuICAgICAgLi4ubW9kZWwsXG4gICAgfTtcbiAgICBjb25zdCBzbGF0ZU1hcmt1cCA9IGpvaW5lZE9iai5zbGF0ZU1hcmt1cCB8fCBjcmVhdGVTbGF0ZU1hcmt1cChqb2luZWRPYmoubWFya3VwLCBqb2luZWRPYmouY2hvaWNlcyk7XG4gICAgY29uc3QgcHJvY2Vzc2VkTWFya3VwID0gcHJvY2Vzc01hcmt1cChzbGF0ZU1hcmt1cCk7XG5cbiAgICAvLyB0aGlzIHdhcyBhZGRlZCB0byB0cmVhdCBhbiBleGNlcHRpb24sIHdoZW4gdGhlIG1vZGVsIGhhcyBjaG9pY2VzIHdpdGhvdXQgdGhlIFwidmFsdWVcIiBwcm9wZXJ0eVxuICAgIC8vIGxpa2U6IHsgbGFiZWw6ICd0ZXN0JyB9XG4gICAgaWYgKGpvaW5lZE9iai5jaG9pY2VzKSB7XG4gICAgICBPYmplY3Qua2V5cyhqb2luZWRPYmouY2hvaWNlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmIChpc0FycmF5KGpvaW5lZE9iai5jaG9pY2VzW2tleV0pKSB7XG4gICAgICAgICAgam9pbmVkT2JqLmNob2ljZXNba2V5XSA9IChqb2luZWRPYmouY2hvaWNlc1trZXldIHx8IFtdKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0udmFsdWUpIHtcbiAgICAgICAgICAgICAgbG9nKCdDaG9pY2UgZG9lcyBub3QgY29udGFpbiBcInZhbHVlXCIgcHJvcGVydHksIHdoaWNoIGlzIHJlcXVpcmVkLicsIGl0ZW0pO1xuICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogYCR7aW5kZXh9YCwgLi4uaXRlbSB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmpvaW5lZE9iaixcbiAgICAgIHNsYXRlTWFya3VwLFxuICAgICAgbWFya3VwOiBwcm9jZXNzZWRNYXJrdXAsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX21vZGVsID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlLnByZXBhcmVNb2RlbCgpO1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBzZW5zaWJsZURlZmF1bHRzLmNvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCA9IHRoaXMub25Nb2RlbENoYW5nZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQgPSB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHNldCBtb2RlbChzKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UucHJlcGFyZU1vZGVsKHMpO1xuICAgIGlmICh0aGlzLl9tb2RlbC5yZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24pIHtcbiAgICAgIHRoaXMuX21vZGVsLnJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbiA9IHRoaXMuX2NvbmZpZ3VyYXRpb24ucmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uPy5pbnB1dENvbmZpZ3VyYXRpb247XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgc2V0IGNvbmZpZ3VyYXRpb24oYykge1xuICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cyhjLCBzZW5zaWJsZURlZmF1bHRzLmNvbmZpZ3VyYXRpb24pO1xuXG4gICAgLy8gaWYgbGFuZ3VhZ2U6ZW5hYmxlZCBpcyB0cnVlLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIGRlZmF1bHQgaXRlbSBtb2RlbCBzaG91bGQgaW5jbHVkZSBhIGxhbmd1YWdlIHZhbHVlO1xuICAgIC8vIGlmIGl0IGlzIGZhbHNlLCB0aGVuIHRoZSBsYW5ndWFnZSBmaWVsZCBzaG91bGQgYmUgb21pdHRlZCBmcm9tIHRoZSBpdGVtIG1vZGVsLlxuICAgIC8vIGlmIGEgZGVmYXVsdCBpdGVtIG1vZGVsIGluY2x1ZGVzIGEgbGFuZ3VhZ2UgdmFsdWUgKGUuZy4sIGVuX1VTKSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgYXV0aG9yaW5nIHZpZXcgc2V0dGluZ3MgaGF2ZSBsYW5ndWFnZTpzZXR0aW5ncyA9IHRydWUsXG4gICAgLy8gdGhlbiAoYSkgbGFuZ3VhZ2U6ZW5hYmxlZCBzaG91bGQgYWxzbyBiZSB0cnVlLCBhbmQgKGIpIHRoYXQgZGVmYXVsdCBsYW5ndWFnZSB2YWx1ZSBzaG91bGQgYmUgcmVwcmVzZW50ZWQgaW4gbGFuZ3VhZ2VDaG9pY2VzW10gKGFzIGEga2V5KS5cbiAgICBpZiAoYy5sYW5ndWFnZT8uZW5hYmxlZCkge1xuICAgICAgaWYgKGMubGFuZ3VhZ2VDaG9pY2VzPy5vcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5fbW9kZWwubGFuZ3VhZ2UgPSBjLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zWzBdLnZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYy5sYW5ndWFnZS5zZXR0aW5ncyAmJiB0aGlzLl9tb2RlbC5sYW5ndWFnZSkge1xuICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZS5lbmFibGVkID0gdHJ1ZTtcblxuICAgICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zIHx8ICF0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9jb25maWd1cmF0aW9uLmxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zID0gW107XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGlmIHRoZSBsYW5ndWFnZSBpcyBhbHJlYWR5IGluY2x1ZGVkIGluIHRoZSBsYW5ndWFnZUNob2ljZXMub3B0aW9ucyBhcnJheVxuICAgICAgLy8gYW5kIGlmIG5vdCwgdGhlbiBhZGQgaXQuXG4gICAgICBpZiAoIXRoaXMuX2NvbmZpZ3VyYXRpb24ubGFuZ3VhZ2VDaG9pY2VzLm9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLl9tb2RlbC5sYW5ndWFnZSkpIHtcbiAgICAgICAgdGhpcy5fY29uZmlndXJhdGlvbi5sYW5ndWFnZUNob2ljZXMub3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fbW9kZWwubGFuZ3VhZ2UsXG4gICAgICAgICAgbGFiZWw6IHRoaXMuX21vZGVsLmxhbmd1YWdlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuX21vZGVsLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgc2V0IGRpc2FibGVTaWRlUGFuZWwocykge1xuICAgIHRoaXMuX2Rpc2FibGVTaWRlUGFuZWwgPSBzO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZGlzcGF0Y2hNb2RlbFVwZGF0ZWQocmVzZXQpIHtcbiAgICBjb25zdCByZXNldFZhbHVlID0gISFyZXNldDtcblxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxVcGRhdGVkRXZlbnQodGhpcy5fbW9kZWwsIHJlc2V0VmFsdWUpKTtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2VkKG0sIHJlc2V0KSB7XG4gICAgdGhpcy5fbW9kZWwgPSBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UucHJlcGFyZU1vZGVsKG0pO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICAgIHRoaXMuZGlzcGF0Y2hNb2RlbFVwZGF0ZWQocmVzZXQpO1xuICB9XG5cbiAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGM7XG5cbiAgICBjb25zdCBuZXdJbnB1dENvbmZpZyA9IHRoaXMuX2NvbmZpZ3VyYXRpb24/LnJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbj8uaW5wdXRDb25maWd1cmF0aW9uO1xuXG4gICAgdGhpcy5fbW9kZWwgPSB7XG4gICAgICAuLi50aGlzLl9tb2RlbCxcbiAgICAgIHJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbjogbmV3SW5wdXRDb25maWdcbiAgICB9O1xuXG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlZCh0aGlzLl9tb2RlbCk7XG4gIH1cblxuXG4gIC8qKiBAcGFyYW0ge2RvbmUsIHByb2dyZXNzLCBmaWxlfSBoYW5kbGVyICovXG4gIGluc2VydEltYWdlKGhhbmRsZXIpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEluc2VydEltYWdlRXZlbnQoaGFuZGxlcikpO1xuICB9XG5cbiAgb25EZWxldGVJbWFnZShzcmMsIGRvbmUpIHtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IERlbGV0ZUltYWdlRXZlbnQoc3JjLCBkb25lKSk7XG4gIH1cblxuICBpbnNlcnRTb3VuZChoYW5kbGVyKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnNlcnRTb3VuZEV2ZW50KGhhbmRsZXIpKTtcbiAgfVxuXG4gIG9uRGVsZXRlU291bmQoc3JjLCBkb25lKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBEZWxldGVTb3VuZEV2ZW50KHNyYywgZG9uZSkpO1xuICB9XG5cbiAgX3JlbmRlcigpIHtcbiAgICBsb2coJ19yZW5kZXInKTtcblxuICAgIGxldCBlbGVtZW50ID0gUmVhY3QuY3JlYXRlRWxlbWVudChNYWluLCB7XG4gICAgICBtb2RlbDogdGhpcy5fbW9kZWwsXG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLl9jb25maWd1cmF0aW9uLFxuICAgICAgb25Nb2RlbENoYW5nZWQ6IHRoaXMub25Nb2RlbENoYW5nZWQsXG4gICAgICBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkOiB0aGlzLm9uQ29uZmlndXJhdGlvbkNoYW5nZWQsXG4gICAgICBkaXNhYmxlU2lkZVBhbmVsOiB0aGlzLl9kaXNhYmxlU2lkZVBhbmVsLFxuICAgICAgaW1hZ2VTdXBwb3J0OiB7XG4gICAgICAgIGFkZDogdGhpcy5pbnNlcnRJbWFnZS5iaW5kKHRoaXMpLFxuICAgICAgICBkZWxldGU6IHRoaXMub25EZWxldGVJbWFnZS5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydDoge1xuICAgICAgICBhZGQ6IHRoaXMuaW5zZXJ0U291bmQuYmluZCh0aGlzKSxcbiAgICAgICAgZGVsZXRlOiB0aGlzLm9uRGVsZXRlU291bmQuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBSZWFjdERPTS5yZW5kZXIoZWxlbWVudCwgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
239
+ //# sourceMappingURL=index.js.map
@@ -628,4 +628,4 @@ exports.Main = Main;
628
628
  var Styled = (0, _styles.withStyles)(styles)(Main);
629
629
  var _default = Styled;
630
630
  exports["default"] = _default;
631
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJ0b2dnbGUiLCJzZXR0aW5ncyIsIlBhbmVsIiwiZHJvcGRvd24iLCJzdHlsZXMiLCJ0aGVtZSIsInByb21wdEhvbGRlciIsIndpZHRoIiwicGFkZGluZ1RvcCIsInNwYWNpbmciLCJ1bml0IiwibWFyZ2luQm90dG9tIiwibWFya3VwIiwibWluSGVpZ2h0IiwiY2hvaWNlQ29uZmlndXJhdGlvbiIsInBhZGRpbmdCb3R0b20iLCJzd2l0Y2hFbGVtZW50IiwianVzdGlmeUNvbnRlbnQiLCJtYXJnaW4iLCJhZGRCdXR0b24iLCJ0ZXh0IiwiZm9udFNpemUiLCJ0eXBvZ3JhcGh5IiwidG9vbHRpcCIsIndoaXRlU3BhY2UiLCJtYXhXaWR0aCIsImVycm9yVGV4dCIsImNvbG9yIiwicGFsZXR0ZSIsImVycm9yIiwibWFpbiIsImZsZXhDb250YWluZXIiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsInJlc3BvbnNlSGVhZGVyIiwibWFyZ2luVG9wIiwiY3JlYXRlRWxlbWVudEZyb21IVE1MIiwiaHRtbFN0cmluZyIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInRyaW0iLCJNYWluIiwibmV3VmFsIiwicHJvcHMiLCJvbk1vZGVsQ2hhbmdlZCIsIm1vZGVsIiwicHJvbXB0IiwicmF0aW9uYWxlIiwidGVhY2hlckluc3RydWN0aW9ucyIsInNsYXRlTWFya3VwIiwiY2hvaWNlcyIsIm1heExlbmd0aFBlckNob2ljZSIsImluZGV4IiwibmV3VmFsTGVuZ3RoIiwibGVuZ3RoIiwibGFiZWwiLCJ2YWx1ZSIsIm5iT2ZNaXNzaW5nQ2hvaWNlcyIsIkFycmF5IiwiZmlsbCIsInNwbGljZSIsImRvbU1hcmt1cCIsImFsbFJlc3BBcmVhcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJhbGxDaG9pY2VzIiwidXBkYXRlZE1heExlbmd0aFBlckNob2ljZSIsImZvckVhY2giLCJlbCIsIm5ld0Nob2ljZXMiLCJkYXRhc2V0IiwiY2FsbGJhY2siLCJzZXRTdGF0ZSIsImNhY2hlZENob2ljZXMiLCJ1bmRlZmluZWQiLCJub2RlcyIsInN0YXRlIiwibmV3Q2FjaGVkQ2hvaWNlcyIsIm5vZGUiLCJrZXlGb3JOb2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiaGFzT3duUHJvcGVydHkiLCJ0cmFpbGluZyIsImxlYWRpbmciLCJ1bmRlZmluZWRMZW5ndGhzIiwidmFsdWVzIiwiY2hvaWNlIiwibGFiZWxMZW5ndGhzQXJyIiwibWFwIiwiTWF0aCIsIm1heCIsImNsYXNzZXMiLCJjb25maWd1cmF0aW9uIiwib25Db25maWd1cmF0aW9uQ2hhbmdlZCIsImltYWdlU3VwcG9ydCIsInVwbG9hZFNvdW5kU3VwcG9ydCIsImJhc2VJbnB1dENvbmZpZ3VyYXRpb24iLCJjb250ZW50RGltZW5zaW9ucyIsIm1heEltYWdlV2lkdGgiLCJtYXhJbWFnZUhlaWdodCIsIm1heFJlc3BvbnNlQXJlYXMiLCJwYXJ0aWFsU2NvcmluZyIsInBsYXllclNwZWxsQ2hlY2siLCJ0ZW1wbGF0ZSIsInNldHRpbmdzUGFuZWxEaXNhYmxlZCIsInNwZWxsQ2hlY2siLCJlZGl0U291cmNlIiwid2l0aFJ1YnJpYyIsIm1hdGhNbE9wdGlvbnMiLCJsYW5ndWFnZSIsImxhbmd1YWdlQ2hvaWNlcyIsInNwYW5pc2hCdXR0b24iLCJyZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24iLCJlcnJvcnMiLCJleHRyYUNTU1J1bGVzIiwibWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJyYXRpb25hbGVFbmFibGVkIiwic3BlbGxDaGVja0VuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInRvb2xiYXJFZGl0b3JQb3NpdGlvbiIsImNob2ljZXNFcnJvcnMiLCJwcm9tcHRFcnJvciIsInJhdGlvbmFsZUVycm9yIiwicmVzcG9uc2VBcmVhc0Vycm9yIiwicmVzcG9uc2VBcmVhcyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFcnJvciIsInZhbGlkYXRpb25NZXNzYWdlIiwiZGVmYXVsdEltYWdlTWF4V2lkdGgiLCJkZWZhdWx0SW1hZ2VNYXhIZWlnaHQiLCJ0b29sYmFyT3B0cyIsInBvc2l0aW9uIiwicGFuZWxTZXR0aW5ncyIsImVuYWJsZWQiLCJvcHRpb25zIiwicGFuZWxQcm9wZXJ0aWVzIiwicGxheWVyU3BlbGxDaGVja0VuYWJsZWQiLCJydWJyaWNFbmFibGVkIiwiZ2V0UGx1Z2luUHJvcHMiLCJvbk1vZGVsQ2hhbmdlIiwiU2V0dGluZ3MiLCJQcm9wZXJ0aWVzIiwib25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZCIsImlucHV0Q29uZmlndXJhdGlvbiIsIm9uUHJvbXB0Q2hhbmdlZCIsIm1hcmdpbkxlZnQiLCJBTExfUExVR0lOUyIsInR5cGUiLCJkdXBsaWNhdGVzIiwicmVzcEFyZWFUb29sYmFyIiwiZWRpdG9yIiwib25Ub29sYmFyRG9uZSIsImNvcnJlY3RDaG9pY2UiLCJhdHRycyIsIm9uQ2hhbmdlUmVzcG9uc2UiLCJvbkhhbmRsZUFyZWFDaGFuZ2UiLCJvbkNoYW5nZSIsIm9uQmx1ciIsIm9uUmVzcG9uc2VzQ2hhbmdlZCIsIm9uTGVuZ3RoQ2hhbmdlZCIsIm9uUmF0aW9uYWxlQ2hhbmdlZCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImRpc2FibGVTaWRlUGFuZWwiLCJib29sIiwiZnVuYyIsInNoYXBlIiwiYWRkIiwiU3R5bGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxNQUFSLEdBQW9DQyxrQkFBcEMsQ0FBUUQsTUFBUjtBQUFBLElBQWdCRSxLQUFoQixHQUFvQ0Qsa0JBQXBDLENBQWdCQyxL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QjFFLEVBQUFBLE9BQU8sRUFBRXdFLHNCQUFVQyxNQUFWLENBQWlCQyxVQU5UO0FBT2pCdkUsRUFBQUEsWUFBWSxFQUFFcUUsc0JBQVVNLEtBQVYsQ0FBZ0I7QUFDNUJDLElBQUFBLEdBQUcsRUFBRVAsc0JBQVVLLElBQVYsQ0FBZUgsVUFEUTtBQUU1QixjQUFRRixzQkFBVUssSUFBVixDQUFlSDtBQUZLLEdBQWhCLENBUEc7QUFXakJ0RSxFQUFBQSxrQkFBa0IsRUFBRW9FLHNCQUFVQztBQVhiLEM7QUF3YXJCLElBQU1PLE1BQU0sR0FBRyx3QkFBV3pLLE1BQVgsRUFBbUJ1QyxJQUFuQixDQUFmO2VBRWVrSSxNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHBpY2sgZnJvbSAnbG9kYXNoL3BpY2snO1xuaW1wb3J0IHRocm90dGxlIGZyb20gJ2xvZGFzaC90aHJvdHRsZSc7XG5pbXBvcnQgRWRpdGFibGVIdG1sLCB7IEFMTF9QTFVHSU5TIH0gZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJztcbmltcG9ydCB7IElucHV0Q29udGFpbmVyLCBsYXlvdXQsIHNldHRpbmdzIH0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvVHlwb2dyYXBoeSc7XG5pbXBvcnQgSW5mbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW5mbyc7XG5pbXBvcnQgVG9vbHRpcCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9Ub29sdGlwJztcblxuaW1wb3J0IEVDUlRvb2xiYXIgZnJvbSAnLi9lY3ItdG9vbGJhcic7XG5pbXBvcnQgQWx0ZXJuYXRlUmVzcG9uc2VzIGZyb20gJy4vYWx0ZXJuYXRlUmVzcG9uc2VzJztcbmltcG9ydCB7IGRlY29kZUhUTUwsIGdldEFkanVzdGVkTGVuZ3RoIH0gZnJvbSAnLi9tYXJrdXBVdGlscyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuY29uc3QgeyB0b2dnbGUsIFBhbmVsLCBkcm9wZG93biB9ID0gc2V0dGluZ3M7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcHJvbXB0SG9sZGVyOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgbWFya3VwOiB7XG4gICAgbWluSGVpZ2h0OiAnMTAwcHgnLFxuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgICcmIFtkYXRhLXNsYXRlLWVkaXRvcj1cInRydWVcIl0nOiB7XG4gICAgICBtaW5IZWlnaHQ6ICcxMDBweCcsXG4gICAgfSxcbiAgfSxcbiAgY2hvaWNlQ29uZmlndXJhdGlvbjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgc3dpdGNoRWxlbWVudDoge1xuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgbWFyZ2luOiAwLFxuICB9LFxuICBhZGRCdXR0b246IHtcbiAgICBmbG9hdDogJ3JpZ2h0JyxcbiAgfSxcbiAgdGV4dDoge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgMixcbiAgfSxcbiAgdG9vbHRpcDoge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIC0gMixcbiAgICB3aGl0ZVNwYWNlOiAncHJlJyxcbiAgICBtYXhXaWR0aDogJzUwMHB4JyxcbiAgfSxcbiAgZXJyb3JUZXh0OiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4sXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0LFxuICB9LFxuICBmbGV4Q29udGFpbmVyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICByZXNwb25zZUhlYWRlcjoge1xuICAgIG1hcmdpblRvcDogdGhlbWUuc3BhY2luZy51bml0ICogMyxcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCxcbiAgfSxcbn0pO1xuXG5jb25zdCBjcmVhdGVFbGVtZW50RnJvbUhUTUwgPSAoaHRtbFN0cmluZykgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IGh0bWxTdHJpbmcudHJpbSgpO1xuXG4gIHJldHVybiBkaXY7XG59O1xuXG5leHBvcnQgY2xhc3MgTWFpbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY29uZmlndXJhdGlvbjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgZGlzYWJsZVNpZGVQYW5lbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25Nb2RlbENoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaW1hZ2VTdXBwb3J0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYWRkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgZGVsZXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH0pLFxuICAgIHVwbG9hZFNvdW5kU3VwcG9ydDogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcblxuICBzdGF0ZSA9IHt9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1vZGVsOiB7IHNsYXRlTWFya3VwLCBjaG9pY2VzLCBtYXhMZW5ndGhQZXJDaG9pY2UgPSBbXSB9LFxuICAgICAgb25Nb2RlbENoYW5nZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdW5kZWZpbmVkTGVuZ3RocyA9ICFtYXhMZW5ndGhQZXJDaG9pY2UubGVuZ3RoO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1hcmt1cDogc2xhdGVNYXJrdXAgfSk7XG5cbiAgICAvLyBjYWxjdWxhdGUgbWF4TGVuZ3RoUGVyQ2hvaWNlIGFycmF5IGlmIGl0IGlzIG5vdCBkZWZpbmVkIG9yIGRlZmluZWQgaW5jb3JyZWN0bHlcbiAgICBPYmplY3QudmFsdWVzKGNob2ljZXMpLmZvckVhY2goKGNob2ljZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsTGVuZ3Roc0FyciA9IGNob2ljZS5tYXAoKGNob2ljZSkgPT4gZGVjb2RlSFRNTChjaG9pY2UubGFiZWwgfHwgJycpLmxlbmd0aCk7XG4gICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1heCguLi5sYWJlbExlbmd0aHNBcnIpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHVuZGVmaW5lZExlbmd0aHMgfHxcbiAgICAgICAgIW1heExlbmd0aFBlckNob2ljZVtpbmRleF0gfHxcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA8IGxlbmd0aCB8fFxuICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2VbaW5kZXhdID4gbGVuZ3RoICsgMTBcbiAgICAgICkge1xuICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2VbaW5kZXhdID0gZ2V0QWRqdXN0ZWRMZW5ndGgobGVuZ3RoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgbWF4TGVuZ3RoUGVyQ2hvaWNlIH0pO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZSA9IChuZXdWYWwpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgLi4ubmV3VmFsIH0pO1xuICB9O1xuXG4gIG9uUHJvbXB0Q2hhbmdlZCA9IChwcm9tcHQpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgcHJvbXB0IH0pO1xuICB9O1xuXG4gIG9uUmF0aW9uYWxlQ2hhbmdlZCA9IChyYXRpb25hbGUpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgcmF0aW9uYWxlIH0pO1xuICB9O1xuXG4gIG9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWQgPSAodGVhY2hlckluc3RydWN0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgbW9kZWwsIG9uTW9kZWxDaGFuZ2VkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgb25Nb2RlbENoYW5nZWQoeyAuLi5tb2RlbCwgdGVhY2hlckluc3RydWN0aW9ucyB9KTtcbiAgfTtcblxuICBvbk1hcmt1cENoYW5nZWQgPSAoc2xhdGVNYXJrdXApID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgc2xhdGVNYXJrdXAgfSk7XG4gIH07XG5cbiAgb25SZXNwb25zZXNDaGFuZ2VkID0gKGNob2ljZXMpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uTW9kZWxDaGFuZ2VkKHsgLi4udGhpcy5wcm9wcy5tb2RlbCwgY2hvaWNlcyB9KTtcbiAgfTtcblxuICBvbkxlbmd0aENoYW5nZWQgPSAobWF4TGVuZ3RoUGVyQ2hvaWNlKSA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBvbk1vZGVsQ2hhbmdlZCh7IC4uLm1vZGVsLCBtYXhMZW5ndGhQZXJDaG9pY2UgfSk7XG4gIH07XG5cbiAgb25DaGFuZ2VSZXNwb25zZSA9IChpbmRleCwgbmV3VmFsKSA9PiB7XG4gICAgY29uc3QgeyBtb2RlbCwgb25Nb2RlbENoYW5nZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBjaG9pY2VzIH0gPSBtb2RlbDtcbiAgICBsZXQgeyBtYXhMZW5ndGhQZXJDaG9pY2UgfSA9IG1vZGVsO1xuICAgIGNvbnN0IG5ld1ZhbExlbmd0aCA9IGRlY29kZUhUTUwobmV3VmFsIHx8ICcnKS5sZW5ndGg7XG5cbiAgICBpZiAoIWNob2ljZXNbaW5kZXhdIHx8ICFjaG9pY2VzW2luZGV4XS5sZW5ndGgpIHtcbiAgICAgIGNob2ljZXNbaW5kZXhdID0gW3sgbGFiZWw6IG5ld1ZhbCB8fCAnJywgdmFsdWU6ICcwJyB9XTtcblxuICAgICAgLy8gYWRkIGRlZmF1bHQgdmFsdWVzIGZvciBtaXNzaW5nIGNob2ljZXMgdXAgdG8gdGhlIG5ldyBpbmRleCBwb3NpdGlvblxuICAgICAgY29uc3QgbmJPZk1pc3NpbmdDaG9pY2VzID0gaW5kZXggPiBtYXhMZW5ndGhQZXJDaG9pY2UubGVuZ3RoID8gaW5kZXggLSBtYXhMZW5ndGhQZXJDaG9pY2UubGVuZ3RoIDogMDtcblxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlID0gWy4uLm1heExlbmd0aFBlckNob2ljZSwgLi4uQXJyYXkobmJPZk1pc3NpbmdDaG9pY2VzKS5maWxsKDEpXTtcblxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlLnNwbGljZShpbmRleCwgMCwgZ2V0QWRqdXN0ZWRMZW5ndGgobmV3VmFsTGVuZ3RoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNob2ljZXNbaW5kZXhdWzBdLmxhYmVsID0gbmV3VmFsIHx8ICcnO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG1heExlbmd0aFBlckNob2ljZSAmJlxuICAgICAgICAobWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA8IG5ld1ZhbExlbmd0aCB8fCBtYXhMZW5ndGhQZXJDaG9pY2VbaW5kZXhdID4gbmV3VmFsTGVuZ3RoICsgMTApXG4gICAgICApIHtcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA9IGdldEFkanVzdGVkTGVuZ3RoKG5ld1ZhbExlbmd0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZWQoeyAuLi5tb2RlbCwgY2hvaWNlcywgbWF4TGVuZ3RoUGVyQ2hvaWNlIH0pO1xuICB9O1xuXG4gIG9uQ2hhbmdlID0gKG1hcmt1cCkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG1vZGVsOiB7IGNob2ljZXMsIG1heExlbmd0aFBlckNob2ljZSB9LFxuICAgICAgb25Nb2RlbENoYW5nZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZG9tTWFya3VwID0gY3JlYXRlRWxlbWVudEZyb21IVE1MKG1hcmt1cCk7XG4gICAgY29uc3QgYWxsUmVzcEFyZWFzID0gZG9tTWFya3VwLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXR5cGU9XCJleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZVwiXScpO1xuXG4gICAgY29uc3QgYWxsQ2hvaWNlcyA9IHt9O1xuICAgIGNvbnN0IHVwZGF0ZWRNYXhMZW5ndGhQZXJDaG9pY2UgPSBbXTtcblxuICAgIGFsbFJlc3BBcmVhcy5mb3JFYWNoKChlbCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG5ld0Nob2ljZXMgPSBjbG9uZURlZXAoY2hvaWNlc1tlbC5kYXRhc2V0LmluZGV4XSk7XG5cbiAgICAgIGlmIChuZXdDaG9pY2VzKSB7XG4gICAgICAgIG5ld0Nob2ljZXNbMF0gPSB7XG4gICAgICAgICAgbGFiZWw6IGVsLmRhdGFzZXQudmFsdWUgfHwgJycsXG4gICAgICAgICAgdmFsdWU6ICcwJyxcbiAgICAgICAgfTtcblxuICAgICAgICB1cGRhdGVkTWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA9IG1heExlbmd0aFBlckNob2ljZVtlbC5kYXRhc2V0LmluZGV4XTtcbiAgICAgIH1cblxuICAgICAgYWxsQ2hvaWNlc1tpbmRleF0gPSBuZXdDaG9pY2VzO1xuICAgICAgZWwuZGF0YXNldC5pbmRleCA9IGluZGV4O1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PlxuICAgICAgb25Nb2RlbENoYW5nZWQoe1xuICAgICAgICAuLi50aGlzLnByb3BzLm1vZGVsLFxuICAgICAgICBjaG9pY2VzOiBhbGxDaG9pY2VzLFxuICAgICAgICBzbGF0ZU1hcmt1cDogZG9tTWFya3VwLmlubmVySFRNTCxcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlOiB1cGRhdGVkTWF4TGVuZ3RoUGVyQ2hvaWNlLFxuICAgICAgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgY2FjaGVkQ2hvaWNlczogdW5kZWZpbmVkIH0sIGNhbGxiYWNrKTtcbiAgfTtcblxuICBvbkhhbmRsZUFyZWFDaGFuZ2UgPSB0aHJvdHRsZShcbiAgICAobm9kZXMpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbW9kZWw6IHsgY2hvaWNlcyB9LFxuICAgICAgICBvbk1vZGVsQ2hhbmdlZCxcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBjYWNoZWRDaG9pY2VzIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICBpZiAoIW5vZGVzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3Q2hvaWNlcyA9IGNob2ljZXMgPyBjbG9uZURlZXAoY2hvaWNlcykgOiB7fTtcbiAgICAgIGNvbnN0IG5ld0NhY2hlZENob2ljZXMgPSBjYWNoZWRDaG9pY2VzID8gY2xvbmVEZWVwKGNhY2hlZENob2ljZXMpIDoge307XG5cbiAgICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgY29uc3Qga2V5Rm9yTm9kZSA9IG5vZGUuaW5kZXg7XG5cbiAgICAgICAgaWYgKCFuZXdDaG9pY2VzW2tleUZvck5vZGVdICYmIG5ld0NhY2hlZENob2ljZXNba2V5Rm9yTm9kZV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKG5ld0Nob2ljZXMsIHBpY2sobmV3Q2FjaGVkQ2hvaWNlcywga2V5Rm9yTm9kZSkpO1xuXG4gICAgICAgICAgaWYgKG5ld0NhY2hlZENob2ljZXMuaGFzT3duUHJvcGVydHkoa2V5Rm9yTm9kZSkpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBuZXdDYWNoZWRDaG9pY2VzW2tleUZvck5vZGVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKG5ld0NhY2hlZENob2ljZXMsIHBpY2sobmV3Q2hvaWNlcywga2V5Rm9yTm9kZSkpO1xuXG4gICAgICAgICAgaWYgKG5ld0Nob2ljZXMuaGFzT3duUHJvcGVydHkoa2V5Rm9yTm9kZSkpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBuZXdDaG9pY2VzW2tleUZvck5vZGVdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNhbGxiYWNrID0gKCkgPT4gb25Nb2RlbENoYW5nZWQoeyAuLi50aGlzLnByb3BzLm1vZGVsLCBjaG9pY2VzOiBuZXdDaG9pY2VzIH0pO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2FjaGVkQ2hvaWNlczogbmV3Q2FjaGVkQ2hvaWNlcyB9LCBjYWxsYmFjayk7XG4gICAgfSxcbiAgICA1MDAsXG4gICAgeyB0cmFpbGluZzogZmFsc2UsIGxlYWRpbmc6IHRydWUgfSxcbiAgKTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjbGFzc2VzLCBtb2RlbCwgY29uZmlndXJhdGlvbiwgb25Db25maWd1cmF0aW9uQ2hhbmdlZCwgaW1hZ2VTdXBwb3J0LCB1cGxvYWRTb3VuZFN1cHBvcnQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7XG4gICAgICBiYXNlSW5wdXRDb25maWd1cmF0aW9uID0ge30sXG4gICAgICBjb250ZW50RGltZW5zaW9ucyA9IHt9LFxuICAgICAgbWF4SW1hZ2VXaWR0aCA9IHt9LFxuICAgICAgbWF4SW1hZ2VIZWlnaHQgPSB7fSxcbiAgICAgIG1heExlbmd0aFBlckNob2ljZSA9IHt9LFxuICAgICAgbWF4UmVzcG9uc2VBcmVhcyxcbiAgICAgIHBhcnRpYWxTY29yaW5nID0ge30sXG4gICAgICBwbGF5ZXJTcGVsbENoZWNrID0ge30sXG4gICAgICBwcm9tcHQgPSB7fSxcbiAgICAgIHJhdGlvbmFsZSA9IHt9LFxuICAgICAgdGVtcGxhdGUgPSB7fSxcbiAgICAgIHNldHRpbmdzUGFuZWxEaXNhYmxlZCxcbiAgICAgIHNwZWxsQ2hlY2sgPSB7fSxcbiAgICAgIGVkaXRTb3VyY2UgPSB7fSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgPSB7fSxcbiAgICAgIHdpdGhSdWJyaWMgPSB7fSxcbiAgICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICAgIGxhbmd1YWdlID0ge30sXG4gICAgICBsYW5ndWFnZUNob2ljZXMgPSB7fSxcbiAgICAgIHNwYW5pc2hCdXR0b24gPSB7fSxcbiAgICAgIHJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbiA9IHt9LFxuICAgIH0gPSBjb25maWd1cmF0aW9uIHx8IHt9O1xuICAgIGNvbnN0IHtcbiAgICAgIGVycm9ycyxcbiAgICAgIGV4dHJhQ1NTUnVsZXMsXG4gICAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkLFxuICAgICAgcHJvbXB0RW5hYmxlZCxcbiAgICAgIHJhdGlvbmFsZUVuYWJsZWQsXG4gICAgICBzcGVsbENoZWNrRW5hYmxlZCxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkLFxuICAgICAgdG9vbGJhckVkaXRvclBvc2l0aW9uLFxuICAgIH0gPSBtb2RlbCB8fCB7fTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGNob2ljZXM6IGNob2ljZXNFcnJvcnMgPSB7fSxcbiAgICAgIHByb21wdDogcHJvbXB0RXJyb3IsXG4gICAgICByYXRpb25hbGU6IHJhdGlvbmFsZUVycm9yLFxuICAgICAgcmVzcG9uc2VBcmVhczogcmVzcG9uc2VBcmVhc0Vycm9yLFxuICAgICAgdGVhY2hlckluc3RydWN0aW9uczogdGVhY2hlckluc3RydWN0aW9uc0Vycm9yLFxuICAgIH0gPSBlcnJvcnMgfHwge307XG4gICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2UgPSBnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlKGNvbmZpZ3VyYXRpb24pO1xuXG4gICAgY29uc3QgZGVmYXVsdEltYWdlTWF4V2lkdGggPSBtYXhJbWFnZVdpZHRoICYmIG1heEltYWdlV2lkdGgucHJvbXB0O1xuICAgIGNvbnN0IGRlZmF1bHRJbWFnZU1heEhlaWdodCA9IG1heEltYWdlSGVpZ2h0ICYmIG1heEltYWdlSGVpZ2h0LnByb21wdDtcblxuICAgIGNvbnN0IHRvb2xiYXJPcHRzID0ge1xuICAgICAgcG9zaXRpb246IHRvb2xiYXJFZGl0b3JQb3NpdGlvbiA9PT0gJ3RvcCcgPyAndG9wJyA6ICdib3R0b20nLFxuICAgIH07XG5cbiAgICBjb25zdCBwYW5lbFNldHRpbmdzID0ge1xuICAgICAgcGFydGlhbFNjb3Jpbmc6IHBhcnRpYWxTY29yaW5nLnNldHRpbmdzICYmIHRvZ2dsZShwYXJ0aWFsU2NvcmluZy5sYWJlbCksXG4gICAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkOiBtYXhMZW5ndGhQZXJDaG9pY2Uuc2V0dGluZ3MgJiYgdG9nZ2xlKG1heExlbmd0aFBlckNob2ljZS5sYWJlbCksXG4gICAgICAnbGFuZ3VhZ2UuZW5hYmxlZCc6IGxhbmd1YWdlLnNldHRpbmdzICYmIHRvZ2dsZShsYW5ndWFnZS5sYWJlbCwgdHJ1ZSksXG4gICAgICBsYW5ndWFnZTogbGFuZ3VhZ2Uuc2V0dGluZ3MgJiYgbGFuZ3VhZ2UuZW5hYmxlZCAmJiBkcm9wZG93bihsYW5ndWFnZUNob2ljZXMubGFiZWwsIGxhbmd1YWdlQ2hvaWNlcy5vcHRpb25zKSxcbiAgICAgICdyZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24uaW5wdXRDb25maWd1cmF0aW9uLmNoYXJhY3RlcnMuZGlzYWJsZWQnOlxuICAgICAgICBzcGFuaXNoQnV0dG9uLnNldHRpbmdzICYmIHRvZ2dsZShzcGFuaXNoQnV0dG9uLmxhYmVsLCB0cnVlKSxcbiAgICB9O1xuICAgIGNvbnN0IHBhbmVsUHJvcGVydGllcyA9IHtcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0ZWFjaGVySW5zdHJ1Y3Rpb25zLnNldHRpbmdzICYmIHRvZ2dsZSh0ZWFjaGVySW5zdHJ1Y3Rpb25zLmxhYmVsKSxcbiAgICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHJhdGlvbmFsZS5zZXR0aW5ncyAmJiB0b2dnbGUocmF0aW9uYWxlLmxhYmVsKSxcbiAgICAgIHByb21wdEVuYWJsZWQ6IHByb21wdC5zZXR0aW5ncyAmJiB0b2dnbGUocHJvbXB0LmxhYmVsKSxcbiAgICAgIHNwZWxsQ2hlY2tFbmFibGVkOiBzcGVsbENoZWNrLnNldHRpbmdzICYmIHRvZ2dsZShzcGVsbENoZWNrLmxhYmVsKSxcbiAgICAgIHBsYXllclNwZWxsQ2hlY2tFbmFibGVkOiBwbGF5ZXJTcGVsbENoZWNrLnNldHRpbmdzICYmIHRvZ2dsZShwbGF5ZXJTcGVsbENoZWNrLmxhYmVsKSxcbiAgICAgIHJ1YnJpY0VuYWJsZWQ6IHdpdGhSdWJyaWM/LnNldHRpbmdzICYmIHRvZ2dsZSh3aXRoUnVicmljPy5sYWJlbCksXG4gICAgICAnZWRpdFNvdXJjZS5lbmFibGVkJzogZWRpdFNvdXJjZT8uc2V0dGluZ3MgJiYgdG9nZ2xlKGVkaXRTb3VyY2UubGFiZWwsIHRydWUpLFxuICAgIH07XG5cbiAgICBjb25zdCBnZXRQbHVnaW5Qcm9wcyA9IChwcm9wcyA9IHt9KSA9PiAoe1xuICAgICAgLi4uYmFzZUlucHV0Q29uZmlndXJhdGlvbixcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICAgIHJldHVybiAoXG4gICAgICA8bGF5b3V0LkNvbmZpZ0xheW91dFxuICAgICAgICBleHRyYUNTU1J1bGVzPXtleHRyYUNTU1J1bGVzfVxuICAgICAgICBkaW1lbnNpb25zPXtjb250ZW50RGltZW5zaW9uc31cbiAgICAgICAgaGlkZVNldHRpbmdzPXtzZXR0aW5nc1BhbmVsRGlzYWJsZWR9XG4gICAgICAgIHNldHRpbmdzPXtcbiAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249e2NvbmZpZ3VyYXRpb259XG4gICAgICAgICAgICBvbkNoYW5nZU1vZGVsPXsobW9kZWwpID0+IHRoaXMub25Nb2RlbENoYW5nZShtb2RlbCl9XG4gICAgICAgICAgICBvbkNoYW5nZUNvbmZpZ3VyYXRpb249eyhjb25maWd1cmF0aW9uKSA9PiBvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkKGNvbmZpZ3VyYXRpb24sIHRydWUpfVxuICAgICAgICAgICAgZ3JvdXBzPXt7XG4gICAgICAgICAgICAgIFNldHRpbmdzOiBwYW5lbFNldHRpbmdzLFxuICAgICAgICAgICAgICBQcm9wZXJ0aWVzOiBwYW5lbFByb3BlcnRpZXMsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkICYmIChcbiAgICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9e3RlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9PlxuICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgfHwgJyd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uVGVhY2hlckluc3RydWN0aW9uc0NoYW5nZWR9XG4gICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICBub25FbXB0eT17ZmFsc2V9XG4gICAgICAgICAgICAgIGVycm9yPXt0ZWFjaGVySW5zdHJ1Y3Rpb25zRXJyb3J9XG4gICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgcGx1Z2luUHJvcHM9e2dldFBsdWdpblByb3BzKHRlYWNoZXJJbnN0cnVjdGlvbnM/LmlucHV0Q29uZmlndXJhdGlvbil9XG4gICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXsobWF4SW1hZ2VXaWR0aCAmJiBtYXhJbWFnZVdpZHRoLnRlYWNoZXJJbnN0cnVjdGlvbnMpIHx8IGRlZmF1bHRJbWFnZU1heFdpZHRofVxuICAgICAgICAgICAgICBtYXhJbWFnZUhlaWdodD17KG1heEltYWdlSGVpZ2h0ICYmIG1heEltYWdlSGVpZ2h0LnRlYWNoZXJJbnN0cnVjdGlvbnMpIHx8IGRlZmF1bHRJbWFnZU1heEhlaWdodH1cbiAgICAgICAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXt1cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgICAgYXV0b1dpZHRoVG9vbGJhclxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHt0ZWFjaGVySW5zdHJ1Y3Rpb25zRXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZXJyb3JUZXh0fT57dGVhY2hlckluc3RydWN0aW9uc0Vycm9yfTwvZGl2Pn1cbiAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICApfVxuXG4gICAgICAgIHtwcm9tcHRFbmFibGVkICYmIChcbiAgICAgICAgICA8SW5wdXRDb250YWluZXIgbGFiZWw9e3Byb21wdC5sYWJlbH0gY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn0+XG4gICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwucHJvbXB0fVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblByb21wdENoYW5nZWR9XG4gICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICBub25FbXB0eT17ZmFsc2V9XG4gICAgICAgICAgICAgIGRpc2FibGVVbmRlcmxpbmVcbiAgICAgICAgICAgICAgZXJyb3I9e3Byb21wdEVycm9yfVxuICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgIHBsdWdpblByb3BzPXtnZXRQbHVnaW5Qcm9wcyhwcm9tcHQ/LmlucHV0Q29uZmlndXJhdGlvbil9XG4gICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXtkZWZhdWx0SW1hZ2VNYXhXaWR0aH1cbiAgICAgICAgICAgICAgbWF4SW1hZ2VIZWlnaHQ9e2RlZmF1bHRJbWFnZU1heEhlaWdodH1cbiAgICAgICAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0PXt1cGxvYWRTb3VuZFN1cHBvcnR9XG4gICAgICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgICAgYXV0b1dpZHRoVG9vbGJhclxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtwcm9tcHRFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9Pntwcm9tcHRFcnJvcn08L2Rpdj59XG4gICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgKX1cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5mbGV4Q29udGFpbmVyfT5cbiAgICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMudGV4dH0gY29tcG9uZW50PVwiZGl2XCI+XG4gICAgICAgICAgICBEZWZpbmUgVGVtcGxhdGUsIENob2ljZXMsIGFuZCBDb3JyZWN0IFJlc3BvbnNlc1xuICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgY2xhc3Nlcz17eyB0b29sdGlwOiBjbGFzc2VzLnRvb2x0aXAgfX1cbiAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyXG4gICAgICAgICAgICBkaXNhYmxlVG91Y2hMaXN0ZW5lclxuICAgICAgICAgICAgcGxhY2VtZW50PXsncmlnaHQnfVxuICAgICAgICAgICAgdGl0bGU9e3ZhbGlkYXRpb25NZXNzYWdlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxJbmZvIGZvbnRTaXplPXsnc21hbGwnfSBjb2xvcj17J3ByaW1hcnknfSBzdHlsZT17eyBtYXJnaW5MZWZ0OiAnOHB4JyB9fSAvPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e0FMTF9QTFVHSU5TfVxuICAgICAgICAgIHRvb2xiYXJPcHRzPXt7IHBvc2l0aW9uOiAndG9wJyB9fVxuICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgIHBsdWdpblByb3BzPXtnZXRQbHVnaW5Qcm9wcyh0ZW1wbGF0ZT8uaW5wdXRDb25maWd1cmF0aW9uKX1cbiAgICAgICAgICByZXNwb25zZUFyZWFQcm9wcz17e1xuICAgICAgICAgICAgdHlwZTogJ2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZHVwbGljYXRlczogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtYXhSZXNwb25zZUFyZWFzOiBtYXhSZXNwb25zZUFyZWFzLFxuICAgICAgICAgICAgcmVzcEFyZWFUb29sYmFyOiAobm9kZSwgZWRpdG9yLCBvblRvb2xiYXJEb25lKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcnJlY3RDaG9pY2UgPSAobW9kZWwuY2hvaWNlc1tub2RlLmF0dHJzLmluZGV4XSB8fCBbXSlbMF07XG4gICAgICAgICAgICAgIHJldHVybiAoKSA9PiAoXG4gICAgICAgICAgICAgICAgPEVDUlRvb2xiYXJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlUmVzcG9uc2U9eyhuZXdWYWwpID0+IHRoaXMub25DaGFuZ2VSZXNwb25zZShub2RlLmF0dHJzLmluZGV4LCBuZXdWYWwpfVxuICAgICAgICAgICAgICAgICAgbm9kZT17bm9kZX1cbiAgICAgICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICAgICAgb25Ub29sYmFyRG9uZT17b25Ub29sYmFyRG9uZX1cbiAgICAgICAgICAgICAgICAgIGNvcnJlY3RDaG9pY2U9e2NvcnJlY3RDaG9pY2V9XG4gICAgICAgICAgICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkPXttYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgcGx1Z2luUHJvcHM9e2dldFBsdWdpblByb3BzKHJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbj8uaW5wdXRDb25maWd1cmF0aW9uKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiBjaG9pY2VzRXJyb3JzLFxuICAgICAgICAgICAgb25IYW5kbGVBcmVhQ2hhbmdlOiB0aGlzLm9uSGFuZGxlQXJlYUNoYW5nZSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJrdXB9XG4gICAgICAgICAgbWFya3VwPXttb2RlbC5zbGF0ZU1hcmt1cH1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXt0cnVlfVxuICAgICAgICAgIG9uQmx1cj17dGhpcy5vbkJsdXJ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgIGhpZ2hsaWdodFNoYXBlPXtmYWxzZX1cbiAgICAgICAgICBlcnJvcj17cmVzcG9uc2VBcmVhc0Vycm9yfVxuICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzPXtbeyBsYW5ndWFnZTogJ3NwYW5pc2gnIH0sIHsgbGFuZ3VhZ2U6ICdzcGVjaWFsJyB9XX1cbiAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgIGF1dG9XaWR0aFRvb2xiYXJcbiAgICAgICAgLz5cbiAgICAgICAge3Jlc3BvbnNlQXJlYXNFcnJvciAmJiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5lcnJvclRleHR9PntyZXNwb25zZUFyZWFzRXJyb3J9PC9kaXY+fVxuXG4gICAgICAgIHshaXNFbXB0eShtb2RlbC5jaG9pY2VzKSAmJiAoXG4gICAgICAgICAgPFR5cG9ncmFwaHkgY2xhc3NOYW1lPXtjbGFzc25hbWVzKGNsYXNzZXMudGV4dCwgY2xhc3Nlcy5yZXNwb25zZUhlYWRlcil9PlxuICAgICAgICAgICAge2BEZWZpbmUgQWx0ZXJuYXRlcyAke21heExlbmd0aFBlckNob2ljZUVuYWJsZWQgPyAnYW5kIENoYXJhY3RlciBMaW1pdHMnIDogJyd9YH1cbiAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICl9XG4gICAgICAgIDxBbHRlcm5hdGVSZXNwb25zZXNcbiAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25SZXNwb25zZXNDaGFuZ2VkfVxuICAgICAgICAgIG9uTGVuZ3RoQ2hhbmdlPXt0aGlzLm9uTGVuZ3RoQ2hhbmdlZH1cbiAgICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkPXttYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkfVxuICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgIGNob2ljZXNFcnJvcnM9e2Nob2ljZXNFcnJvcnN9XG4gICAgICAgICAgcGx1Z2luUHJvcHM9e2dldFBsdWdpblByb3BzKHJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbj8uaW5wdXRDb25maWd1cmF0aW9uKX1cbiAgICAgICAgLz5cblxuICAgICAgICB7cmF0aW9uYWxlRW5hYmxlZCAmJiAoXG4gICAgICAgICAgPElucHV0Q29udGFpbmVyIGxhYmVsPXtyYXRpb25hbGUubGFiZWx9IGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9PlxuICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnJhdGlvbmFsZSB8fCAnJ31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25SYXRpb25hbGVDaGFuZ2VkfVxuICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgZXJyb3I9e3JhdGlvbmFsZUVycm9yfVxuICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgIHBsdWdpblByb3BzPXtnZXRQbHVnaW5Qcm9wcyhyYXRpb25hbGU/LmlucHV0Q29uZmlndXJhdGlvbil9XG4gICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXsobWF4SW1hZ2VXaWR0aCAmJiBtYXhJbWFnZVdpZHRoLnJhdGlvbmFsZSkgfHwgZGVmYXVsdEltYWdlTWF4V2lkdGh9XG4gICAgICAgICAgICAgIG1heEltYWdlSGVpZ2h0PXsobWF4SW1hZ2VIZWlnaHQgJiYgbWF4SW1hZ2VIZWlnaHQucmF0aW9uYWxlKSB8fCBkZWZhdWx0SW1hZ2VNYXhIZWlnaHR9XG4gICAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgICBsYW5ndWFnZUNoYXJhY3RlcnNQcm9wcz17W3sgbGFuZ3VhZ2U6ICdzcGFuaXNoJyB9LCB7IGxhbmd1YWdlOiAnc3BlY2lhbCcgfV19XG4gICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgIGF1dG9XaWR0aFRvb2xiYXJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7cmF0aW9uYWxlRXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZXJyb3JUZXh0fT57cmF0aW9uYWxlRXJyb3J9PC9kaXY+fVxuICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICl9XG4gICAgICA8L2xheW91dC5Db25maWdMYXlvdXQ+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWQgPSB3aXRoU3R5bGVzKHN0eWxlcykoTWFpbik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZDtcbiJdfQ==
631
+ //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","markup","minHeight","choiceConfiguration","paddingBottom","switchElement","justifyContent","margin","addButton","text","fontSize","typography","tooltip","whiteSpace","maxWidth","errorText","color","palette","error","main","flexContainer","display","alignItems","responseHeader","marginTop","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","newVal","props","onModelChanged","model","prompt","rationale","teacherInstructions","slateMarkup","choices","maxLengthPerChoice","index","newValLength","length","label","value","nbOfMissingChoices","Array","fill","splice","domMarkup","allRespAreas","querySelectorAll","allChoices","updatedMaxLengthPerChoice","forEach","el","newChoices","dataset","callback","setState","cachedChoices","undefined","nodes","state","newCachedChoices","node","keyForNode","Object","assign","hasOwnProperty","trailing","leading","undefinedLengths","values","choice","labelLengthsArr","map","Math","max","classes","configuration","onConfigurationChanged","imageSupport","uploadSoundSupport","baseInputConfiguration","contentDimensions","maxImageWidth","maxImageHeight","maxResponseAreas","partialScoring","playerSpellCheck","template","settingsPanelDisabled","spellCheck","editSource","withRubric","mathMlOptions","language","languageChoices","spanishButton","responseAreaInputConfiguration","errors","extraCSSRules","maxLengthPerChoiceEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","choicesErrors","promptError","rationaleError","responseAreasError","responseAreas","teacherInstructionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","enabled","options","panelProperties","playerSpellCheckEnabled","rubricEnabled","getPluginProps","onModelChange","Settings","Properties","onTeacherInstructionsChanged","inputConfiguration","onPromptChanged","marginLeft","ALL_PLUGINS","type","duplicates","respAreaToolbar","editor","onToolbarDone","correctChoice","attrs","onChangeResponse","onHandleAreaChange","onChange","onBlur","onResponsesChanged","onLengthChanged","onRationaleChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport throttle from 'lodash/throttle';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport ECRToolbar from './ecr-toolbar';\nimport AlternateResponses from './alternateResponses';\nimport { decodeHTML, getAdjustedLength } from './markupUtils';\nimport { generateValidationMessage } from './utils';\nimport classnames from 'classnames';\n\nconst { toggle, Panel, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px',\n },\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n float: 'right',\n },\n text: {\n fontSize: theme.typography.fontSize + 2,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n responseHeader: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit,\n },\n});\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.object,\n };\n\n state = {};\n\n componentDidMount() {\n const {\n model: { slateMarkup, choices, maxLengthPerChoice = [] },\n onModelChanged,\n } = this.props;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n this.setState({ markup: slateMarkup });\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = choice.map((choice) => decodeHTML(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n onModelChanged({ ...this.props.model, maxLengthPerChoice });\n }\n\n onModelChange = (newVal) => {\n this.props.onModelChanged({ ...this.props.model, ...newVal });\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n onMarkupChanged = (slateMarkup) => {\n this.props.onModelChanged({ ...this.props.model, slateMarkup });\n };\n\n onResponsesChanged = (choices) => {\n this.props.onModelChanged({ ...this.props.model, choices });\n };\n\n onLengthChanged = (maxLengthPerChoice) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, maxLengthPerChoice });\n };\n\n onChangeResponse = (index, newVal) => {\n const { model, onModelChanged } = this.props;\n const { choices } = model;\n let { maxLengthPerChoice } = model;\n const newValLength = decodeHTML(newVal || '').length;\n\n if (!choices[index]) {\n choices[index] = [{ label: newVal || '', value: '0' }];\n\n // add default values for missing choices up to the new index position\n const nbOfMissingChoices = index > maxLengthPerChoice.length ? index - maxLengthPerChoice.length : 0;\n\n maxLengthPerChoice = [...maxLengthPerChoice, ...Array(nbOfMissingChoices).fill(1)];\n\n maxLengthPerChoice.splice(index, 0, getAdjustedLength(newValLength));\n } else {\n choices[index][0].label = newVal || '';\n\n if (\n maxLengthPerChoice &&\n (maxLengthPerChoice[index] < newValLength || maxLengthPerChoice[index] > newValLength + 10)\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(newValLength);\n }\n }\n\n onModelChanged({ ...model, choices, maxLengthPerChoice });\n };\n\n onChange = (markup) => {\n const {\n model: { choices, maxLengthPerChoice },\n onModelChanged,\n } = this.props;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll('[data-type=\"explicit_constructed_response\"]');\n\n const allChoices = {};\n const updatedMaxLengthPerChoice = [];\n\n allRespAreas.forEach((el, index) => {\n const newChoices = cloneDeep(choices[el.dataset.index]);\n\n if (newChoices) {\n newChoices[0] = {\n label: el.dataset.value || '',\n value: '0',\n };\n\n updatedMaxLengthPerChoice[index] = maxLengthPerChoice[el.dataset.index];\n }\n\n allChoices[index] = newChoices;\n el.dataset.index = index;\n });\n\n const callback = () =>\n onModelChanged({\n ...this.props.model,\n choices: allChoices,\n slateMarkup: domMarkup.innerHTML,\n maxLengthPerChoice: updatedMaxLengthPerChoice,\n });\n\n this.setState({ cachedChoices: undefined }, callback);\n };\n\n onHandleAreaChange = throttle(\n (nodes) => {\n const {\n model: { choices },\n onModelChanged,\n } = this.props;\n const { cachedChoices } = this.state;\n\n if (!nodes) {\n return;\n }\n\n const newChoices = choices ? cloneDeep(choices) : {};\n const newCachedChoices = cachedChoices ? cloneDeep(cachedChoices) : {};\n\n nodes.forEach((node) => {\n const keyForNode = node.index;\n\n if (!newChoices[keyForNode] && newCachedChoices[keyForNode]) {\n Object.assign(newChoices, pick(newCachedChoices, keyForNode));\n\n if (newCachedChoices.hasOwnProperty(keyForNode)) {\n delete newCachedChoices[keyForNode];\n }\n } else {\n Object.assign(newCachedChoices, pick(newChoices, keyForNode));\n\n if (newChoices.hasOwnProperty(keyForNode)) {\n delete newChoices[keyForNode];\n }\n }\n });\n\n const callback = () => onModelChanged({ ...this.props.model, choices: newChoices });\n\n this.setState({ cachedChoices: newCachedChoices }, callback);\n },\n 500,\n { trailing: false, leading: true },\n );\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } = this.props;\n\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n maxLengthPerChoice = {},\n maxResponseAreas,\n partialScoring = {},\n playerSpellCheck = {},\n prompt = {},\n rationale = {},\n template = {},\n settingsPanelDisabled,\n spellCheck = {},\n editSource = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n spanishButton = {},\n responseAreaInputConfiguration = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n maxLengthPerChoiceEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const {\n choices: choicesErrors = {},\n prompt: promptError,\n rationale: rationaleError,\n responseAreas: responseAreasError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n maxLengthPerChoiceEnabled: maxLengthPerChoice.settings && toggle(maxLengthPerChoice.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n 'responseAreaInputConfiguration.inputConfiguration.characters.disabled':\n spanishButton.settings && toggle(spanishButton.label, true),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n 'editSource.enabled': editSource?.settings && toggle(editSource.label, true),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => this.onModelChange(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.text} component=\"div\">\n Define Template, Choices, and Correct Responses\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n </div>\n\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(template?.inputConfiguration)}\n responseAreaProps={{\n type: 'explicit-constructed-response',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, editor, onToolbarDone) => {\n const { model } = this.props;\n const correctChoice = (model.choices[node.attrs.index] || [])[0];\n return () => (\n <ECRToolbar\n onChangeResponse={(newVal) => this.onChangeResponse(node.attrs.index, newVal)}\n node={node}\n editor={editor}\n onToolbarDone={onToolbarDone}\n correctChoice={correctChoice}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n pluginProps={getPluginProps(responseAreaInputConfiguration?.inputConfiguration)}\n />\n );\n },\n error: () => choicesErrors,\n onHandleAreaChange: this.onHandleAreaChange,\n }}\n className={classes.markup}\n markup={model.slateMarkup}\n onChange={this.onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n\n {!isEmpty(model.choices) && (\n <Typography className={classnames(classes.text, classes.responseHeader)}>\n {`Define Alternates ${maxLengthPerChoiceEnabled ? 'and Character Limits' : ''}`}\n </Typography>\n )}\n <AlternateResponses\n model={model}\n onChange={this.onResponsesChanged}\n onLengthChange={this.onLengthChanged}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n spellCheck={spellCheckEnabled}\n choicesErrors={choicesErrors}\n pluginProps={getPluginProps(responseAreaInputConfiguration?.inputConfiguration)}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","markup","minHeight","choiceConfiguration","paddingBottom","switchElement","justifyContent","margin","addButton","text","fontSize","typography","tooltip","whiteSpace","maxWidth","errorText","color","palette","error","main","flexContainer","display","alignItems","responseHeader","marginTop","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","newVal","props","onModelChanged","model","prompt","rationale","teacherInstructions","slateMarkup","choices","maxLengthPerChoice","index","newValLength","length","label","value","nbOfMissingChoices","Array","fill","splice","domMarkup","allRespAreas","querySelectorAll","allChoices","updatedMaxLengthPerChoice","forEach","el","newChoices","dataset","callback","setState","cachedChoices","undefined","nodes","state","newCachedChoices","node","keyForNode","Object","assign","hasOwnProperty","trailing","leading","undefinedLengths","values","choice","labelLengthsArr","map","Math","max","classes","configuration","onConfigurationChanged","imageSupport","uploadSoundSupport","baseInputConfiguration","contentDimensions","maxImageWidth","maxImageHeight","maxResponseAreas","partialScoring","playerSpellCheck","template","settingsPanelDisabled","spellCheck","editSource","withRubric","mathMlOptions","language","languageChoices","spanishButton","responseAreaInputConfiguration","errors","extraCSSRules","maxLengthPerChoiceEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","choicesErrors","promptError","rationaleError","responseAreasError","responseAreas","teacherInstructionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","enabled","options","panelProperties","playerSpellCheckEnabled","rubricEnabled","getPluginProps","onModelChange","Settings","Properties","onTeacherInstructionsChanged","inputConfiguration","onPromptChanged","marginLeft","ALL_PLUGINS","type","duplicates","respAreaToolbar","editor","onToolbarDone","correctChoice","attrs","onChangeResponse","onHandleAreaChange","onChange","onBlur","onResponsesChanged","onLengthChanged","onRationaleChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport throttle from 'lodash/throttle';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport ECRToolbar from './ecr-toolbar';\nimport AlternateResponses from './alternateResponses';\nimport { decodeHTML, getAdjustedLength } from './markupUtils';\nimport { generateValidationMessage } from './utils';\nimport classnames from 'classnames';\n\nconst { toggle, Panel, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px',\n },\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0,\n },\n addButton: {\n float: 'right',\n },\n text: {\n fontSize: theme.typography.fontSize + 2,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n responseHeader: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit,\n },\n});\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.object,\n };\n\n state = {};\n\n componentDidMount() {\n const {\n model: { slateMarkup, choices, maxLengthPerChoice = [] },\n onModelChanged,\n } = this.props;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n this.setState({ markup: slateMarkup });\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = choice.map((choice) => decodeHTML(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n onModelChanged({ ...this.props.model, maxLengthPerChoice });\n }\n\n onModelChange = (newVal) => {\n this.props.onModelChanged({ ...this.props.model, ...newVal });\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onRationaleChanged = (rationale) => {\n this.props.onModelChanged({ ...this.props.model, rationale });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n onMarkupChanged = (slateMarkup) => {\n this.props.onModelChanged({ ...this.props.model, slateMarkup });\n };\n\n onResponsesChanged = (choices) => {\n this.props.onModelChanged({ ...this.props.model, choices });\n };\n\n onLengthChanged = (maxLengthPerChoice) => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({ ...model, maxLengthPerChoice });\n };\n\n onChangeResponse = (index, newVal) => {\n const { model, onModelChanged } = this.props;\n const { choices } = model;\n let { maxLengthPerChoice } = model;\n const newValLength = decodeHTML(newVal || '').length;\n\n if (!choices[index] || !choices[index].length) {\n choices[index] = [{ label: newVal || '', value: '0' }];\n\n // add default values for missing choices up to the new index position\n const nbOfMissingChoices = index > maxLengthPerChoice.length ? index - maxLengthPerChoice.length : 0;\n\n maxLengthPerChoice = [...maxLengthPerChoice, ...Array(nbOfMissingChoices).fill(1)];\n\n maxLengthPerChoice.splice(index, 0, getAdjustedLength(newValLength));\n } else {\n choices[index][0].label = newVal || '';\n\n if (\n maxLengthPerChoice &&\n (maxLengthPerChoice[index] < newValLength || maxLengthPerChoice[index] > newValLength + 10)\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(newValLength);\n }\n }\n\n onModelChanged({ ...model, choices, maxLengthPerChoice });\n };\n\n onChange = (markup) => {\n const {\n model: { choices, maxLengthPerChoice },\n onModelChanged,\n } = this.props;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll('[data-type=\"explicit_constructed_response\"]');\n\n const allChoices = {};\n const updatedMaxLengthPerChoice = [];\n\n allRespAreas.forEach((el, index) => {\n const newChoices = cloneDeep(choices[el.dataset.index]);\n\n if (newChoices) {\n newChoices[0] = {\n label: el.dataset.value || '',\n value: '0',\n };\n\n updatedMaxLengthPerChoice[index] = maxLengthPerChoice[el.dataset.index];\n }\n\n allChoices[index] = newChoices;\n el.dataset.index = index;\n });\n\n const callback = () =>\n onModelChanged({\n ...this.props.model,\n choices: allChoices,\n slateMarkup: domMarkup.innerHTML,\n maxLengthPerChoice: updatedMaxLengthPerChoice,\n });\n\n this.setState({ cachedChoices: undefined }, callback);\n };\n\n onHandleAreaChange = throttle(\n (nodes) => {\n const {\n model: { choices },\n onModelChanged,\n } = this.props;\n const { cachedChoices } = this.state;\n\n if (!nodes) {\n return;\n }\n\n const newChoices = choices ? cloneDeep(choices) : {};\n const newCachedChoices = cachedChoices ? cloneDeep(cachedChoices) : {};\n\n nodes.forEach((node) => {\n const keyForNode = node.index;\n\n if (!newChoices[keyForNode] && newCachedChoices[keyForNode]) {\n Object.assign(newChoices, pick(newCachedChoices, keyForNode));\n\n if (newCachedChoices.hasOwnProperty(keyForNode)) {\n delete newCachedChoices[keyForNode];\n }\n } else {\n Object.assign(newCachedChoices, pick(newChoices, keyForNode));\n\n if (newChoices.hasOwnProperty(keyForNode)) {\n delete newChoices[keyForNode];\n }\n }\n });\n\n const callback = () => onModelChanged({ ...this.props.model, choices: newChoices });\n\n this.setState({ cachedChoices: newCachedChoices }, callback);\n },\n 500,\n { trailing: false, leading: true },\n );\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } = this.props;\n\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n maxLengthPerChoice = {},\n maxResponseAreas,\n partialScoring = {},\n playerSpellCheck = {},\n prompt = {},\n rationale = {},\n template = {},\n settingsPanelDisabled,\n spellCheck = {},\n editSource = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n spanishButton = {},\n responseAreaInputConfiguration = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n maxLengthPerChoiceEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const {\n choices: choicesErrors = {},\n prompt: promptError,\n rationale: rationaleError,\n responseAreas: responseAreasError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n maxLengthPerChoiceEnabled: maxLengthPerChoice.settings && toggle(maxLengthPerChoice.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n 'responseAreaInputConfiguration.inputConfiguration.characters.disabled':\n spanishButton.settings && toggle(spanishButton.label, true),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n 'editSource.enabled': editSource?.settings && toggle(editSource.label, true),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => this.onModelChange(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.text} component=\"div\">\n Define Template, Choices, and Correct Responses\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n </div>\n\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(template?.inputConfiguration)}\n responseAreaProps={{\n type: 'explicit-constructed-response',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, editor, onToolbarDone) => {\n const { model } = this.props;\n const correctChoice = (model.choices[node.attrs.index] || [])[0];\n return () => (\n <ECRToolbar\n onChangeResponse={(newVal) => this.onChangeResponse(node.attrs.index, newVal)}\n node={node}\n editor={editor}\n onToolbarDone={onToolbarDone}\n correctChoice={correctChoice}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n pluginProps={getPluginProps(responseAreaInputConfiguration?.inputConfiguration)}\n />\n );\n },\n error: () => choicesErrors,\n onHandleAreaChange: this.onHandleAreaChange,\n }}\n className={classes.markup}\n markup={model.slateMarkup}\n onChange={this.onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n\n {!isEmpty(model.choices) && (\n <Typography className={classnames(classes.text, classes.responseHeader)}>\n {`Define Alternates ${maxLengthPerChoiceEnabled ? 'and Character Limits' : ''}`}\n </Typography>\n )}\n <AlternateResponses\n model={model}\n onChange={this.onResponsesChanged}\n onLengthChange={this.onLengthChanged}\n maxLengthPerChoiceEnabled={maxLengthPerChoiceEnabled}\n spellCheck={spellCheckEnabled}\n choicesErrors={choicesErrors}\n pluginProps={getPluginProps(responseAreaInputConfiguration?.inputConfiguration)}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n autoWidthToolbar\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
@@ -91,4 +91,4 @@ var decodeHTML = function decodeHTML(html) {
91
91
  };
92
92
 
93
93
  exports.decodeHTML = decodeHTML;
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXJrdXBVdGlscy5qcyJdLCJuYW1lcyI6WyJ0U3ltYm9scyIsIm5TeW1ib2xzIiwibWF0Y2hUYWJBbmROZXdMaW5lIiwiUmVnRXhwIiwicmVtb3ZlVW53YW50ZWRDaGFyYWN0ZXJzIiwibWFya3VwIiwicmVwbGFjZSIsImNyZWF0ZUVsZW1lbnRGcm9tSFRNTCIsImh0bWxTdHJpbmciLCJkaXYiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpbm5lckhUTUwiLCJ0cmltIiwicHJvY2Vzc01hcmt1cCIsIm5ld01hcmt1cCIsInNsYXRlTWFya3VwIiwiaW5kZXgiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZXBsYWNlV2l0aCIsIlJFR0VYIiwiY3JlYXRlU2xhdGVNYXJrdXAiLCJjaG9pY2VzIiwibWF0Y2giLCJnIiwibGFiZWwiLCJnZXRBZGp1c3RlZExlbmd0aCIsImxlbmd0aCIsInN0cmlwSHRtbFRhZ3MiLCJkZWNvZGVIVE1MIiwiaHRtbCIsImRvYyIsIkRPTVBhcnNlciIsInBhcnNlRnJvbVN0cmluZyIsImJvZHkiLCJ0ZXh0Q29udGVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7QUFDQSxJQUFNQSxRQUFRLEdBQUcsK0JBQWpCLEMsQ0FDQTs7QUFDQSxJQUFNQyxRQUFRLEdBQUcsc0NBQWpCLEMsQ0FDQTs7QUFDQSxJQUFNQyxrQkFBa0IsR0FBRyxJQUFJQyxNQUFKLGtCQUNmSCxRQURlLHVCQUNNQyxRQUROLHlCQUM2QkQsUUFEN0IseUJBQ29EQyxRQURwRCxTQUV6QixHQUZ5QixDQUEzQjs7QUFLTyxJQUFNRyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCLENBQUNDLE1BQUQ7QUFBQSxTQUN0Q0EsTUFBTSxDQUFDQyxPQUFQLENBQWVKLGtCQUFmLEVBQW1DLEVBQW5DLEVBQXVDSSxPQUF2QyxDQUErQyxNQUEvQyxFQUF1RCxHQUF2RCxFQUE0REEsT0FBNUQsQ0FBb0UsT0FBcEUsRUFBNkUsR0FBN0UsQ0FEc0M7QUFBQSxDQUFqQzs7OztBQUdQLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBd0IsR0FBcUI7QUFBQSxNQUFwQkMsVUFBb0IsdUVBQVAsRUFBTztBQUNqRCxNQUFNQyxHQUFHLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixLQUF2QixDQUFaO0FBRUFGLEVBQUFBLEdBQUcsQ0FBQ0csU0FBSixHQUFnQkosVUFBVSxDQUFDSyxJQUFYLEVBQWhCO0FBRUEsU0FBT0osR0FBUDtBQUNELENBTkQ7O0FBUU8sSUFBTUssYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDVCxNQUFELEVBQVk7QUFDdkMsTUFBTVUsU0FBUyxHQUFHWCx3QkFBd0IsQ0FBQ0MsTUFBTSxJQUFJLEVBQVgsQ0FBMUM7QUFDQSxNQUFNVyxXQUFXLEdBQUdULHFCQUFxQixDQUFDUSxTQUFTLElBQUksRUFBZCxDQUF6QztBQUNBLE1BQUlFLEtBQUssR0FBRyxDQUFaO0FBRUFELEVBQUFBLFdBQVcsQ0FBQ0UsZ0JBQVosQ0FBNkIsNkNBQTdCLEVBQTRFQyxPQUE1RSxDQUFvRixVQUFDQyxDQUFELEVBQU87QUFDekZBLElBQUFBLENBQUMsQ0FBQ0MsV0FBRixhQUFtQkosS0FBSyxFQUF4QjtBQUNELEdBRkQ7QUFJQSxTQUFPRCxXQUFXLENBQUNKLFNBQW5CO0FBQ0QsQ0FWTTs7O0FBWVAsSUFBTVUsS0FBSyxHQUFHLGdCQUFkOztBQUVPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ2xCLE1BQUQsRUFBU21CLE9BQVQsRUFBcUI7QUFDcEQsTUFBSSxDQUFDbkIsTUFBTCxFQUFhO0FBQ1gsV0FBTyxFQUFQO0FBQ0Q7O0FBRUQsTUFBTVUsU0FBUyxHQUFHWCx3QkFBd0IsQ0FBQ0MsTUFBRCxDQUExQztBQUVBLFNBQU9VLFNBQVMsQ0FBQ1QsT0FBVixDQUFrQmdCLEtBQWxCLEVBQXlCLFVBQUNHLEtBQUQsRUFBUUMsQ0FBUixFQUFjO0FBQzVDLFFBQU1DLEtBQUssR0FBR0gsT0FBTyxDQUFDRSxDQUFELENBQVAsQ0FBVyxDQUFYLEVBQWNDLEtBQWQsSUFBdUIsRUFBckM7QUFFQSxvRkFBc0VELENBQXRFLDZCQUF3Rix3QkFBT0MsS0FBUCxDQUF4RjtBQUNELEdBSk0sQ0FBUDtBQUtELENBWk0sQyxDQWNQOzs7OztBQUNPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsTUFBRCxFQUFZO0FBQzNDLE1BQUlBLE1BQU0sSUFBSSxDQUFkLEVBQWlCO0FBQ2YsV0FBT0EsTUFBTSxHQUFHLENBQWhCO0FBQ0Q7O0FBRUQsTUFBSUEsTUFBTSxJQUFJLENBQWQsRUFBaUI7QUFDZixXQUFPQSxNQUFNLEdBQUcsQ0FBaEI7QUFDRDs7QUFFRCxNQUFJQSxNQUFNLElBQUksQ0FBZCxFQUFpQjtBQUNmLFdBQU9BLE1BQU0sR0FBRyxDQUFoQjtBQUNEOztBQUVELFNBQU9BLE1BQU0sR0FBRyxDQUFoQjtBQUNELENBZE07Ozs7QUFnQkEsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDekIsTUFBRCxFQUFZO0FBQ3ZDLE1BQUksT0FBT0EsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUM5QixXQUFPLEVBQVA7QUFDRDs7QUFDRCxTQUFPQSxNQUFNLENBQUNDLE9BQVAsQ0FBZSxpQkFBZixFQUFrQyxFQUFsQyxDQUFQO0FBQ0QsQ0FMTTs7OztBQU9BLElBQU15QixVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxJQUFELEVBQVU7QUFDbEMsTUFBTUMsR0FBRyxHQUFHLElBQUlDLFNBQUosR0FBZ0JDLGVBQWhCLENBQWdDSCxJQUFoQyxFQUFzQyxXQUF0QyxDQUFaO0FBQ0EsU0FBT0MsR0FBRyxDQUFDRyxJQUFKLENBQVNDLFdBQVQsSUFBd0IsRUFBL0I7QUFDRCxDQUhNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGVzY2FwZSBmcm9tICdsb2Rhc2gvZXNjYXBlJztcblxuLy8gZG8gbm90IHJlbW92ZSBcXHQgZnJvbSBcXHRpbWVzLCBcXHRyaWFuZ2xlLCBcXHRhbiwgXFx0aGV0YSBvciBcXHRoZXJlZm9yZVxuY29uc3QgdFN5bWJvbHMgPSAnaW1lc3xyaWFuZ2xlfGFufGhldGF8aGVyZWZvcmUnO1xuLy8gZG8gbm90IHJlbW92ZSBcXG4gZnJvbSBcXG50aHJvb3QsIFxcbnBhcmFsbGVsLCBcXG5jb25nLCBcXG5hcHByb3gsIFxcbmVxLCBcXG5lIG9yIFxcbnNpbVxuY29uc3QgblN5bWJvbHMgPSAndGhyb290fHBhcmFsbGVsfGNvbmd8YXBwcm94fGVxfGV8c2ltJztcbi8vIG1hdGNoIGFsbCBcXHQgYW5kIFxcbiB0aGF0IGFyZSBub3QgcGFydCBvZiBtYXRoIHN5bWJvbHMgdGhhdCBzdGFydHMgd2l0aCBcXHQgb3IgXFxuXG5jb25zdCBtYXRjaFRhYkFuZE5ld0xpbmUgPSBuZXcgUmVnRXhwKFxuICBgKFxcXFx0KD8hJHt0U3ltYm9sc30pKXwoXFxcXG4oPyEke25TeW1ib2xzfSkpfChcXFxcXFxcXHQoPyEke3RTeW1ib2xzfSkpfChcXFxcXFxcXG4oPyEke25TeW1ib2xzfSkpYCxcbiAgJ2cnLFxuKTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVVud2FudGVkQ2hhcmFjdGVycyA9IChtYXJrdXApID0+XG4gIG1hcmt1cC5yZXBsYWNlKG1hdGNoVGFiQW5kTmV3TGluZSwgJycpLnJlcGxhY2UoL1xcXFxcIi9nLCAnXCInKS5yZXBsYWNlKC9cXFxcXFwvL2csICcvJyk7XG5cbmNvbnN0IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCA9IChodG1sU3RyaW5nID0gJycpID0+IHtcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgZGl2LmlubmVySFRNTCA9IGh0bWxTdHJpbmcudHJpbSgpO1xuXG4gIHJldHVybiBkaXY7XG59O1xuXG5leHBvcnQgY29uc3QgcHJvY2Vzc01hcmt1cCA9IChtYXJrdXApID0+IHtcbiAgY29uc3QgbmV3TWFya3VwID0gcmVtb3ZlVW53YW50ZWRDaGFyYWN0ZXJzKG1hcmt1cCB8fCAnJyk7XG4gIGNvbnN0IHNsYXRlTWFya3VwID0gY3JlYXRlRWxlbWVudEZyb21IVE1MKG5ld01hcmt1cCB8fCAnJyk7XG4gIGxldCBpbmRleCA9IDA7XG5cbiAgc2xhdGVNYXJrdXAucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdHlwZT1cImV4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlXCJdJykuZm9yRWFjaCgocykgPT4ge1xuICAgIHMucmVwbGFjZVdpdGgoYHt7JHtpbmRleCsrfX19YCk7XG4gIH0pO1xuXG4gIHJldHVybiBzbGF0ZU1hcmt1cC5pbm5lckhUTUw7XG59O1xuXG5jb25zdCBSRUdFWCA9IC9cXHtcXHsoXFxkKylcXH1cXH0vZztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNsYXRlTWFya3VwID0gKG1hcmt1cCwgY2hvaWNlcykgPT4ge1xuICBpZiAoIW1hcmt1cCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IG5ld01hcmt1cCA9IHJlbW92ZVVud2FudGVkQ2hhcmFjdGVycyhtYXJrdXApO1xuXG4gIHJldHVybiBuZXdNYXJrdXAucmVwbGFjZShSRUdFWCwgKG1hdGNoLCBnKSA9PiB7XG4gICAgY29uc3QgbGFiZWwgPSBjaG9pY2VzW2ddWzBdLmxhYmVsIHx8ICcnO1xuXG4gICAgcmV0dXJuIGA8c3BhbiBkYXRhLXR5cGU9XCJleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZVwiIGRhdGEtaW5kZXg9XCIke2d9XCIgZGF0YS12YWx1ZT1cIiR7ZXNjYXBlKGxhYmVsKX1cIj48L3NwYW4+YDtcbiAgfSk7XG59O1xuXG4vLyBhbHNvIHVzZWQgaW4gY29udHJvbGxlci9zcmMvaW5kZXguanNcbmV4cG9ydCBjb25zdCBnZXRBZGp1c3RlZExlbmd0aCA9IChsZW5ndGgpID0+IHtcbiAgaWYgKGxlbmd0aCA8PSAyKSB7XG4gICAgcmV0dXJuIGxlbmd0aCArIDI7XG4gIH1cblxuICBpZiAobGVuZ3RoIDw9IDQpIHtcbiAgICByZXR1cm4gbGVuZ3RoICsgMztcbiAgfVxuXG4gIGlmIChsZW5ndGggPD0gNikge1xuICAgIHJldHVybiBsZW5ndGggKyA0O1xuICB9XG5cbiAgcmV0dXJuIGxlbmd0aCArIDU7XG59O1xuXG5leHBvcnQgY29uc3Qgc3RyaXBIdG1sVGFncyA9IChtYXJrdXApID0+IHtcbiAgaWYgKHR5cGVvZiBtYXJrdXAgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHJldHVybiBtYXJrdXAucmVwbGFjZSgvPFxcLz9bXj5dKyg+fCQpL2csIFwiXCIpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlY29kZUhUTUwgPSAoaHRtbCkgPT4ge1xuICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGh0bWwsICd0ZXh0L2h0bWwnKTtcbiAgcmV0dXJuIGRvYy5ib2R5LnRleHRDb250ZW50IHx8ICcnO1xufTsiXX0=
94
+ //# sourceMappingURL=markupUtils.js.map
@@ -12,4 +12,4 @@ var generateValidationMessage = function generateValidationMessage(config) {
12
12
  };
13
13
 
14
14
  exports.generateValidationMessage = generateValidationMessage;
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZW5lcmF0ZVZhbGlkYXRpb25NZXNzYWdlIiwiY29uZmlnIiwibWF4UmVzcG9uc2VBcmVhcyIsInJlc3BvbnNlQXJlYXNNZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sSUFBTUEseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxNQUFELEVBQVk7QUFDbkQsTUFBUUMsZ0JBQVIsR0FBNkJELE1BQTdCLENBQVFDLGdCQUFSO0FBRUEsTUFBTUMsb0JBQW9CLEdBQ3hCLDJDQUNBLDZEQURBLEdBRUEsK0JBRkEsSUFHQ0QsZ0JBQWdCLHlCQUFrQkEsZ0JBQWxCLFNBQXdDLEVBSHpELElBSUEsZUFKQSxJQUtDQSxnQkFBZ0IsR0FBRyxHQUFILEdBQVMsRUFMMUIsSUFNQSxXQVBGO0FBU0EsU0FBTyw2QkFBNkJDLG9CQUFwQztBQUNELENBYk0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2VuZXJhdGVWYWxpZGF0aW9uTWVzc2FnZSA9IChjb25maWcpID0+IHtcbiAgY29uc3QgeyBtYXhSZXNwb25zZUFyZWFzIH0gPSBjb25maWc7XG5cbiAgY29uc3QgcmVzcG9uc2VBcmVhc01lc3NhZ2UgPVxuICAgICdcXG5Db3JyZWN0IGFuc3dlcnMgc2hvdWxkIG5vdCBiZSBibGFuay4nICtcbiAgICAnXFxuRWFjaCBhbnN3ZXIgZGVmaW5lZCBmb3IgYSByZXNwb25zZSBhcmVhIHNob3VsZCBiZSB1bmlxdWUuJyArXG4gICAgJ1xcblRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCAxICcgK1xuICAgIChtYXhSZXNwb25zZUFyZWFzID8gYGFuZCBhdCBtb3N0ICR7bWF4UmVzcG9uc2VBcmVhc30gYCA6ICcnKSArXG4gICAgJ3Jlc3BvbnNlIGFyZWEnICtcbiAgICAobWF4UmVzcG9uc2VBcmVhcyA/ICdzJyA6ICcnKSArXG4gICAgJyBkZWZpbmVkLic7XG5cbiAgcmV0dXJuICdWYWxpZGF0aW9uIHJlcXVpcmVtZW50czonICsgcmVzcG9uc2VBcmVhc01lc3NhZ2U7XG59O1xuIl19
15
+ //# sourceMappingURL=utils.js.map
@@ -8,8 +8,8 @@
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/config-ui": "11.30.2-beta-10",
12
- "@pie-lib/editable-html-tip-tap": "^1.0.15",
11
+ "@pie-lib/config-ui": "11.30.2-beta-11",
12
+ "@pie-lib/editable-html-tip-tap": "^1.0.16",
13
13
  "@pie-lib/math-toolbar": "1.31.2-beta.3",
14
14
  "classnames": "^2.2.6",
15
15
  "debug": "^3.1.0",
@@ -21,4 +21,4 @@ var _default = {
21
21
  toolbarEditorPosition: 'bottom'
22
22
  };
23
23
  exports["default"] = _default;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJjaG9pY2VzIiwiZGlzcGxheVR5cGUiLCJtYXJrdXAiLCJtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkIiwicGxheWVyU3BlbGxDaGVja0VuYWJsZWQiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlIiwicmF0aW9uYWxlRW5hYmxlZCIsInNwZWxsQ2hlY2tFbmFibGVkIiwic3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJ0b29sYmFyRWRpdG9yUG9zaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7OztlQUFlO0FBQ2JBLEVBQUFBLE9BQU8sRUFBRSxFQURJO0FBRWJDLEVBQUFBLFdBQVcsRUFBRSxPQUZBO0FBR2JDLEVBQUFBLE1BQU0sRUFBRSxFQUhLO0FBSWJDLEVBQUFBLHlCQUF5QixFQUFFLElBSmQ7QUFLYkMsRUFBQUEsdUJBQXVCLEVBQUUsSUFMWjtBQU1iQyxFQUFBQSxNQUFNLEVBQUUsRUFOSztBQU9iQyxFQUFBQSxhQUFhLEVBQUUsSUFQRjtBQVFiQyxFQUFBQSxTQUFTLEVBQUUsRUFSRTtBQVNiQyxFQUFBQSxnQkFBZ0IsRUFBRSxJQVRMO0FBVWJDLEVBQUFBLGlCQUFpQixFQUFFLElBVk47QUFXYkMsRUFBQUEsMEJBQTBCLEVBQUUsSUFYZjtBQVliQyxFQUFBQSxtQkFBbUIsRUFBRSxFQVpSO0FBYWJDLEVBQUFBLDBCQUEwQixFQUFFLElBYmY7QUFjYkMsRUFBQUEscUJBQXFCLEVBQUU7QUFkVixDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBjaG9pY2VzOiB7fSxcbiAgZGlzcGxheVR5cGU6ICdibG9jaycsXG4gIG1hcmt1cDogJycsXG4gIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQ6IHRydWUsXG4gIHBsYXllclNwZWxsQ2hlY2tFbmFibGVkOiB0cnVlLFxuICBwcm9tcHQ6ICcnLFxuICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICByYXRpb25hbGU6ICcnLFxuICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICBzcGVsbENoZWNrRW5hYmxlZDogdHJ1ZSxcbiAgc3R1ZGVudEluc3RydWN0aW9uc0VuYWJsZWQ6IHRydWUsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICcnLFxuICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgdG9vbGJhckVkaXRvclBvc2l0aW9uOiAnYm90dG9tJyxcbn07XG4iXX0=
24
+ //# sourceMappingURL=defaults.js.map
@@ -80,6 +80,10 @@ var getFeedback = function getFeedback(value) {
80
80
 
81
81
 
82
82
  var getAdjustedLength = function getAdjustedLength(length) {
83
+ if (Math.abs(length) === Infinity) {
84
+ return 2;
85
+ }
86
+
83
87
  if (length <= 2) {
84
88
  return length + 2;
85
89
  }
@@ -383,4 +387,4 @@ var validate = function validate() {
383
387
  };
384
388
 
385
389
  exports.validate = validate;
386
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJ0cmFuc2xhdG9yIiwiVHJhbnNsYXRvciIsImxvZyIsInByZXBhcmVDaG9pY2UiLCJtb2RlIiwiZGVmYXVsdEZlZWRiYWNrIiwiY2hvaWNlIiwib3V0IiwibGFiZWwiLCJ2YWx1ZSIsImNvcnJlY3QiLCJmZWVkYmFja1R5cGUiLCJmZWVkYmFjayIsInR5cGUiLCJnZXRGZWVkYmFjayIsImdldEFkanVzdGVkTGVuZ3RoIiwibGVuZ3RoIiwiZGVjb2RlSHRtbEVudGl0aWVzIiwic3RyIiwicmVwbGFjZSIsIm5vcm1hbGl6ZSIsInF1ZXN0aW9uIiwiZGVmYXVsdHMiLCJtb2RlbCIsInNlc3Npb24iLCJlbnYiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNob2ljZXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsIm1hcCIsIml0ZW0iLCJpbmRleCIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsImFzc2lnbiIsImluY29ycmVjdCIsInByZXBhcmVDaG9pY2VGbiIsIm9iaiIsImFyZWEiLCJyZXNwQXJlYSIsImNob3NlblZhbHVlIiwidmFsIiwiYyIsInByZXBhcmVWYWwiLCJzaG93Tm90ZSIsInZhbHVlcyIsInNvbWUiLCJub3RlIiwidCIsImxuZyIsImxhbmd1YWdlIiwibWF4TGVuZ3RoUGVyQ2hvaWNlIiwibWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCIsInVuZGVmaW5lZExlbmd0aHMiLCJsYWJlbExlbmd0aHNBcnIiLCJNYXRoIiwibWF4IiwiZGlzYWJsZWQiLCJkaXNwbGF5VHlwZSIsInJvbGUiLCJtYXJrdXAiLCJwbGF5ZXJTcGVsbENoZWNrRW5hYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJyYXRpb25hbGUiLCJyZXNwb25zZUNvcnJlY3QiLCJnZXRTY29yZSIsInVuZGVmaW5lZCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJyZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24iLCJleHRyYUNTU1J1bGVzIiwicmF0aW9uYWxlRW5hYmxlZCIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwiaHRtbCIsImRlY29kZUhUTUwiLCJnZXRJbm5lclRleHQiLCJ0cmltIiwiY29uZmlnIiwicmVzcG9uc2VBcmVhcyIsIm1hdGNoIiwibWF4U2NvcmUiLCJjb3JyZWN0Q291bnQiLCJ0b3RhbCIsInRvRml4ZWQiLCJwYXJzZUZsb2F0Iiwib3V0Y29tZSIsInBhcnRpYWxTY29yaW5nRW5hYmxlZCIsInBhcnRpYWxTY29yaW5nIiwiZW5hYmxlZCIsInNjb3JlIiwiZW1wdHkiLCJjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uIiwiaSIsImlkIiwicmVwbGFjZUFsbCIsImdldENvbnRlbnQiLCJ2YWxpZGF0ZSIsIm1heFJlc3BvbnNlQXJlYXMiLCJhbGxDaG9pY2VzRXJyb3JzIiwiZXJyb3JzIiwiZmllbGQiLCJyZXF1aXJlZCIsImVudHJpZXMiLCJyZXZlcnNlZENob2ljZXMiLCJyZXZlcnNlIiwiY2hvaWNlc0Vycm9ycyIsImlkZW50aWNhbEFuc3dlciIsInNsaWNlIiwibmJPZlJlc3BvbnNlQXJlYXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQVFBLFVBQVIsR0FBdUJDLHNCQUF2QixDQUFRRCxVQUFSO0FBRUEsSUFBTUUsR0FBRyxHQUFHLHVCQUFNLDBDQUFOLENBQVo7O0FBRU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxJQUFELEVBQU9DLGVBQVA7QUFBQSxTQUEyQixVQUFDQyxNQUFELEVBQVk7QUFDbEUsUUFBTUMsR0FBRyxHQUFHO0FBQ1ZDLE1BQUFBLEtBQUssRUFBRUYsTUFBTSxDQUFDRSxLQURKO0FBRVZDLE1BQUFBLEtBQUssRUFBRUgsTUFBTSxDQUFDRztBQUZKLEtBQVo7O0FBS0EsUUFBSUwsSUFBSSxLQUFLLFVBQWIs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QUFELENBQWIsR0FBdUIsOEJBQXZCO0FBQ0QsT0FGRCxNQUVPO0FBQ0wsWUFBTW9HLGVBQWUsR0FBR0gsZUFBZSxDQUFDSSxLQUFoQixDQUFzQjNFLEtBQUssR0FBRyxDQUE5QixFQUFpQ2MsSUFBakMsQ0FBc0MsVUFBQ0osQ0FBRDtBQUFBLGlCQUFPQSxDQUFDLENBQUNyQyxLQUFGLEtBQVlBLEtBQW5CO0FBQUEsU0FBdEMsQ0FBeEI7O0FBRUEsWUFBSXFHLGVBQUosRUFBcUI7QUFDbkJELFVBQUFBLGFBQWEsQ0FBQ25HLEtBQUQsQ0FBYixHQUF1QiwyQkFBdkI7QUFDRDtBQUNGO0FBQ0YsS0FaRDs7QUFjQSxRQUFJLENBQUMseUJBQVFtRyxhQUFSLENBQUwsRUFBNkI7QUFDM0JQLE1BQUFBLGdCQUFnQixDQUFDckUsR0FBRCxDQUFoQixHQUF3QjRFLGFBQXhCO0FBQ0Q7QUFDRixHQXJCRDtBQXVCQSxNQUFNRyxpQkFBaUIsR0FBRyxDQUFDaEQsTUFBTSxDQUFDbUIsS0FBUCxDQUFhLGdCQUFiLEtBQWtDLEVBQW5DLEVBQXVDbEUsTUFBakU7O0FBRUEsTUFBSStGLGlCQUFpQixHQUFHWCxnQkFBeEIsRUFBMEM7QUFDeENFLElBQUFBLE1BQU0sQ0FBQ3JCLGFBQVAsMEJBQXVDbUIsZ0JBQXZDO0FBQ0QsR0FGRCxNQUVPLElBQUlXLGlCQUFpQixHQUFHLENBQXhCLEVBQTJCO0FBQ2hDVCxJQUFBQSxNQUFNLENBQUNyQixhQUFQLEdBQXVCLG1EQUF2QjtBQUNEOztBQUVELE1BQUksQ0FBQyx5QkFBUW9CLGdCQUFSLENBQUwsRUFBZ0M7QUFDOUJDLElBQUFBLE1BQU0sQ0FBQzFFLE9BQVAsR0FBaUJ5RSxnQkFBakI7QUFDRDs7QUFFRCxTQUFPQyxNQUFQO0FBQ0QsQ0FoRE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IG1hcCBmcm9tICdsb2Rhc2gvbWFwJztcbmltcG9ydCByZWR1Y2UgZnJvbSAnbG9kYXNoL3JlZHVjZSc7XG5pbXBvcnQgZmluZCBmcm9tICdsb2Rhc2gvZmluZCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdoZSc7XG5pbXBvcnQgeyBwYXJ0aWFsU2NvcmluZyB9IGZyb20gJ0BwaWUtbGliL2NvbnRyb2xsZXItdXRpbHMnO1xuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSAnQHBpZS1saWIvdHJhbnNsYXRvcic7XG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmNvbnN0IHsgdHJhbnNsYXRvciB9ID0gVHJhbnNsYXRvcjtcblxuY29uc3QgbG9nID0gZGVidWcoJ2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlOmNvbnRyb2xsZXInKTtcblxuZXhwb3J0IGNvbnN0IHByZXBhcmVDaG9pY2UgPSAobW9kZSwgZGVmYXVsdEZlZWRiYWNrKSA9PiAoY2hvaWNlKSA9PiB7XG4gIGNvbnN0IG91dCA9IHtcbiAgICBsYWJlbDogY2hvaWNlLmxhYmVsLFxuICAgIHZhbHVlOiBjaG9pY2UudmFsdWUsXG4gIH07XG5cbiAgaWYgKG1vZGUgPT09ICdldmFsdWF0ZScpIHtcbiAgICBvdXQuY29ycmVjdCA9IHRydWU7XG5cbiAgICBjb25zdCBmZWVkYmFja1R5cGUgPSAoY2hvaWNlLmZlZWRiYWNrICYmIGNob2ljZS5mZWVkYmFjay50eXBlKSB8fCAnbm9uZSc7XG5cbiAgICBpZiAoZmVlZGJhY2tUeXBlID09PSAnZGVmYXVsdCcpIHtcbiAgICAgIG91dC5mZWVkYmFjayA9IGRlZmF1bHRGZWVkYmFja1snY29ycmVjdCddO1xuICAgIH0gZWxzZSBpZiAoZmVlZGJhY2tUeXBlID09PSAnY3VzdG9tJykge1xuICAgICAgb3V0LmZlZWRiYWNrID0gY2hvaWNlLmZlZWRiYWNrLnZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5jb25zdCBnZXRGZWVkYmFjayA9ICh2YWx1ZSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICByZXR1cm4gJ2NvcnJlY3QnO1xuICB9XG5cbiAgcmV0dXJuICdpbmNvcnJlY3QnO1xufTtcblxuLy8gYWxzbyB1c2VkIGluIGNvbmZpZ3VyZS9zcmMvbWFya3VwVXRpbHMuanNcbmNvbnN0IGdldEFkanVzdGVkTGVuZ3RoID0gKGxlbmd0aCkgPT4ge1xuICBpZiAobGVuZ3RoIDw9IDIpIHtcbiAgICByZXR1cm4gbGVuZ3RoICsgMjtcbiAgfVxuXG4gIGlmIChsZW5ndGggPD0gNCkge1xuICAgIHJldHVybiBsZW5ndGggKyAzO1xuICB9XG5cbiAgaWYgKGxlbmd0aCA8PSA2KSB7XG4gICAgcmV0dXJuIGxlbmd0aCArIDQ7XG4gIH1cblxuICByZXR1cm4gbGVuZ3RoICsgNTtcbn07XG5cbi8vIHdlIGNhbid0IHVzZSB0aGUgZG9tIHBhcnNlciBoZXJlIGJlY2F1c2UgaXQgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgbm9kZSBlbnZpcm9ubWVudFxuY29uc3QgZGVjb2RlSHRtbEVudGl0aWVzID0gKHN0cikgPT4ge1xuICBpZiAoIXN0cikgcmV0dXJuICcnO1xuICByZXR1cm4gc3RyXG4gICAgLnJlcGxhY2UoLyZsdDsvZywgJzwnKVxuICAgIC5yZXBsYWNlKC8mZ3Q7L2csICc+JylcbiAgICAucmVwbGFjZSgvJnF1b3Q7L2csICdcIicpXG4gICAgLnJlcGxhY2UoLyYjeDI3O3wmIzM5Oy9nLCAnXFwnJylcbiAgICAucmVwbGFjZSgvJmFtcDsvZywgJyYnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSAocXVlc3Rpb24pID0+ICh7IC4uLmRlZmF1bHRzLCAuLi5xdWVzdGlvbiB9KTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIGVudikge1xuICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAvLyB0aGlzIHdhcyBhZGRlZCB0byB0cmVhdCBhbiBleGNlcHRpb24sIHdoZW4gdGhlIG1vZGVsIGhhcyBjaG9pY2VzIHdpdGhvdXRcbiAgICAvLyB0aGUgXCJ2YWx1ZVwiIHByb3BlcnR5IGxpa2U6IHsgbGFiZWw6ICd0ZXN0JyB9XG4gICAgaWYgKHF1ZXN0aW9uLmNob2ljZXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHF1ZXN0aW9uLmNob2ljZXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBxdWVzdGlvbi5jaG9pY2VzW2tleV0gPSAocXVlc3Rpb24uY2hvaWNlc1trZXldIHx8IFtdKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKCFpdGVtLnZhbHVlKSB7XG4gICAgICAgICAgICBsb2coJ0Nob2ljZSBkb2VzIG5vdCBjb250YWluIFwidmFsdWVcIiBwcm9wZXJ0eSwgd2hpY2ggaXMgcmVxdWlyZWQuJywgaXRlbSk7XG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogYCR7aW5kZXh9YCwgLi4uaXRlbSB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG4gICAgY29uc3QgZGVmYXVsdEZlZWRiYWNrID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHsgY29ycmVjdDogJ0NvcnJlY3QnLCBpbmNvcnJlY3Q6ICdJbmNvcnJlY3QnIH0sXG4gICAgICBub3JtYWxpemVkUXVlc3Rpb24uZGVmYXVsdEZlZWRiYWNrLFxuICAgICk7XG4gICAgY29uc3QgcHJlcGFyZUNob2ljZUZuID0gcHJlcGFyZUNob2ljZShlbnYubW9kZSwgZGVmYXVsdEZlZWRiYWNrKTtcbiAgICBjb25zdCBjaG9pY2VzID0gcmVkdWNlKFxuICAgICAgbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZXMsXG4gICAgICAob2JqLCBhcmVhLCBrZXkpID0+IHtcbiAgICAgICAgb2JqW2tleV0gPSBtYXAoYXJlYSwgcHJlcGFyZUNob2ljZUZuKTtcblxuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSxcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgICBjb25zdCB7IHZhbHVlID0ge30gfSA9IHNlc3Npb24gfHwge307XG4gICAgY29uc3QgZmVlZGJhY2sgPVxuICAgICAgZW52Lm1vZGUgPT09ICdldmFsdWF0ZSdcbiAgICAgICAgPyByZWR1Y2UoXG4gICAgICAgICAgICBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlcyxcbiAgICAgICAgICAgIChvYmosIHJlc3BBcmVhLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY2hvc2VuVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZVtrZXldO1xuICAgICAgICAgICAgICBjb25zdCB2YWwgPVxuICAgICAgICAgICAgICAgICFpc0VtcHR5KGNob3NlblZhbHVlKSAmJiBmaW5kKHJlc3BBcmVhLCAoYykgPT4gcHJlcGFyZVZhbChjLmxhYmVsKSA9PT0gcHJlcGFyZVZhbChjaG9zZW5WYWx1ZSkpO1xuXG4gICAgICAgICAgICAgIG9ialtrZXldID0gZ2V0RmVlZGJhY2sodmFsKTtcblxuICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgIClcbiAgICAgICAgOiB7fTtcblxuICAgIC8vIGNoZWNrIGlmIGF0IGxlYXN0IG9uZSBjaG9pY2UgaGFzIGFuIGFsdGVybmF0ZVxuICAgIGNvbnN0IHNob3dOb3RlID0gT2JqZWN0LnZhbHVlcyhjaG9pY2VzKS5zb21lKChjaG9pY2UpID0+IGNob2ljZT8ubGVuZ3RoID4gMSk7XG4gICAgY29uc3Qgbm90ZSA9XG4gICAgICBub3JtYWxpemVkUXVlc3Rpb24ubm90ZSB8fFxuICAgICAgdHJhbnNsYXRvci50KCdjb21tb246Y29tbW9uQ29ycmVjdEFuc3dlcldpdGhBbHRlcm5hdGVzJywgeyBsbmc6IG5vcm1hbGl6ZWRRdWVzdGlvbi5sYW5ndWFnZSB9KTtcblxuICAgIGNvbnN0IHsgbWF4TGVuZ3RoUGVyQ2hvaWNlID0gW10sIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQgfSA9IG5vcm1hbGl6ZWRRdWVzdGlvbjtcbiAgICBjb25zdCB1bmRlZmluZWRMZW5ndGhzID0gIW1heExlbmd0aFBlckNob2ljZS5sZW5ndGg7XG5cbiAgICAvLyBjYWxjdWxhdGUgbWF4TGVuZ3RoUGVyQ2hvaWNlIGFycmF5IGlmIGl0IGlzIG5vdCBkZWZpbmVkIG9yIGRlZmluZWQgaW5jb3JyZWN0bHlcbiAgICBPYmplY3QudmFsdWVzKGNob2ljZXMpLmZvckVhY2goKGNob2ljZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsTGVuZ3Roc0FyciA9IChjaG9pY2UgfHwgW10pLm1hcCgoY2hvaWNlKSA9PiBkZWNvZGVIdG1sRW50aXRpZXMoY2hvaWNlLmxhYmVsIHx8ICcnKS5sZW5ndGgpO1xuICAgICAgY29uc3QgbGVuZ3RoID0gTWF0aC5tYXgoLi4ubGFiZWxMZW5ndGhzQXJyKTtcblxuICAgICAgaWYgKFxuICAgICAgICB1bmRlZmluZWRMZW5ndGhzIHx8XG4gICAgICAgICFtYXhMZW5ndGhQZXJDaG9pY2VbaW5kZXhdIHx8XG4gICAgICAgIG1heExlbmd0aFBlckNob2ljZVtpbmRleF0gPCBsZW5ndGggfHxcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA+IGxlbmd0aCArIDEwXG4gICAgICApIHtcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlW2luZGV4XSA9IGdldEFkanVzdGVkTGVuZ3RoKGxlbmd0aCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBvdXQgPSB7XG4gICAgICBjaG9pY2VzLFxuICAgICAgZGlzYWJsZWQ6IGVudi5tb2RlICE9PSAnZ2F0aGVyJyxcbiAgICAgIGRpc3BsYXlUeXBlOiBub3JtYWxpemVkUXVlc3Rpb24uZGlzcGxheVR5cGUsXG4gICAgICBtb2RlOiBlbnYubW9kZSxcbiAgICAgIHJvbGU6IGVudi5yb2xlLFxuICAgICAgZmVlZGJhY2ssXG4gICAgICBsYW5ndWFnZTogbm9ybWFsaXplZFF1ZXN0aW9uLmxhbmd1YWdlLFxuICAgICAgbWFya3VwOiBub3JtYWxpemVkUXVlc3Rpb24ubWFya3VwLFxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlLFxuICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCxcbiAgICAgIG5vdGUsXG4gICAgICBwbGF5ZXJTcGVsbENoZWNrRW5hYmxlZDogbm9ybWFsaXplZFF1ZXN0aW9uLnBsYXllclNwZWxsQ2hlY2tFbmFibGVkLFxuICAgICAgcHJvbXB0OiBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0RW5hYmxlZCA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHQgOiBkZWZhdWx0cy5wcm9tcHQsXG4gICAgICByYXRpb25hbGU6IGRlZmF1bHRzLnJhdGlvbmFsZSxcbiAgICAgIHJlc3BvbnNlQ29ycmVjdDogZW52Lm1vZGUgPT09ICdldmFsdWF0ZScgPyBnZXRTY29yZShub3JtYWxpemVkUXVlc3Rpb24sIHNlc3Npb24pID09PSAxIDogdW5kZWZpbmVkLFxuICAgICAgc2hvd05vdGUsXG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgcmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uOiBub3JtYWxpemVkUXVlc3Rpb24ucmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uLFxuICAgICAgZXh0cmFDU1NSdWxlczogbm9ybWFsaXplZFF1ZXN0aW9uLmV4dHJhQ1NTUnVsZXMsXG4gICAgfTtcblxuICAgIGlmIChlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InICYmIChlbnYubW9kZSA9PT0gJ3ZpZXcnIHx8IGVudi5tb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgICAgb3V0LnJhdGlvbmFsZSA9IG5vcm1hbGl6ZWRRdWVzdGlvbi5yYXRpb25hbGVFbmFibGVkID8gbm9ybWFsaXplZFF1ZXN0aW9uLnJhdGlvbmFsZSA6IGRlZmF1bHRzLnJhdGlvbmFsZTtcbiAgICAgIG91dC50ZWFjaGVySW5zdHJ1Y3Rpb25zID0gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkXG4gICAgICAgID8gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNcbiAgICAgICAgOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zO1xuICAgIH1cblxuICAgIHJlc29sdmUob3V0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBwcmVwYXJlVmFsID0gKGh0bWwpID0+IHtcbiAgcmV0dXJuIGRlY29kZUhUTUwoZ2V0SW5uZXJUZXh0KGh0bWwpLnRyaW0oKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2NvcmUgPSAoY29uZmlnLCBzZXNzaW9uKSA9PiB7XG4gIGNvbnN0IHsgdmFsdWUgfSA9IHNlc3Npb24gfHwge307XG5cbiAgaWYgKCFzZXNzaW9uIHx8IGlzRW1wdHkoc2Vzc2lvbikgfHwgIXZhbHVlKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBjb25zdCByZXNwb25zZUFyZWFzID0gY29uZmlnLm1hcmt1cCAmJiBjb25maWcubWFya3VwLm1hdGNoKC9cXHtcXHsoLis/KVxcfVxcfS9nKTtcbiAgY29uc3QgbWF4U2NvcmUgPSByZXNwb25zZUFyZWFzID8gcmVzcG9uc2VBcmVhcy5sZW5ndGggOiAwO1xuICBjb25zdCBjb3JyZWN0Q291bnQgPSByZWR1Y2UoXG4gICAgY29uZmlnLmNob2ljZXMsXG4gICAgKHRvdGFsLCByZXNwQXJlYSwga2V5KSA9PiB7XG4gICAgICBjb25zdCBjaG9zZW5WYWx1ZSA9IHZhbHVlICYmIHZhbHVlW2tleV07XG5cbiAgICAgIGlmIChpc0VtcHR5KGNob3NlblZhbHVlKSB8fCAhZmluZChyZXNwQXJlYSwgKGMpID0+IHByZXBhcmVWYWwoYy5sYWJlbCkgPT09IHByZXBhcmVWYWwoY2hvc2VuVmFsdWUpKSkge1xuICAgICAgICByZXR1cm4gdG90YWw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b3RhbCArIDE7XG4gICAgfSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHN0ciA9IG1heFNjb3JlID8gKGNvcnJlY3RDb3VudCAvIG1heFNjb3JlKS50b0ZpeGVkKDIpIDogMDtcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHIpO1xufTtcblxuLyoqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9XG4gKiBmYWxzZS4gdGhlIHZhbHVlIGluIGBlbnZgIHdpbGwgb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHtib29sZWFufSBtb2RlbC5wYXJ0aWFsU2NvcmluZyAtIGlzIHBhcnRpYWwgc2NvcmluZyBlbmFibGVkIChpZiB1bmRlZmluZWQgc2V0IHRvIHRvIHRydWUpXG4gKiBAcGFyYW0geyp9IHNlc3Npb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBlbnZcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gZW52LnBhcnRpYWxTY29yaW5nIC0gaXMgcGFydGlhbCBzY29yaW5nIGVuYWJsZWQgKGlmIHVuZGVmaW5lZCBkZWZhdWx0IHRvIHRydWUpIFRoaXMgb3ZlcnJpZGVzXG4gKiAgIGBtb2RlbC5wYXJ0aWFsU2NvcmluZ2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYgPSB7fSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKG1vZGVsLCBlbnYpO1xuICAgIGNvbnN0IHNjb3JlID0gZ2V0U2NvcmUobW9kZWwsIHNlc3Npb24pO1xuXG4gICAgcmVzb2x2ZSh7IHNjb3JlOiBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPyBzY29yZSA6IHNjb3JlID09PSAxID8gMSA6IDAsIGVtcHR5OiBpc0VtcHR5KHNlc3Npb24pIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24gPSAocXVlc3Rpb24sIGVudikgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBpZiAoZW52Lm1vZGUgIT09ICdldmFsdWF0ZScgJiYgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJykge1xuICAgICAgY29uc3QgeyBjaG9pY2VzIH0gPSBxdWVzdGlvbjtcbiAgICAgIGNvbnN0IHZhbHVlID0ge307XG5cbiAgICAgIE9iamVjdC5rZXlzKGNob2ljZXMpLmZvckVhY2goKGtleSwgaSkgPT4ge1xuICAgICAgICB2YWx1ZVtpXSA9IGNob2ljZXNba2V5XVswXS5sYWJlbDtcbiAgICAgIH0pO1xuXG4gICAgICByZXNvbHZlKHsgaWQ6ICcxJywgdmFsdWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vIHJlbW92ZSBhbGwgaHRtbCB0YWdzXG4vLyBjb25zdCBnZXRJbm5lclRleHQgPSAoaHRtbCkgPT4gKGh0bWwgfHwgJycpLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuY29uc3QgZ2V0SW5uZXJUZXh0ID0gKGh0bWwpID0+IHtcbiAgaWYgKHR5cGVvZiBodG1sICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAodHlwZW9mIGh0bWwucmVwbGFjZUFsbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBodG1sLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuICB9IGVsc2Uge1xuICAgIC8vIFBvbHlmaWxsIGZvciByZXBsYWNlQWxsIHVzaW5nIHJlcGxhY2UgYW5kIGEgZ2xvYmFsIHJlZ2V4XG4gICAgcmV0dXJuIGh0bWwucmVwbGFjZSgvPFtePl0qPi9nLCAnJyk7XG4gIH1cbn07XG5cbmNvbnN0IGRlY29kZUhUTUwgPSAoaHRtbCkgPT4gZGVjb2RlKGh0bWwpO1xuXG4vLyByZW1vdmUgYWxsIGh0bWwgdGFncyBleGNlcHQgaW1nLCBpZnJhbWUgYW5kIHNvdXJjZSB0YWcgZm9yIGF1ZGlvXG5jb25zdCBnZXRDb250ZW50ID0gKGh0bWwpID0+IChodG1sIHx8ICcnKS5yZXBsYWNlKC8oPCg/IWltZ3xpZnJhbWV8c291cmNlKShbXj5dKyk+KS9naSwgJycpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAobW9kZWwgPSB7fSwgY29uZmlnID0ge30pID0+IHtcbiAgY29uc3QgeyBjaG9pY2VzLCBtYXJrdXAgfSA9IG1vZGVsO1xuICBjb25zdCB7IG1heFJlc3BvbnNlQXJlYXMgfSA9IGNvbmZpZztcbiAgY29uc3QgYWxsQ2hvaWNlc0Vycm9ycyA9IHt9O1xuICBjb25zdCBlcnJvcnMgPSB7fTtcblxuICBbJ3RlYWNoZXJJbnN0cnVjdGlvbnMnLCAncHJvbXB0JywgJ3JhdGlvbmFsZSddLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKGNvbmZpZ1tmaWVsZF0/LnJlcXVpcmVkICYmICFnZXRDb250ZW50KG1vZGVsW2ZpZWxkXSkpIHtcbiAgICAgIGVycm9yc1tmaWVsZF0gPSAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nO1xuICAgIH1cbiAgfSk7XG5cbiAgT2JqZWN0LmVudHJpZXMoY2hvaWNlcyB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVzXSkgPT4ge1xuICAgIGNvbnN0IHJldmVyc2VkQ2hvaWNlcyA9IFsuLi4odmFsdWVzIHx8IFtdKV0ucmV2ZXJzZSgpO1xuICAgIGNvbnN0IGNob2ljZXNFcnJvcnMgPSB7fTtcblxuICAgIHJldmVyc2VkQ2hvaWNlcy5mb3JFYWNoKChjaG9pY2UsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBsYWJlbCB9ID0gY2hvaWNlO1xuXG4gICAgICBpZiAobGFiZWwgPT09ICcnIHx8IGxhYmVsID09PSAnPGRpdj48L2Rpdj4nKSB7XG4gICAgICAgIGNob2ljZXNFcnJvcnNbdmFsdWVdID0gJ0NvbnRlbnQgc2hvdWxkIG5vdCBiZSBlbXB0eS4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaWRlbnRpY2FsQW5zd2VyID0gcmV2ZXJzZWRDaG9pY2VzLnNsaWNlKGluZGV4ICsgMSkuc29tZSgoYykgPT4gYy5sYWJlbCA9PT0gbGFiZWwpO1xuXG4gICAgICAgIGlmIChpZGVudGljYWxBbnN3ZXIpIHtcbiAgICAgICAgICBjaG9pY2VzRXJyb3JzW3ZhbHVlXSA9ICdDb250ZW50IHNob3VsZCBiZSB1bmlxdWUuJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFpc0VtcHR5KGNob2ljZXNFcnJvcnMpKSB7XG4gICAgICBhbGxDaG9pY2VzRXJyb3JzW2tleV0gPSBjaG9pY2VzRXJyb3JzO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgbmJPZlJlc3BvbnNlQXJlYXMgPSAobWFya3VwLm1hdGNoKC9cXHtcXHsoXFxkKylcXH1cXH0vZykgfHwgW10pLmxlbmd0aDtcblxuICBpZiAobmJPZlJlc3BvbnNlQXJlYXMgPiBtYXhSZXNwb25zZUFyZWFzKSB7XG4gICAgZXJyb3JzLnJlc3BvbnNlQXJlYXMgPSBgTm8gbW9yZSB0aGFuICR7bWF4UmVzcG9uc2VBcmVhc30gcmVzcG9uc2UgYXJlYXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mUmVzcG9uc2VBcmVhcyA8IDEpIHtcbiAgICBlcnJvcnMucmVzcG9uc2VBcmVhcyA9ICdUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgMSByZXNwb25zZSBhcmVhIGRlZmluZWQuJztcbiAgfVxuXG4gIGlmICghaXNFbXB0eShhbGxDaG9pY2VzRXJyb3JzKSkge1xuICAgIGVycm9ycy5jaG9pY2VzID0gYWxsQ2hvaWNlc0Vycm9ycztcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59O1xuIl19
390
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["translator","Translator","log","prepareChoice","mode","defaultFeedback","choice","out","label","value","correct","feedbackType","feedback","type","getFeedback","getAdjustedLength","length","decodeHtmlEntities","str","replace","normalize","question","defaults","model","session","env","Promise","resolve","choices","Object","keys","forEach","key","map","item","index","normalizedQuestion","assign","incorrect","prepareChoiceFn","obj","area","respArea","chosenValue","val","c","prepareVal","showNote","values","some","note","t","lng","language","maxLengthPerChoice","maxLengthPerChoiceEnabled","undefinedLengths","labelLengthsArr","Math","max","disabled","displayType","role","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","responseCorrect","getScore","undefined","teacherInstructions","responseAreaInputConfiguration","extraCSSRules","rationaleEnabled","teacherInstructionsEnabled","html","decodeHTML","getInnerText","trim","config","responseAreas","match","maxScore","correctCount","total","toFixed","parseFloat","outcome","partialScoringEnabled","partialScoring","enabled","score","empty","createCorrectResponseSession","i","id","replaceAll","getContent","validate","maxResponseAreas","allChoicesErrors","errors","field","required","entries","reversedChoices","reverse","choicesErrors","identicalAnswer","slice","nbOfResponseAreas"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport find from 'lodash/find';\nimport isEmpty from 'lodash/isEmpty';\nimport { decode } from 'he';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport Translator from '@pie-lib/translator';\nimport defaults from './defaults';\n\nconst { translator } = Translator;\n\nconst log = debug('explicit-constructed-response:controller');\n\nexport const prepareChoice = (mode, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (mode === 'evaluate') {\n out.correct = true;\n\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback['correct'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n\n return out;\n};\n\nconst getFeedback = (value) => {\n if (value) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\n// also used in configure/src/markupUtils.js\nconst getAdjustedLength = (length) => {\n if (length <= 2) {\n return length + 2;\n }\n\n if (length <= 4) {\n return length + 3;\n }\n\n if (length <= 6) {\n return length + 4;\n }\n\n return length + 5;\n};\n\n// we can't use the dom parser here because it is not available in the node environment\nconst decodeHtmlEntities = (str) => {\n if (!str) return '';\n return str\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;|&#39;/g, '\\'')\n .replace(/&amp;/g, '&');\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport function model(question, session, env) {\n return new Promise(async (resolve) => {\n // this was added to treat an exception, when the model has choices without\n // the \"value\" property like: { label: 'test' }\n if (question.choices) {\n Object.keys(question.choices).forEach((key) => {\n question.choices[key] = (question.choices[key] || []).map((item, index) => {\n if (!item.value) {\n log('Choice does not contain \"value\" property, which is required.', item);\n return { value: `${index}`, ...item };\n }\n\n return item;\n });\n });\n }\n\n const normalizedQuestion = normalize(question);\n const defaultFeedback = Object.assign(\n { correct: 'Correct', incorrect: 'Incorrect' },\n normalizedQuestion.defaultFeedback,\n );\n const prepareChoiceFn = prepareChoice(env.mode, defaultFeedback);\n const choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, prepareChoiceFn);\n\n return obj;\n },\n {},\n );\n\n const { value = {} } = session || {};\n const feedback =\n env.mode === 'evaluate'\n ? reduce(\n normalizedQuestion.choices,\n (obj, respArea, key) => {\n const chosenValue = value && value[key];\n const val =\n !isEmpty(chosenValue) && find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue));\n\n obj[key] = getFeedback(val);\n\n return obj;\n },\n {},\n )\n : {};\n\n // check if at least one choice has an alternate\n const showNote = Object.values(choices).some((choice) => choice?.length > 1);\n const note =\n normalizedQuestion.note ||\n translator.t('common:commonCorrectAnswerWithAlternates', { lng: normalizedQuestion.language });\n\n const { maxLengthPerChoice = [], maxLengthPerChoiceEnabled } = normalizedQuestion;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map((choice) => decodeHtmlEntities(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n const out = {\n choices,\n disabled: env.mode !== 'gather',\n displayType: normalizedQuestion.displayType,\n mode: env.mode,\n role: env.role,\n feedback,\n language: normalizedQuestion.language,\n markup: normalizedQuestion.markup,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : defaults.prompt,\n rationale: defaults.rationale,\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n showNote,\n teacherInstructions: defaults.teacherInstructions,\n responseAreaInputConfiguration: normalizedQuestion.responseAreaInputConfiguration,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : defaults.rationale;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : defaults.teacherInstructions;\n }\n\n resolve(out);\n });\n}\n\nexport const prepareVal = (html) => {\n return decodeHTML(getInnerText(html).trim());\n};\n\nexport const getScore = (config, session) => {\n const { value } = session || {};\n\n if (!session || isEmpty(session) || !value) {\n return 0;\n }\n\n const responseAreas = config.markup && config.markup.match(/\\{\\{(.+?)\\}\\}/g);\n const maxScore = responseAreas ? responseAreas.length : 0;\n const correctCount = reduce(\n config.choices,\n (total, respArea, key) => {\n const chosenValue = value && value[key];\n\n if (isEmpty(chosenValue) || !find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue))) {\n return total;\n }\n\n return total + 1;\n },\n 0,\n );\n\n const str = maxScore ? (correctCount / maxScore).toFixed(2) : 0;\n\n return parseFloat(str);\n};\n\n/**\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({ score: partialScoringEnabled ? score : score === 1 ? 1 : 0, empty: isEmpty(session) });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n Object.keys(choices).forEach((key, i) => {\n value[i] = choices[key][0].label;\n });\n\n resolve({ id: '1', value });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\n// const getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\nconst getInnerText = (html) => {\n if (typeof html !== 'string') {\n return '';\n }\n if (typeof html.replaceAll === 'function') {\n return html.replaceAll(/<[^>]*>/g, '');\n } else {\n // Polyfill for replaceAll using replace and a global regex\n return html.replace(/<[^>]*>/g, '');\n }\n};\n\nconst decodeHTML = (html) => decode(html);\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { choices, markup } = model;\n const { maxResponseAreas } = config;\n const allChoicesErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(choices || {}).forEach(([key, values]) => {\n const reversedChoices = [...(values || [])].reverse();\n const choicesErrors = {};\n\n reversedChoices.forEach((choice, index) => {\n const { value, label } = choice;\n\n if (label === '' || label === '<div></div>') {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n });\n\n if (!isEmpty(choicesErrors)) {\n allChoicesErrors[key] = choicesErrors;\n }\n });\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreas = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreas = 'There should be at least 1 response area defined.';\n }\n\n if (!isEmpty(allChoicesErrors)) {\n errors.choices = allChoicesErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["translator","Translator","log","prepareChoice","mode","defaultFeedback","choice","out","label","value","correct","feedbackType","feedback","type","getFeedback","getAdjustedLength","length","Math","abs","Infinity","decodeHtmlEntities","str","replace","normalize","question","defaults","model","session","env","Promise","resolve","choices","Object","keys","forEach","key","map","item","index","normalizedQuestion","assign","incorrect","prepareChoiceFn","obj","area","respArea","chosenValue","val","c","prepareVal","showNote","values","some","note","t","lng","language","maxLengthPerChoice","maxLengthPerChoiceEnabled","undefinedLengths","labelLengthsArr","max","disabled","displayType","role","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","responseCorrect","getScore","undefined","teacherInstructions","responseAreaInputConfiguration","extraCSSRules","rationaleEnabled","teacherInstructionsEnabled","html","decodeHTML","getInnerText","trim","config","responseAreas","match","maxScore","correctCount","total","toFixed","parseFloat","outcome","partialScoringEnabled","partialScoring","enabled","score","empty","createCorrectResponseSession","i","id","replaceAll","getContent","validate","maxResponseAreas","allChoicesErrors","errors","field","required","entries","reversedChoices","reverse","choicesErrors","identicalAnswer","slice","nbOfResponseAreas"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport find from 'lodash/find';\nimport isEmpty from 'lodash/isEmpty';\nimport { decode } from 'he';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport Translator from '@pie-lib/translator';\nimport defaults from './defaults';\n\nconst { translator } = Translator;\n\nconst log = debug('explicit-constructed-response:controller');\n\nexport const prepareChoice = (mode, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (mode === 'evaluate') {\n out.correct = true;\n\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback['correct'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n\n return out;\n};\n\nconst getFeedback = (value) => {\n if (value) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\n// also used in configure/src/markupUtils.js\nconst getAdjustedLength = (length) => {\n if (Math.abs(length) === Infinity) {\n return 2;\n }\n\n if (length <= 2) {\n return length + 2;\n }\n\n if (length <= 4) {\n return length + 3;\n }\n\n if (length <= 6) {\n return length + 4;\n }\n\n return length + 5;\n};\n\n// we can't use the dom parser here because it is not available in the node environment\nconst decodeHtmlEntities = (str) => {\n if (!str) return '';\n return str\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;|&#39;/g, '\\'')\n .replace(/&amp;/g, '&');\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport function model(question, session, env) {\n return new Promise(async (resolve) => {\n // this was added to treat an exception, when the model has choices without\n // the \"value\" property like: { label: 'test' }\n if (question.choices) {\n Object.keys(question.choices).forEach((key) => {\n question.choices[key] = (question.choices[key] || []).map((item, index) => {\n if (!item.value) {\n log('Choice does not contain \"value\" property, which is required.', item);\n return { value: `${index}`, ...item };\n }\n\n return item;\n });\n });\n }\n\n const normalizedQuestion = normalize(question);\n const defaultFeedback = Object.assign(\n { correct: 'Correct', incorrect: 'Incorrect' },\n normalizedQuestion.defaultFeedback,\n );\n const prepareChoiceFn = prepareChoice(env.mode, defaultFeedback);\n const choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, prepareChoiceFn);\n\n return obj;\n },\n {},\n );\n\n const { value = {} } = session || {};\n const feedback =\n env.mode === 'evaluate'\n ? reduce(\n normalizedQuestion.choices,\n (obj, respArea, key) => {\n const chosenValue = value && value[key];\n const val =\n !isEmpty(chosenValue) && find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue));\n\n obj[key] = getFeedback(val);\n\n return obj;\n },\n {},\n )\n : {};\n\n // check if at least one choice has an alternate\n const showNote = Object.values(choices).some((choice) => choice?.length > 1);\n const note =\n normalizedQuestion.note ||\n translator.t('common:commonCorrectAnswerWithAlternates', { lng: normalizedQuestion.language });\n\n const { maxLengthPerChoice = [], maxLengthPerChoiceEnabled } = normalizedQuestion;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map((choice) => decodeHtmlEntities(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n const out = {\n choices,\n disabled: env.mode !== 'gather',\n displayType: normalizedQuestion.displayType,\n mode: env.mode,\n role: env.role,\n feedback,\n language: normalizedQuestion.language,\n markup: normalizedQuestion.markup,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : defaults.prompt,\n rationale: defaults.rationale,\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n showNote,\n teacherInstructions: defaults.teacherInstructions,\n responseAreaInputConfiguration: normalizedQuestion.responseAreaInputConfiguration,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : defaults.rationale;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : defaults.teacherInstructions;\n }\n\n resolve(out);\n });\n}\n\nexport const prepareVal = (html) => {\n return decodeHTML(getInnerText(html).trim());\n};\n\nexport const getScore = (config, session) => {\n const { value } = session || {};\n\n if (!session || isEmpty(session) || !value) {\n return 0;\n }\n\n const responseAreas = config.markup && config.markup.match(/\\{\\{(.+?)\\}\\}/g);\n const maxScore = responseAreas ? responseAreas.length : 0;\n const correctCount = reduce(\n config.choices,\n (total, respArea, key) => {\n const chosenValue = value && value[key];\n\n if (isEmpty(chosenValue) || !find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue))) {\n return total;\n }\n\n return total + 1;\n },\n 0,\n );\n\n const str = maxScore ? (correctCount / maxScore).toFixed(2) : 0;\n\n return parseFloat(str);\n};\n\n/**\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({ score: partialScoringEnabled ? score : score === 1 ? 1 : 0, empty: isEmpty(session) });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n Object.keys(choices).forEach((key, i) => {\n value[i] = choices[key][0].label;\n });\n\n resolve({ id: '1', value });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\n// const getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\nconst getInnerText = (html) => {\n if (typeof html !== 'string') {\n return '';\n }\n if (typeof html.replaceAll === 'function') {\n return html.replaceAll(/<[^>]*>/g, '');\n } else {\n // Polyfill for replaceAll using replace and a global regex\n return html.replace(/<[^>]*>/g, '');\n }\n};\n\nconst decodeHTML = (html) => decode(html);\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { choices, markup } = model;\n const { maxResponseAreas } = config;\n const allChoicesErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(choices || {}).forEach(([key, values]) => {\n const reversedChoices = [...(values || [])].reverse();\n const choicesErrors = {};\n\n reversedChoices.forEach((choice, index) => {\n const { value, label } = choice;\n\n if (label === '' || label === '<div></div>') {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n });\n\n if (!isEmpty(choicesErrors)) {\n allChoicesErrors[key] = choicesErrors;\n }\n });\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreas = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreas = 'There should be at least 1 response area defined.';\n }\n\n if (!isEmpty(allChoicesErrors)) {\n errors.choices = allChoicesErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
@@ -5,22 +5,16 @@ const markup = '<p>The {{0}} <br> jumped {{1}} <br> the {{2}}</p>';
5
5
  exports.model = (id, element) => ({
6
6
  id,
7
7
  element,
8
- "disabled": false,
9
- "prompt": "<p>Subtract.</p><p>wsfsf</p><p>fs</p><p>fsfvsdfvd</p><p></p><p></p><p></p><p>sfsafsfsa<br><br>ddsvdvdsvsvsdvbsd</p>",
10
- "promptEnabled": true,
11
- "displayType": "block",
12
- "maxLengthPerChoiceEnabled": true,
13
- "playerSpellCheckEnabled": true,
14
- "rationale": "<p>ffew</p><p>fefefef</p><p></p><p>sdfdegdsgsg<br>dfvsdv<br><br>bbsfbbsfgbs<br><br>dfvdvsdvv</p>",
15
- "rationaleEnabled": true,
16
- "spellCheckEnabled": true,
17
- "studentInstructionsEnabled": true,
18
- "teacherInstructions": "<p>rsfvsv</p><p>fdggs</p><p>gdgdg</p><p>dsg</p>",
19
- "teacherInstructionsEnabled": true,
20
- "toolbarEditorPosition": "bottom",
21
- "responseAreaInputConfiguration": {
22
- "characters": {
23
- "disabled": true
24
- }
8
+ markup,
9
+ disabled: false,
10
+ choices: {
11
+ 0: [choice('cow', '0'), choice('cattle', '1'), choice('calf', '2')],
12
+ 1: [choice('over', '0'), choice('past', '1'), choice('beyond', '2')],
13
+ 2: [choice('moon', '0')],
25
14
  },
15
+ maxLengthPerChoice: [7, 10, 4],
16
+ prompt: 'Complete the sentence',
17
+ promptEnabled: true,
18
+ toolbarEditorPosition: 'bottom',
19
+ rubricEnabled: false,
26
20
  });
package/lib/index.js CHANGED
@@ -132,4 +132,4 @@ var InlineDropdown = /*#__PURE__*/function (_HTMLElement) {
132
132
  }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
133
133
 
134
134
  exports["default"] = InlineDropdown;
135
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJJbmxpbmVEcm9wZG93biIsIl9tb2RlbCIsIl9zZXNzaW9uIiwiZWxlbSIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJjaG9pY2VzIiwiZGlzYWJsZWQiLCJkaXNwbGF5VHlwZSIsImZlZWRiYWNrIiwibGFuZ3VhZ2UiLCJtYXJrdXAiLCJtYXhMZW5ndGhQZXJDaG9pY2UiLCJtYXhMZW5ndGhQZXJDaG9pY2VFbmFibGVkIiwibW9kZSIsIm5vdGUiLCJvbkNoYW5nZSIsImNoYW5nZVNlc3Npb24iLCJwbGF5ZXJTcGVsbENoZWNrRW5hYmxlZCIsInByb21wdCIsInJhdGlvbmFsZSIsInJvbGUiLCJzaG93Tm90ZSIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJ2YWx1ZSIsInJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiZGlzcGF0Y2hFdmVudCIsIlNlc3Npb25DaGFuZ2VkRXZlbnQiLCJ0YWdOYW1lIiwidG9Mb3dlckNhc2UiLCJzZXNzaW9uIiwiZGlzcGF0Y2hDaGFuZ2VkRXZlbnQiLCJfcmVuZGVyIiwibGFuZyIsInNsaWNlIiwic2V0QXR0cmlidXRlIiwibSIsIk1vZGVsU2V0RXZlbnQiLCJzZXRMYW5nQXR0cmlidXRlIiwicyIsIkhUTUxFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7O0lBRXFCQSxjOzs7OztBQUNuQiw0QkFBYztBQUFBOztBQUFBO0FBQ1o7QUFEWSxnR0ErQkosWUFBTTtBQUNkLFVBQUksTUFBS0MsTUFBTCxJQUFlLE1BQUtDLFFBQXhCLEVBQWtDO0FBQ2hDLFlBQUlDLElBQUksZ0JBQUdDLGtCQUFNQyxhQUFOLENBQW9CQyxnQkFBcEIsRUFBMEI7QUFDbkNDLFVBQUFBLE9BQU8sRUFBRSxNQUFLTixNQUFMLENBQVlNLE9BRGM7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S2pDLFFBQVo7QUFDRCxLO1NBUEQsYUFBWXdDLENBQVosRUFBZTtBQUNiLFdBQUt4QyxRQUFMLEdBQWdCd0MsQ0FBaEI7O0FBQ0EsV0FBS1AsT0FBTDtBQUNEOzs7V0E4Q0QsNkJBQW9CO0FBQ2xCLFdBQUtHLFlBQUwsQ0FBa0IsWUFBbEIsRUFBZ0MsNEJBQWhDO0FBQ0EsV0FBS0EsWUFBTCxDQUFrQixNQUFsQixFQUEwQixRQUExQjs7QUFFQSxXQUFLSCxPQUFMO0FBQ0Q7OztrREE3RXlDUSxXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgTW9kZWxTZXRFdmVudCwgU2Vzc2lvbkNoYW5nZWRFdmVudCB9IGZyb20gJ0BwaWUtZnJhbWV3b3JrL3BpZS1wbGF5ZXItZXZlbnRzJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5cbmltcG9ydCBNYWluIGZyb20gJy4vbWFpbic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIElubGluZURyb3Bkb3duIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX21vZGVsID0gbnVsbDtcbiAgICB0aGlzLl9zZXNzaW9uID0gbnVsbDtcbiAgfVxuXG4gIHNldExhbmdBdHRyaWJ1dGUoKSB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLl9tb2RlbCAmJiB0eXBlb2YgdGhpcy5fbW9kZWwubGFuZ3VhZ2UgPyB0aGlzLl9tb2RlbC5sYW5ndWFnZSA6ICcnO1xuICAgIGNvbnN0IGxhbmcgPSBsYW5ndWFnZSA/IGxhbmd1YWdlLnNsaWNlKDAsIDIpIDogJ2VuJztcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbGFuZycsIGxhbmcpO1xuICB9XG5cbiAgc2V0IG1vZGVsKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IE1vZGVsU2V0RXZlbnQodGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCksIHRoaXMuc2Vzc2lvbiAmJiAhIXRoaXMuc2Vzc2lvbi52YWx1ZSwgISF0aGlzLl9tb2RlbCksXG4gICAgKTtcbiAgICB0aGlzLnNldExhbmdBdHRyaWJ1dGUoKTtcblxuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgc2V0IHNlc3Npb24ocykge1xuICAgIHRoaXMuX3Nlc3Npb24gPSBzO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZ2V0IHNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb247XG4gIH1cblxuICBfcmVuZGVyID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLl9tb2RlbCAmJiB0aGlzLl9zZXNzaW9uKSB7XG4gICAgICBsZXQgZWxlbSA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFpbiwge1xuICAgICAgICBjaG9pY2VzOiB0aGlzLl9tb2RlbC5jaG9pY2VzLFxuICAgICAgICBkaXNhYmxlZDogdGhpcy5fbW9kZWwuZGlzYWJsZWQsXG4gICAgICAgIGRpc3BsYXlUeXBlOiB0aGlzLl9tb2RlbC5kaXNwbGF5VHlwZSxcbiAgICAgICAgZmVlZGJhY2s6IHRoaXMuX21vZGVsLmZlZWRiYWNrLFxuICAgICAgICBsYW5ndWFnZTogdGhpcy5fbW9kZWwubGFuZ3VhZ2UsXG4gICAgICAgIG1hcmt1cDogdGhpcy5fbW9kZWwubWFya3VwLFxuICAgICAgICBtYXhMZW5ndGhQZXJDaG9pY2U6IHRoaXMuX21vZGVsLm1heExlbmd0aFBlckNob2ljZSxcbiAgICAgICAgbWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZDogdGhpcy5fbW9kZWwubWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCxcbiAgICAgICAgbW9kZTogdGhpcy5fbW9kZWwubW9kZSxcbiAgICAgICAgbm90ZTogdGhpcy5fbW9kZWwubm90ZSxcbiAgICAgICAgb25DaGFuZ2U6IHRoaXMuY2hhbmdlU2Vzc2lvbixcbiAgICAgICAgcGxheWVyU3BlbGxDaGVja0VuYWJsZWQ6IHRoaXMuX21vZGVsLnBsYXllclNwZWxsQ2hlY2tFbmFibGVkLFxuICAgICAgICBwcm9tcHQ6IHRoaXMuX21vZGVsLnByb21wdCxcbiAgICAgICAgcmF0aW9uYWxlOiB0aGlzLl9tb2RlbC5yYXRpb25hbGUsXG4gICAgICAgIHJvbGU6IHRoaXMuX21vZGVsLnJvbGUsXG4gICAgICAgIHNob3dOb3RlOiB0aGlzLl9tb2RlbC5zaG93Tm90ZSxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogdGhpcy5fbW9kZWwudGVhY2hlckluc3RydWN0aW9ucyxcbiAgICAgICAgdmFsdWU6IHRoaXMuX3Nlc3Npb24udmFsdWUsXG4gICAgICAgIHJlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbjogdGhpcy5fbW9kZWwucmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtLCB0aGlzLCAoKSA9PiB7XG4gICAgICAgIHJlbmRlck1hdGgodGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZGlzcGF0Y2hDaGFuZ2VkRXZlbnQgPSAoKSA9PiB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTZXNzaW9uQ2hhbmdlZEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCB0aGlzLnNlc3Npb24gJiYgISF0aGlzLnNlc3Npb24udmFsdWUpKTtcbiAgfTtcblxuICBjaGFuZ2VTZXNzaW9uID0gKHZhbHVlKSA9PiB7XG4gICAgdGhpcy5zZXNzaW9uLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5kaXNwYXRjaENoYW5nZWRFdmVudCgpO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9O1xuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgJ0ZpbGwgaW4gdGhlIEJsYW5rIFF1ZXN0aW9uJyk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAncmVnaW9uJyk7XG5cbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxufVxuIl19
135
+ //# sourceMappingURL=index.js.map
package/lib/main.js CHANGED
@@ -278,4 +278,4 @@ var styles = function styles(theme) {
278
278
  var _default = (0, _styles.withStyles)(styles)(Main);
279
279
 
280
280
  exports["default"] = _default;
281
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJ0cmFuc2xhdG9yIiwiVHJhbnNsYXRvciIsIk1haW4iLCJzaG93Q29ycmVjdEFuc3dlciIsInByb3BzIiwiYWx3YXlzU2hvd0NvcnJlY3QiLCJtYXhMZW5ndGhQZXJDaG9pY2UiLCJldmVyeSIsInZhbCIsImkiLCJhcnIiLCJvbkNoYW5nZSIsIm1heFdhaXQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiZ2V0Q2hhbmdlU2Vzc2lvbiIsInZhbHVlIiwiY2hhbmdlU2Vzc2lvbiIsIm5leHRQcm9wcyIsImxhbmd1YWdlIiwibm90ZSIsImZlZWRiYWNrIiwidCIsImxuZyIsImFuaW1hdGlvbnNEaXNhYmxlZCIsImNsYXNzZXMiLCJtb2RlIiwiZGlzcGxheVR5cGUiLCJyb2xlIiwibWF4TGVuZ3RoUGVyQ2hvaWNlRW5hYmxlZCIsInBsYXllclNwZWxsQ2hlY2tFbmFibGVkIiwicHJvbXB0IiwicmF0aW9uYWxlIiwic2hvd05vdGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwicmVzcG9uc2VBcmVhSW5wdXRDb25maWd1cmF0aW9uIiwibW9kZWwiLCJleHRyYUNTU1J1bGVzIiwiZGlzcGxheU5vdGUiLCJtYWluQ2xhc3NlcyIsIm1haW5Db250YWluZXIiLCJub0JvcmRlckNvbG9yIiwidGVhY2hlckluc3RydWN0aW9uc0RpdiIsInJhdGlvbmFsZURpdiIsInNob3dSYXRpb25hbGUiLCJzaG93VGVhY2hlckluc3RydWN0aW9ucyIsImRpc3BsYXkiLCJzck9ubHkiLCJjb2xsYXBzaWJsZSIsImhpZGRlbiIsInZpc2libGUiLCJ0b2dnbGVTaG93Q29ycmVjdCIsIl9faHRtbCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiYm9vbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJkaXNhYmxlZCIsInN0cmluZyIsIm1hcmt1cCIsImFycmF5IiwiZnVuYyIsInN0eWxlcyIsInRoZW1lIiwiY29sb3IiLCJ0ZXh0IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsImlubGluZURpc3BsYXkiLCJibG9ja0Rpc3BsYXkiLCJtYXJnaW5Cb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsImJvcmRlckNvbG9yIiwicG9zaXRpb24iLCJsZWZ0IiwidG9wIiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFRQSxVQUFSLEdBQXVCQyxzQkFBdkIsQ0FBUUQsVUFBUjs7SUFFYUUsSTs7Ozs7Ozs7Ozs7Ozs7OzhGQThCSDtBQUNOQyxNQUFBQSxpQkFBaUIsRUFBRSxNQUFLQyxLQUFMLENBQVdDLGlCQUFYLElBQWdDO0FBRDdDLEs7eUdBS1csVUFBQ0Msa0JBQUQ7QUFBQSxhQUNqQkEsa0JBQWtCLElBQUlBLGtCQUFrQixDQUFDQyxLQUFuQixDQUF5QixVQUFDQyxHQUFELEVBQU1DLENBQU4sRUFBU0MsR0FBVDtBQUFBLGVBQWlCRixHQUFHLEtBQUtFLEdBQUcsQ0FBQyxDQUFELENBQVgsSUFBa0JGLEdBQUcsS0FBSyxDQUEzQztBQUFBLE9BQXpCLENBQXRCLEdBQ0ksTUFBS0osS0FBTCxDQUFXTyxRQURmLEdBRUksMEJBQVMsTUFBS1AsS0FBTCxDQUFXTyxRQUFwQixFQUE4QixHQUE5QixFQUFtQztBQUFFQyxRQUFBQSxPQUFPLEVBQUU7QUFBWCxPQUFuQyxDQUhhO0FBQUEsSzswR0FrQ0MsWUFBTTtBQUN4QixZQUFLQyxRQUFMLENBQWM7QUFBRVYsUUFBQUEsaUJBQWlCLEVBQUUsQ0FBQyxNQUFLVyxLQUFMLENBQVdYO0FBQWpDLE9BQWQ7QUFDRCxLO3NHQUVlLE1BQUtZLGdCQUFMLENBQXNCLE1BQUtYLEtBQUwsQ0FBV0Usa0JBQWpDLEM7aUdBRUwsVUFBQ1UsS0FBRCxFQUFXO0FBQ3BCLFlBQUtDLGFBQUwsQ0FBbUJELEtB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VTtBQVF6QnlCLElBQUFBLFlBQVksRUFBRTtBQUNaekIsTUFBQUEsT0FBTyxFQUFFO0FBREcsS0FSVztBQVd6QjFCLElBQUFBLElBQUksRUFBRTtBQUNKb0QsTUFBQUEsWUFBWSxFQUFFUCxLQUFLLENBQUNRLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQjtBQUQvQixLQVhtQjtBQWN6QjFCLElBQUFBLFdBQVcsRUFBRTtBQUNYd0IsTUFBQUEsWUFBWSxFQUFFUCxLQUFLLENBQUNRLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQjtBQUR4QixLQWRZO0FBaUJ6QmpDLElBQUFBLGFBQWEsRUFBRTtBQUNiLGFBQU87QUFDTGtDLFFBQUFBLFdBQVcsWUFBS1QsZ0JBQU1DLElBQU4sRUFBTDtBQUROO0FBRE0sS0FqQlU7QUFzQnpCcEIsSUFBQUEsTUFBTSxFQUFFO0FBQ042QixNQUFBQSxRQUFRLEVBQUUsVUFESjtBQUVOQyxNQUFBQSxJQUFJLEVBQUUsVUFGQTtBQUdOQyxNQUFBQSxHQUFHLEVBQUUsTUFIQztBQUlOQyxNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtOQyxNQUFBQSxNQUFNLEVBQUUsS0FMRjtBQU1OQyxNQUFBQSxRQUFRLEVBQUU7QUFOSjtBQXRCaUIsR0FBWjtBQUFBLENBQWY7O2VBZ0NlLHdCQUFXakIsTUFBWCxFQUFtQjlELElBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCB7IENvbnN0cnVjdGVkUmVzcG9uc2UgfSBmcm9tICdAcGllLWxpYi9tYXNrLW1hcmt1cCc7XG5pbXBvcnQgeyBjb2xvciwgQ29sbGFwc2libGUsIGhhc1RleHQsIGhhc01lZGlhLCBQcmV2aWV3UHJvbXB0LCBVaUxheW91dCB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSAnQHBpZS1saWIvdHJhbnNsYXRvcic7XG5cbmNvbnN0IHsgdHJhbnNsYXRvciB9ID0gVHJhbnNsYXRvcjtcblxuZXhwb3J0IGNsYXNzIE1haW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGFsd2F5c1Nob3dDb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBhbmltYXRpb25zRGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZmVlZGJhY2s6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbGFuZ3VhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1heExlbmd0aFBlckNob2ljZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbm90ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcGxheWVyU3BlbGxDaGVja0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHByb21wdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICByYXRpb25hbGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcm9sZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaG93Tm90ZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgdGVhY2hlckluc3RydWN0aW9uczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHZhbHVlOiB7fSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBzaG93Q29ycmVjdEFuc3dlcjogdGhpcy5wcm9wcy5hbHdheXNTaG93Q29ycmVjdCB8fCBmYWxzZSxcbiAgfTtcblxuICAvLyBpZiBmb3IgYWxsIHJlc3BvbnNlcyBtYXggbGVuZ3RoIGlzIDEsIGNhbGwgb25DaGFuZ2UgZm9yIGVhY2gga2V5c3Ryb2tlXG4gIGdldENoYW5nZVNlc3Npb24gPSAobWF4TGVuZ3RoUGVyQ2hvaWNlKSA9PlxuICAgIG1heExlbmd0aFBlckNob2ljZSAmJiBtYXhMZW5ndGhQZXJDaG9pY2UuZXZlcnkoKHZhbCwgaSwgYXJyKSA9PiB2YWwgPT09IGFyclswXSAmJiB2YWwgPT09IDEpXG4gICAgICA/IHRoaXMucHJvcHMub25DaGFuZ2VcbiAgICAgIDogZGVib3VuY2UodGhpcy5wcm9wcy5vbkNoYW5nZSwgMjAwLCB7IG1heFdhaXQ6IDIwMCB9KTtcblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBjb25zdCB7IG1heExlbmd0aFBlckNob2ljZSwgbGFuZ3VhZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IHsgbm90ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChpc0VtcHR5KG5leHRQcm9wcy5mZWVkYmFjaykpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdEFuc3dlcjogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgaWYgKG5leHRQcm9wcy5hbHdheXNTaG93Q29ycmVjdCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0QW5zd2VyOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmIChtYXhMZW5ndGhQZXJDaG9pY2UgJiYgIWlzRXF1YWwobWF4TGVuZ3RoUGVyQ2hvaWNlLCBuZXh0UHJvcHMubWF4TGVuZ3RoUGVyQ2hvaWNlKSkge1xuICAgICAgdGhpcy5jaGFuZ2VTZXNzaW9uID0gdGhpcy5nZXRDaGFuZ2VTZXNzaW9uKG5leHRQcm9wcy5tYXhMZW5ndGhQZXJDaG9pY2UpO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIGlmIHRoZSBub3RlIGlzIHRoZSBkZWZhdWx0IG9uZSBmb3IgcHJldiBsYW5ndWFnZSBhbmQgY2hhbmdlIHRvIHRoZSBkZWZhdWx0IG9uZSBmb3IgbmV3IGxhbmd1YWdlXG4gICAgLy8gdGhpcyBjaGVjayBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8gZGlmZXJhbmNpYXRlIGJldHdlZW4gZGVmYXVsdCBhbmQgYXV0aG91ciBkZWZpbmVkIG5vdGVcbiAgICAvLyBhbmQgb25seSBjaGFuZ2UgYmV0d2VlbiBsYW5ndWFnZXMgZm9yIGRlZmF1bHQgb25lc1xuICAgIGlmIChcbiAgICAgIG5vdGUgJiZcbiAgICAgIGxhbmd1YWdlICYmXG4gICAgICBsYW5ndWFnZSAhPT0gbmV4dFByb3BzLmxhbmd1YWdlICYmXG4gICAgICBub3RlID09PSB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpjb21tb25Db3JyZWN0QW5zd2VyV2l0aEFsdGVybmF0ZXMnLCB7IGxuZzogbGFuZ3VhZ2UgfSlcbiAgICApIHtcbiAgICAgIG5vdGUgPSB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpjb21tb25Db3JyZWN0QW5zd2VyV2l0aEFsdGVybmF0ZXMnLCB7IGxuZzogbmV4dFByb3BzLmxhbmd1YWdlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVNob3dDb3JyZWN0ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdEFuc3dlcjogIXRoaXMuc3RhdGUuc2hvd0NvcnJlY3RBbnN3ZXIgfSk7XG4gIH07XG5cbiAgY2hhbmdlU2Vzc2lvbiA9IHRoaXMuZ2V0Q2hhbmdlU2Vzc2lvbih0aGlzLnByb3BzLm1heExlbmd0aFBlckNob2ljZSk7XG5cbiAgb25DaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICB0aGlzLmNoYW5nZVNlc3Npb24odmFsdWUpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHNob3dDb3JyZWN0QW5zd2VyIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHtcbiAgICAgIGFsd2F5c1Nob3dDb3JyZWN0LFxuICAgICAgYW5pbWF0aW9uc0Rpc2FibGVkLFxuICAgICAgY2xhc3NlcyxcbiAgICAgIG1vZGUsXG4gICAgICBkaXNwbGF5VHlwZSxcbiAgICAgIHJvbGUsXG4gICAgICBsYW5ndWFnZSxcbiAgICAgIG1heExlbmd0aFBlckNob2ljZSxcbiAgICAgIG1heExlbmd0aFBlckNob2ljZUVuYWJsZWQsXG4gICAgICBub3RlLFxuICAgICAgcGxheWVyU3BlbGxDaGVja0VuYWJsZWQsXG4gICAgICBwcm9tcHQsXG4gICAgICByYXRpb25hbGUsXG4gICAgICBzaG93Tm90ZSxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgICByZXNwb25zZUFyZWFJbnB1dENvbmZpZ3VyYXRpb24sXG4gICAgICBtb2RlbCxcbiAgICAgIHZhbHVlLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBleHRyYUNTU1J1bGVzIH0gPSBtb2RlbCB8fCB7fTtcbiAgICBjb25zdCBkaXNwbGF5Tm90ZSA9IChzaG93Q29ycmVjdEFuc3dlciB8fCAobW9kZSA9PT0gJ3ZpZXcnICYmIHJvbGUgPT09ICdpbnN0cnVjdG9yJykpICYmIHNob3dOb3RlICYmIG5vdGU7XG4gICAgY29uc3QgbWFpbkNsYXNzZXMgPSBjbGFzc05hbWVzKFtcbiAgICAgIGNsYXNzZXMubWFpbkNvbnRhaW5lcixcbiAgICAgIHtcbiAgICAgICAgW2NsYXNzZXMubm9Cb3JkZXJDb2xvcl06IGFsd2F5c1Nob3dDb3JyZWN0LFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRlYWNoZXJJbnN0cnVjdGlvbnNEaXYgPSAoXG4gICAgICA8UHJldmlld1Byb21wdCBkZWZhdWx0Q2xhc3NOYW1lPVwidGVhY2hlci1pbnN0cnVjdGlvbnNcIiBwcm9tcHQ9e3RlYWNoZXJJbnN0cnVjdGlvbnN9IC8+XG4gICAgKTtcblxuICAgIGNvbnN0IHJhdGlvbmFsZURpdiA9IDxQcmV2aWV3UHJvbXB0IHByb21wdD17cmF0aW9uYWxlfSAvPjtcblxuICAgIGNvbnN0IHNob3dSYXRpb25hbGUgPSByYXRpb25hbGUgJiYgKGhhc1RleHQocmF0aW9uYWxlKSB8fCBoYXNNZWRpYShyYXRpb25hbGUpKTtcbiAgICBjb25zdCBzaG93VGVhY2hlckluc3RydWN0aW9ucyA9XG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zICYmIChoYXNUZXh0KHRlYWNoZXJJbnN0cnVjdGlvbnMpIHx8IGhhc01lZGlhKHRlYWNoZXJJbnN0cnVjdGlvbnMpKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8VWlMYXlvdXQgZXh0cmFDU1NSdWxlcz17ZXh0cmFDU1NSdWxlc30gY2xhc3NOYW1lPXttYWluQ2xhc3Nlc30gc3R5bGU9e3sgZGlzcGxheTogYCR7ZGlzcGxheVR5cGV9YCB9fT5cbiAgICAgICAge21vZGUgPT09ICdnYXRoZXInICYmIDxoMiBjbGFzc05hbWU9e2NsYXNzZXMuc3JPbmx5fT5GaWxsIGluIHRoZSBCbGFuayBRdWVzdGlvbjwvaDI+fVxuXG4gICAgICAgIHtzaG93VGVhY2hlckluc3RydWN0aW9ucyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY29sbGFwc2libGV9PlxuICAgICAgICAgICAgeyFhbmltYXRpb25zRGlzYWJsZWQgPyAoXG4gICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBsYWJlbHM9e3sgaGlkZGVuOiAnU2hvdyBUZWFjaGVyIEluc3RydWN0aW9ucycsIHZpc2libGU6ICdIaWRlIFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyB9fT5cbiAgICAgICAgICAgICAgICB7dGVhY2hlckluc3RydWN0aW9uc0Rpdn1cbiAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnNEaXZcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG5cbiAgICAgICAge3Byb21wdCAmJiA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3Byb21wdH0gLz59XG5cbiAgICAgICAgeyFhbHdheXNTaG93Q29ycmVjdCAmJiAoXG4gICAgICAgICAgPENvcnJlY3RBbnN3ZXJUb2dnbGVcbiAgICAgICAgICAgIHNob3c9e21vZGUgPT09ICdldmFsdWF0ZSd9XG4gICAgICAgICAgICB0b2dnbGVkPXtzaG93Q29ycmVjdEFuc3dlcn1cbiAgICAgICAgICAgIG9uVG9nZ2xlPXt0aGlzLnRvZ2dsZVNob3dDb3JyZWN0fVxuICAgICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPENvbnN0cnVjdGVkUmVzcG9uc2VcbiAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICBzaG93Q29ycmVjdEFuc3dlcj17c2hvd0NvcnJlY3RBbnN3ZXJ9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIG1heExlbmd0aD17bWF4TGVuZ3RoUGVyQ2hvaWNlfVxuICAgICAgICAgIGFkanVzdGVkTGltaXQ9e21heExlbmd0aFBlckNob2ljZUVuYWJsZWR9XG4gICAgICAgICAgc3BlbGxDaGVjaz17cGxheWVyU3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgcGx1Z2luUHJvcHM9e3Jlc3BvbnNlQXJlYUlucHV0Q29uZmlndXJhdGlvbn1cbiAgICAgICAgLz5cblxuICAgICAgICB7ZGlzcGxheU5vdGUgJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5ub3RlLCAnbm90ZScpfSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IG5vdGUgfX0gLz59XG5cbiAgICAgICAge3Nob3dSYXRpb25hbGUgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbGxhcHNpYmxlfT5cbiAgICAgICAgICAgIHshYW5pbWF0aW9uc0Rpc2FibGVkID8gKFxuICAgICAgICAgICAgICA8Q29sbGFwc2libGUgbGFiZWxzPXt7IGhpZGRlbjogJ1Nob3cgUmF0aW9uYWxlJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlJyB9fT57cmF0aW9uYWxlRGl2fTwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICByYXRpb25hbGVEaXZcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L1VpTGF5b3V0PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICBtYWluQ29udGFpbmVyOiB7XG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgfSxcbiAgaW5saW5lRGlzcGxheToge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICB9LFxuICBibG9ja0Rpc3BsYXk6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICB9LFxuICBub3RlOiB7XG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICB9LFxuICBjb2xsYXBzaWJsZToge1xuICAgIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgfSxcbiAgbm9Cb3JkZXJDb2xvcjoge1xuICAgICcmIConOiB7XG4gICAgICBib3JkZXJDb2xvcjogYCR7Y29sb3IudGV4dCgpfSAhaW1wb3J0YW50YCxcbiAgICB9LFxuICB9LFxuICBzck9ubHk6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBsZWZ0OiAnLTEwMDAwcHgnLFxuICAgIHRvcDogJ2F1dG8nLFxuICAgIHdpZHRoOiAnMXB4JyxcbiAgICBoZWlnaHQ6ICcxcHgnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoTWFpbik7XG4iXX0=
281
+ //# sourceMappingURL=main.js.map
package/lib/print.js CHANGED
@@ -112,4 +112,4 @@ var ExplicitConstructedResponsePrint = /*#__PURE__*/function (_HTMLElement) {
112
112
  }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
113
113
 
114
114
  exports["default"] = ExplicitConstructedResponsePrint;
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmludC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJwcmVwYXJlUHJpbnRNb2RlbCIsIm1vZGVsIiwib3B0cyIsImlzSW5zdHJ1Y3RvciIsInJvbGUiLCJwcm9tcHQiLCJwcm9tcHRFbmFibGVkIiwidW5kZWZpbmVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwicmF0aW9uYWxlIiwicmF0aW9uYWxlRW5hYmxlZCIsImFsd2F5c1Nob3dDb3JyZWN0IiwibW9kZSIsImRpc2FibGVkIiwiYW5pbWF0aW9uc0Rpc2FibGVkIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlUHJpbnQiLCJfb3B0aW9ucyIsIl9tb2RlbCIsIl9zZXNzaW9uIiwiX3JlcmVuZGVyIiwicHJpbnRNb2RlbCIsImVsZW1lbnQiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJNYWluIiwib25DaGFuZ2UiLCJSZWFjdERPTSIsInJlbmRlciIsImxlYWRpbmciLCJ0cmFpbGluZyIsIm8iLCJzIiwiSFRNTEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxpREFBTixDQUFaOztBQUVBLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsS0FBRCxFQUFRQyxJQUFSLEVBQWlCO0FBQ3pDLE1BQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxJQUFMLEtBQWMsWUFBbkM7QUFFQUgsRUFBQUEsS0FBSyxDQUFDSSxNQUFOLEdBQWVKLEtBQUssQ0FBQ0ssYUFBTixLQUF3QixLQUF4QixHQUFnQ0wsS0FBSyxDQUFDSSxNQUF0QyxHQUErQ0UsU0FBOUQ7QUFDQU4sRUFBQUEsS0FBSyxDQUFDTyxtQkFBTixHQUNFTCxZQUFZLElBQUlGLEtBQUssQ0FBQ1EsMEJBQU4sS0FBcUMsS0FBckQsR0FBNkRSLEtBQUssQ0FBQ08sbUJBQW5FLEdBQXlGRCxTQUQzRjtBQUVBTixFQUFBQSxLQUFLLENBQUNTLFNBQU4sR0FBa0JQLFlBQVksSUFBSUYsS0FBSyxDQUFDVSxnQkFBTixLQUEyQixLQUEzQyxHQUFtRFYsS0FBSyxDQUFDUyxTQUF6RCxHQUFxRUgsU0FBdkY7QUFDQU4sRUFBQUEsS0FBSyxDQUFDVyxpQkFBTixHQUEwQlQsWUFBMUI7QUFDQUYsRUFBQUEsS0FBSyxDQUFDWSxJQUFOLEdBQWFWLFlBQVksR0FBRyxVQUFILEdBQWdCRixLQUFLLENBQUNZLElBQS9DO0FBQ0FaLEVBQUFBLEtBQUssQ0FBQ2EsUUFBTixHQUFpQixJQUFqQjtBQUNBYixFQUFBQSxLQUFLLENBQUNjLGtCQUFOLEdBQTJCLElBQTNCO0FBRUEsU0FBT2QsS0FBUDtBQUNELENBYkQ7O0lBZXFCZSxnQzs7Ozs7QUFDbkIsOENBQWM7QUFBQTs7QUFBQTtBQUNaO0FBQ0EsVUFBS0MsUUFBTCxHQUFnQixJQUFoQjtBQUNBLFVBQUtDLE1BQUwsR0FBYyxJQUFkO0FBQ0EsVUFBS0MsUUFBTCxHQUFnQixFQUFoQjtBQUVBLFVBQUtDLFNBQUwsR0FBaUIsMEJBQ2YsWUFBTTtBQUNKLFVBQUksTUFBS0YsTUFBTCxJQUFlLE1BQUtDLFFBQXhCLEVBQWtDO0FBQ2hDLFlBQU1FLFVBQVUsR0FBR3JCLGlCQUFpQixDQUFDLE1BQUtrQixNQUFOLEVBQWMsTUFBS0QsUUFBbkIsQ0FBcEM7O0FBRUEsWUFBTUssT0FBTyxHQUNYLE1BQUtMLFFBQUwsaUJBQ0FNLGtCQUFNQyxhQUFOLENBQW9CQyxnQkFBcEIsa0NBQ0tKLFVBREw7QUFFRUssVUFBQUEsUUFBUSxFQUFFLG9CQUFNLENBQUU7QUFGcEIsV0FGRjs7QUFPQUMsNkJBQVNDLE1BQVQsQ0FBZ0JOLE9BQWhCLGtEQUErQixZQUFNO0FBQ25DdkIsVUFBQUEsR0FBRyxDQUFDLCtCQUFELENBQUg7QUFDQTtBQUNELFNBSEQ7QUFJRCxPQWRELE1BY087QUFDTEEsUUFBQUEsR0FBRyxDQUFDLE1BQUQsQ0FBSDtBQUNEO0FBQ0YsS0FuQmMsRUFvQmYsRUFwQmUsRUFxQmY7QUFBRThCLE1BQUFBLE9BQU8sRUFBRSxLQUFYO0FBQWtCQyxNQUFBQSxRQUFRLEVBQUU7QUFBNUIsS0FyQmUsQ0FBakI7QUFOWTtBQTZCYjs7OztTQUVELGFBQVlDLENBQVosRUFBZTtBQUNiLFdBQUtkLFFBQUwsR0FBZ0JjLENBQWhCO0FBQ0Q7OztTQUVELGFBQVVDLENBQVYsRUFBYTtBQUNYLFdBQUtkLE1BQUwsR0FBY2MsQ0FBZDs7QUFDQSxXQUFLWixTQUFMO0FBQ0Q7OztXQUVELDZCQUFvQixDQUFFOzs7a0RBekNzQ2EsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IE1haW4gZnJvbSAnLi9tYWluJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygncGllLWVsZW1lbnQ6ZXhwbGljaXQtY29uc3RydWN0ZWQtcmVzcG9uc2U6cHJpbnQnKTtcblxuY29uc3QgcHJlcGFyZVByaW50TW9kZWwgPSAobW9kZWwsIG9wdHMpID0+IHtcbiAgY29uc3QgaXNJbnN0cnVjdG9yID0gb3B0cy5yb2xlID09PSAnaW5zdHJ1Y3Rvcic7XG5cbiAgbW9kZWwucHJvbXB0ID0gbW9kZWwucHJvbXB0RW5hYmxlZCAhPT0gZmFsc2UgPyBtb2RlbC5wcm9tcHQgOiB1bmRlZmluZWQ7XG4gIG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgPVxuICAgIGlzSW5zdHJ1Y3RvciAmJiBtb2RlbC50ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCAhPT0gZmFsc2UgPyBtb2RlbC50ZWFjaGVySW5zdHJ1Y3Rpb25zIDogdW5kZWZpbmVkO1xuICBtb2RlbC5yYXRpb25hbGUgPSBpc0luc3RydWN0b3IgJiYgbW9kZWwucmF0aW9uYWxlRW5hYmxlZCAhPT0gZmFsc2UgPyBtb2RlbC5yYXRpb25hbGUgOiB1bmRlZmluZWQ7XG4gIG1vZGVsLmFsd2F5c1Nob3dDb3JyZWN0ID0gaXNJbnN0cnVjdG9yO1xuICBtb2RlbC5tb2RlID0gaXNJbnN0cnVjdG9yID8gJ2V2YWx1YXRlJyA6IG1vZGVsLm1vZGU7XG4gIG1vZGVsLmRpc2FibGVkID0gdHJ1ZTtcbiAgbW9kZWwuYW5pbWF0aW9uc0Rpc2FibGVkID0gdHJ1ZTtcblxuICByZXR1cm4gbW9kZWw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VQcmludCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9vcHRpb25zID0gbnVsbDtcbiAgICB0aGlzLl9tb2RlbCA9IG51bGw7XG4gICAgdGhpcy5fc2Vzc2lvbiA9IFtdO1xuXG4gICAgdGhpcy5fcmVyZW5kZXIgPSBkZWJvdW5jZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsICYmIHRoaXMuX3Nlc3Npb24pIHtcbiAgICAgICAgICBjb25zdCBwcmludE1vZGVsID0gcHJlcGFyZVByaW50TW9kZWwodGhpcy5fbW9kZWwsIHRoaXMuX29wdGlvbnMpO1xuXG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zICYmXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgICAgICAgLi4ucHJpbnRNb2RlbCxcbiAgICAgICAgICAgICAgb25DaGFuZ2U6ICgpID0+IHt9LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoZWxlbWVudCwgdGhpcywgKCkgPT4ge1xuICAgICAgICAgICAgbG9nKCdyZW5kZXIgY29tcGxldGUgLSByZW5kZXIgbWF0aCcpO1xuICAgICAgICAgICAgcmVuZGVyTWF0aCh0aGlzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coJ3NraXAnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIDUwLFxuICAgICAgeyBsZWFkaW5nOiBmYWxzZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgICApO1xuICB9XG5cbiAgc2V0IG9wdGlvbnMobykge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvO1xuICB9XG5cbiAgc2V0IG1vZGVsKHMpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHM7XG4gICAgdGhpcy5fcmVyZW5kZXIoKTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge31cbn1cbiJdfQ==
115
+ //# sourceMappingURL=print.js.map
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "9.3.2-tip-tap.8",
7
+ "version": "9.3.2-tip-tap.9",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "postpublish": "../../scripts/postpublish"
@@ -13,7 +13,7 @@
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
15
  "@pie-lib/correct-answer-toggle": "^2.25.1",
16
- "@pie-lib/mask-markup": "1.33.2-beta-15",
16
+ "@pie-lib/mask-markup": "1.33.2-beta-17",
17
17
  "@pie-lib/math-rendering": "^3.22.1",
18
18
  "@pie-lib/math-toolbar": "1.31.2-beta.3",
19
19
  "@pie-lib/render-ui": "^4.35.1",