@sapui5/sap.fe.macros 1.142.0 → 1.142.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 (69) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Field.js +5 -5
  4. package/src/sap/fe/macros/Field.ts +5 -3
  5. package/src/sap/fe/macros/FooterContent.js +3 -2
  6. package/src/sap/fe/macros/FooterContent.tsx +2 -10
  7. package/src/sap/fe/macros/MessageButton.js +3 -3
  8. package/src/sap/fe/macros/MessageButton.tsx +3 -2
  9. package/src/sap/fe/macros/Page.js +8 -4
  10. package/src/sap/fe/macros/Page.tsx +13 -4
  11. package/src/sap/fe/macros/RichTextEditor.js +12 -14
  12. package/src/sap/fe/macros/RichTextEditor.tsx +10 -13
  13. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  14. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  15. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  16. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  17. package/src/sap/fe/macros/chart/Action.js +19 -7
  18. package/src/sap/fe/macros/chart/Action.ts +8 -0
  19. package/src/sap/fe/macros/chart/ChartDelegate.js +13 -2
  20. package/src/sap/fe/macros/chart/ChartDelegate.ts +20 -1
  21. package/src/sap/fe/macros/chart/MdcChartTemplate.js +8 -6
  22. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +13 -22
  23. package/src/sap/fe/macros/controls/FilterBar.js +1 -1
  24. package/src/sap/fe/macros/controls/FilterBar.ts +8 -1
  25. package/src/sap/fe/macros/controls/TextLink.js +15 -1
  26. package/src/sap/fe/macros/controls/TextLink.tsx +19 -0
  27. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +23 -18
  28. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +27 -25
  29. package/src/sap/fe/macros/field/FieldRuntimeHelper.js +4 -2
  30. package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +7 -7
  31. package/src/sap/fe/macros/field/FieldTemplating.js +8 -3
  32. package/src/sap/fe/macros/field/FieldTemplating.ts +7 -2
  33. package/src/sap/fe/macros/filterBar/FilterBar.block.js +10 -1
  34. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +10 -0
  35. package/src/sap/fe/macros/form/FormContainer.block.js +9 -8
  36. package/src/sap/fe/macros/form/FormContainer.block.ts +10 -7
  37. package/src/sap/fe/macros/internal/field/EditStyle.js +11 -6
  38. package/src/sap/fe/macros/internal/field/EditStyle.tsx +7 -3
  39. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +36 -7
  40. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +35 -6
  41. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +54 -1
  42. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +59 -0
  43. package/src/sap/fe/macros/library.js +5 -6
  44. package/src/sap/fe/macros/{library.ts → library.tsx} +1 -1
  45. package/src/sap/fe/macros/messagebundle.properties +6 -0
  46. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  47. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  48. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +4 -3
  49. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +5 -2
  50. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  51. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  52. package/src/sap/fe/macros/table/ActionsTemplating.js +6 -5
  53. package/src/sap/fe/macros/table/ActionsTemplating.tsx +4 -4
  54. package/src/sap/fe/macros/table/MdcTableTemplate.js +27 -10
  55. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +31 -4
  56. package/src/sap/fe/macros/table/Table.block.js +3 -1
  57. package/src/sap/fe/macros/table/Table.block.tsx +7 -4
  58. package/src/sap/fe/macros/table/TableAPI.js +49 -28
  59. package/src/sap/fe/macros/table/TableAPI.ts +58 -32
  60. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -4
  61. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +6 -3
  62. package/src/sap/fe/macros/table/delegates/TableDelegate.js +3 -3
  63. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +3 -4
  64. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  65. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  66. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +6 -6
  67. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +5 -5
  68. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +5 -3
  69. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +7 -4
