@pie-element/categorize 12.0.0-beta.0 → 12.0.0-beta.1

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.
Files changed (72) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/__tests__/main.test.js +100 -0
  4. package/configure/lib/__tests__/utils.js +39 -0
  5. package/configure/lib/defaults.js +1 -1
  6. package/configure/lib/design/__tests__/builder.test.js +34 -0
  7. package/configure/lib/design/__tests__/buttons.test.js +36 -0
  8. package/configure/lib/design/__tests__/header.test.js +37 -0
  9. package/configure/lib/design/__tests__/index.test.js +125 -0
  10. package/configure/lib/design/__tests__/input-header.test.js +41 -0
  11. package/configure/lib/design/builder.js +1 -1
  12. package/configure/lib/design/buttons.js +1 -1
  13. package/configure/lib/design/categories/RowLabel.js +3 -3
  14. package/configure/lib/design/categories/RowLabel.js.map +1 -1
  15. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
  16. package/configure/lib/design/categories/__tests__/category.test.js +65 -0
  17. package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
  18. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
  19. package/configure/lib/design/categories/__tests__/index.test.js +91 -0
  20. package/configure/lib/design/categories/alternateResponses.js +1 -1
  21. package/configure/lib/design/categories/category.js +1 -1
  22. package/configure/lib/design/categories/choice-preview.js +1 -1
  23. package/configure/lib/design/categories/droppable-placeholder.js +1 -1
  24. package/configure/lib/design/categories/index.js +1 -1
  25. package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
  26. package/configure/lib/design/choices/__tests__/config.test.js +66 -0
  27. package/configure/lib/design/choices/__tests__/index.test.js +70 -0
  28. package/configure/lib/design/choices/choice.js +1 -1
  29. package/configure/lib/design/choices/config.js +1 -1
  30. package/configure/lib/design/choices/index.js +1 -1
  31. package/configure/lib/design/header.js +1 -1
  32. package/configure/lib/design/index.js +5 -5
  33. package/configure/lib/design/index.js.map +1 -1
  34. package/configure/lib/design/input-header.js +3 -3
  35. package/configure/lib/design/input-header.js.map +1 -1
  36. package/configure/lib/design/utils.js +1 -1
  37. package/configure/lib/index.js +1 -1
  38. package/configure/lib/main.js +1 -1
  39. package/configure/lib/utils.js +1 -1
  40. package/configure/package.json +9 -9
  41. package/controller/CHANGELOG.md +0 -11
  42. package/controller/lib/__tests__/index.test.js +526 -0
  43. package/controller/lib/defaults.js +1 -1
  44. package/controller/lib/index.js +1 -1
  45. package/controller/lib/utils.js +1 -1
  46. package/controller/package.json +5 -5
  47. package/docs/demo/.pie/.configure/package.json +10 -0
  48. package/docs/demo/.pie/.configure/yarn.lock +2181 -0
  49. package/docs/demo/.pie/.controllers/package.json +10 -0
  50. package/docs/demo/.pie/.controllers/yarn.lock +110 -0
  51. package/docs/demo/.pie/info.entry.js +89 -0
  52. package/docs/demo/.pie/info.webpack.config.js +119 -0
  53. package/docs/demo/.pie/package.json +10 -0
  54. package/docs/demo/.pie/yarn.lock +2190 -0
  55. package/docs/demo/pie.manifest.json +11 -0
  56. package/lib/__tests__/index.test.js +197 -0
  57. package/lib/categorize/__tests__/categories.test.js +138 -0
  58. package/lib/categorize/__tests__/category.test.js +137 -0
  59. package/lib/categorize/__tests__/choice.test.js +88 -0
  60. package/lib/categorize/__tests__/choices.test.js +118 -0
  61. package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
  62. package/lib/categorize/__tests__/grid-content.test.js +48 -0
  63. package/lib/categorize/__tests__/index.test.js +152 -0
  64. package/lib/categorize/categories.js +1 -1
  65. package/lib/categorize/category.js +1 -1
  66. package/lib/categorize/choice.js +1 -1
  67. package/lib/categorize/choices.js +1 -1
  68. package/lib/categorize/droppable-placeholder.js +1 -1
  69. package/lib/categorize/grid-content.js +1 -1
  70. package/lib/categorize/index.js +1 -1
  71. package/lib/index.js +1 -1
  72. package/package.json +10 -10
@@ -409,4 +409,4 @@ const StyledCollapsible = (0, _styles.styled)(_renderUi.Collapsible)(({
409
409
  paddingBottom: theme.spacing(2)
410
410
  }));
411
411
  var _default = exports.default = CategorizeProvider;
412
- //# sourceMappingURL=index.js.map
412
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZGVidWciLCJfc3R5bGVzIiwiX2NvcmUiLCJfY29ycmVjdEFuc3dlclRvZ2dsZSIsIl9jYXRlZ29yaXplIiwiX2RyYWciLCJfcmVuZGVyVWkiLCJfbWF0aFJlbmRlcmluZyIsIl90cmFuc2xhdG9yIiwiX2NvbmZpZ1VpIiwiX2Nob2ljZXMiLCJfY2hvaWNlIiwiX2NhdGVnb3JpZXMiLCJ0cmFuc2xhdG9yIiwiVHJhbnNsYXRvciIsImxvZyIsImRlYnVnIiwiRHJhZ1ByZXZpZXdXcmFwcGVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImNyZWF0ZVJlZiIsImNvbXBvbmVudERpZE1vdW50IiwiY29udGFpbmVyUmVmIiwiY3VycmVudCIsInJlbmRlck1hdGgiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwicHJvcHMiLCJjaGlsZHJlbiIsIkNhdGVnb3JpemUiLCJjIiwib25BbnN3ZXJzQ2hhbmdlIiwic2Vzc2lvbiIsImFuc3dlcnMiLCJyZW1vdmVDaG9pY2VGcm9tQ2F0ZWdvcnkiLCJpZCIsImNhdGVnb3J5SWQiLCJjaG9pY2VJbmRleCIsImRyYWdnZWRDaG9pY2UiLCJtb2RlbCIsIm1heENob2ljZXNQZXJDYXRlZ29yeSIsIm5ld0Fuc3dlcnMiLCJ1bmRlZmluZWQiLCJhbnN3ZXIiLCJmaW5kIiwiY2F0ZWdvcnkiLCJjaG9pY2VzIiwibGVuZ3RoIiwibW92ZUNob2ljZVRvQ2F0ZWdvcnkiLCJzZXRTdGF0ZSIsInNob3dNYXhDaG9pY2VBbGVydCIsInJlbW92ZUNob2ljZSIsInNob3dDb3JyZWN0Iiwic3RhdGUiLCJvblNob3dDb3JyZWN0VG9nZ2xlIiwiY2hvaWNlUG9zaXRpb24iLCJmbGV4RGlyZWN0aW9uIiwiY29ycmVjdFJlc3BvbnNlIiwic29tZSIsImNvcnJlY3RSZXMiLCJhbHRlcm5hdGVSZXNwb25zZXMiLCJVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHRQcm9wcyIsIm5leHRNb2RlbCIsIm5vdGUiLCJsYW5ndWFnZSIsInQiLCJsbmciLCJjaG9pY2VzUG9zaXRpb24iLCJleHRyYUNTU1J1bGVzIiwic2hvd05vdGUiLCJlbnYiLCJhdXRvcGxheUF1ZGlvRW5hYmxlZCIsImN1c3RvbUF1ZGlvQnV0dG9uIiwibW9kZSIsInJvbGUiLCJzdHlsZSIsImdldFBvc2l0aW9uRGlyZWN0aW9uIiwiZ2FwIiwiY2F0ZWdvcmllcyIsImNvcnJlY3QiLCJidWlsZFN0YXRlIiwiZGlzYWJsZWQiLCJyb3dMYWJlbHMiLCJjYXRlZ29yaWVzUGVyUm93IiwiZm9udFNpemVGYWN0b3IiLCJuYk9mUm93cyIsIk1hdGgiLCJjZWlsIiwiZXhpc3RBbHRlcm5hdGUiLCJleGlzdEFsdGVybmF0ZVJlc3BvbnNlIiwiZGlzcGxheU5vdGUiLCJhbGVydE1lc3NhZ2UiLCJhbGVydFRpdGxlIiwib25DbG9zZVRleHQiLCJzaG93UmF0aW9uYWxlIiwicmF0aW9uYWxlIiwiaGFzVGV4dCIsImhhc01lZGlhIiwic2hvd1RlYWNoZXJJbnN0cnVjdGlvbnMiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiU3R5bGVkVWlMYXlvdXQiLCJGcmFnbWVudCIsIlN0eWxlZENvbGxhcHNpYmxlIiwibGFiZWxzIiwiaGlkZGVuIiwidmlzaWJsZSIsIlByZXZpZXdQcm9tcHQiLCJwcm9tcHQiLCJzaG93IiwidG9nZ2xlZCIsIm9uVG9nZ2xlIiwidG9nZ2xlU2hvd0NvcnJlY3QiLCJTdHlsZWRDYXRlZ29yaXplIiwiZGlzcGxheSIsImZsZXgiLCJvbkRyb3BDaG9pY2UiLCJkcm9wQ2hvaWNlIiwib25SZW1vdmVDaG9pY2UiLCJzbGljZSIsIlN0eWxlZE5vdGUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNvcnJlY3RuZXNzIiwiZmVlZGJhY2siLCJGZWVkYmFjayIsIkFsZXJ0RGlhbG9nIiwidGl0bGUiLCJ0ZXh0Iiwib3BlbiIsIm9uQ2xvc2UiLCJleHBvcnRzIiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic2hhcGUiLCJhcnJheU9mIiwiY2hvaWNlIiwic3RyaW5nIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJwYXVzZU1hdGhPYnNlcnZlciIsInJlc3VtZU1hdGhPYnNlcnZlciIsIkNhdGVnb3JpemVQcm92aWRlciIsImV2ZW50IiwiYWN0aXZlIiwiZGF0YSIsImFjdGl2ZURyYWdJdGVtIiwib3ZlciIsImRyYWdnZWRJdGVtIiwidHlwZSIsImNob2ljZURhdGEiLCJ2YWx1ZSIsIml0ZW1UeXBlIiwiY2F0ZWdvcml6ZVJlZiIsIl9leHRlbmRzMiIsImtleSIsInVpZCIsImdlbmVyYXRlSWQiLCJEcmFnUHJvdmlkZXIiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ0VuZCIsIlByb3ZpZGVyIiwiRHJhZ092ZXJsYXkiLCJyZW5kZXJEcmFnT3ZlcmxheSIsInN0eWxlZCIsIlVpTGF5b3V0IiwiY29sb3IiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicG9zaXRpb24iLCJ0aGVtZSIsIm1hcmdpbkJvdHRvbSIsInNwYWNpbmciLCJDb2xsYXBzaWJsZSIsInBhZGRpbmdCb3R0b20iLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYXRlZ29yaXplL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgeyBEcmFnT3ZlcmxheSB9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCB7IGJ1aWxkU3RhdGUsIHJlbW92ZUNob2ljZUZyb21DYXRlZ29yeSwgbW92ZUNob2ljZVRvQ2F0ZWdvcnkgfSBmcm9tICdAcGllLWxpYi9jYXRlZ29yaXplJztcbmltcG9ydCB7IERyYWdQcm92aWRlciwgdWlkIH0gZnJvbSAnQHBpZS1saWIvZHJhZyc7XG5pbXBvcnQgeyBjb2xvciwgRmVlZGJhY2ssIENvbGxhcHNpYmxlLCBoYXNUZXh0LCBoYXNNZWRpYSwgUHJldmlld1Byb21wdCwgVWlMYXlvdXQgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuaW1wb3J0IHsgQWxlcnREaWFsb2cgfSBmcm9tICdAcGllLWxpYi9jb25maWctdWknO1xuaW1wb3J0IENob2ljZXMgZnJvbSAnLi9jaG9pY2VzJztcbmltcG9ydCBDaG9pY2UgZnJvbSAnLi9jaG9pY2UnO1xuaW1wb3J0IENhdGVnb3JpZXMgZnJvbSAnLi9jYXRlZ29yaWVzJztcblxuY29uc3QgeyB0cmFuc2xhdG9yIH0gPSBUcmFuc2xhdG9yO1xuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtdWk6Y2F0ZWdvcml6ZScpO1xuXG5jbGFzcyBEcmFnUHJldmlld1dyYXBwZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb250YWluZXJSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBpZiAodGhpcy5jb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgcmVuZGVyTWF0aCh0aGlzLmNvbnRhaW5lclJlZi5jdXJyZW50KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIDxkaXYgcmVmPXt0aGlzLmNvbnRhaW5lclJlZn0+e3RoaXMucHJvcHMuY2hpbGRyZW59PC9kaXY+O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yaXplIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzZXNzaW9uOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYW5zd2VyczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgICAgY2hvaWNlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICAgIGNhdGVnb3J5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgfSksXG4gICAgb25BbnN3ZXJzQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uU2hvd0NvcnJlY3RUb2dnbGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGF1c2VNYXRoT2JzZXJ2ZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIHJlc3VtZU1hdGhPYnNlcnZlcjogUHJvcFR5cGVzLmZ1bmMsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgc2hvd01heENob2ljZUFsZXJ0OiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgcmVtb3ZlQ2hvaWNlID0gKGMpID0+IHtcbiAgICBsb2coJ1tyZW1vdmVDaG9pY2VdOiAnLCBjKTtcbiAgICBjb25zdCB7IG9uQW5zd2Vyc0NoYW5nZSwgc2Vzc2lvbiB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhbnN3ZXJzID0gcmVtb3ZlQ2hvaWNlRnJvbUNhdGVnb3J5KGMuaWQsIGMuY2F0ZWdvcnlJZCwgYy5jaG9pY2VJbmRleCwgc2Vzc2lvbi5hbnN3ZXJzKTtcbiAgICBvbkFuc3dlcnNDaGFuZ2UoYW5zd2Vycyk7XG4gIH07XG5cbiAgZHJvcENob2ljZSA9IChjYXRlZ29yeUlkLCBkcmFnZ2VkQ2hvaWNlKSA9PiB7XG4gICAgY29uc3QgeyBzZXNzaW9uLCBvbkFuc3dlcnNDaGFuZ2UsIG1vZGVsIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbWF4Q2hvaWNlc1BlckNhdGVnb3J5ID0gMCB9ID0gbW9kZWwgfHwge307XG4gICAgY29uc3QgeyBhbnN3ZXJzID0gW10gfSA9IHNlc3Npb24gfHwge307XG4gICAgbGV0IG5ld0Fuc3dlcnM7XG4gICAgaWYgKGRyYWdnZWRDaG9pY2UpIHtcbiAgICAgIGxvZygnW2Ryb3BDaG9pY2VdIGNhdGVnb3J5OiAnLCBkcmFnZ2VkQ2hvaWNlLmNhdGVnb3J5SWQsICdjaG9pY2U6ICcsIGRyYWdnZWRDaG9pY2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2coJ1tkcm9wQ2hvaWNlXSBjYXRlZ29yeTogJywgdW5kZWZpbmVkLCAnY2hvaWNlOiAnLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IGFuc3dlciA9IGFuc3dlcnMuZmluZCgoYW5zd2VyKSA9PiBhbnN3ZXIuY2F0ZWdvcnkgPT09IGNhdGVnb3J5SWQpO1xuXG4gICAgLy8gdHJlYXQgc3BlY2lhbCBjYXNlIHRvIHJlcGxhY2UgdGhlIGV4aXN0aW5nIGNob2ljZSB3aXRoIHRoZSBuZXcgb25lIHdoZW4gbWF4Q2hvaWNlc1BlckNhdGVnb3J5ID0gMVxuICAgIGlmIChkcmFnZ2VkQ2hvaWNlICYmIG1heENob2ljZXNQZXJDYXRlZ29yeSA9PT0gMSAmJiBhbnN3ZXIgJiYgYW5zd2VyLmNob2ljZXMgJiYgYW5zd2VyLmNob2ljZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAvLyBGaXJzdCwgbW92ZSB0aGUgZHJhZ2dlZCBjaG9pY2UgdG8gdGhlIHRhcmdldCBjYXRlZ29yeSAodGhpcyB3aWxsIGFsc28gcmVtb3ZlIGl0IGZyb20gc291cmNlIGlmIGFsbG93TXVsdGlwbGVQbGFjZW1lbnRzIGlzIGRpc2FibGVkKVxuICAgICAgbmV3QW5zd2VycyA9IG1vdmVDaG9pY2VUb0NhdGVnb3J5KFxuICAgICAgICBkcmFnZ2VkQ2hvaWNlLmlkLFxuICAgICAgICBkcmFnZ2VkQ2hvaWNlLmNhdGVnb3J5SWQsXG4gICAgICAgIGNhdGVnb3J5SWQsXG4gICAgICAgIGRyYWdnZWRDaG9pY2UuY2hvaWNlSW5kZXgsXG4gICAgICAgIGFuc3dlcnMsXG4gICAgICApO1xuICAgICAgLy8gVGhlbiwgcmVtb3ZlIHRoZSBleGlzdGluZyBjaG9pY2UgZnJvbSB0aGUgdGFyZ2V0IGNhdGVnb3J5ICh1c2UgbmV3QW5zd2Vycywgbm90IGFuc3dlcnMpXG4gICAgICBuZXdBbnN3ZXJzID0gcmVtb3ZlQ2hvaWNlRnJvbUNhdGVnb3J5KGFuc3dlci5jaG9pY2VzWzBdLCBjYXRlZ29yeUlkLCAwLCBuZXdBbnN3ZXJzKTtcbiAgICB9XG5cbiAgICAvLyB0cmVhdCBzcGVjaWFsIGNhc2Ugd2hlbiB0aGVyZSBhcmUgYXMgbWFueSBjaG9pY2VzIGFzIG1heENob2ljZXNQZXJDYXRlZ29yeSBpc1xuICAgIGVsc2UgaWYgKFxuICAgICAgZHJhZ2dlZENob2ljZSAmJlxuICAgICAgbWF4Q2hvaWNlc1BlckNhdGVnb3J5ID4gMSAmJlxuICAgICAgYW5zd2VyICYmXG4gICAgICBhbnN3ZXIuY2hvaWNlcyAmJlxuICAgICAgYW5zd2VyLmNob2ljZXMubGVuZ3RoID09PSBtYXhDaG9pY2VzUGVyQ2F0ZWdvcnlcbiAgICApIHtcbiAgICAgIG5ld0Fuc3dlcnMgPSBkcmFnZ2VkQ2hvaWNlLmNhdGVnb3J5SWRcbiAgICAgICAgPyBtb3ZlQ2hvaWNlVG9DYXRlZ29yeShcbiAgICAgICAgICAgIGRyYWdnZWRDaG9pY2UuaWQsXG4gICAgICAgICAgICBkcmFnZ2VkQ2hvaWNlLmNhdGVnb3J5SWQsXG4gICAgICAgICAgICBkcmFnZ2VkQ2hvaWNlLmNhdGVnb3J5SWQsXG4gICAgICAgICAgICBkcmFnZ2VkQ2hvaWNlLmNob2ljZUluZGV4LFxuICAgICAgICAgICAgYW5zd2VycyxcbiAgICAgICAgICApXG4gICAgICAgIDogcmVtb3ZlQ2hvaWNlRnJvbUNhdGVnb3J5KGRyYWdnZWRDaG9pY2UuaWQsIGRyYWdnZWRDaG9pY2UuY2F0ZWdvcnlJZCwgZHJhZ2dlZENob2ljZS5jaG9pY2VJbmRleCwgYW5zd2Vycyk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd01heENob2ljZUFsZXJ0OiB0cnVlIH0pO1xuICAgIH1cblxuICAgIC8vIHRyZWF0IHNwZWNpYWwgY2FzZSB3aGVuIHRoZXJlIGFyZSBtb3JlIGNob2ljZXMgdGhhdCBtYXhDaG9pY2VzUGVyQ2F0ZWdvcnkgaXMgKHRlc3RpbmcgcHVycG9zZSBpbiBwaXRzKVxuICAgIGVsc2UgaWYgKG1heENob2ljZXNQZXJDYXRlZ29yeSAhPT0gMCAmJiBhbnN3ZXIgJiYgYW5zd2VyLmNob2ljZXMgJiYgYW5zd2VyLmNob2ljZXMubGVuZ3RoID4gbWF4Q2hvaWNlc1BlckNhdGVnb3J5KSB7XG4gICAgICBuZXdBbnN3ZXJzID0gYW5zd2VycztcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93TWF4Q2hvaWNlQWxlcnQ6IHRydWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0Fuc3dlcnMgPSBkcmFnZ2VkQ2hvaWNlXG4gICAgICAgID8gbW92ZUNob2ljZVRvQ2F0ZWdvcnkoXG4gICAgICAgICAgICBkcmFnZ2VkQ2hvaWNlLmlkLFxuICAgICAgICAgICAgZHJhZ2dlZENob2ljZS5jYXRlZ29yeUlkLFxuICAgICAgICAgICAgY2F0ZWdvcnlJZCxcbiAgICAgICAgICAgIGRyYWdnZWRDaG9pY2UuY2hvaWNlSW5kZXgsXG4gICAgICAgICAgICBhbnN3ZXJzLFxuICAgICAgICAgIClcbiAgICAgICAgOiB0aGlzLnJlbW92ZUNob2ljZShjYXRlZ29yeUlkKTtcbiAgICB9XG5cbiAgICBpZiAoZHJhZ2dlZENob2ljZSkge1xuICAgICAgb25BbnN3ZXJzQ2hhbmdlKG5ld0Fuc3dlcnMpO1xuICAgIH1cbiAgfTtcblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgbW9kZWw6IG5leHRNb2RlbCB9ID0gbmV4dFByb3BzO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIG5vdGUgaXMgdGhlIGRlZmF1bHQgb25lIGZvciBwcmV2IGxhbmd1YWdlIGFuZCBjaGFuZ2UgdG8gdGhlIGRlZmF1bHQgb25lIGZvciBuZXcgbGFuZ3VhZ2VcbiAgICAvLyB0aGlzIGNoZWNrIGlzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBkaWZlcmFuY2lhdGUgYmV0d2VlbiBkZWZhdWx0IGFuZCBhdXRob3VyIGRlZmluZWQgbm90ZVxuICAgIC8vIGFuZCBvbmx5IGNoYW5nZSBiZXR3ZWVuIGxhbmd1YWdlcyBmb3IgZGVmYXVsdCBvbmVzXG4gICAgaWYgKFxuICAgICAgbW9kZWwubm90ZSAmJlxuICAgICAgbW9kZWwubGFuZ3VhZ2UgJiZcbiAgICAgIG1vZGVsLmxhbmd1YWdlICE9PSBuZXh0TW9kZWwubGFuZ3VhZ2UgJiZcbiAgICAgIG1vZGVsLm5vdGUgPT09IHRyYW5zbGF0b3IudCgnY29tbW9uOmNvbW1vbkNvcnJlY3RBbnN3ZXJXaXRoQWx0ZXJuYXRlcycsIHsgbG5nOiBtb2RlbC5sYW5ndWFnZSB9KVxuICAgICkge1xuICAgICAgbW9kZWwubm90ZSA9IHRyYW5zbGF0b3IudCgnY29tbW9uOmNvbW1vbkNvcnJlY3RBbnN3ZXJXaXRoQWx0ZXJuYXRlcycsIHsgbG5nOiBuZXh0TW9kZWwubGFuZ3VhZ2UgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiBmYWxzZSB9KTtcbiAgfVxuXG4gIHRvZ2dsZVNob3dDb3JyZWN0ID0gKCkgPT5cbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0IH0sICgpID0+IHtcbiAgICAgIHRoaXMucHJvcHMub25TaG93Q29ycmVjdFRvZ2dsZSgpO1xuICAgIH0pO1xuXG4gIGdldFBvc2l0aW9uRGlyZWN0aW9uID0gKGNob2ljZVBvc2l0aW9uKSA9PiB7XG4gICAgbGV0IGZsZXhEaXJlY3Rpb247XG5cbiAgICBzd2l0Y2ggKGNob2ljZVBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdyb3ctcmV2ZXJzZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ3Jvdyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVsb3cnOlxuICAgICAgICBmbGV4RGlyZWN0aW9uID0gJ2NvbHVtbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gYWJvdmVcbiAgICAgICAgZmxleERpcmVjdGlvbiA9ICdjb2x1bW4tcmV2ZXJzZSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBmbGV4RGlyZWN0aW9uO1xuICB9O1xuXG4gIGV4aXN0QWx0ZXJuYXRlUmVzcG9uc2UgPSAoY29ycmVjdFJlc3BvbnNlKSA9PlxuICAgIGNvcnJlY3RSZXNwb25zZT8uc29tZSgoY29ycmVjdFJlcykgPT4gY29ycmVjdFJlcy5hbHRlcm5hdGVSZXNwb25zZXM/Lmxlbmd0aCA+IDApO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG1vZGVsLCBzZXNzaW9uIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2hvd0NvcnJlY3QsIHNob3dNYXhDaG9pY2VBbGVydCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7XG4gICAgICBjaG9pY2VzUG9zaXRpb24sXG4gICAgICBleHRyYUNTU1J1bGVzLFxuICAgICAgbm90ZSxcbiAgICAgIHNob3dOb3RlLFxuICAgICAgZW52LFxuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBtYXhDaG9pY2VzUGVyQ2F0ZWdvcnksXG4gICAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZCxcbiAgICAgIGN1c3RvbUF1ZGlvQnV0dG9uLFxuICAgIH0gPSBtb2RlbDtcbiAgICBjb25zdCB7IG1vZGUsIHJvbGUgfSA9IGVudiB8fCB7fTtcbiAgICBjb25zdCBjaG9pY2VQb3NpdGlvbiA9IGNob2ljZXNQb3NpdGlvbiB8fCAnYWJvdmUnO1xuXG4gICAgY29uc3Qgc3R5bGUgPSB7XG4gICAgICBmbGV4RGlyZWN0aW9uOiB0aGlzLmdldFBvc2l0aW9uRGlyZWN0aW9uKGNob2ljZVBvc2l0aW9uKSxcbiAgICAgIGdhcDogJzhweCcsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgY2F0ZWdvcmllcywgY2hvaWNlcywgY29ycmVjdCB9ID0gYnVpbGRTdGF0ZShcbiAgICAgIG1vZGVsLmNhdGVnb3JpZXMsXG4gICAgICBtb2RlbC5jaG9pY2VzLFxuICAgICAgc2hvd0NvcnJlY3QgPyBtb2RlbC5jb3JyZWN0UmVzcG9uc2UgOiBzZXNzaW9uLmFuc3dlcnMsXG4gICAgICBtb2RlbC5jb3JyZWN0UmVzcG9uc2UsXG4gICAgKTtcblxuICAgIGxvZygnW3JlbmRlcl0gZGlzYWJsZWQ6ICcsIG1vZGVsLmRpc2FibGVkKTtcblxuICAgIGNvbnN0IHsgcm93TGFiZWxzLCBjYXRlZ29yaWVzUGVyUm93LCBjb3JyZWN0UmVzcG9uc2UsIGZvbnRTaXplRmFjdG9yIH0gPSBtb2RlbDtcbiAgICBjb25zdCBuYk9mUm93cyA9IChjYXRlZ29yaWVzICYmIE1hdGguY2VpbChjYXRlZ29yaWVzLmxlbmd0aCAvIGNhdGVnb3JpZXNQZXJSb3cpKSB8fCAwO1xuICAgIGNvbnN0IGV4aXN0QWx0ZXJuYXRlID0gdGhpcy5leGlzdEFsdGVybmF0ZVJlc3BvbnNlKGNvcnJlY3RSZXNwb25zZSkgfHwgZmFsc2U7XG4gICAgY29uc3QgZGlzcGxheU5vdGUgPVxuICAgICAgKHNob3dDb3JyZWN0IHx8IChtb2RlID09PSAndmlldycgJiYgcm9sZSA9PT0gJ2luc3RydWN0b3InKSkgJiYgc2hvd05vdGUgJiYgbm90ZSAmJiBleGlzdEFsdGVybmF0ZTtcbiAgICBjb25zdCBhbGVydE1lc3NhZ2UgPSB0cmFuc2xhdG9yLnQoJ3RyYW5zbGF0aW9uOmNhdGVnb3JpemU6bGltaXRNYXhDaG9pY2VzUGVyQ2F0ZWdvcnknLCB7XG4gICAgICBsbmc6IG1vZGVsLmxhbmd1YWdlLFxuICAgICAgbWF4Q2hvaWNlc1BlckNhdGVnb3J5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgYWxlcnRUaXRsZSA9IHRyYW5zbGF0b3IudCgnY29tbW9uOndhcm5pbmcnLCB7XG4gICAgICBsbmc6IG1vZGVsLmxhbmd1YWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgb25DbG9zZVRleHQgPSB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpjYW5jZWwnLCB7XG4gICAgICBsbmc6IG1vZGVsLmxhbmd1YWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2hvd1JhdGlvbmFsZSA9IG1vZGVsLnJhdGlvbmFsZSAmJiAoaGFzVGV4dChtb2RlbC5yYXRpb25hbGUpIHx8IGhhc01lZGlhKG1vZGVsLnJhdGlvbmFsZSkpO1xuICAgIGNvbnN0IHNob3dUZWFjaGVySW5zdHJ1Y3Rpb25zID1cbiAgICAgIG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgJiYgKGhhc1RleHQobW9kZWwudGVhY2hlckluc3RydWN0aW9ucykgfHwgaGFzTWVkaWEobW9kZWwudGVhY2hlckluc3RydWN0aW9ucykpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRVaUxheW91dCBleHRyYUNTU1J1bGVzPXtleHRyYUNTU1J1bGVzfSBpZD17J21haW4tY29udGFpbmVyJ30gZm9udFNpemVGYWN0b3I9e2ZvbnRTaXplRmFjdG9yfT5cbiAgICAgICAge3Nob3dUZWFjaGVySW5zdHJ1Y3Rpb25zICYmIChcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVcbiAgICAgICAgICAgICAgbGFiZWxzPXt7XG4gICAgICAgICAgICAgICAgaGlkZGVuOiAnU2hvdyBUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e21vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnN9IC8+XG4gICAgICAgICAgICA8L1N0eWxlZENvbGxhcHNpYmxlPlxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICl9XG5cbiAgICAgICAge21vZGVsLnByb21wdCAmJiAoXG4gICAgICAgICAgPFByZXZpZXdQcm9tcHRcbiAgICAgICAgICAgIHByb21wdD17bW9kZWwucHJvbXB0fVxuICAgICAgICAgICAgYXV0b3BsYXlBdWRpb0VuYWJsZWQ9e2F1dG9wbGF5QXVkaW9FbmFibGVkfVxuICAgICAgICAgICAgY3VzdG9tQXVkaW9CdXR0b249e2N1c3RvbUF1ZGlvQnV0dG9ufVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPENvcnJlY3RBbnN3ZXJUb2dnbGVcbiAgICAgICAgICBzaG93PXtzaG93Q29ycmVjdCB8fCBjb3JyZWN0ID09PSBmYWxzZX1cbiAgICAgICAgICB0b2dnbGVkPXtzaG93Q29ycmVjdH1cbiAgICAgICAgICBvblRvZ2dsZT17dGhpcy50b2dnbGVTaG93Q29ycmVjdH1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFN0eWxlZENhdGVnb3JpemUgc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleDogMSB9fT5cbiAgICAgICAgICAgIDxDYXRlZ29yaWVzXG4gICAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e21vZGVsLmRpc2FibGVkfVxuICAgICAgICAgICAgICBjYXRlZ29yaWVzPXtjYXRlZ29yaWVzfVxuICAgICAgICAgICAgICBvbkRyb3BDaG9pY2U9e3RoaXMuZHJvcENob2ljZX1cbiAgICAgICAgICAgICAgb25SZW1vdmVDaG9pY2U9e3RoaXMucmVtb3ZlQ2hvaWNlfVxuICAgICAgICAgICAgICByb3dMYWJlbHM9eyhyb3dMYWJlbHMgfHwgW10pLnNsaWNlKDAsIG5iT2ZSb3dzKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPENob2ljZXNcbiAgICAgICAgICAgIGRpc2FibGVkPXttb2RlbC5kaXNhYmxlZH1cbiAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgIGNob2ljZXM9e2Nob2ljZXN9XG4gICAgICAgICAgICBjaG9pY2VQb3NpdGlvbj17Y2hvaWNlUG9zaXRpb259XG4gICAgICAgICAgICBvbkRyb3BDaG9pY2U9e3RoaXMuZHJvcENob2ljZX1cbiAgICAgICAgICAgIG9uUmVtb3ZlQ2hvaWNlPXt0aGlzLnJlbW92ZUNob2ljZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZENhdGVnb3JpemU+XG4gICAgICAgIHtkaXNwbGF5Tm90ZSAmJiAoXG4gICAgICAgICAgPFN0eWxlZE5vdGVcbiAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgIF9faHRtbDogbm90ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cblxuICAgICAgICB7c2hvd1JhdGlvbmFsZSAmJiAoXG4gICAgICAgICAgPFN0eWxlZENvbGxhcHNpYmxlIGxhYmVscz17eyBoaWRkZW46ICdTaG93IFJhdGlvbmFsZScsIHZpc2libGU6ICdIaWRlIFJhdGlvbmFsZScgfX0+XG4gICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e21vZGVsLnJhdGlvbmFsZX0gLz5cbiAgICAgICAgICA8L1N0eWxlZENvbGxhcHNpYmxlPlxuICAgICAgICApfVxuXG4gICAgICAgIHttb2RlbC5jb3JyZWN0bmVzcyAmJiBtb2RlbC5mZWVkYmFjayAmJiAhc2hvd0NvcnJlY3QgJiYgKFxuICAgICAgICAgIDxGZWVkYmFjayBjb3JyZWN0bmVzcz17bW9kZWwuY29ycmVjdG5lc3N9IGZlZWRiYWNrPXttb2RlbC5mZWVkYmFja30gLz5cbiAgICAgICAgKX1cbiAgICAgICAgPEFsZXJ0RGlhbG9nXG4gICAgICAgICAgdGl0bGU9e2FsZXJ0VGl0bGV9XG4gICAgICAgICAgdGV4dD17YWxlcnRNZXNzYWdlfVxuICAgICAgICAgIG9wZW49e3Nob3dNYXhDaG9pY2VBbGVydH1cbiAgICAgICAgICBvbkNsb3NlVGV4dD17b25DbG9zZVRleHR9XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHNob3dNYXhDaG9pY2VBbGVydDogZmFsc2UgfSl9XG4gICAgICAgID48L0FsZXJ0RGlhbG9nPlxuICAgICAgPC9TdHlsZWRVaUxheW91dD5cbiAgICApO1xuICB9XG59XG5cbmNsYXNzIENhdGVnb3JpemVQcm92aWRlciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMudWlkID0gdWlkLmdlbmVyYXRlSWQoKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgYWN0aXZlRHJhZ0l0ZW06IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIG9uRHJhZ1N0YXJ0ID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBhY3RpdmUgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHsgcGF1c2VNYXRoT2JzZXJ2ZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAocGF1c2VNYXRoT2JzZXJ2ZXIpIHtcbiAgICAgIHBhdXNlTWF0aE9ic2VydmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZT8uZGF0YT8uY3VycmVudCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGFjdGl2ZURyYWdJdGVtOiBhY3RpdmUuZGF0YS5jdXJyZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIG9uRHJhZ0VuZCA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlLCBvdmVyIH0gPSBldmVudDtcbiAgICBjb25zdCB7IHJlc3VtZU1hdGhPYnNlcnZlciB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3RpdmVEcmFnSXRlbTogbnVsbCB9KTtcblxuICAgIGlmIChyZXN1bWVNYXRoT2JzZXJ2ZXIpIHtcbiAgICAgIHJlc3VtZU1hdGhPYnNlcnZlcigpO1xuICAgIH1cblxuICAgIGlmICghb3ZlciB8fCAhYWN0aXZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSBhY3RpdmUuZGF0YS5jdXJyZW50O1xuXG4gICAgaWYgKGRyYWdnZWRJdGVtICYmIGRyYWdnZWRJdGVtLnR5cGUgPT09ICdjaG9pY2UnKSB7XG4gICAgICBjb25zdCBjaG9pY2VEYXRhID0ge1xuICAgICAgICBpZDogZHJhZ2dlZEl0ZW0uaWQsXG4gICAgICAgIGNhdGVnb3J5SWQ6IGRyYWdnZWRJdGVtLmNhdGVnb3J5SWQsXG4gICAgICAgIGNob2ljZUluZGV4OiBkcmFnZ2VkSXRlbS5jaG9pY2VJbmRleCxcbiAgICAgICAgdmFsdWU6IGRyYWdnZWRJdGVtLnZhbHVlLFxuICAgICAgICBpdGVtVHlwZTogZHJhZ2dlZEl0ZW0uaXRlbVR5cGUsXG4gICAgICB9O1xuXG4gICAgICBpZiAob3Zlci5pZCA9PT0gJ2Nob2ljZXMtYm9hcmQnKSB7XG4gICAgICAgIGlmICh0aGlzLmNhdGVnb3JpemVSZWYgJiYgdGhpcy5jYXRlZ29yaXplUmVmLnJlbW92ZUNob2ljZSAmJiBkcmFnZ2VkSXRlbS5jYXRlZ29yeUlkKSB7XG4gICAgICAgICAgdGhpcy5jYXRlZ29yaXplUmVmLnJlbW92ZUNob2ljZShjaG9pY2VEYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcnlJZCA9IG92ZXIuaWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcml6ZVJlZiAmJiB0aGlzLmNhdGVnb3JpemVSZWYuZHJvcENob2ljZSkge1xuICAgICAgICAgIHRoaXMuY2F0ZWdvcml6ZVJlZi5kcm9wQ2hvaWNlKGNhdGVnb3J5SWQsIGNob2ljZURhdGEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlckRyYWdPdmVybGF5ID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlRHJhZ0l0ZW0gfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghYWN0aXZlRHJhZ0l0ZW0pIHJldHVybiBudWxsO1xuXG4gICAgaWYgKGFjdGl2ZURyYWdJdGVtLnR5cGUgPT09ICdjaG9pY2UnKSB7XG4gICAgICBjb25zdCBjaG9pY2UgPSBtb2RlbC5jaG9pY2VzPy5maW5kKChjKSA9PiBjLmlkID09PSBhY3RpdmVEcmFnSXRlbS5pZCk7XG4gICAgICBpZiAoY2hvaWNlKSB7XG4gICAgICAgIHJldHVybiA8Q2hvaWNlIGtleT17Y2hvaWNlLmlkfSBpZD17Y2hvaWNlLmlkfSB7Li4uY2hvaWNlfSAvPjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEcmFnUHJvdmlkZXIgb25EcmFnU3RhcnQ9e3RoaXMub25EcmFnU3RhcnR9IG9uRHJhZ0VuZD17dGhpcy5vbkRyYWdFbmR9PlxuICAgICAgICA8dWlkLlByb3ZpZGVyIHZhbHVlPXt0aGlzLnVpZH0+XG4gICAgICAgICAgPENhdGVnb3JpemUgcmVmPXsocmVmKSA9PiAodGhpcy5jYXRlZ29yaXplUmVmID0gcmVmKX0gey4uLnRoaXMucHJvcHN9IC8+XG4gICAgICAgICAgPERyYWdPdmVybGF5PlxuICAgICAgICAgICAgPERyYWdQcmV2aWV3V3JhcHBlcj57dGhpcy5yZW5kZXJEcmFnT3ZlcmxheSgpfTwvRHJhZ1ByZXZpZXdXcmFwcGVyPlxuICAgICAgICAgIDwvRHJhZ092ZXJsYXk+XG4gICAgICAgIDwvdWlkLlByb3ZpZGVyPlxuICAgICAgPC9EcmFnUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWRVaUxheW91dCA9IHN0eWxlZChVaUxheW91dCkoe1xuICBjb2xvcjogY29sb3IudGV4dCgpLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG59KTtcblxuY29uc3QgU3R5bGVkTm90ZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5jb25zdCBTdHlsZWRDYXRlZ29yaXplID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMSksXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG59KSk7XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlID0gc3R5bGVkKENvbGxhcHNpYmxlKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxufSkpO1xuXG5leHBvcnQgZGVmYXVsdCBDYXRlZ29yaXplUHJvdmlkZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtB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
package/lib/index.js CHANGED
@@ -313,4 +313,4 @@ class Categorize extends HTMLElement {
313
313
  }