@@ -27,11 +27,13 @@ sap.ui.define(["sap/f/DynamicPage", "sap/f/DynamicPageHeader", "sap/f/DynamicPag
27
27
  type: "sap.ui.core.Control",
28
28
  multiple: true
29
29
  }), _dec4 = property({
30
- type: "string"
30
+ type: "string",
31
+ isBindingInfo: true
31
32
  }), _dec5 = property({
32
33
  type: "boolean"
33
34
  }), _dec6 = property({
34
- type: "string"
35
+ type: "string",
36
+ isBindingInfo: true
35
37
  }), _dec7 = property({
36
38
  type: "string"
37
39
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
@@ -49,6 +51,7 @@ sap.ui.define(["sap/f/DynamicPage", "sap/f/DynamicPageHeader", "sap/f/DynamicPag
49
51
  _initializerDefineProperty(_this, "actions", _descriptor2, _this);
50
52
  /**
51
53
  * Title of the page. If no title is provided, the title, avatar, and description are derived from the unqualified HeaderInfo annotation associated with the entity.
54
+ * Can be a string or a binding info object.
52
55
  * @public
53
56
  */
54
57
  _initializerDefineProperty(_this, "title", _descriptor3, _this);
@@ -58,6 +61,7 @@ sap.ui.define(["sap/f/DynamicPage", "sap/f/DynamicPageHeader", "sap/f/DynamicPag
58
61
  _initializerDefineProperty(_this, "editable", _descriptor4, _this);
59
62
  /**
60
63
  * Provides additional details of the page. This property is considered only if the title property is defined.
64
+ * Can be a string or a binding info object.
61
65
  * @public
62
66
  */
63
67
  _initializerDefineProperty(_this, "description", _descriptor5, _this);
@@ -116,7 +120,7 @@ sap.ui.define(["sap/f/DynamicPage", "sap/f/DynamicPageHeader", "sap/f/DynamicPag
116
120
 
117
121
  /**
118
122
  * Returns the Share action with share options.
119
- * @returns {Control} The Share action control
123
+ * @returns The Share action control.
120
124
  */;
121
125
  _proto.getShareAction = function getShareAction() {
122
126
  return _jsx(Share, {
@@ -215,4 +219,4 @@ sap.ui.define(["sap/f/DynamicPage", "sap/f/DynamicPageHeader", "sap/f/DynamicPag
215
219
  _exports = Page;
216
220
  return _exports;
217
221
  }, false);
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYWdlIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJhZ2dyZWdhdGlvbiIsInR5cGUiLCJtdWx0aXBsZSIsImlzRGVmYXVsdCIsIl9kZWMzIiwiX2RlYzQiLCJwcm9wZXJ0eSIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsImlkT3JTZXR0aW5ncyIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJjcmVhdGVBdmF0YXIiLCJpc0V4cGFuZGVkIiwiYXZhdGFyU3JjIiwiX2pzeCIsIkF2YXRhciIsImNsYXNzIiwic3JjIiwiZGlzcGxheVNoYXBlIiwiQXZhdGFyU2hhcGUiLCJTcXVhcmUiLCJkaXNwbGF5U2l6ZSIsIkF2YXRhclNpemUiLCJYTCIsIlMiLCJjcmVhdGVUaXRsZSIsIlRpdGxlIiwidGV4dCIsInRpdGxlIiwiY3JlYXRlRGVzY3JpcHRpb24iLCJMYWJlbCIsImRlc2NyaXB0aW9uIiwiZ2V0VGl0bGVQYXJ0IiwiRmxleEJveCIsImRpcmVjdGlvbiIsImNoaWxkcmVuIiwiaXRlbXMiLCJPYmplY3RUaXRsZSIsImdldFNoYXJlQWN0aW9uIiwiU2hhcmUiLCJpZCIsImNyZWF0ZUlkIiwic2hhcmVPcHRpb25zIiwiU2hhcmVPcHRpb25zIiwic2hvd1NlbmRFbWFpbCIsInNob3dDb2xsYWJvcmF0aW9uTWFuYWdlciIsIm1zVGVhbXNPcHRpb25zIiwiTXNUZWFtc09wdGlvbnMiLCJlbmFibGVDYXJkIiwiRHluYW1pY1BhZ2UiLCJEeW5hbWljUGFnZVRpdGxlIiwiZXhwYW5kZWRIZWFkaW5nIiwic25hcHBlZEhlYWRpbmciLCJyZW5kZXJUeXBlIiwiYWN0aW9ucyIsImNvbmNhdCIsImhlYWRlciIsIkR5bmFtaWNQYWdlSGVhZGVyIiwibWFwIiwiaXRlbSIsImFkZFN0eWxlQ2xhc3MiLCJkZXBlbmRlbnRzIiwiQ29tbWFuZEV4ZWN1dGlvbiIsImV4ZWN1dGUiLCJvQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwib01vZGVsIiwiZ2V0TW9kZWwiLCJCdXN5TG9ja2VyIiwibG9jayIsImdldFBhZ2VDb250cm9sbGVyIiwiZWRpdEZsb3ciLCJlZGl0RG9jdW1lbnQiLCJmaW5hbGx5IiwidW5sb2NrIiwiZW5hYmxlZCIsInZpc2libGUiLCJjb21tYW5kIiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IER5bmFtaWNQYWdlIGZyb20gXCJzYXAvZi9EeW5hbWljUGFnZVwiO1xuaW1wb3J0IER5bmFtaWNQYWdlSGVhZGVyIGZyb20gXCJzYXAvZi9EeW5hbWljUGFnZUhlYWRlclwiO1xuaW1wb3J0IER5bmFtaWNQYWdlVGl0bGUgZnJvbSBcInNhcC9mL0R5bmFtaWNQYWdlVGl0bGVcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgQnVzeUxvY2tlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvQnVzeUxvY2tlclwiO1xuaW1wb3J0IENvbW1hbmRFeGVjdXRpb24gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xzL0NvbW1hbmRFeGVjdXRpb25cIjtcbmltcG9ydCBPYmplY3RUaXRsZSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9PYmplY3RUaXRsZVwiO1xuaW1wb3J0IFNoYXJlIGZyb20gXCJzYXAvZmUvbWFjcm9zL1NoYXJlXCI7XG5pbXBvcnQgU2hhcmVPcHRpb25zIGZyb20gXCJzYXAvZmUvbWFjcm9zL3NoYXJlL1NoYXJlT3B0aW9uc1wiO1xuaW1wb3J0IEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQXZhdGFyU2hhcGUgZnJvbSBcInNhcC9tL0F2YXRhclNoYXBlXCI7XG5pbXBvcnQgQXZhdGFyU2l6ZSBmcm9tIFwic2FwL20vQXZhdGFyU2l6ZVwiO1xuaW1wb3J0IEZsZXhCb3ggZnJvbSBcInNhcC9tL0ZsZXhCb3hcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBUaXRsZSBmcm9tIFwic2FwL20vVGl0bGVcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgTXNUZWFtc09wdGlvbnMgZnJvbSBcIi4vc2hhcmUvTXNUZWFtc09wdGlvbnNcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB1c2VkIHRvIGNyZWF0ZSBhIGN1c3RvbSBwYWdlIHdpdGggYSB0aXRsZSBhbmQgdGhlIGNvbnRlbnQuIEJ5IGRlZmF1bHQsIHRoZSBwYWdlIGluY2x1ZGVzIGEgdGl0bGUuXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuUGFnZVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFnZSBleHRlbmRzIEJ1aWxkaW5nQmxvY2sge1xuXHQvKipcblx0ICogQ29udGVudChzKSBvZiB0aGUgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRpdGVtcyE6IENvbnRyb2xbXTtcblxuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLCBtdWx0aXBsZTogdHJ1ZSB9KVxuXHRhY3Rpb25zITogQ29udHJvbFtdO1xuXG5cdC8qKlxuXHQgKiBUaXRsZSBvZiB0aGUgcGFnZS4gSWYgbm8gdGl0bGUgaXMgcHJvdmlkZWQsIHRoZSB0aXRsZSwgYXZhdGFyLCBhbmQgZGVzY3JpcHRpb24gYXJlIGRlcml2ZWQgZnJvbSB0aGUgdW5xdWFsaWZpZWQgSGVhZGVySW5mbyBhbm5vdGF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgZW50aXR5LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRpdGxlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZWRpdGFibGUgPSBmYWxzZTtcblxuXHQvKipcblx0ICogUHJvdmlkZXMgYWRkaXRpb25hbCBkZXRhaWxzIG9mIHRoZSBwYWdlLiBUaGlzIHByb3BlcnR5IGlzIGNvbnNpZGVyZWQgb25seSBpZiB0aGUgdGl0bGUgcHJvcGVydHkgaXMgZGVmaW5lZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkZXNjcmlwdGlvbj86IHN0cmluZztcblxuXHQvKipcblx0ICogU291cmNlIG9mIHRoZSBhdmF0YXIgaW1hZ2UuIFRoaXMgcHJvcGVydHkgaXMgY29uc2lkZXJlZCBvbmx5IGlmIHRoZSB0aXRsZSBwcm9wZXJ0eSBpcyBkZWZpbmVkLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGF2YXRhclNyYz86IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvcihpZE9yU2V0dGluZ3M6IHN0cmluZyk7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzOiBQcm9wZXJ0aWVzT2Y8UGFnZT4pO1xuXG5cdGNvbnN0cnVjdG9yKGlkT3JTZXR0aW5nczogc3RyaW5nIHwgUHJvcGVydGllc09mPFBhZ2U+LCBzZXR0aW5ncz86IFByb3BlcnRpZXNPZjxQYWdlPikge1xuXHRcdHN1cGVyKGlkT3JTZXR0aW5ncywgc2V0dGluZ3MpO1xuXHR9XG5cblx0b25NZXRhZGF0YUF2YWlsYWJsZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlQXZhdGFyKGlzRXhwYW5kZWQ6IGJvb2xlYW4pOiBBdmF0YXIgfCB1bmRlZmluZWQge1xuXHRcdGlmICh0aGlzLmF2YXRhclNyYykge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PEF2YXRhclxuXHRcdFx0XHRcdGNsYXNzPVwic2FwVWlTbWFsbE1hcmdpbkVuZFwiXG5cdFx0XHRcdFx0c3JjPXt0aGlzLmF2YXRhclNyY31cblx0XHRcdFx0XHRkaXNwbGF5U2hhcGU9e0F2YXRhclNoYXBlLlNxdWFyZX1cblx0XHRcdFx0XHRkaXNwbGF5U2l6ZT17aXNFeHBhbmRlZCA/IEF2YXRhclNpemUuWEwgOiBBdmF0YXJTaXplLlN9XG5cdFx0XHRcdC8+XG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlVGl0bGUoKTogVGl0bGUge1xuXHRcdHJldHVybiA8VGl0bGUgdGV4dD17dGhpcy50aXRsZX0gLz47XG5cdH1cblxuXHRwcml2YXRlIGNyZWF0ZURlc2NyaXB0aW9uKCk6IExhYmVsIHtcblx0XHRyZXR1cm4gPExhYmVsIHRleHQ9e3RoaXMuZGVzY3JpcHRpb259IC8+O1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRUaXRsZVBhcnQoKTogRmxleEJveCB8IE9iamVjdFRpdGxlIHtcblx0XHRpZiAodGhpcy50aXRsZSAmJiB0aGlzLmRlc2NyaXB0aW9uKSB7XG5cdFx0XHRyZXR1cm4gPEZsZXhCb3ggZGlyZWN0aW9uPVwiQ29sdW1uXCI+e3sgaXRlbXM6IFt0aGlzLmNyZWF0ZVRpdGxlKCksIHRoaXMuY3JlYXRlRGVzY3JpcHRpb24oKV0gfX08L0ZsZXhCb3g+O1xuXHRcdH0gZWxzZSBpZiAodGhpcy50aXRsZSkge1xuXHRcdFx0cmV0dXJuIDxGbGV4Qm94IGRpcmVjdGlvbj1cIkNvbHVtblwiPnt7IGl0ZW1zOiBbdGhpcy5jcmVhdGVUaXRsZSgpXSB9fTwvRmxleEJveD47XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiA8T2JqZWN0VGl0bGUgLz47XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIFNoYXJlIGFjdGlvbiB3aXRoIHNoYXJlIG9wdGlvbnMuXG5cdCAqIEByZXR1cm5zIHtDb250cm9sfSBUaGUgU2hhcmUgYWN0aW9uIGNvbnRyb2xcblx0ICovXG5cdGdldFNoYXJlQWN0aW9uKCk6IENvbnRyb2wge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8U2hhcmUgaWQ9e3RoaXMuY3JlYXRlSWQoXCJzaGFyZVwiKX0+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0c2hhcmVPcHRpb25zOiA8U2hhcmVPcHRpb25zIHNob3dTZW5kRW1haWw9XCJ0cnVlXCIgc2hvd0NvbGxhYm9yYXRpb25NYW5hZ2VyPVwidHJ1ZVwiIC8+LFxuXHRcdFx0XHRcdG1zVGVhbXNPcHRpb25zOiA8TXNUZWFtc09wdGlvbnMgZW5hYmxlQ2FyZD1cImZhbHNlXCIgLz5cblx0XHRcdFx0fX1cblx0XHRcdDwvU2hhcmU+XG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlQ29udGVudCgpOiBEeW5hbWljUGFnZSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxEeW5hbWljUGFnZSBpZD17dGhpcy5jcmVhdGVJZChcInBhZ2VcIil9PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdHRpdGxlOiAoXG5cdFx0XHRcdFx0XHQ8RHluYW1pY1BhZ2VUaXRsZSBpZD17dGhpcy5jcmVhdGVJZChcInRpdGxlXCIpfT5cblx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRleHBhbmRlZEhlYWRpbmc6IHRoaXMuZ2V0VGl0bGVQYXJ0KCksXG5cdFx0XHRcdFx0XHRcdFx0c25hcHBlZEhlYWRpbmc6IChcblx0XHRcdFx0XHRcdFx0XHRcdDxGbGV4Qm94IHJlbmRlclR5cGU9XCJCYXJlXCI+e3sgaXRlbXM6IFt0aGlzLmNyZWF0ZUF2YXRhcihmYWxzZSksIHRoaXMuZ2V0VGl0bGVQYXJ0KCldIH19PC9GbGV4Qm94PlxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0YWN0aW9uczogdGhpcy5hY3Rpb25zLmNvbmNhdCh0aGlzLmdldFNoYXJlQWN0aW9uKCkpXG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQ8L0R5bmFtaWNQYWdlVGl0bGU+XG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRoZWFkZXI6IDxEeW5hbWljUGFnZUhlYWRlcj57dGhpcy5jcmVhdGVBdmF0YXIodHJ1ZSl9PC9EeW5hbWljUGFnZUhlYWRlcj4sXG5cdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0PEZsZXhCb3ggaWQ9e3RoaXMuY3JlYXRlSWQoXCJjb250ZW50XCIpfSBkaXJlY3Rpb249XCJDb2x1bW5cIj5cblx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRpdGVtczogdGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGl0ZW0uYWRkU3R5bGVDbGFzcyhcInNhcFVpTWVkaXVtTWFyZ2luQm90dG9tXCIpO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW07XG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdDwvRmxleEJveD5cblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGRlcGVuZGVudHM6IFtcblx0XHRcdFx0XHRcdDxDb21tYW5kRXhlY3V0aW9uXG5cdFx0XHRcdFx0XHRcdGV4ZWN1dGU9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBvQ29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IG9Nb2RlbCA9IHRoaXMuZ2V0TW9kZWwoXCJ1aVwiKSE7XG5cdFx0XHRcdFx0XHRcdFx0QnVzeUxvY2tlci5sb2NrKG9Nb2RlbCk7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRQYWdlQ29udHJvbGxlcigpXG5cdFx0XHRcdFx0XHRcdFx0XHQ/LmVkaXRGbG93Py5lZGl0RG9jdW1lbnQob0NvbnRleHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQuZmluYWxseShmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKG9Nb2RlbCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdFx0ZW5hYmxlZD17dHJ1ZX1cblx0XHRcdFx0XHRcdFx0dmlzaWJsZT17dHJ1ZX1cblx0XHRcdFx0XHRcdFx0Y29tbWFuZD1cIkVkaXRcIlxuXHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH19XG5cdFx0XHQ8L0R5bmFtaWNQYWdlPlxuXHRcdCk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQkE7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUtxQkEsSUFBSSxJQUFBQyxJQUFBLEdBRHhCQyxjQUFjLENB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
222
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYWdlIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJhZ2dyZWdhdGlvbiIsInR5cGUiLCJtdWx0aXBsZSIsImlzRGVmYXVsdCIsIl9kZWMzIiwiX2RlYzQiLCJwcm9wZXJ0eSIsImlzQmluZGluZ0luZm8iLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJpZE9yU2V0dGluZ3MiLCJzZXR0aW5ncyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJjcmVhdGVDb250ZW50IiwiY3JlYXRlQXZhdGFyIiwiaXNFeHBhbmRlZCIsImF2YXRhclNyYyIsIl9qc3giLCJBdmF0YXIiLCJjbGFzcyIsInNyYyIsImRpc3BsYXlTaGFwZSIsIkF2YXRhclNoYXBlIiwiU3F1YXJlIiwiZGlzcGxheVNpemUiLCJBdmF0YXJTaXplIiwiWEwiLCJTIiwiY3JlYXRlVGl0bGUiLCJUaXRsZSIsInRleHQiLCJ0aXRsZSIsImNyZWF0ZURlc2NyaXB0aW9uIiwiTGFiZWwiLCJkZXNjcmlwdGlvbiIsImdldFRpdGxlUGFydCIsIkZsZXhCb3giLCJkaXJlY3Rpb24iLCJjaGlsZHJlbiIsIml0ZW1zIiwiT2JqZWN0VGl0bGUiLCJnZXRTaGFyZUFjdGlvbiIsIlNoYXJlIiwiaWQiLCJjcmVhdGVJZCIsInNoYXJlT3B0aW9ucyIsIlNoYXJlT3B0aW9ucyIsInNob3dTZW5kRW1haWwiLCJzaG93Q29sbGFib3JhdGlvbk1hbmFnZXIiLCJtc1RlYW1zT3B0aW9ucyIsIk1zVGVhbXNPcHRpb25zIiwiZW5hYmxlQ2FyZCIsIkR5bmFtaWNQYWdlIiwiRHluYW1pY1BhZ2VUaXRsZSIsImV4cGFuZGVkSGVhZGluZyIsInNuYXBwZWRIZWFkaW5nIiwicmVuZGVyVHlwZSIsImFjdGlvbnMiLCJjb25jYXQiLCJoZWFkZXIiLCJEeW5hbWljUGFnZUhlYWRlciIsIm1hcCIsIml0ZW0iLCJhZGRTdHlsZUNsYXNzIiwiZGVwZW5kZW50cyIsIkNvbW1hbmRFeGVjdXRpb24iLCJleGVjdXRlIiwib0NvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm9Nb2RlbCIsImdldE1vZGVsIiwiQnVzeUxvY2tlciIsImxvY2siLCJnZXRQYWdlQ29udHJvbGxlciIsImVkaXRGbG93IiwiZWRpdERvY3VtZW50IiwiZmluYWxseSIsInVubG9jayIsImVuYWJsZWQiLCJ2aXNpYmxlIiwiY29tbWFuZCIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEeW5hbWljUGFnZSBmcm9tIFwic2FwL2YvRHluYW1pY1BhZ2VcIjtcbmltcG9ydCBEeW5hbWljUGFnZUhlYWRlciBmcm9tIFwic2FwL2YvRHluYW1pY1BhZ2VIZWFkZXJcIjtcbmltcG9ydCBEeW5hbWljUGFnZVRpdGxlIGZyb20gXCJzYXAvZi9EeW5hbWljUGFnZVRpdGxlXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IEJ1c3lMb2NrZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0J1c3lMb2NrZXJcIjtcbmltcG9ydCBDb21tYW5kRXhlY3V0aW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9scy9Db21tYW5kRXhlY3V0aW9uXCI7XG5pbXBvcnQgT2JqZWN0VGl0bGUgZnJvbSBcInNhcC9mZS9tYWNyb3MvT2JqZWN0VGl0bGVcIjtcbmltcG9ydCBTaGFyZSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9TaGFyZVwiO1xuaW1wb3J0IFNoYXJlT3B0aW9ucyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9zaGFyZS9TaGFyZU9wdGlvbnNcIjtcbmltcG9ydCBBdmF0YXIgZnJvbSBcInNhcC9tL0F2YXRhclwiO1xuaW1wb3J0IEF2YXRhclNoYXBlIGZyb20gXCJzYXAvbS9BdmF0YXJTaGFwZVwiO1xuaW1wb3J0IEF2YXRhclNpemUgZnJvbSBcInNhcC9tL0F2YXRhclNpemVcIjtcbmltcG9ydCBGbGV4Qm94IGZyb20gXCJzYXAvbS9GbGV4Qm94XCI7XG5pbXBvcnQgTGFiZWwgZnJvbSBcInNhcC9tL0xhYmVsXCI7XG5pbXBvcnQgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBNc1RlYW1zT3B0aW9ucyBmcm9tIFwiLi9zaGFyZS9Nc1RlYW1zT3B0aW9uc1wiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIHVzZWQgdG8gY3JlYXRlIGEgY3VzdG9tIHBhZ2Ugd2l0aCBhIHRpdGxlIGFuZCB0aGUgY29udGVudC4gQnkgZGVmYXVsdCwgdGhlIHBhZ2UgaW5jbHVkZXMgYSB0aXRsZS5cbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5QYWdlXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYWdlIGV4dGVuZHMgQnVpbGRpbmdCbG9jayB7XG5cdC8qKlxuXHQgKiBDb250ZW50KHMpIG9mIHRoZSBwYWdlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLnVpLmNvcmUuQ29udHJvbFwiLCBtdWx0aXBsZTogdHJ1ZSwgaXNEZWZhdWx0OiB0cnVlIH0pXG5cdGl0ZW1zITogQ29udHJvbFtdO1xuXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5Db250cm9sXCIsIG11bHRpcGxlOiB0cnVlIH0pXG5cdGFjdGlvbnMhOiBDb250cm9sW107XG5cblx0LyoqXG5cdCAqIFRpdGxlIG9mIHRoZSBwYWdlLiBJZiBubyB0aXRsZSBpcyBwcm92aWRlZCwgdGhlIHRpdGxlLCBhdmF0YXIsIGFuZCBkZXNjcmlwdGlvbiBhcmUgZGVyaXZlZCBmcm9tIHRoZSB1bnF1YWxpZmllZCBIZWFkZXJJbmZvIGFubm90YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBlbnRpdHkuXG5cdCAqIENhbiBiZSBhIHN0cmluZyBvciBhIGJpbmRpbmcgaW5mbyBvYmplY3QuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRpc0JpbmRpbmdJbmZvOiB0cnVlXG5cdH0pXG5cdHRpdGxlPzogc3RyaW5nIHwgUHJvcGVydHlCaW5kaW5nSW5mbztcblxuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGVkaXRhYmxlID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgZGV0YWlscyBvZiB0aGUgcGFnZS4gVGhpcyBwcm9wZXJ0eSBpcyBjb25zaWRlcmVkIG9ubHkgaWYgdGhlIHRpdGxlIHByb3BlcnR5IGlzIGRlZmluZWQuXG5cdCAqIENhbiBiZSBhIHN0cmluZyBvciBhIGJpbmRpbmcgaW5mbyBvYmplY3QuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRpc0JpbmRpbmdJbmZvOiB0cnVlXG5cdH0pXG5cdGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTb3VyY2Ugb2YgdGhlIGF2YXRhciBpbWFnZS4gVGhpcyBwcm9wZXJ0eSBpcyBjb25zaWRlcmVkIG9ubHkgaWYgdGhlIHRpdGxlIHByb3BlcnR5IGlzIGRlZmluZWQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YXZhdGFyU3JjPzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKGlkT3JTZXR0aW5nczogc3RyaW5nKTtcblxuXHRjb25zdHJ1Y3RvcihpZE9yU2V0dGluZ3M6IFByb3BlcnRpZXNPZjxQYWdlPik7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzOiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8UGFnZT4sIHNldHRpbmdzPzogUHJvcGVydGllc09mPFBhZ2U+KSB7XG5cdFx0c3VwZXIoaWRPclNldHRpbmdzLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVBdmF0YXIoaXNFeHBhbmRlZDogYm9vbGVhbik6IEF2YXRhciB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuYXZhdGFyU3JjKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8QXZhdGFyXG5cdFx0XHRcdFx0Y2xhc3M9XCJzYXBVaVNtYWxsTWFyZ2luRW5kXCJcblx0XHRcdFx0XHRzcmM9e3RoaXMuYXZhdGFyU3JjfVxuXHRcdFx0XHRcdGRpc3BsYXlTaGFwZT17QXZhdGFyU2hhcGUuU3F1YXJlfVxuXHRcdFx0XHRcdGRpc3BsYXlTaXplPXtpc0V4cGFuZGVkID8gQXZhdGFyU2l6ZS5YTCA6IEF2YXRhclNpemUuU31cblx0XHRcdFx0Lz5cblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVUaXRsZSgpOiBUaXRsZSB7XG5cdFx0cmV0dXJuIDxUaXRsZSB0ZXh0PXt0aGlzLnRpdGxlfSAvPjtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlRGVzY3JpcHRpb24oKTogTGFiZWwge1xuXHRcdHJldHVybiA8TGFiZWwgdGV4dD17dGhpcy5kZXNjcmlwdGlvbn0gLz47XG5cdH1cblxuXHRwcml2YXRlIGdldFRpdGxlUGFydCgpOiBGbGV4Qm94IHwgT2JqZWN0VGl0bGUge1xuXHRcdGlmICh0aGlzLnRpdGxlICYmIHRoaXMuZGVzY3JpcHRpb24pIHtcblx0XHRcdHJldHVybiA8RmxleEJveCBkaXJlY3Rpb249XCJDb2x1bW5cIj57eyBpdGVtczogW3RoaXMuY3JlYXRlVGl0bGUoKSwgdGhpcy5jcmVhdGVEZXNjcmlwdGlvbigpXSB9fTwvRmxleEJveD47XG5cdFx0fSBlbHNlIGlmICh0aGlzLnRpdGxlKSB7XG5cdFx0XHRyZXR1cm4gPEZsZXhCb3ggZGlyZWN0aW9uPVwiQ29sdW1uXCI+e3sgaXRlbXM6IFt0aGlzLmNyZWF0ZVRpdGxlKCldIH19PC9GbGV4Qm94Pjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIDxPYmplY3RUaXRsZSAvPjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgU2hhcmUgYWN0aW9uIHdpdGggc2hhcmUgb3B0aW9ucy5cblx0ICogQHJldHVybnMgVGhlIFNoYXJlIGFjdGlvbiBjb250cm9sLlxuXHQgKi9cblx0Z2V0U2hhcmVBY3Rpb24oKTogQ29udHJvbCB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxTaGFyZSBpZD17dGhpcy5jcmVhdGVJZChcInNoYXJlXCIpfT5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRzaGFyZU9wdGlvbnM6IDxTaGFyZU9wdGlvbnMgc2hvd1NlbmRFbWFpbD1cInRydWVcIiBzaG93Q29sbGFib3JhdGlvbk1hbmFnZXI9XCJ0cnVlXCIgLz4sXG5cdFx0XHRcdFx0bXNUZWFtc09wdGlvbnM6IDxNc1RlYW1zT3B0aW9ucyBlbmFibGVDYXJkPVwiZmFsc2VcIiAvPlxuXHRcdFx0XHR9fVxuXHRcdFx0PC9TaGFyZT5cblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVDb250ZW50KCk6IER5bmFtaWNQYWdlIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PER5bmFtaWNQYWdlIGlkPXt0aGlzLmNyZWF0ZUlkKFwicGFnZVwiKX0+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0dGl0bGU6IChcblx0XHRcdFx0XHRcdDxEeW5hbWljUGFnZVRpdGxlIGlkPXt0aGlzLmNyZWF0ZUlkKFwidGl0bGVcIil9PlxuXHRcdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRcdGV4cGFuZGVkSGVhZGluZzogdGhpcy5nZXRUaXRsZVBhcnQoKSxcblx0XHRcdFx0XHRcdFx0XHRzbmFwcGVkSGVhZGluZzogKFxuXHRcdFx0XHRcdFx0XHRcdFx0PEZsZXhCb3ggcmVuZGVyVHlwZT1cIkJhcmVcIj57eyBpdGVtczogW3RoaXMuY3JlYXRlQXZhdGFyKGZhbHNlKSwgdGhpcy5nZXRUaXRsZVBhcnQoKV0gfX08L0ZsZXhCb3g+XG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRhY3Rpb25zOiB0aGlzLmFjdGlvbnMuY29uY2F0KHRoaXMuZ2V0U2hhcmVBY3Rpb24oKSlcblx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdDwvRHluYW1pY1BhZ2VUaXRsZT5cblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGhlYWRlcjogPER5bmFtaWNQYWdlSGVhZGVyPnt0aGlzLmNyZWF0ZUF2YXRhcih0cnVlKX08L0R5bmFtaWNQYWdlSGVhZGVyPixcblx0XHRcdFx0XHRjb250ZW50OiAoXG5cdFx0XHRcdFx0XHQ8RmxleEJveCBpZD17dGhpcy5jcmVhdGVJZChcImNvbnRlbnRcIil9IGRpcmVjdGlvbj1cIkNvbHVtblwiPlxuXHRcdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRcdGl0ZW1zOiB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0aXRlbS5hZGRTdHlsZUNsYXNzKFwic2FwVWlNZWRpdW1NYXJnaW5Cb3R0b21cIik7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gaXRlbTtcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0PC9GbGV4Qm94PlxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0ZGVwZW5kZW50czogW1xuXHRcdFx0XHRcdFx0PENvbW1hbmRFeGVjdXRpb25cblx0XHRcdFx0XHRcdFx0ZXhlY3V0ZT17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIENvbnRleHQ7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgb01vZGVsID0gdGhpcy5nZXRNb2RlbChcInVpXCIpITtcblx0XHRcdFx0XHRcdFx0XHRCdXN5TG9ja2VyLmxvY2sob01vZGVsKTtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldFBhZ2VDb250cm9sbGVyKClcblx0XHRcdFx0XHRcdFx0XHRcdD8uZWRpdEZsb3c/LmVkaXREb2N1bWVudChvQ29udGV4dClcblx0XHRcdFx0XHRcdFx0XHRcdC5maW5hbGx5KGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0QnVzeUxvY2tlci51bmxvY2sob01vZGVsKTtcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0XHRlbmFibGVkPXt0cnVlfVxuXHRcdFx0XHRcdFx0XHR2aXNpYmxlPXt0cnVlfVxuXHRcdFx0XHRcdFx0XHRjb21tYW5kPVwiRWRpdFwiXG5cdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fX1cblx0XHRcdDwvRHluYW1pY1BhZ2U+XG5cdFx0KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQXNCQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSxJQUFJLElBQUFDLElBQUEsR0FEeEJDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFBQyxLQUFBLEdBTW5DQyxXQUFXLENBQUM7SUFBRUMsSUFBSSxFQUFFLHFCQUFxQjtJQUFFQyxRQUFRLEVBQUUsSUFBSTtJQUFFQyxTQUFTLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU03RUosV0FBVyxDQUFDO0lBQUVDLElBQUksRUFBRSxxQkFBcUI7SUFBRUMsUUFBUSxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFHLEtBQUEsR0FRNURDLFFBQVEsQ0FBQztJQUNUTCxJQUFJLEVBQUUsUUFBUTtJQUNkTSxhQUFhLEVBQUU7RUFDaEIsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FNREYsUUFBUSxDQUFDO0lBQUVMLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBUSxLQUFBLEdBUTdCSCxRQUFRLENBQUM7SUFDVEwsSUFBSSxFQUFFLFFBQVE7SUFDZE0sYUFBYSxFQUFFO0VBQ2hCLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBT0RKLFFBQVEsQ0FBQztJQUFFTCxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUosSUFBQSxDQUFBYyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLGNBQUE7SUFPN0IsU0FBQWpCLEtBQVlrQixZQUF5QyxFQUFFQyxRQUE2QixFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUNyRkEsS0FBQSxHQUFBSCxjQUFBLENBQUFJLElBQUEsT0FBTUgsWUFBWSxFQUFFQyxR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
@@ -15,6 +15,7 @@ import AvatarSize from "sap/m/AvatarSize";
15
15
  import FlexBox from "sap/m/FlexBox";
16
16
  import Label from "sap/m/Label";
17
17
  import Title from "sap/m/Title";
18
+ import type { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
18
19
  import type Control from "sap/ui/core/Control";
19
20
  import type Context from "sap/ui/model/odata/v4/Context";
20
21
  import MsTeamsOptions from "./share/MsTeamsOptions";
@@ -40,10 +41,14 @@ export default class Page extends BuildingBlock {
40
41
 
41
42
  /**
42
43
  * Title of the page. If no title is provided, the title, avatar, and description are derived from the unqualified HeaderInfo annotation associated with the entity.
44
+ * Can be a string or a binding info object.
43
45
  * @public
44
46
  */
45
- @property({ type: "string" })
46
- title?: string;
47
+ @property({
48
+ type: "string",
49
+ isBindingInfo: true
50
+ })
51
+ title?: string | PropertyBindingInfo;
47
52
 
48
53
  /**
49
54
  * @private
@@ -53,9 +58,13 @@ export default class Page extends BuildingBlock {
53
58
 
54
59
  /**
55
60
  * Provides additional details of the page. This property is considered only if the title property is defined.
61
+ * Can be a string or a binding info object.
56
62
  * @public
57
63
  */
58
- @property({ type: "string" })
64
+ @property({
65
+ type: "string",
66
+ isBindingInfo: true
67
+ })
59
68
  description?: string;
60
69
 
61
70
  /**
@@ -110,7 +119,7 @@ export default class Page extends BuildingBlock {
110
119
 
111
120
  /**
112
121
  * Returns the Share action with share options.
113
- * @returns {Control} The Share action control
122
+ * @returns The Share action control.
114
123
  */
115
124
  getShareAction(): Control {
116
125
  return (
@@ -49,10 +49,6 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
49
49
  }), _dec9 = property({
50
50
  type: "boolean"
51
51
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
52
- /**
53
- * Timer to ensure that if the button groups are not added we restart the process.
54
- */
55
-
56
52
  function RichTextEditorBlock(properties, others) {
57
53
  var _this;
58
54
  properties._isInEditMode = compileExpression(UI.IsEditable);
@@ -161,12 +157,6 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
161
157
  ..._this.getPlugins(),
162
158
  buttonGroups: _this.buttonGroups.length > 0 ? [] : undefined
163
159
  });
164
- _this._editContent.attachReady(_this.addButtonGroups, _this);
165
- // Attach a timer to ensure that the button groups are added after the editor is ready
166
- clearTimeout(_this._buttonGroupsTimer);
167
- _this._buttonGroupsTimer = setTimeout(() => {
168
- _this.createContentDebounced();
169
- }, 2000);
170
160
  return _this._editContent;
171
161
  };
172
162
  return _this;
@@ -197,18 +187,26 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
197
187
  _BuildingBlock.prototype.setProperty.call(this, "readOnly", readOnly);
198
188
  this.createContentDebounced();
199
189
  };
190
+ _proto.onBeforeRendering = function onBeforeRendering(event) {
191
+ _BuildingBlock.prototype.onBeforeRendering.call(this, event);
192
+ this.content = this.createContent();
193
+ this._editContent?.attachReady(this.addButtonGroups, this);
194
+ }
195
+
200
196
  /**
201
197
  * Buttons groups need to be added when the RTE is ready, otherwise some of them are not available.
202
- */
198
+ */;
203
199
  _proto.addButtonGroups = function addButtonGroups() {
204
- clearTimeout(this._buttonGroupsTimer);
205
200
  const lateButtonGroups = this.getButtonGroups().reverse();
206
201
  // They also somehow need to be added in reverse because they also get added in the first place :D
207
202
  for (const lateButtonGroup of lateButtonGroups) {
208
203
  this._editContent?.addButtonGroup(lateButtonGroup);
209
204
  }
210
205
  this._editContent?.detachReady(this.addButtonGroups, this);
211
- this._editContent?.removeStyleClass("sapUiHidden");
206
+ setTimeout(() => {
207
+ // Delaying this ever so slightly is needed to avoid a flickering effect
208
+ this._editContent?.removeStyleClass("sapUiHidden");
209
+ }, 0);
212
210
  }
213
211
 
214
212
  /**
@@ -299,4 +297,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
299
297
  _exports = RichTextEditorBlock;
300
298
  return _exports;
301
299
  }, false);
302
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSaWNoVGV4dEVkaXRvckJsb2NrIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiaXNCaW5kaW5nSW5mbyIsIl9kZWM0IiwiX2RlYzUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQnV0dG9uR3JvdXAiLCJfZGVjNiIsIlBsdWdpbkRlZmluaXRpb24iLCJfZGVjNyIsIl9kZWM4IiwiYmluZGFibGUiLCJfZGVjOSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsInByb3BlcnRpZXMiLCJvdGhlcnMiLCJfdGhpcyIsIl9pc0luRWRpdE1vZGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIlVJIiwiSXNFZGl0YWJsZSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiZ2V0UGx1Z2lucyIsInBsdWdpbnNBcnJheSIsImV4Y2x1ZGVEZWZhdWx0UGx1Z2lucyIsIm1hcCIsIm5hbWUiLCJwbHVnaW5zIiwibGVuZ3RoIiwicGx1Z2luIiwicHVzaCIsImdldEJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwIiwidmlzaWJsZSIsInRvU3RyaW5nIiwicHJpb3JpdHkiLCJyb3ciLCJjdXN0b21Ub29sYmFyUHJpb3JpdHkiLCJidXR0b25zIiwic3BsaXQiLCJnZXRFZGl0Q29udGVudCIsIl9jbGVhbnVwUHJldmlvdXNSVEUiLCJfZWRpdENvbnRlbnQiLCJfanN4IiwiUmljaFRleHRFZGl0b3IiLCJjbGFzcyIsImlkIiwiY3JlYXRlSWQiLCJ2YWx1ZSIsImN1c3RvbVRvb2xiYXIiLCJlZGl0YWJsZSIsInNob3dHcm91cEZvbnRTdHlsZSIsInNob3dHcm91cFRleHRBbGlnbiIsInNob3dHcm91cFN0cnVjdHVyZSIsInNob3dHcm91cEZvbnQiLCJzaG93R3JvdXBDbGlwYm9hcmQiLCJzaG93R3JvdXBJbnNlcnQiLCJzaG93R3JvdXBMaW5rIiwic2hvd0dyb3VwVW5kbyIsInNhbml0aXplVmFsdWUiLCJ3cmFwcGluZyIsIndpZHRoIiwidW5kZWZpbmVkIiwiYXR0YWNoUmVhZHkiLCJhZGRCdXR0b25Hcm91cHMiLCJjbGVhclRpbWVvdXQiLCJfYnV0dG9uR3JvdXBzVGltZXIiLCJzZXRUaW1lb3V0IiwiY3JlYXRlQ29udGVudERlYm91bmNlZCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwiX293bmVyQ29tcG9uZW50IiwiX2NvbnRlbnRUaW1lciIsImNvbnRlbnQiLCJjcmVhdGVDb250ZW50IiwiZXhpdCIsIl9kaXNwbGF5Q29udGVudCIsImRlc3Ryb3kiLCJzZXRfaXNJbkVkaXRNb2RlIiwiaW5FZGl0TW9kZSIsInNldFByb3BlcnR5Iiwic2V0UmVhZE9ubHkiLCJyZWFkT25seSIsImxhdGVCdXR0b25Hcm91cHMiLCJyZXZlcnNlIiwibGF0ZUJ1dHRvbkdyb3VwIiwiYWRkQnV0dG9uR3JvdXAiLCJkZXRhY2hSZWFkeSIsInJlbW92ZVN0eWxlQ2xhc3MiLCJ3aW5kb3ciLCJ0aW55bWNlIiwiZ2V0IiwiZ2V0RGlzcGxheUNvbnRlbnQiLCJGb3JtYXR0ZWRUZXh0IiwiaHRtbFRleHQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJSaWNoVGV4dEVkaXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IFVJIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0hlbHBlclwiO1xuaW1wb3J0IEJ1dHRvbkdyb3VwIGZyb20gXCJzYXAvZmUvbWFjcm9zL3JpY2h0ZXh0ZWRpdG9yL0J1dHRvbkdyb3VwXCI7XG5pbXBvcnQgUGx1Z2luRGVmaW5pdGlvbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy9yaWNodGV4dGVkaXRvci9QbHVnaW5cIjtcbmltcG9ydCBGb3JtYXR0ZWRUZXh0IGZyb20gXCJzYXAvbS9Gb3JtYXR0ZWRUZXh0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgUmljaFRleHRFZGl0b3IgZnJvbSBcInNhcC91aS9yaWNodGV4dGVkaXRvci9SaWNoVGV4dEVkaXRvclwiO1xuXG50eXBlIFBsdWdpbkRlZmluaXRpb25EYXRhID0ge1xuXHRuYW1lOiBzdHJpbmc7XG59O1xudHlwZSBCdXR0b25Hcm91cERhdGEgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0dmlzaWJsZTogYm9vbGVhbjtcblx0cHJpb3JpdHk/OiBudW1iZXI7XG5cdHJvdz86IG51bWJlcjtcblx0Y3VzdG9tVG9vbGJhclByaW9yaXR5PzogbnVtYmVyO1xuXHRidXR0b25zOiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgdGhhdCBleHBvc2VzIHRoZSBSaWNoVGV4dEVkaXRvciBVSTUgY29udHJvbC5cbiAqXG4gKiBJdCdzIHVzZWQgdG8gZW50ZXIgZm9ybWF0dGVkIHRleHQsIGFuZCB1c2VzIHRoZSB0aGlyZC1wYXJ0eSBjb21wb25lbnQgY2FsbGVkIFRpbnlNQ0UuXG4gKiBAcHVibGljXG4gKiBAc2luY2UgMS4xMTcuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLlJpY2hUZXh0RWRpdG9yXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dEVkaXRvckJsb2NrIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxDb250cm9sPiB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgZWRpdG9yXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRpZCE6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIHZhbHVlIGNvbnRhaW5lZCBpbiB0aGUgZWRpdG9yLiBZb3UgY2FuIHVzZSB0aGlzIGF0dHJpYnV0ZSB0byBzZXQgYSBkZWZhdWx0IHZhbHVlLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImFueVwiLCBpc0JpbmRpbmdJbmZvOiB0cnVlIH0pXG5cdHZhbHVlPzogUHJvcGVydHlCaW5kaW5nSW5mbztcblxuXHQvKipcblx0ICogVXNlIHRoZSByZWFkT25seSBhdHRyaWJ1dGUgdG8gb3ZlcnJpZGUgdGhlIGVkaXQgZmxvdyBvZiB0aGUgcGFnZS5cblx0ICogQnkgc2V0dGluZyAncmVhZE9ubHknIHRvIHRydWUsIGEgRm9ybWF0dGVkVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIHRoZSBlZGl0b3IuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHJlYWRPbmx5OiBQcm9wZXJ0eUJpbmRpbmdJbmZvID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFdpdGggdGhlICdidXR0b25Hcm91cHMnIGF0dHJpYnV0ZSB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgYnV0dG9ucyB0aGF0IGFyZSBkaXNwbGF5ZWQgb24gdGhlIHRvb2xiYXIgb2YgdGhlIGVkaXRvci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLnJpY2h0ZXh0ZWRpdG9yLkJ1dHRvbkdyb3VwXCIsIG11bHRpcGxlOiB0cnVlLCBkZWZhdWx0Q2xhc3M6IEJ1dHRvbkdyb3VwIH0pXG5cdGJ1dHRvbkdyb3VwczogQnV0dG9uR3JvdXBbXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBXaXRoIHRoZSAncGx1Z2lucycgYXR0cmlidXRlIHlvdSBjYW4gY3VzdG9taXplIHRoZSBwbHVnaW5zIHRoYXQgd2lsbCBiZSBsb2FkZWQgYnkgdGhlIGVkaXRvci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLnJpY2h0ZXh0ZWRpdG9yLlBsdWdpblwiLCBtdWx0aXBsZTogdHJ1ZSwgZGVmYXVsdENsYXNzOiBQbHVnaW5EZWZpbml0aW9uIH0pXG5cdHBsdWdpbnM/OiBQbHVnaW5EZWZpbml0aW9uW107XG5cblx0LyoqXG5cdCAqIFdpdGggdGhlICdleGNsdWRlRGVmYXVsdFBsdWdpbnMnIHlvdSBjYW4gYXNrIHRvIHJlbW92ZSB0aGUgcGx1Z2lucyB0aGF0IHdpbGwgYmUgYWRkZWQgYnkgZGVmYXVsdFxuXHQgKiBUaGUgZGVmYXVsdCBwbHVnaW5zIGFyZSBcImVtb3RpY29uc1wiIFwiZGlyZWN0aW9uYWxpdHlcIiBcImltYWdlXCIgXCJ0YWJsZVwiIFwibGlua1wiIFwicG93ZXJwYXN0ZVwiLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRleGNsdWRlRGVmYXVsdFBsdWdpbnMgPSBmYWxzZTtcblxuXHQvKipcblx0ICogVXNlIHRoZSAncmVxdWlyZWQnIGF0dHJpYnV0ZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZWRpdG9yIGlzIGZpbGxlZCB3aXRoIHNvbWUgdGV4dC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJhbnlcIiwgYmluZGFibGU6IGZhbHNlIH0pXG5cdHJlcXVpcmVkOiBQcm9wZXJ0eUJpbmRpbmdJbmZvID0gZmFsc2U7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0X2lzSW5FZGl0TW9kZTogUHJvcGVydHlCaW5kaW5nSW5mbyA9IGZhbHNlO1xuXG5cdHByaXZhdGUgX2Rpc3BsYXlDb250ZW50PzogRm9ybWF0dGVkVGV4dDtcblxuXHRwcml2YXRlIF9lZGl0Q29udGVudD86IFJpY2hUZXh0RWRpdG9yO1xuXG5cdHByaXZhdGUgX2NvbnRlbnRUaW1lcj86IG51bWJlcjtcblxuXHQvKipcblx0ICogVGltZXIgdG8gZW5zdXJlIHRoYXQgaWYgdGhlIGJ1dHRvbiBncm91cHMgYXJlIG5vdCBhZGRlZCB3ZSByZXN0YXJ0IHRoZSBwcm9jZXNzLlxuXHQgKi9cblx0cHJpdmF0ZSBfYnV0dG9uR3JvdXBzVGltZXI/OiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxSaWNoVGV4dEVkaXRvckJsb2NrPiwgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHByb3BlcnRpZXMuX2lzSW5FZGl0TW9kZSA9IGNvbXBpbGVFeHByZXNzaW9uKFVJLklzRWRpdGFibGUpO1xuXHRcdHN1cGVyKHByb3BlcnRpZXMsIG90aGVycyk7XG5cdH1cblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQpOiB2b2lkIHtcblx0XHRzdXBlci5vbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudCk7XG5cdH1cblxuXHRjcmVhdGVDb250ZW50RGVib3VuY2VkKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9jb250ZW50VGltZXIpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLl9jb250ZW50VGltZXIpO1xuXHRcdH1cblx0XHR0aGlzLl9jb250ZW50VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdH0sIDIwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdH1cblxuXHRleGl0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Rpc3BsYXlDb250ZW50Py5kZXN0cm95KCk7XG5cdFx0dGhpcy5fZWRpdENvbnRlbnQ/LmRlc3Ryb3koKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdGhhdCByZXR1cm5zIHRoZSBidXR0b24gY3VzdG9taXphdGlvbnMgZm9yIHRoZSBlZGl0b3IgdG9vbGJhci5cblx0ICogQmVjYXVzZSBhbGwgdmFsdWVzIGNvbWUgYXMgc3RyaW5ncyBmcm9tIFhNTCwgc29tZSBwYXJzaW5nIG5lZWRzIHRvIGJlIGRvbmUgdG8gZ2V0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldFBsdWdpbnMgPSAoKTogeyBwbHVnaW5zPzogUGx1Z2luRGVmaW5pdGlvbkRhdGFbXSB9ID0+IHtcblx0XHRsZXQgcGx1Z2luc0FycmF5OiBQbHVnaW5EZWZpbml0aW9uRGF0YVtdIHwgdW5kZWZpbmVkO1xuXHRcdGlmICh0aGlzLmV4Y2x1ZGVEZWZhdWx0UGx1Z2lucykge1xuXHRcdFx0cGx1Z2luc0FycmF5ID0gW107XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBsdWdpbnNBcnJheSA9IFtcImVtb3RpY29uc1wiLCBcImRpcmVjdGlvbmFsaXR5XCIsIFwiaW1hZ2VcIiwgXCJ0YWJsZVwiLCBcImxpbmtcIiwgXCJwb3dlcnBhc3RlXCJdLm1hcCgobmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7IG5hbWU6IG5hbWUgfTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5wbHVnaW5zPy5sZW5ndGgpIHtcblx0XHRcdGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuXHRcdFx0XHRwbHVnaW5zQXJyYXkucHVzaChwbHVnaW4pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4geyBwbHVnaW5zOiBwbHVnaW5zQXJyYXkgfTtcblx0fTtcblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgYnV0dG9uIGN1c3RvbWl6YXRpb25zIGZvciB0aGUgZWRpdG9yIHRvb2xiYXIuXG5cdCAqIEJlY2F1c2UgYWxsIHZhbHVlcyBhcmUgcmV0dXJuZWQgYXMgc3RyaW5ncyBmcm9tIFhNTCwgcGFyc2luZyBpcyBuZWVkZWQgdG8gcmV0dXJuIGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldEJ1dHRvbkdyb3VwcyA9ICgpOiBCdXR0b25Hcm91cERhdGFbXSA9PiB7XG5cdFx0aWYgKHRoaXMuYnV0dG9uR3JvdXBzICYmIHRoaXMuYnV0dG9uR3JvdXBzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1dHRvbkdyb3Vwcy5tYXAoKGJ1dHRvbkdyb3VwOiBCdXR0b25Hcm91cCkgPT4gKHtcblx0XHRcdFx0bmFtZTogYnV0dG9uR3JvdXAubmFtZSA/PyBcIlwiLFxuXHRcdFx0XHR2aXNpYmxlOiBidXR0b25Hcm91cC52aXNpYmxlPy50b1N0cmluZygpID09PSBcInRydWVcIixcblx0XHRcdFx0cHJpb3JpdHk6IGJ1dHRvbkdyb3VwLnByaW9yaXR5LFxuXHRcdFx0XHRyb3c6IGJ1dHRvbkdyb3VwLnJvdyxcblx0XHRcdFx0Y3VzdG9tVG9vbGJhclByaW9yaXR5OiBidXR0b25Hcm91cC5jdXN0b21Ub29sYmFyUHJpb3JpdHksXG5cdFx0XHRcdGJ1dHRvbnM6IGJ1dHRvbkdyb3VwLmJ1dHRvbnM/LnNwbGl0KFwiLFwiKSB8fCBbXVxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gW107XG5cdH07XG5cblx0c2V0X2lzSW5FZGl0TW9kZShpbkVkaXRNb2RlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0c3VwZXIuc2V0UHJvcGVydHkoXCJfaXNJbkVkaXRNb2RlXCIsIGluRWRpdE1vZGUpO1xuXHRcdHRoaXMuY3JlYXRlQ29udGVudERlYm91bmNlZCgpO1xuXHR9XG5cblx0c2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRzdXBlci5zZXRQcm9wZXJ0eShcInJlYWRPbmx5XCIsIHJlYWRPbmx5KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnREZWJvdW5jZWQoKTtcblx0fVxuXG5cdGdldEVkaXRDb250ZW50ID0gKCk6IFJpY2hUZXh0RWRpdG9yID0+IHtcblx0XHR0aGlzLl9jbGVhbnVwUHJldmlvdXNSVEUoKTtcblxuXHRcdHRoaXMuX2VkaXRDb250ZW50ID0gKFxuXHRcdFx0PFJpY2hUZXh0RWRpdG9yXG5cdFx0XHRcdGNsYXNzPXtcInNhcFVpSGlkZGVuXCJ9XG5cdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKFwiX3J0ZVwiKX1cblx0XHRcdFx0dmFsdWU9e3RoaXMudmFsdWV9XG5cdFx0XHRcdHZpc2libGU9e3RydWV9XG5cdFx0XHRcdGN1c3RvbVRvb2xiYXI9e3RydWV9XG5cdFx0XHRcdGVkaXRhYmxlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250U3R5bGU9e3RydWV9XG5cdFx0XHRcdHNob3dHcm91cFRleHRBbGlnbj17dHJ1ZX1cblx0XHRcdFx0c2hvd0dyb3VwU3RydWN0dXJlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250PXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwQ2xpcGJvYXJkPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBJbnNlcnQ9e2ZhbHNlfVxuXHRcdFx0XHRzaG93R3JvdXBMaW5rPXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwVW5kbz17ZmFsc2V9XG5cdFx0XHRcdHNhbml0aXplVmFsdWU9e3RydWV9XG5cdFx0XHRcdHdyYXBwaW5nPXt0cnVlfVxuXHRcdFx0XHR3aWR0aD17XCIxMDAlXCJ9XG5cdFx0XHRcdHJlcXVpcmVkPXt0aGlzLnJlcXVpcmVkfVxuXHRcdFx0XHR7Li4udGhpcy5nZXRQbHVnaW5zKCl9XG5cdFx0XHRcdGJ1dHRvbkdyb3Vwcz17dGhpcy5idXR0b25Hcm91cHMubGVuZ3RoID4gMCA/IFtdIDogdW5kZWZpbmVkfVxuXHRcdFx0Lz5cblx0XHQpIGFzIFJpY2hUZXh0RWRpdG9yO1xuXG5cdFx0dGhpcy5fZWRpdENvbnRlbnQuYXR0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdC8vIEF0dGFjaCBhIHRpbWVyIHRvIGVuc3VyZSB0aGF0IHRoZSBidXR0b24gZ3JvdXBzIGFyZSBhZGRlZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlYWR5XG5cdFx0Y2xlYXJUaW1lb3V0KHRoaXMuX2J1dHRvbkdyb3Vwc1RpbWVyKTtcblx0XHR0aGlzLl9idXR0b25Hcm91cHNUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5jcmVhdGVDb250ZW50RGVib3VuY2VkKCk7XG5cdFx0fSwgMjAwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdFx0cmV0dXJuIHRoaXMuX2VkaXRDb250ZW50O1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBCdXR0b25zIGdyb3VwcyBuZWVkIHRvIGJlIGFkZGVkIHdoZW4gdGhlIFJURSBpcyByZWFkeSwgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZS5cblx0ICovXG5cdGFkZEJ1dHRvbkdyb3VwcygpOiB2b2lkIHtcblx0XHRjbGVhclRpbWVvdXQodGhpcy5fYnV0dG9uR3JvdXBzVGltZXIpO1xuXHRcdGNvbnN0IGxhdGVCdXR0b25Hcm91cHMgPSB0aGlzLmdldEJ1dHRvbkdyb3VwcygpLnJldmVyc2UoKTtcblx0XHQvLyBUaGV5IGFsc28gc29tZWhvdyBuZWVkIHRvIGJlIGFkZGVkIGluIHJldmVyc2UgYmVjYXVzZSB0aGV5IGFsc28gZ2V0IGFkZGVkIGluIHRoZSBmaXJzdCBwbGFjZSA6RFxuXHRcdGZvciAoY29uc3QgbGF0ZUJ1dHRvbkdyb3VwIG9mIGxhdGVCdXR0b25Hcm91cHMpIHtcblx0XHRcdHRoaXMuX2VkaXRDb250ZW50Py5hZGRCdXR0b25Hcm91cChsYXRlQnV0dG9uR3JvdXApO1xuXHRcdH1cblx0XHR0aGlzLl9lZGl0Q29udGVudD8uZGV0YWNoUmVhZHkodGhpcy5hZGRCdXR0b25Hcm91cHMsIHRoaXMpO1xuXHRcdHRoaXMuX2VkaXRDb250ZW50Py5yZW1vdmVTdHlsZUNsYXNzKFwic2FwVWlIaWRkZW5cIik7XG5cdH1cblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgY2xlYW5zIHVwIHRoZSBwcmV2aW91cyByaWNoIHRleHQgZWRpdG9yIGluc3RhbmNlLlxuXHQgKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoZSBSaWNoVGV4dEVkaXRvciBjb250cm9sIGRvZXMgbm90IGFsd2F5cyBkZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlLFxuXHQgKiB3aGljaCBjYW4gbGVhZCB0byBpc3N1ZXMgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBlZGl0IGFuZCBkaXNwbGF5IG1vZGVzLlxuXHQgKi9cblx0X2NsZWFudXBQcmV2aW91c1JURSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fZWRpdENvbnRlbnQpIHtcblx0XHRcdC8vIEl0J3MgYmV0dGVyIHRvIGRlc3Ryb3kgdGhlIHJpY2ggdGV4dCBlZGl0b3IgYXMgaW4gc29tZSBjYXNlIHdpdGggc2xvdyBtYWNoaW5lIHN3aXRjaGluZyBiZXR3ZWVuIGVkaXQgYW5kIGRpc3BsYXkgbWF5IGJyZWFrIGl0XG5cdFx0XHR0aGlzLl9lZGl0Q29udGVudC5kZXN0cm95KCk7XG5cdFx0XHQvLyBEZXN0cm95IHRoZSBUaW55TUNFIGluc3RhbmNlIGFzIHdlbGxcblx0XHRcdC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIFJpY2hUZXh0RWRpdG9yIGNvbnRyb2wgZG9lcyBub3QgYWx3YXlzIGRlc3Ryb3kgdGhlIFRpbnlNQ0UgaW5zdGFuY2Vcblx0XHR9XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHR3aW5kb3cudGlueW1jZT8uZ2V0KHRoaXMuY3JlYXRlSWQoXCJfcnRlXCIpICsgXCItdGV4dGFyZWFcIik/LmRlc3Ryb3koKTtcblx0fVxuXG5cdGdldERpc3BsYXlDb250ZW50KCk6IEZvcm1hdHRlZFRleHQge1xuXHRcdGlmICh0aGlzLl9kaXNwbGF5Q29udGVudCkge1xuXHRcdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQuZGVzdHJveSgpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2NsZWFudXBQcmV2aW91c1JURSgpO1xuXG5cdFx0dGhpcy5fZGlzcGxheUNvbnRlbnQgPSAoPEZvcm1hdHRlZFRleHQgaHRtbFRleHQ9e3RoaXMudmFsdWV9IC8+KSBhcyBGb3JtYXR0ZWRUZXh0O1xuXHRcdHJldHVybiB0aGlzLl9kaXNwbGF5Q29udGVudDtcblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogUmljaFRleHRFZGl0b3IgfCBGb3JtYXR0ZWRUZXh0IHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5faXNJbkVkaXRNb2RlICYmICF0aGlzLnJlYWRPbmx5KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRFZGl0Q29udGVudCgpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXREaXNwbGF5Q29udGVudCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBWUE7RUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUXFCQSxtQkFBbUIsSUFBQUMsSUFBQSxHQUR2Q0MsY0FBYyxDQUFDLDhCQUE4QixDQUFDLEVBQUFDLEtBQUEsR0FLN0NDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81Q0gsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxLQUFLO0lBQUVHLGFBQWEsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBUTlDTCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFLLEtBQUEsR0FPN0JDLFdBQVcsQ0FBQztJQUFFTixJQUFJLEVBQUUsMENBQTBDO0lBQUVPLFFBQVEsRUFBRSxJQUFJO0lBQUVDLFlBQVksRUFBRUM7RUFBWSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81R0osV0FBVyxDQUFDO0lBQUVOLElBQUksRUFBRSxxQ0FBcUM7SUFBRU8sUUFBUSxFQUFFLElBQUk7SUFBRUMsWUFBWSxFQUFFRztFQUFpQixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQVE1R2IsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBYSxLQUFBLEdBTzdCZCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLEtBQUs7SUFBRWMsUUFBUSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHMUNoQixRQUFRLENBQUM7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
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSaWNoVGV4dEVkaXRvckJsb2NrIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiaXNCaW5kaW5nSW5mbyIsIl9kZWM0IiwiX2RlYzUiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQnV0dG9uR3JvdXAiLCJfZGVjNiIsIlBsdWdpbkRlZmluaXRpb24iLCJfZGVjNyIsIl9kZWM4IiwiYmluZGFibGUiLCJfZGVjOSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsInByb3BlcnRpZXMiLCJvdGhlcnMiLCJfdGhpcyIsIl9pc0luRWRpdE1vZGUiLCJjb21waWxlRXhwcmVzc2lvbiIsIlVJIiwiSXNFZGl0YWJsZSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiZ2V0UGx1Z2lucyIsInBsdWdpbnNBcnJheSIsImV4Y2x1ZGVEZWZhdWx0UGx1Z2lucyIsIm1hcCIsIm5hbWUiLCJwbHVnaW5zIiwibGVuZ3RoIiwicGx1Z2luIiwicHVzaCIsImdldEJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwcyIsImJ1dHRvbkdyb3VwIiwidmlzaWJsZSIsInRvU3RyaW5nIiwicHJpb3JpdHkiLCJyb3ciLCJjdXN0b21Ub29sYmFyUHJpb3JpdHkiLCJidXR0b25zIiwic3BsaXQiLCJnZXRFZGl0Q29udGVudCIsIl9jbGVhbnVwUHJldmlvdXNSVEUiLCJfZWRpdENvbnRlbnQiLCJfanN4IiwiUmljaFRleHRFZGl0b3IiLCJjbGFzcyIsImlkIiwiY3JlYXRlSWQiLCJ2YWx1ZSIsImN1c3RvbVRvb2xiYXIiLCJlZGl0YWJsZSIsInNob3dHcm91cEZvbnRTdHlsZSIsInNob3dHcm91cFRleHRBbGlnbiIsInNob3dHcm91cFN0cnVjdHVyZSIsInNob3dHcm91cEZvbnQiLCJzaG93R3JvdXBDbGlwYm9hcmQiLCJzaG93R3JvdXBJbnNlcnQiLCJzaG93R3JvdXBMaW5rIiwic2hvd0dyb3VwVW5kbyIsInNhbml0aXplVmFsdWUiLCJ3cmFwcGluZyIsIndpZHRoIiwidW5kZWZpbmVkIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJfb3duZXJDb21wb25lbnQiLCJjcmVhdGVDb250ZW50RGVib3VuY2VkIiwiX2NvbnRlbnRUaW1lciIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsImV4aXQiLCJfZGlzcGxheUNvbnRlbnQiLCJkZXN0cm95Iiwic2V0X2lzSW5FZGl0TW9kZSIsImluRWRpdE1vZGUiLCJzZXRQcm9wZXJ0eSIsInNldFJlYWRPbmx5IiwicmVhZE9ubHkiLCJvbkJlZm9yZVJlbmRlcmluZyIsImV2ZW50IiwiYXR0YWNoUmVhZHkiLCJhZGRCdXR0b25Hcm91cHMiLCJsYXRlQnV0dG9uR3JvdXBzIiwicmV2ZXJzZSIsImxhdGVCdXR0b25Hcm91cCIsImFkZEJ1dHRvbkdyb3VwIiwiZGV0YWNoUmVhZHkiLCJyZW1vdmVTdHlsZUNsYXNzIiwid2luZG93IiwidGlueW1jZSIsImdldCIsImdldERpc3BsYXlDb250ZW50IiwiRm9ybWF0dGVkVGV4dCIsImh0bWxUZXh0IiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiUmljaFRleHRFZGl0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgeyBVSSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdIZWxwZXJcIjtcbmltcG9ydCBCdXR0b25Hcm91cCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9yaWNodGV4dGVkaXRvci9CdXR0b25Hcm91cFwiO1xuaW1wb3J0IFBsdWdpbkRlZmluaXRpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvcmljaHRleHRlZGl0b3IvUGx1Z2luXCI7XG5pbXBvcnQgRm9ybWF0dGVkVGV4dCBmcm9tIFwic2FwL20vRm9ybWF0dGVkVGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUJpbmRpbmdJbmZvIH0gZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IFJpY2hUZXh0RWRpdG9yIGZyb20gXCJzYXAvdWkvcmljaHRleHRlZGl0b3IvUmljaFRleHRFZGl0b3JcIjtcblxudHlwZSBQbHVnaW5EZWZpbml0aW9uRGF0YSA9IHtcblx0bmFtZTogc3RyaW5nO1xufTtcbnR5cGUgQnV0dG9uR3JvdXBEYXRhID0ge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZpc2libGU6IGJvb2xlYW47XG5cdHByaW9yaXR5PzogbnVtYmVyO1xuXHRyb3c/OiBudW1iZXI7XG5cdGN1c3RvbVRvb2xiYXJQcmlvcml0eT86IG51bWJlcjtcblx0YnV0dG9uczogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIHRoYXQgZXhwb3NlcyB0aGUgUmljaFRleHRFZGl0b3IgVUk1IGNvbnRyb2wuXG4gKlxuICogSXQncyB1c2VkIHRvIGVudGVyIGZvcm1hdHRlZCB0ZXh0LCBhbmQgdXNlcyB0aGUgdGhpcmQtcGFydHkgY29tcG9uZW50IGNhbGxlZCBUaW55TUNFLlxuICogQHB1YmxpY1xuICogQHNpbmNlIDEuMTE3LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5SaWNoVGV4dEVkaXRvclwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmljaFRleHRFZGl0b3JCbG9jayBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8Q29udHJvbD4ge1xuXHQvKipcblx0ICogSUQgb2YgdGhlIGVkaXRvclxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0aWQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRoZSB2YWx1ZSBjb250YWluZWQgaW4gdGhlIGVkaXRvci4gWW91IGNhbiB1c2UgdGhpcyBhdHRyaWJ1dGUgdG8gc2V0IGEgZGVmYXVsdCB2YWx1ZS5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJhbnlcIiwgaXNCaW5kaW5nSW5mbzogdHJ1ZSB9KVxuXHR2YWx1ZT86IFByb3BlcnR5QmluZGluZ0luZm87XG5cblx0LyoqXG5cdCAqIFVzZSB0aGUgcmVhZE9ubHkgYXR0cmlidXRlIHRvIG92ZXJyaWRlIHRoZSBlZGl0IGZsb3cgb2YgdGhlIHBhZ2UuXG5cdCAqIEJ5IHNldHRpbmcgJ3JlYWRPbmx5JyB0byB0cnVlLCBhIEZvcm1hdHRlZFRleHQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGVhZCBvZiB0aGUgZWRpdG9yLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRyZWFkT25seTogUHJvcGVydHlCaW5kaW5nSW5mbyA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBXaXRoIHRoZSAnYnV0dG9uR3JvdXBzJyBhdHRyaWJ1dGUgeW91IGNhbiBjdXN0b21pemUgdGhlIGJ1dHRvbnMgdGhhdCBhcmUgZGlzcGxheWVkIG9uIHRoZSB0b29sYmFyIG9mIHRoZSBlZGl0b3IuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLmZlLm1hY3Jvcy5yaWNodGV4dGVkaXRvci5CdXR0b25Hcm91cFwiLCBtdWx0aXBsZTogdHJ1ZSwgZGVmYXVsdENsYXNzOiBCdXR0b25Hcm91cCB9KVxuXHRidXR0b25Hcm91cHM6IEJ1dHRvbkdyb3VwW10gPSBbXTtcblxuXHQvKipcblx0ICogV2l0aCB0aGUgJ3BsdWdpbnMnIGF0dHJpYnV0ZSB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgcGx1Z2lucyB0aGF0IHdpbGwgYmUgbG9hZGVkIGJ5IHRoZSBlZGl0b3IuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLmZlLm1hY3Jvcy5yaWNodGV4dGVkaXRvci5QbHVnaW5cIiwgbXVsdGlwbGU6IHRydWUsIGRlZmF1bHRDbGFzczogUGx1Z2luRGVmaW5pdGlvbiB9KVxuXHRwbHVnaW5zPzogUGx1Z2luRGVmaW5pdGlvbltdO1xuXG5cdC8qKlxuXHQgKiBXaXRoIHRoZSAnZXhjbHVkZURlZmF1bHRQbHVnaW5zJyB5b3UgY2FuIGFzayB0byByZW1vdmUgdGhlIHBsdWdpbnMgdGhhdCB3aWxsIGJlIGFkZGVkIGJ5IGRlZmF1bHRcblx0ICogVGhlIGRlZmF1bHQgcGx1Z2lucyBhcmUgXCJlbW90aWNvbnNcIiBcImRpcmVjdGlvbmFsaXR5XCIgXCJpbWFnZVwiIFwidGFibGVcIiBcImxpbmtcIiBcInBvd2VycGFzdGVcIi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZXhjbHVkZURlZmF1bHRQbHVnaW5zID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIFVzZSB0aGUgJ3JlcXVpcmVkJyBhdHRyaWJ1dGUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGVkaXRvciBpcyBmaWxsZWQgd2l0aCBzb21lIHRleHQuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYW55XCIsIGJpbmRhYmxlOiBmYWxzZSB9KVxuXHRyZXF1aXJlZDogUHJvcGVydHlCaW5kaW5nSW5mbyA9IGZhbHNlO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdF9pc0luRWRpdE1vZGU6IFByb3BlcnR5QmluZGluZ0luZm8gPSBmYWxzZTtcblxuXHRwcml2YXRlIF9kaXNwbGF5Q29udGVudD86IEZvcm1hdHRlZFRleHQ7XG5cblx0cHJpdmF0ZSBfZWRpdENvbnRlbnQ/OiBSaWNoVGV4dEVkaXRvcjtcblxuXHRwcml2YXRlIF9jb250ZW50VGltZXI/OiBudW1iZXI7XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxSaWNoVGV4dEVkaXRvckJsb2NrPiwgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHByb3BlcnRpZXMuX2lzSW5FZGl0TW9kZSA9IGNvbXBpbGVFeHByZXNzaW9uKFVJLklzRWRpdGFibGUpO1xuXHRcdHN1cGVyKHByb3BlcnRpZXMsIG90aGVycyk7XG5cdH1cblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudDogVGVtcGxhdGVDb21wb25lbnQpOiB2b2lkIHtcblx0XHRzdXBlci5vbk1ldGFkYXRhQXZhaWxhYmxlKF9vd25lckNvbXBvbmVudCk7XG5cdH1cblxuXHRjcmVhdGVDb250ZW50RGVib3VuY2VkKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9jb250ZW50VGltZXIpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLl9jb250ZW50VGltZXIpO1xuXHRcdH1cblx0XHR0aGlzLl9jb250ZW50VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29udGVudCgpO1xuXHRcdH0sIDIwMCkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cdH1cblxuXHRleGl0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Rpc3BsYXlDb250ZW50Py5kZXN0cm95KCk7XG5cdFx0dGhpcy5fZWRpdENvbnRlbnQ/LmRlc3Ryb3koKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdGhhdCByZXR1cm5zIHRoZSBidXR0b24gY3VzdG9taXphdGlvbnMgZm9yIHRoZSBlZGl0b3IgdG9vbGJhci5cblx0ICogQmVjYXVzZSBhbGwgdmFsdWVzIGNvbWUgYXMgc3RyaW5ncyBmcm9tIFhNTCwgc29tZSBwYXJzaW5nIG5lZWRzIHRvIGJlIGRvbmUgdG8gZ2V0IGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldFBsdWdpbnMgPSAoKTogeyBwbHVnaW5zPzogUGx1Z2luRGVmaW5pdGlvbkRhdGFbXSB9ID0+IHtcblx0XHRsZXQgcGx1Z2luc0FycmF5OiBQbHVnaW5EZWZpbml0aW9uRGF0YVtdIHwgdW5kZWZpbmVkO1xuXHRcdGlmICh0aGlzLmV4Y2x1ZGVEZWZhdWx0UGx1Z2lucykge1xuXHRcdFx0cGx1Z2luc0FycmF5ID0gW107XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBsdWdpbnNBcnJheSA9IFtcImVtb3RpY29uc1wiLCBcImRpcmVjdGlvbmFsaXR5XCIsIFwiaW1hZ2VcIiwgXCJ0YWJsZVwiLCBcImxpbmtcIiwgXCJwb3dlcnBhc3RlXCJdLm1hcCgobmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7IG5hbWU6IG5hbWUgfTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5wbHVnaW5zPy5sZW5ndGgpIHtcblx0XHRcdGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuXHRcdFx0XHRwbHVnaW5zQXJyYXkucHVzaChwbHVnaW4pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4geyBwbHVnaW5zOiBwbHVnaW5zQXJyYXkgfTtcblx0fTtcblxuXHQvKipcblx0ICogTWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgYnV0dG9uIGN1c3RvbWl6YXRpb25zIGZvciB0aGUgZWRpdG9yIHRvb2xiYXIuXG5cdCAqIEJlY2F1c2UgYWxsIHZhbHVlcyBhcmUgcmV0dXJuZWQgYXMgc3RyaW5ncyBmcm9tIFhNTCwgcGFyc2luZyBpcyBuZWVkZWQgdG8gcmV0dXJuIGF0dHJpYnV0ZXMgd2l0aCB0aGUgY29ycmVjdCB0eXBlLlxuXHQgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGdyb3Vwcy5cblx0ICovXG5cdGdldEJ1dHRvbkdyb3VwcyA9ICgpOiBCdXR0b25Hcm91cERhdGFbXSA9PiB7XG5cdFx0aWYgKHRoaXMuYnV0dG9uR3JvdXBzICYmIHRoaXMuYnV0dG9uR3JvdXBzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLmJ1dHRvbkdyb3Vwcy5tYXAoKGJ1dHRvbkdyb3VwOiBCdXR0b25Hcm91cCkgPT4gKHtcblx0XHRcdFx0bmFtZTogYnV0dG9uR3JvdXAubmFtZSA/PyBcIlwiLFxuXHRcdFx0XHR2aXNpYmxlOiBidXR0b25Hcm91cC52aXNpYmxlPy50b1N0cmluZygpID09PSBcInRydWVcIixcblx0XHRcdFx0cHJpb3JpdHk6IGJ1dHRvbkdyb3VwLnByaW9yaXR5LFxuXHRcdFx0XHRyb3c6IGJ1dHRvbkdyb3VwLnJvdyxcblx0XHRcdFx0Y3VzdG9tVG9vbGJhclByaW9yaXR5OiBidXR0b25Hcm91cC5jdXN0b21Ub29sYmFyUHJpb3JpdHksXG5cdFx0XHRcdGJ1dHRvbnM6IGJ1dHRvbkdyb3VwLmJ1dHRvbnM/LnNwbGl0KFwiLFwiKSB8fCBbXVxuXHRcdFx0fSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gW107XG5cdH07XG5cblx0c2V0X2lzSW5FZGl0TW9kZShpbkVkaXRNb2RlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0c3VwZXIuc2V0UHJvcGVydHkoXCJfaXNJbkVkaXRNb2RlXCIsIGluRWRpdE1vZGUpO1xuXHRcdHRoaXMuY3JlYXRlQ29udGVudERlYm91bmNlZCgpO1xuXHR9XG5cblx0c2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRzdXBlci5zZXRQcm9wZXJ0eShcInJlYWRPbmx5XCIsIHJlYWRPbmx5KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnREZWJvdW5jZWQoKTtcblx0fVxuXG5cdGdldEVkaXRDb250ZW50ID0gKCk6IFJpY2hUZXh0RWRpdG9yID0+IHtcblx0XHR0aGlzLl9jbGVhbnVwUHJldmlvdXNSVEUoKTtcblxuXHRcdHRoaXMuX2VkaXRDb250ZW50ID0gKFxuXHRcdFx0PFJpY2hUZXh0RWRpdG9yXG5cdFx0XHRcdGNsYXNzPXtcInNhcFVpSGlkZGVuXCJ9XG5cdFx0XHRcdGlkPXt0aGlzLmNyZWF0ZUlkKFwiX3J0ZVwiKX1cblx0XHRcdFx0dmFsdWU9e3RoaXMudmFsdWV9XG5cdFx0XHRcdHZpc2libGU9e3RydWV9XG5cdFx0XHRcdGN1c3RvbVRvb2xiYXI9e3RydWV9XG5cdFx0XHRcdGVkaXRhYmxlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250U3R5bGU9e3RydWV9XG5cdFx0XHRcdHNob3dHcm91cFRleHRBbGlnbj17dHJ1ZX1cblx0XHRcdFx0c2hvd0dyb3VwU3RydWN0dXJlPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBGb250PXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwQ2xpcGJvYXJkPXt0cnVlfVxuXHRcdFx0XHRzaG93R3JvdXBJbnNlcnQ9e2ZhbHNlfVxuXHRcdFx0XHRzaG93R3JvdXBMaW5rPXtmYWxzZX1cblx0XHRcdFx0c2hvd0dyb3VwVW5kbz17ZmFsc2V9XG5cdFx0XHRcdHNhbml0aXplVmFsdWU9e3RydWV9XG5cdFx0XHRcdHdyYXBwaW5nPXt0cnVlfVxuXHRcdFx0XHR3aWR0aD17XCIxMDAlXCJ9XG5cdFx0XHRcdHJlcXVpcmVkPXt0aGlzLnJlcXVpcmVkfVxuXHRcdFx0XHR7Li4udGhpcy5nZXRQbHVnaW5zKCl9XG5cdFx0XHRcdGJ1dHRvbkdyb3Vwcz17dGhpcy5idXR0b25Hcm91cHMubGVuZ3RoID4gMCA/IFtdIDogdW5kZWZpbmVkfVxuXHRcdFx0Lz5cblx0XHQpIGFzIFJpY2hUZXh0RWRpdG9yO1xuXG5cdFx0cmV0dXJuIHRoaXMuX2VkaXRDb250ZW50O1xuXHR9O1xuXG5cdG92ZXJyaWRlIG9uQmVmb3JlUmVuZGVyaW5nKGV2ZW50OiBKUXVlcnkuRXZlbnQpOiB2b2lkIHtcblx0XHRzdXBlci5vbkJlZm9yZVJlbmRlcmluZyhldmVudCk7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdFx0dGhpcy5fZWRpdENvbnRlbnQ/LmF0dGFjaFJlYWR5KHRoaXMuYWRkQnV0dG9uR3JvdXBzLCB0aGlzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdXR0b25zIGdyb3VwcyBuZWVkIHRvIGJlIGFkZGVkIHdoZW4gdGhlIFJURSBpcyByZWFkeSwgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlbSBhcmUgbm90IGF2YWlsYWJsZS5cblx0ICovXG5cdGFkZEJ1dHRvbkdyb3VwcygpOiB2b2lkIHtcblx0XHRjb25zdCBsYXRlQnV0dG9uR3JvdXBzID0gdGhpcy5nZXRCdXR0b25Hcm91cHMoKS5yZXZlcnNlKCk7XG5cdFx0Ly8gVGhleSBhbHNvIHNvbWVob3cgbmVlZCB0byBiZSBhZGRlZCBpbiByZXZlcnNlIGJlY2F1c2UgdGhleSBhbHNvIGdldCBhZGRlZCBpbiB0aGUgZmlyc3QgcGxhY2UgOkRcblx0XHRmb3IgKGNvbnN0IGxhdGVCdXR0b25Hcm91cCBvZiBsYXRlQnV0dG9uR3JvdXBzKSB7XG5cdFx0XHR0aGlzLl9lZGl0Q29udGVudD8uYWRkQnV0dG9uR3JvdXAobGF0ZUJ1dHRvbkdyb3VwKTtcblx0XHR9XG5cdFx0dGhpcy5fZWRpdENvbnRlbnQ/LmRldGFjaFJlYWR5KHRoaXMuYWRkQnV0dG9uR3JvdXBzLCB0aGlzKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdC8vIERlbGF5aW5nIHRoaXMgZXZlciBzbyBzbGlnaHRseSBpcyBuZWVkZWQgdG8gYXZvaWQgYSBmbGlja2VyaW5nIGVmZmVjdFxuXHRcdFx0dGhpcy5fZWRpdENvbnRlbnQ/LnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaUhpZGRlblwiKTtcblx0XHR9LCAwKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdGhhdCBjbGVhbnMgdXAgdGhlIHByZXZpb3VzIHJpY2ggdGV4dCBlZGl0b3IgaW5zdGFuY2UuXG5cdCAqIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgdGhlIFJpY2hUZXh0RWRpdG9yIGNvbnRyb2wgZG9lcyBub3QgYWx3YXlzIGRlc3Ryb3kgdGhlIFRpbnlNQ0UgaW5zdGFuY2UsXG5cdCAqIHdoaWNoIGNhbiBsZWFkIHRvIGlzc3VlcyB3aGVuIHN3aXRjaGluZyBiZXR3ZWVuIGVkaXQgYW5kIGRpc3BsYXkgbW9kZXMuXG5cdCAqL1xuXHRfY2xlYW51cFByZXZpb3VzUlRFKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9lZGl0Q29udGVudCkge1xuXHRcdFx0Ly8gSXQncyBiZXR0ZXIgdG8gZGVzdHJveSB0aGUgcmljaCB0ZXh0IGVkaXRvciBhcyBpbiBzb21lIGNhc2Ugd2l0aCBzbG93IG1hY2hpbmUgc3dpdGNoaW5nIGJldHdlZW4gZWRpdCBhbmQgZGlzcGxheSBtYXkgYnJlYWsgaXRcblx0XHRcdHRoaXMuX2VkaXRDb250ZW50LmRlc3Ryb3koKTtcblx0XHRcdC8vIERlc3Ryb3kgdGhlIFRpbnlNQ0UgaW5zdGFuY2UgYXMgd2VsbFxuXHRcdFx0Ly8gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgUmljaFRleHRFZGl0b3IgY29udHJvbCBkb2VzIG5vdCBhbHdheXMgZGVzdHJveSB0aGUgVGlueU1DRSBpbnN0YW5jZVxuXHRcdH1cblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHdpbmRvdy50aW55bWNlPy5nZXQodGhpcy5jcmVhdGVJZChcIl9ydGVcIikgKyBcIi10ZXh0YXJlYVwiKT8uZGVzdHJveSgpO1xuXHR9XG5cblx0Z2V0RGlzcGxheUNvbnRlbnQoKTogRm9ybWF0dGVkVGV4dCB7XG5cdFx0aWYgKHRoaXMuX2Rpc3BsYXlDb250ZW50KSB7XG5cdFx0XHR0aGlzLl9kaXNwbGF5Q29udGVudC5kZXN0cm95KCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5fY2xlYW51cFByZXZpb3VzUlRFKCk7XG5cblx0XHR0aGlzLl9kaXNwbGF5Q29udGVudCA9ICg8Rm9ybWF0dGVkVGV4dCBodG1sVGV4dD17dGhpcy52YWx1ZX0gLz4pIGFzIEZvcm1hdHRlZFRleHQ7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc3BsYXlDb250ZW50O1xuXHR9XG5cblx0Y3JlYXRlQ29udGVudCgpOiBSaWNoVGV4dEVkaXRvciB8IEZvcm1hdHRlZFRleHQgfCB1bmRlZmluZWQge1xuXHRcdGlmICh0aGlzLl9pc0luRWRpdE1vZGUgJiYgIXRoaXMucmVhZE9ubHkpIHtcblx0XHRcdHJldHVybiB0aGlzLmdldEVkaXRDb250ZW50KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLmdldERpc3BsYXlDb250ZW50KCk7XG5cdFx0fVxuXHR9XG59XG4iXSwi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
@@ -93,11 +93,6 @@ export default class RichTextEditorBlock extends BuildingBlock<Control> {
93
93
 
94
94
  private _contentTimer?: number;
95
95
 
96
- /**
97
- * Timer to ensure that if the button groups are not added we restart the process.
98
- */
99
- private _buttonGroupsTimer?: number;
100
-
101
96
  constructor(properties: $ControlSettings & PropertiesOf<RichTextEditorBlock>, others?: $ControlSettings) {
102
97
  properties._isInEditMode = compileExpression(UI.IsEditable);
103
98
  super(properties, others);
@@ -200,27 +195,29 @@ export default class RichTextEditorBlock extends BuildingBlock<Control> {
200
195
  />
201
196
  ) as RichTextEditor;
202
197
 
203
- this._editContent.attachReady(this.addButtonGroups, this);
204
- // Attach a timer to ensure that the button groups are added after the editor is ready
205
- clearTimeout(this._buttonGroupsTimer);
206
- this._buttonGroupsTimer = setTimeout(() => {
207
- this.createContentDebounced();
208
- }, 2000) as unknown as number;
209
198
  return this._editContent;
210
199
  };
211
200
 
201
+ override onBeforeRendering(event: JQuery.Event): void {
202
+ super.onBeforeRendering(event);
203
+ this.content = this.createContent();
204
+ this._editContent?.attachReady(this.addButtonGroups, this);
205
+ }
206
+
212
207
  /**
213
208
  * Buttons groups need to be added when the RTE is ready, otherwise some of them are not available.
214
209
  */
215
210
  addButtonGroups(): void {
216
- clearTimeout(this._buttonGroupsTimer);
217
211
  const lateButtonGroups = this.getButtonGroups().reverse();
218
212
  // They also somehow need to be added in reverse because they also get added in the first place :D
219
213
  for (const lateButtonGroup of lateButtonGroups) {
220
214
  this._editContent?.addButtonGroup(lateButtonGroup);
221
215
  }
222
216
  this._editContent?.detachReady(this.addButtonGroups, this);
223
- this._editContent?.removeStyleClass("sapUiHidden");
217
+ setTimeout(() => {
218
+ // Delaying this ever so slightly is needed to avoid a flickering effect
219
+ this._editContent?.removeStyleClass("sapUiHidden");
220
+ }, 0);
224
221
  }
225
222
 
226
223
  /**