314
314
  }
315
315
  exports.default = Categorize;
316
- //# sourceMappingURL=index.js.map
316
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfbWF0aFJlbmRlcmluZyIsIl9yZW5kZXJVaSIsIl9waWVQbGF5ZXJFdmVudHMiLCJfY2F0ZWdvcml6ZSIsIkNhdGVnb3JpemUiLCJIVE1MRWxlbWVudCIsImNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJfbWF0aFJlbmRlclBlbmRpbmciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJfbWF0aE9ic2VydmVyIiwiX21hdGhPYnNlcnZlclBhdXNlZCIsImRpc2Nvbm5lY3QiLCJyZW5kZXJNYXRoIiwic2V0VGltZW91dCIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIiwiY2hhcmFjdGVyRGF0YSIsIl9yb290IiwiX2luaXRNYXRoT2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwiX3NjaGVkdWxlTWF0aFJlbmRlciIsIl9kaXNjb25uZWN0TWF0aE9ic2VydmVyIiwibW9kZWwiLCJtIiwiX21vZGVsIiwiZWxpbWluYXRlQmxpbmRBbnN3ZXJzRnJvbVNlc3Npb24iLCJkaXNwYXRjaEV2ZW50IiwiTW9kZWxTZXRFdmVudCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsImlzQ29tcGxldGUiLCJfYXVkaW9Jbml0aWFsaXplZCIsInJlbmRlciIsImF1dG9wbGF5QXVkaW9FbmFibGVkIiwiY2hvaWNlcyIsImNvbXBsZXRlQXVkaW9FbmFibGVkIiwiaGFzVW5wbGFjZWRDaG9pY2VzIiwicG9zc2libGVSZXNwb25zZXMiLCJyZXNwb25zZUFyZWFzVG9CZUZpbGxlZCIsImVsZW1lbnRDb250ZXh0IiwiYXVkaW9Db21wbGV0ZSIsImF1ZGlvIiwicXVlcnlTZWxlY3RvciIsImlzSW5zaWRlUHJvbXB0IiwiY2xvc2VzdCIsIl9zZXNzaW9uIiwiYW5zd2VycyIsIkFycmF5IiwiaXNBcnJheSIsImZpbGxlZFJlc3BvbnNlQXJlYXMiLCJmaWx0ZXIiLCJhbnN3ZXIiLCJsZW5ndGgiLCJhcmVSZXNwb25zZUFyZWFzRmlsbGVkIiwiZHVwbGljYXRlc0FsbG93ZWQiLCJzb21lIiwiY2hvaWNlIiwiY2F0ZWdvcnlDb3VudCIsImFsbEFuc3dlcnNJZHMiLCJtYXAiLCJmbGF0IiwicmVxdWlyZWRBbnN3ZXJzUGxhY2VkIiwicmVzcG9uc2UiLCJldmVyeSIsInZhbCIsImluY2x1ZGVzIiwic2Vzc2lvbiIsInMiLCJtYXBwZWRDaG9pY2VzIiwiYyIsImlkIiwiZmlsdGVyZWRBbnN3ZXJzIiwiYW5zd2VyQ2hvaWNlcyIsImNoYW5nZUFuc3dlcnMiLCJzZWxlY3RvciIsIlNlc3Npb25DaGFuZ2VkRXZlbnQiLCJvblNob3dDb3JyZWN0VG9nZ2xlIiwiX2NyZWF0ZUF1ZGlvSW5mb1RvYXN0IiwiaW5mbyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInN0eWxlIiwicG9zaXRpb24iLCJ0b3AiLCJ3aWR0aCIsImhlaWdodCIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJiYWNrZ3JvdW5kIiwiekluZGV4IiwiY3Vyc29yIiwiaW1nIiwic3JjIiwiRW5hYmxlQXVkaW9BdXRvcGxheUltYWdlIiwiYWx0IiwiYXBwZW5kQ2hpbGQiLCJjb25uZWN0ZWRDYWxsYmFjayIsIm9ic2VydmVyIiwibXV0YXRpb25zTGlzdCIsImZvckVhY2giLCJtdXRhdGlvbiIsInR5cGUiLCJjb250YWluZXIiLCJlbmFibGVBdWRpbyIsInBsYXkiLCJyZW1vdmVDaGlsZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJwYXVzZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlUGxheWluZyIsImF1ZGlvU3RhcnRUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJoYW5kbGVFbmRlZCIsImF1ZGlvRW5kVGltZSIsIndhaXRUaW1lIiwiX2F1ZGlvIiwiX2hhbmRsZVBsYXlpbmciLCJfaGFuZGxlRW5kZWQiLCJfZW5hYmxlQXVkaW8iLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsInVubW91bnQiLCJlbCIsIlJlYWN0IiwiQ2F0ZWdvcml6ZUNvbXBvbmVudCIsIm9uQW5zd2Vyc0NoYW5nZSIsImJpbmQiLCJwYXVzZU1hdGhPYnNlcnZlciIsInJlc3VtZU1hdGhPYnNlcnZlciIsImNyZWF0ZVJvb3QiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgRW5hYmxlQXVkaW9BdXRvcGxheUltYWdlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IFNlc3Npb25DaGFuZ2VkRXZlbnQsIE1vZGVsU2V0RXZlbnQgfSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtcGxheWVyLWV2ZW50cyc7XG5pbXBvcnQgQ2F0ZWdvcml6ZUNvbXBvbmVudCBmcm9tICcuL2NhdGVnb3JpemUnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDYXRlZ29yaXplIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3Jvb3QgPSBudWxsO1xuICAgIHRoaXMuX21hdGhPYnNlcnZlciA9IG51bGw7XG4gICAgdGhpcy5fbWF0aFJlbmRlclBlbmRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIF9zY2hlZHVsZU1hdGhSZW5kZXIgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX21hdGhSZW5kZXJQZW5kaW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl9tYXRoUmVuZGVyUGVuZGluZyA9IHRydWU7XG5cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX21hdGhPYnNlcnZlciAmJiAhdGhpcy5fbWF0aE9ic2VydmVyUGF1c2VkKSB7XG4gICAgICAgIHRoaXMuX21hdGhPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG5cbiAgICAgIHJlbmRlck1hdGgodGhpcyk7XG5cbiAgICAgIHRoaXMuX21hdGhSZW5kZXJQZW5kaW5nID0gZmFsc2U7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fbWF0aE9ic2VydmVyICYmICF0aGlzLl9tYXRoT2JzZXJ2ZXJQYXVzZWQpIHtcbiAgICAgICAgICB0aGlzLl9tYXRoT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7XG4gICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDUwKTtcbiAgICB9KTtcbiAgfTtcblxuICBfaW5pdE1hdGhPYnNlcnZlcigpIHtcbiAgICBpZiAodGhpcy5fbWF0aE9ic2VydmVyKSByZXR1cm47XG5cbiAgICB0aGlzLl9tYXRoT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLl9zY2hlZHVsZU1hdGhSZW5kZXIoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX21hdGhPYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICBjaGFyYWN0ZXJEYXRhOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIF9kaXNjb25uZWN0TWF0aE9ic2VydmVyKCkge1xuICAgIGlmICh0aGlzLl9tYXRoT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX21hdGhPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLl9tYXRoT2JzZXJ2ZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHBhdXNlTWF0aE9ic2VydmVyID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLl9tYXRoT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuX21hdGhPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLl9tYXRoT2JzZXJ2ZXJQYXVzZWQgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICByZXN1bWVNYXRoT2JzZXJ2ZXIgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX21hdGhPYnNlcnZlclBhdXNlZCkge1xuICAgICAgdGhpcy5fbWF0aE9ic2VydmVyUGF1c2VkID0gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLl9tYXRoT2JzZXJ2ZXIpIHtcbiAgICAgICAgdGhpcy5fbWF0aE9ic2VydmVyLm9ic2VydmUodGhpcywge1xuICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgc2V0IG1vZGVsKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG5cbiAgICB0aGlzLmVsaW1pbmF0ZUJsaW5kQW5zd2Vyc0Zyb21TZXNzaW9uKCk7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBNb2RlbFNldEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCB0aGlzLmlzQ29tcGxldGUoKSwgISF0aGlzLl9tb2RlbCkpO1xuICAgIC8vIHJlc2V0IHRoZSBhdWRpb0luaXRpYWxpemVkIHRvIGZhbHNlIHNpbmNlIHRoZSBtb2RlbCBjaGFuZ2VkLCBhbmQgd2UgbWlnaHQgbmVlZCB0byByZWluaXRpYWxpemUgdGhlIGF1ZGlvXG4gICAgdGhpcy5fYXVkaW9Jbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIGlzQ29tcGxldGUoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXV0b3BsYXlBdWRpb0VuYWJsZWQsXG4gICAgICBjaG9pY2VzLFxuICAgICAgY29tcGxldGVBdWRpb0VuYWJsZWQsXG4gICAgICBoYXNVbnBsYWNlZENob2ljZXMsXG4gICAgICBwb3NzaWJsZVJlc3BvbnNlcyxcbiAgICAgIHJlc3BvbnNlQXJlYXNUb0JlRmlsbGVkLFxuICAgIH0gPSB0aGlzLl9tb2RlbCB8fCB7fTtcbiAgICBjb25zdCBlbGVtZW50Q29udGV4dCA9IHRoaXM7XG5cbiAgICAvLyBjaGVjayBhdWRpbyBjb21wbGV0aW9uIGlmIGF1ZGlvIHNldHRpbmdzIGFyZSBlbmFibGVkIGFuZCBhdWRpbyBhY3R1YWxseSBleGlzdHNcbiAgICBpZiAoYXV0b3BsYXlBdWRpb0VuYWJsZWQgJiYgY29tcGxldGVBdWRpb0VuYWJsZWQgJiYgIXRoaXMuYXVkaW9Db21wbGV0ZSkge1xuICAgICAgaWYgKGVsZW1lbnRDb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IGF1ZGlvID0gZWxlbWVudENvbnRleHQucXVlcnlTZWxlY3RvcignYXVkaW8nKTtcbiAgICAgICAgY29uc3QgaXNJbnNpZGVQcm9tcHQgPSBhdWRpbyAmJiBhdWRpby5jbG9zZXN0KCcjcHJldmlldy1wcm9tcHQnKTtcblxuICAgICAgICAvLyBvbmx5IHJlcXVpcmUgYXVkaW8gY29tcGxldGlvbiBpZiBhdWRpbyBleGlzdHMgYW5kIGlzIGluc2lkZSB0aGUgcHJvbXB0XG4gICAgICAgIGlmIChhdWRpbyAmJiBpc0luc2lkZVByb21wdCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5fc2Vzc2lvbiB8fCAhdGhpcy5fc2Vzc2lvbi5hbnN3ZXJzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhbnN3ZXJzIH0gPSB0aGlzLl9zZXNzaW9uO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFuc3dlcnMpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZmlsdGVyIGFuc3dlcnMgYnkgY2F0ZWdvcnkgYW5kIGNvdW50IHRoZSBvbmVzIHdpdGggY29udGVudFxuICAgIGNvbnN0IGZpbGxlZFJlc3BvbnNlQXJlYXMgPSBhbnN3ZXJzLmZpbHRlcigoYW5zd2VyKSA9PiBhbnN3ZXIuY2hvaWNlcy5sZW5ndGgpLmxlbmd0aDtcbiAgICAvLyBjaGVjayBpZiBhbiBhbnN3ZXIgY2hvaWNlIHdhcyBhZGRlZCB0byBhdCBsZWFzdCBhcyBtYW55IHJlc3BvbnNlIGFyZWFzXG4gICAgLy8gYXMgdGhlIG51bWJlciBvZiBwb3B1bGF0ZWQgcmVzcG9uc2UgYXJlYXMgaW4gdGhlIGNvcnJlY3QgYW5zd2VyXG4gICAgY29uc3QgYXJlUmVzcG9uc2VBcmVhc0ZpbGxlZCA9IGZpbGxlZFJlc3BvbnNlQXJlYXMgPj0gcmVzcG9uc2VBcmVhc1RvQmVGaWxsZWQ7XG4gICAgLy8gY2hlY2sgaWYgbXVsdGlwbGUgcGxhY2VtZW50cyBhcmUgYWxsb3dlZFxuICAgIGNvbnN0IGR1cGxpY2F0ZXNBbGxvd2VkID0gKGNob2ljZXMgfHwgW10pLnNvbWUoKGNob2ljZSkgPT4gY2hvaWNlLmNhdGVnb3J5Q291bnQgPT09IDApO1xuXG4gICAgaWYgKGR1cGxpY2F0ZXNBbGxvd2VkKSB7XG4gICAgICAvLyBhbiBhbnN3ZXIgY2hvaWNlIGNhbiBiZSB1c2VkIG11bHRpcGxlIHRpbWVzXG4gICAgICByZXR1cm4gYXJlUmVzcG9uc2VBcmVhc0ZpbGxlZDtcbiAgICB9XG5cbiAgICAvLyBhbnkgY29ycmVjdCBhbnN3ZXIgaGF2ZSBhbnkgdW5wbGFjZWQgYW5zd2VyIGNob2ljZXMgKGJ5IHRoZSBhdXRob3IpXG4gICAgaWYgKGhhc1VucGxhY2VkQ2hvaWNlcykge1xuICAgICAgcmV0dXJuIGFyZVJlc3BvbnNlQXJlYXNGaWxsZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsQW5zd2Vyc0lkcyA9IGFuc3dlcnMubWFwKChhbnN3ZXIpID0+IGFuc3dlci5jaG9pY2VzKS5mbGF0KCk7XG5cbiAgICAvLyBjaGVjayBpZiBhbnkgY29ycmVjdCBhbnN3ZXIgaGF2ZSBhbnkgdW5wbGFjZWQgYW5zd2VyIGNob2ljZXMgKGJ5IHRoZSBzdHVkZW50KVxuICAgIGNvbnN0IHJlcXVpcmVkQW5zd2Vyc1BsYWNlZCA9IChwb3NzaWJsZVJlc3BvbnNlcyB8fCBbXSkuc29tZSgocmVzcG9uc2UpID0+XG4gICAgICByZXNwb25zZS5ldmVyeSgodmFsKSA9PiBhbGxBbnN3ZXJzSWRzLmluY2x1ZGVzKHZhbCkpLFxuICAgICk7XG5cbiAgICAvLyB0cnVlIC0gYWxsIGNob2ljZXMgKHJlcXVpcmVkIGZvciBhIGNvcnJlY3QgcmVzcG9uc2UpIHdlcmUgcGxhY2VkIGludG8gYSByZXNwb25zZSBhcmVhXG4gICAgcmV0dXJuIHJlcXVpcmVkQW5zd2Vyc1BsYWNlZDtcbiAgfVxuXG4gIHNldCBzZXNzaW9uKHMpIHtcbiAgICBpZiAocyAmJiAhcy5hbnN3ZXJzKSB7XG4gICAgICBzLmFuc3dlcnMgPSBbXTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXNzaW9uID0gcztcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgZ2V0IHNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb247XG4gIH1cblxuICBlbGltaW5hdGVCbGluZEFuc3dlcnNGcm9tU2Vzc2lvbigpIHtcbiAgICBjb25zdCB7IGFuc3dlcnMgPSBbXSB9ID0gdGhpcy5fc2Vzc2lvbiB8fCB7fTtcbiAgICBjb25zdCB7IGNob2ljZXMgPSBbXSB9ID0gdGhpcy5fbW9kZWwgfHwge307XG5cbiAgICBjb25zdCBtYXBwZWRDaG9pY2VzID0gY2hvaWNlcy5tYXAoKGMpID0+IGMuaWQpIHx8IFtdO1xuICAgIGNvbnN0IGZpbHRlcmVkQW5zd2VycyA9IGFuc3dlcnMubWFwKChhbnN3ZXIpID0+IHtcbiAgICAgIGNvbnN0IGFuc3dlckNob2ljZXMgPSBhbnN3ZXI/LmNob2ljZXMgfHwgW107XG4gICAgICBhbnN3ZXIuY2hvaWNlcyA9IGFuc3dlckNob2ljZXMuZmlsdGVyKChjKSA9PiBtYXBwZWRDaG9pY2VzLmluY2x1ZGVzKGMpKTtcblxuICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICB9KTtcblxuICAgIGlmIChmaWx0ZXJlZEFuc3dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jaGFuZ2VBbnN3ZXJzKGZpbHRlcmVkQW5zd2Vycyk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQW5zd2VycyhhbnN3ZXJzKSB7XG4gICAgdGhpcy5fc2Vzc2lvbi5hbnN3ZXJzID0gYW5zd2VycztcbiAgICB0aGlzLl9zZXNzaW9uLnNlbGVjdG9yID0gJ01vdXNlJztcblxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2Vzc2lvbkNoYW5nZWRFdmVudCh0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSwgdGhpcy5pc0NvbXBsZXRlKCkpKTtcblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBvblNob3dDb3JyZWN0VG9nZ2xlKCkge1xuICAgIHJlbmRlck1hdGgodGhpcyk7XG4gIH1cblxuICBfY3JlYXRlQXVkaW9JbmZvVG9hc3QoKSB7XG4gICAgY29uc3QgaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGluZm8uaWQgPSAncGxheS1hdWRpby1pbmZvJztcblxuICAgIE9iamVjdC5hc3NpZ24oaW5mby5zdHlsZSwge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICB6SW5kZXg6ICcxMDAwJyxcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgaW1nLnNyYyA9IEVuYWJsZUF1ZGlvQXV0b3BsYXlJbWFnZTtcbiAgICBpbWcuYWx0ID0gJ0NsaWNrIGFueXdoZXJlIHRvIGVuYWJsZSBhdWRpbyBhdXRvcGxheSc7XG4gICAgaW1nLndpZHRoID0gNTAwO1xuICAgIGltZy5oZWlnaHQgPSAzMDA7XG5cbiAgICBpbmZvLmFwcGVuZENoaWxkKGltZyk7XG4gICAgcmV0dXJuIGluZm87XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLl9pbml0TWF0aE9ic2VydmVyKCk7XG4gICAgXG4gICAgLy8gT2JzZXJ2YXRpb246ICBhdWRpbyBpbiBDaHJvbWUgd2lsbCBoYXZlIHRoZSBhdXRvcGxheSBhdHRyaWJ1dGUsXG4gICAgLy8gd2hpbGUgb3RoZXIgYnJvd3NlcnMgd2lsbCBub3QgaGF2ZSB0aGUgYXV0b3BsYXkgYXR0cmlidXRlIGFuZCB3aWxsIG5lZWQgYSB1c2VyIGludGVyYWN0aW9uIHRvIHBsYXkgdGhlIGF1ZGlvXG4gICAgLy8gVGhpcyB3b3JrYXJvdW5kIGZpeGVzIHRoZSBpc3N1ZSBvZiBhdWRpbyBiZWluZyBjYWNoZWQgYW5kIHBsYXllZCBvbiBhbnkgdXNlciBpbnRlcmFjdGlvbiBpbiBTYWZhcmkgYW5kIEZpcmVmb3hcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0LCBvYnNlcnZlcikgPT4ge1xuICAgICAgbXV0YXRpb25zTGlzdC5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXVkaW9Jbml0aWFsaXplZCkgcmV0dXJuO1xuICAgICAgICAgIGNvbnN0IGF1ZGlvID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdhdWRpbycpO1xuICAgICAgICAgIGNvbnN0IGlzSW5zaWRlUHJvbXB0ID0gYXVkaW8gJiYgYXVkaW8uY2xvc2VzdCgnI3ByZXZpZXctcHJvbXB0Jyk7XG5cbiAgICAgICAgICBpZiAoIXRoaXMuX21vZGVsKSByZXR1cm47XG4gICAgICAgICAgaWYgKCF0aGlzLl9tb2RlbC5hdXRvcGxheUF1ZGlvRW5hYmxlZCkgcmV0dXJuO1xuICAgICAgICAgIGlmIChhdWRpbyAmJiAhaXNJbnNpZGVQcm9tcHQpIHJldHVybjtcbiAgICAgICAgICBpZiAoIWF1ZGlvKSByZXR1cm47XG5cbiAgICAgICAgICBjb25zdCBpbmZvID0gdGhpcy5fY3JlYXRlQXVkaW9JbmZvVG9hc3QoKTtcbiAgICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJyNtYWluLWNvbnRhaW5lcicpO1xuICAgICAgICAgIGNvbnN0IGVuYWJsZUF1ZGlvID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucXVlcnlTZWxlY3RvcignI3BsYXktYXVkaW8taW5mbycpKSB7XG4gICAgICAgICAgICAgIGF1ZGlvLnBsYXkoKTtcbiAgICAgICAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGluZm8pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGVuYWJsZUF1ZGlvKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgLy8gaWYgdGhlIGF1ZGlvIGlzIHBhdXNlZCwgaXQgbWVhbnMgdGhlIHVzZXIgaGFzIG5vdCBpbnRlcmFjdGVkIHdpdGggdGhlIHBhZ2UgeWV0IGFuZCB0aGUgYXVkaW8gd2lsbCBub3QgcGxheVxuICAgICAgICAgIC8vIEZJWCBGT1IgU0FGQVJJOiBwbGF5IHdpdGggYSBzbGlnaHQgZGVsYXkgdG8gY2hlY2sgaWYgYXV0b3BsYXkgd2FzIGJsb2NrZWRcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChhdWRpby5wYXVzZWQgJiYgIXRoaXMucXVlcnlTZWxlY3RvcignI3BsYXktYXVkaW8taW5mbycpKSB7XG4gICAgICAgICAgICAgIC8vIGFkZCBpbmZvIG1lc3NhZ2UgYXMgYSB0b2FzdCB0byBlbmFibGUgYXVkaW8gcGxheWJhY2tcbiAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGluZm8pO1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGVuYWJsZUF1ZGlvKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZW5hYmxlQXVkaW8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sIDUwMCk7XG5cbiAgICAgICAgICAvLyB3ZSBuZWVkIHRvIGxpc3RlbiBmb3IgdGhlIHBsYXlpbmcgZXZlbnQgdG8gcmVtb3ZlIHRoZSB0b2FzdCBpbiBjYXNlIHRoZSBhdWRpbyBwbGF5cyBiZWNhdXNlIG9mIHJlLXJlbmRlcmluZ1xuICAgICAgICAgIGNvbnN0IGhhbmRsZVBsYXlpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICAvL3RpbWVzdGFtcCB3aGVuIGF1dG8tcGxheWVkIGF1ZGlvIHN0YXJ0ZWQgcGxheWluZ1xuICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5hdWRpb1N0YXJ0VGltZSA9IHRoaXMuX3Nlc3Npb24uYXVkaW9TdGFydFRpbWUgfHwgbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoJyNwbGF5LWF1ZGlvLWluZm8nKTtcbiAgICAgICAgICAgIGlmIChpbmZvKSB7XG4gICAgICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChpbmZvKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycsIGhhbmRsZVBsYXlpbmcpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBhdWRpby5hZGRFdmVudExpc3RlbmVyKCdwbGF5aW5nJywgaGFuZGxlUGxheWluZyk7XG5cbiAgICAgICAgICAvLyB3ZSBuZWVkIHRvIGxpc3RlbiBmb3IgdGhlIGVuZGVkIGV2ZW50IHRvIHVwZGF0ZSB0aGUgaXNDb21wbGV0ZSBzdGF0ZVxuICAgICAgICAgIGNvbnN0IGhhbmRsZUVuZGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgLy90aW1lc3RhbXAgd2hlbiBhdXRvLXBsYXllZCBhdWRpbyBjb21wbGV0ZWQgcGxheWluZ1xuICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi5hdWRpb0VuZFRpbWUgPSB0aGlzLl9zZXNzaW9uLmF1ZGlvRW5kVGltZSB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAgICAgbGV0IHsgYXVkaW9TdGFydFRpbWUsIGF1ZGlvRW5kVGltZSwgd2FpdFRpbWUgfSA9IHRoaXMuX3Nlc3Npb247XG4gICAgICAgICAgICBpZiAoIXdhaXRUaW1lICYmIGF1ZGlvU3RhcnRUaW1lICYmIGF1ZGlvRW5kVGltZSkge1xuICAgICAgICAgICAgICAvLyB3YWl0VGltZSBpcyBlbGFwc2VkIHRpbWUgdGhlIHVzZXIgd2FpdGVkIGZvciBhdXRvLXBsYXllZCBhdWRpbyB0byBmaW5pc2hcbiAgICAgICAgICAgICAgdGhpcy5fc2Vzc2lvbi53YWl0VGltZSA9IGF1ZGlvRW5kVGltZSAtIGF1ZGlvU3RhcnRUaW1lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmF1ZGlvQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTZXNzaW9uQ2hhbmdlZEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCB0aGlzLmlzQ29tcGxldGUoKSkpO1xuXG4gICAgICAgICAgICBhdWRpby5yZW1vdmVFdmVudExpc3RlbmVyKCdlbmRlZCcsIGhhbmRsZUVuZGVkKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXVkaW8uYWRkRXZlbnRMaXN0ZW5lcignZW5kZWQnLCBoYW5kbGVFbmRlZCk7XG5cbiAgICAgICAgICAvLyBzdG9yZSByZWZlcmVuY2VzIHRvIHJlbW92ZSBsYXRlclxuICAgICAgICAgIHRoaXMuX2F1ZGlvID0gYXVkaW87XG4gICAgICAgICAgdGhpcy5faGFuZGxlUGxheWluZyA9IGhhbmRsZVBsYXlpbmc7XG4gICAgICAgICAgdGhpcy5faGFuZGxlRW5kZWQgPSBoYW5kbGVFbmRlZDtcbiAgICAgICAgICB0aGlzLl9lbmFibGVBdWRpbyA9IGVuYWJsZUF1ZGlvO1xuICAgICAgICAgIC8vIHNldCB0byB0cnVlIHRvIHByZXZlbnQgbXVsdGlwbGUgaW5pdGlhbGl6YXRpb25zXG4gICAgICAgICAgdGhpcy5fYXVkaW9Jbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuX2Rpc2Nvbm5lY3RNYXRoT2JzZXJ2ZXIoKTtcbiAgICBcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2VuYWJsZUF1ZGlvKTtcblxuICAgIGlmICh0aGlzLl9hdWRpbykge1xuICAgICAgdGhpcy5fYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigncGxheWluZycsIHRoaXMuX2hhbmRsZVBsYXlpbmcpO1xuICAgICAgdGhpcy5fYXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW5kZWQnLCB0aGlzLl9oYW5kbGVFbmRlZCk7XG4gICAgICB0aGlzLl9hdWRpbyA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jvb3QpIHtcbiAgICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5fbW9kZWwgJiYgdGhpcy5fc2Vzc2lvbikge1xuICAgICAgY29uc3QgZWwgPSBSZWFjdC5jcmVhdGVFbGVtZW50KENhdGVnb3JpemVDb21wb25lbnQsIHtcbiAgICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgICBzZXNzaW9uOiB0aGlzLl9zZXNzaW9uLFxuICAgICAgICBvbkFuc3dlcnNDaGFuZ2U6IHRoaXMuY2hhbmdlQW5zd2Vycy5iaW5kKHRoaXMpLFxuICAgICAgICBvblNob3dDb3JyZWN0VG9nZ2xlOiB0aGlzLm9uU2hvd0NvcnJlY3RUb2dnbGUuYmluZCh0aGlzKSxcbiAgICAgICAgcGF1c2VNYXRoT2JzZXJ2ZXI6IHRoaXMucGF1c2VNYXRoT2JzZXJ2ZXIsXG4gICAgICAgIHJlc3VtZU1hdGhPYnNlcnZlcjogdGhpcy5yZXN1bWVNYXRoT2JzZXJ2ZXIsXG4gICAgICB9KTtcblxuICAgICAgaWYgKCF0aGlzLl9yb290KSB7XG4gICAgICAgIHRoaXMuX3Jvb3QgPSBjcmVhdGVSb290KHRoaXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcm9vdC5yZW5kZXIoZWwpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGdCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFZSxNQUFNTSxVQUFVLFNBQVNDLFdBQVcsQ0FBQztFQUNsREMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osS0FBSyxDQUFDLENBQUM7SUFBQyxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLCtCQU1ZLE1BQU07TUFDMUIsSUFBSSxJQUFJLENBQUNDLGtCQUFrQixFQUFFO01BRTdC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
package/package.json CHANGED
@@ -4,31 +4,31 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "12.0.0-beta.0",
7
+ "version": "12.0.0-beta.1",
8
8
  "description": "",
9
9
  "author": "pie framework developers",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@dnd-kit/core": "6.1.0",
12
+ "@dnd-kit/core": "6.3.1",
13
13
  "@emotion/react": "^11.14.0",
14
14
  "@emotion/style": "^0.8.0",
15
15
  "@mui/icons-material": "^7.3.4",
16
16
  "@mui/material": "^7.3.4",
17
17
  "@pie-framework/pie-player-events": "^0.1.0",
18
- "@pie-lib/categorize": "0.28.3-next.0",
19
- "@pie-lib/config-ui": "11.30.4-next.0",
20
- "@pie-lib/correct-answer-toggle": "2.25.4-next.0",
21
- "@pie-lib/drag": "2.22.4-next.0",
22
- "@pie-lib/math-rendering": "3.22.3-next.0",
23
- "@pie-lib/render-ui": "4.35.4-next.0",
24
- "@pie-lib/translator": "2.23.3-next.0",
18
+ "@pie-lib/categorize": "1.1.0-next.9",
19
+ "@pie-lib/config-ui": "12.1.0-next.5",
20
+ "@pie-lib/correct-answer-toggle": "3.1.0-next.5",
21
+ "@pie-lib/drag": "3.1.0-next.5",
22
+ "@pie-lib/math-rendering": "4.1.0-next.4",
23
+ "@pie-lib/render-ui": "5.1.0-next.5",
24
+ "@pie-lib/translator": "3.1.0-next.4",
25
25
  "debug": "^4.1.1",
26
26
  "lodash": "^4.17.15",
27
27
  "prop-types": "^15.6.1",
28
28
  "react": "18.2.0",
29
29
  "react-dom": "18.2.0"
30
30
  },
31
- "gitHead": "d122562838e319cebb58d61b3eedd952fc9ad960",
31
+ "gitHead": "b67101f1d8bf37c61231a7050a3bc3b799b7d35b",
32
32
  "scripts": {
33
33
  "postpublish": "../../scripts/postpublish"
34
34
  },